From ea397ff3b715f6d9cd7b870b5c02296656a7588a Mon Sep 17 00:00:00 2001 From: Philip Love Date: Fri, 29 Oct 2021 02:42:43 -0400 Subject: [PATCH 1/2] Partial refactoring --- PM_changes | 60 + .../UI/Function-Libraries/ActionSwitch.js | 15 + .../UI/Function-Libraries/PluginsFunctions.js | 51 + .../Community-Plugins/UI/Utilities/Plugins.js | 9 + .../UI/Function-Libraries/MineFunctions.js | 1 + .../SingleMarketFunctions.js | 38 +- .../TS/Process-Modules/DataDependencies.js | 6 +- .../Foundations/TS/Process-Modules/Dataset.js | 13 +- .../TS/Process-Modules/ProcessOutput.js | 12 +- .../TS/Process-Modules/StatusReport.js | 62 +- .../UI/Function-Libraries/ActionSwitch.js | 97 + .../DataStorageFunctions.js | 52 +- .../Icons/Portfolio/portfolio-bot.png | Bin 0 -> 13552 bytes .../Icons/Portfolio/portfolio-engine.png | Bin 0 -> 18050 bytes .../Icons/Portfolio/portfolio-mine.png | Bin 0 -> 11409 bytes .../Icons/Portfolio/portfolio-system.png | Bin 0 -> 10227 bytes .../Icons/portfolio-management-project.png | Bin 0 -> 11409 bytes .../Portfolio-Engines/Low-Frequency.json | 31103 ++++++ .../Plugins/Portfolio-Mines/Masters.json | 83698 ++++++++++++++++ .../BB-Top-Bounce-BTC-USDT.json | 1 + .../LiveTester-Chart-Scanner.json | 33431 ++++++ .../Masters-Lightning-Strike.json | 3812 + .../Sparta-WHB-BTC-USDT.json | 9413 ++ .../Schemas/App-Schema/portfolio-bot.json | 84 + .../Schemas/App-Schema/portfolio-engine.json | 49 + .../portfolio-management-project.json | 63 + .../Schemas/App-Schema/portfolio-mine.json | 65 + .../Schemas/App-Schema/portfolio-system.json | 52 + .../T/Trading/Trading-Bot/portfolio-bot.json | 45 + .../Trading-Engine/trading-engine.json | 66 + .../T/Trading/Trading-Mine/trading-mine.json | 41 + .../Trading-System/trading-system.json | 39 + .../APIs/ExchangeAPI.js | 284 + .../OrdersCalculations.js | 352 + .../OrdersSimulations.js | 538 + .../PortfolioEngine.js | 229 + .../PortfolioEpisode.js | 319 + .../PortfolioExecution.js | 123 + .../PortfolioOrders.js | 1332 + .../PortfolioOutput.js | 77 + .../PortfolioPosition.js | 534 + .../PortfolioProcess.js | 320 + .../PortfolioRecords.js | 414 + .../PortfolioSimulation.js | 679 + .../PortfolioStages.js | 1327 + .../PortfolioStrategy.js | 87 + .../PortfolioSystem.js | 451 + .../Low-Frequency-Portfolio/Snapshots.js | 481 + .../Portfolio-Bot/PortfolioSession.js | 642 + .../Portfolio-Bot/SingleMarketPortfolioBot.js | 616 + .../UI/Function-Libraries/ActionSwitch.js | 42 + .../PortfolioSessionFunctions.js | 350 + Projects/ProjectsSchema.json | 152 + 53 files changed, 171697 insertions(+), 30 deletions(-) create mode 100644 PM_changes create mode 100644 Projects/Portfolio-Management/Icons/Portfolio/portfolio-bot.png create mode 100644 Projects/Portfolio-Management/Icons/Portfolio/portfolio-engine.png create mode 100644 Projects/Portfolio-Management/Icons/Portfolio/portfolio-mine.png create mode 100644 Projects/Portfolio-Management/Icons/Portfolio/portfolio-system.png create mode 100644 Projects/Portfolio-Management/Icons/portfolio-management-project.png create mode 100644 Projects/Portfolio-Management/Plugins/Portfolio-Engines/Low-Frequency.json create mode 100644 Projects/Portfolio-Management/Plugins/Portfolio-Mines/Masters.json create mode 100644 Projects/Portfolio-Management/Plugins/Portfolio-Systems/BB-Top-Bounce-BTC-USDT.json create mode 100644 Projects/Portfolio-Management/Plugins/Portfolio-Systems/LiveTester-Chart-Scanner.json create mode 100644 Projects/Portfolio-Management/Plugins/Portfolio-Systems/Masters-Lightning-Strike.json create mode 100644 Projects/Portfolio-Management/Plugins/Portfolio-Systems/Sparta-WHB-BTC-USDT.json create mode 100644 Projects/Portfolio-Management/Schemas/App-Schema/portfolio-bot.json create mode 100644 Projects/Portfolio-Management/Schemas/App-Schema/portfolio-engine.json create mode 100644 Projects/Portfolio-Management/Schemas/App-Schema/portfolio-management-project.json create mode 100644 Projects/Portfolio-Management/Schemas/App-Schema/portfolio-mine.json create mode 100644 Projects/Portfolio-Management/Schemas/App-Schema/portfolio-system.json create mode 100644 Projects/Portfolio-Management/Schemas/Docs-Nodes/T/Trading/Trading-Bot/portfolio-bot.json create mode 100644 Projects/Portfolio-Management/Schemas/Docs-Nodes/T/Trading/Trading-Engine/trading-engine.json create mode 100644 Projects/Portfolio-Management/Schemas/Docs-Nodes/T/Trading/Trading-Mine/trading-mine.json create mode 100644 Projects/Portfolio-Management/Schemas/Docs-Nodes/T/Trading/Trading-System/trading-system.json create mode 100644 Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/APIs/ExchangeAPI.js create mode 100644 Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/OrdersCalculations.js create mode 100644 Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/OrdersSimulations.js create mode 100644 Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioEngine.js create mode 100644 Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioEpisode.js create mode 100644 Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioExecution.js create mode 100644 Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioOrders.js create mode 100644 Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioOutput.js create mode 100644 Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioPosition.js create mode 100644 Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioProcess.js create mode 100644 Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioRecords.js create mode 100644 Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioSimulation.js create mode 100644 Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioStages.js create mode 100644 Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioStrategy.js create mode 100644 Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioSystem.js create mode 100644 Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/Snapshots.js create mode 100644 Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/PortfolioSession.js create mode 100644 Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/SingleMarketPortfolioBot.js create mode 100644 Projects/Portfolio-Management/UI/Function-Libraries/ActionSwitch.js create mode 100644 Projects/Portfolio-Management/UI/Function-Libraries/PortfolioSessionFunctions.js diff --git a/PM_changes b/PM_changes new file mode 100644 index 000000000..e90c46acd --- /dev/null +++ b/PM_changes @@ -0,0 +1,60 @@ +----- Changes made outside of /Projects/Portfolio-Management/ ----- + +Projects/ProjectsSchema.json: + cp Algorithmic-Trading Portfolio-Management - Some stuff definitely unneded here + +Projects/Community-Plugins/UI/Function-Libraries/ + ActionSwitch.js: + cp case 'Add Missing Plugin Trading Mines' case 'Add Missing Plugin Portfolio Mines' + cp case 'Add Missing Plugin Trading Systems' case 'Add Missing Plugin Portfolio Systems' + cp case 'Add Missing Plugin Trading Engines' case 'Add Missing Plugin Portfolio Engines' + + PluginsFunctions.js: + cp addMissingPluginTradingMines addMissingPluginPortfolioMines + cp addMissingPluginTradingSystems addMissingPluginPortfolioSystems + cp addMissingPluginTradingEngines addMissingPluginPortfolioEngines + + ../Utilities/Plugins.js: + function getPluginFolderNamesByNodeType(nodeType): + add case 'Portfolio Engine' + add case 'Portfolio Mine' + add case 'Portfolio System' + +Projects/Data-Mining/UI/Function-Libraries/ + MineFunctions.js: + cp scanBotArray(dataMine.tradingBots) scanBotArray(dataMine.portfolioBots) + +Skipping: + Projects/Foundations/TS/Function-Libraries/OutputManagementFunctions.js: + tradingProcessDate, VARS...INDEX_MAP->TRADING_PROCESSING_DAILY_FILES, ... + + +Projects/Foundations/TS/Function-Libraries/ + SingleMarketFunctions.js: + cp findNodeInNodeMesh(outputDatasetNode, 'Trading Bot') ...'Portfolio Bot') + Line 117 if...else add portfolioMineNode + +Projects/Foundations/TS/Process-Modules/ + Dataset.js: + cp startingNode.type === 'Market Trading Products' + ProcessOutput.js: + cp line 27-29, 124-126 + StatusReport.js: + Lines 102, 116, cp 172-222 dealing with finding process definitions the report depends on has been cloned from Trading -> Portfolio + +Projects/Foundations/UI/Function-Libraries/ + ActionSwitch.js: + cp case statements run-all, stop-all, add-missing, references, products, etc. + Line 506 && 512 may not need to have been cloned but I did for now - regarding live and paper trading. + +Skipping: + Projects/Foundations/UI/Function-Libraries/ChartingSpaceFunctions.js + Projects/Foundations/UI/Function-Libraries/CryptoEcosystemFunctions.js + +Projects/Foundations/UI/Function-Libraries/ + DataStorageFunctions.js: + Many things cloned. But on line 156 only did 'addMissingSession(livePortfolioSessionArray) not back|forward|paper + +Skipping: + Projects/Foundations/UI/Function-Libraries - Appears 'tradingSystem' var here is just a parameter so no need change. + diff --git a/Projects/Community-Plugins/UI/Function-Libraries/ActionSwitch.js b/Projects/Community-Plugins/UI/Function-Libraries/ActionSwitch.js index 085ea3b13..943e994f8 100644 --- a/Projects/Community-Plugins/UI/Function-Libraries/ActionSwitch.js +++ b/Projects/Community-Plugins/UI/Function-Libraries/ActionSwitch.js @@ -53,6 +53,21 @@ function newCommunityPluginsActionSwitch() { UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginTradingEngines(action.node, action.rootNodes) } break + case 'Add Missing Plugin Portfolio Mines': + { + UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginPortfolioMines(action.node, action.rootNodes) + } + break + case 'Add Missing Plugin Portfolio Systems': + { + UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginPortfolioSystems(action.node, action.rootNodes) + } + break + case 'Add Missing Plugin Portfolio Engines': + { + UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginPortfolioEngines(action.node, action.rootNodes) + } + break case 'Add Missing Plugin Learning Mines': { UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginLearningMines(action.node, action.rootNodes) diff --git a/Projects/Community-Plugins/UI/Function-Libraries/PluginsFunctions.js b/Projects/Community-Plugins/UI/Function-Libraries/PluginsFunctions.js index 46a9045d7..8ba24ca17 100644 --- a/Projects/Community-Plugins/UI/Function-Libraries/PluginsFunctions.js +++ b/Projects/Community-Plugins/UI/Function-Libraries/PluginsFunctions.js @@ -6,6 +6,9 @@ function newPluginsFunctionLibraryPluginsFunctions() { addMissingPluginTradingMines: addMissingPluginTradingMines, addMissingPluginTradingSystems: addMissingPluginTradingSystems, addMissingPluginTradingEngines: addMissingPluginTradingEngines, + addMissingPluginPortfolioMines: addMissingPluginPortfolioMines, + addMissingPluginPortfolioSystems: addMissingPluginPortfolioSystems, + addMissingPluginPortfolioEngines: addMissingPluginPortfolioEngines, addMissingPluginLearningMines: addMissingPluginLearningMines, addMissingPluginLearningSystems: addMissingPluginLearningSystems, addMissingPluginLearningEngines: addMissingPluginLearningEngines, @@ -113,6 +116,54 @@ function newPluginsFunctionLibraryPluginsFunctions() { } } + function addMissingPluginPortfolioMines(node, rootNodes) { + let projectName = UI.projects.communityPlugins.utilities.plugins.getProjectName(node) + if (projectName === "" || projectName === undefined) { + if (node.payload.parentNode !== undefined) { + node.payload.parentNode.payload.uiObject.setErrorMessage("Config codeName must have the name of the project.") + return + } + } + + UI.projects.communityPlugins.utilities.plugins.getPluginFileNames(projectName, 'Portfolio-Mines', onNamesArrived) + + function onNamesArrived(fileNames) { + UI.projects.communityPlugins.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Portfolio-Mines', 'Portfolio Mine', 'Portfolio-Management') + } + } + + function addMissingPluginTradingSystems(node, rootNodes) { + let projectName = UI.projects.communityPlugins.utilities.plugins.getProjectName(node) + if (projectName === "" || projectName === undefined) { + if (node.payload.parentNode !== undefined) { + node.payload.parentNode.payload.uiObject.setErrorMessage("Config codeName must have the name of the project.") + return + } + } + + UI.projects.communityPlugins.utilities.plugins.getPluginFileNames(projectName, 'Portfolio-Systems', onNamesArrived) + + function onNamesArrived(fileNames) { + UI.projects.communityPlugins.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Portfolio-Systems', 'Portfolio System', 'Portfolio-Management') + } + } + + function addMissingPluginTradingEngines(node, rootNodes) { + let projectName = UI.projects.communityPlugins.utilities.plugins.getProjectName(node) + if (projectName === "" || projectName === undefined) { + if (node.payload.parentNode !== undefined) { + node.payload.parentNode.payload.uiObject.setErrorMessage("Config codeName must have the name of the project.") + return + } + } + + UI.projects.communityPlugins.utilities.plugins.getPluginFileNames(projectName, 'Portfolio-Engines', onNamesArrived) + + function onNamesArrived(fileNames) { + UI.projects.communityPlugins.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Portfolio-Engines', 'Portfolio Engine', 'Portfolio-Management') + } + } + function addMissingPluginLearningMines(node, rootNodes) { let projectName = UI.projects.communityPlugins.utilities.plugins.getProjectName(node) if (projectName === "" || projectName === undefined) { diff --git a/Projects/Community-Plugins/UI/Utilities/Plugins.js b/Projects/Community-Plugins/UI/Utilities/Plugins.js index 00da47b7e..affe1420b 100644 --- a/Projects/Community-Plugins/UI/Utilities/Plugins.js +++ b/Projects/Community-Plugins/UI/Utilities/Plugins.js @@ -73,6 +73,15 @@ function newPluginsUtilitiesPlugins() { case 'Trading System': { return 'Trading-Systems' } + case 'Portfolio Engine': { + return 'Portfolio-Engines' + } + case 'Portfolio Mine': { + return 'Portfolio-Mines' + } + case 'Portfolio System': { + return 'Portfolio-Systems' + } case 'Assets': { return 'Assets' } diff --git a/Projects/Data-Mining/UI/Function-Libraries/MineFunctions.js b/Projects/Data-Mining/UI/Function-Libraries/MineFunctions.js index 9a4364b45..b1c1bf996 100644 --- a/Projects/Data-Mining/UI/Function-Libraries/MineFunctions.js +++ b/Projects/Data-Mining/UI/Function-Libraries/MineFunctions.js @@ -68,6 +68,7 @@ function newDataMiningFunctionLibraryMineFunctions() { scanBotArray(dataMine.apiDataFetcherBots) scanBotArray(dataMine.indicatorBots) scanBotArray(dataMine.tradingBots) + scanBotArray(dataMine.portfolioBots) scanBotArray(dataMine.learningBots) function scanBotArray(botArray) { diff --git a/Projects/Foundations/TS/Function-Libraries/SingleMarketFunctions.js b/Projects/Foundations/TS/Function-Libraries/SingleMarketFunctions.js index 39b38924d..ae6530507 100644 --- a/Projects/Foundations/TS/Function-Libraries/SingleMarketFunctions.js +++ b/Projects/Foundations/TS/Function-Libraries/SingleMarketFunctions.js @@ -74,7 +74,7 @@ TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[WARN] start -> Product Definition " + outputDatasetNode.referenceParent.parentNode.name + " without a Data Building Procedure. Product Definition Name = " + outputDatasetNode.referenceParent.parentNode.name); } if (outputDatasetNode.referenceParent.config.codeName === undefined) { - TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] start -> Dataset witn no codeName defined. Product Dataset = " + JSON.stringify(outputDatasetNode.referenceParent)); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] start -> Dataset with no codeName defined. Product Dataset = " + JSON.stringify(outputDatasetNode.referenceParent)); callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE); return } @@ -86,7 +86,7 @@ } if (outputDatasetNode.referenceParent.parentNode.config.codeName === undefined) { - TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] start -> Product Definition witn no codeName defined. Product Definition = " + JSON.stringify(outputDatasetNode.referenceParent.parentNode)); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] start -> Product Definition with no codeName defined. Product Definition = " + JSON.stringify(outputDatasetNode.referenceParent.parentNode)); callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE); return } @@ -95,6 +95,9 @@ if (botNode === undefined) { botNode = TS.projects.visualScripting.utilities.nodeFunctions.findNodeInNodeMesh(outputDatasetNode, 'Trading Bot') } + if (botNode === undefined) { + botNode = TS.projects.visualScripting.utilities.nodeFunctions.findNodeInNodeMesh(outputDatasetNode, 'Portfolio Bot') + } if (botNode === undefined) { botNode = TS.projects.visualScripting.utilities.nodeFunctions.findNodeInNodeMesh(outputDatasetNode, 'Learning Bot') } @@ -105,7 +108,7 @@ } if (botNode.config.codeName === undefined) { - TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] start -> Bot witn no codeName defined."); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] start -> Bot with no codeName defined."); callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE); return } @@ -114,28 +117,37 @@ if (dataMineNode === undefined) { let tradingMineNode = TS.projects.visualScripting.utilities.nodeFunctions.findNodeInNodeMesh(outputDatasetNode, 'Trading Mine') if (tradingMineNode === undefined) { - let learningMineNode = TS.projects.visualScripting.utilities.nodeFunctions.findNodeInNodeMesh(outputDatasetNode, 'Learning Mine') - if (learningMineNode === undefined) { - TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] start -> Bot not attached to a Data Mine, Trading Mine or Learning Mine."); - callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE); - return - } else { - if (learningMineNode.config.codeName === undefined) { - TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] start -> Learning Mine witn no codeName defined."); + let portfolioMineNode = TS.projects.visualScripting.utilities.nodeFunctions.findNodeInNodeMesh(outputDatasetNode, 'Portfolio Mine'); + if (portfolioMineNode === undefined) { + let learningMineNode = TS.projects.visualScripting.utilities.nodeFunctions.findNodeInNodeMesh(outputDatasetNode, 'Learning Mine') + if (learningMineNode === undefined) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] start -> Bot not attached to a Data Mine, Trading Mine or Learning Mine."); callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE); return + } else { + if (learningMineNode.config.codeName === undefined) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] start -> Learning Mine with no codeName defined."); + callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE); + return + } + } + } else { + if (portfolioMineNode.config.codeName === undefined) { + TS.project.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] start -> Portfolio Mine with no codeName defined."); + callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE); + return; } } } else { if (tradingMineNode.config.codeName === undefined) { - TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] start -> Trading Mine witn no codeName defined."); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] start -> Trading Mine with no codeName defined."); callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE); return } } } else { if (dataMineNode.config.codeName === undefined) { - TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] start -> Data Mine witn no codeName defined."); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] start -> Data Mine with no codeName defined."); callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE); return } diff --git a/Projects/Foundations/TS/Process-Modules/DataDependencies.js b/Projects/Foundations/TS/Process-Modules/DataDependencies.js index a6ee03af3..0a2b480cc 100644 --- a/Projects/Foundations/TS/Process-Modules/DataDependencies.js +++ b/Projects/Foundations/TS/Process-Modules/DataDependencies.js @@ -48,7 +48,7 @@ /* Basic Valdidations */ if (TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processDependencies !== undefined) { /* - First we will get all the data dependencies of the bot, as defined at the Trading Mine. + First we will get all the data dependencies of the bot, as defined at the Trading|Portfolio Mine. */ thisObject.curatedDependencyNodeArray = TS.projects.visualScripting.utilities.nodeFunctions.nodeBranchToArray(TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processDependencies, 'Data Dependency') if (thisObject.curatedDependencyNodeArray.length === 0) { @@ -59,7 +59,7 @@ /* We will filter out declared dependencies that are not present in the workspace. This will allow the user to have less Data Mines loaded at the workspace - that the ones that a Trading Mine depends on. + that the ones that a Trading|Portfolio Mine depends on. */ thisObject.curatedDependencyNodeArray = TS.projects.visualScripting.utilities.nodeFunctions.filterOutNodeWihtoutReferenceParentFromNodeArray(thisObject.curatedDependencyNodeArray) @@ -127,7 +127,7 @@ let alreadyCalledBack = false /* - The current curatedDependencyNodeArray that we have includes all the dependencies daclared in the Data Mine | Trading Mine | Learning Mine + The current curatedDependencyNodeArray that we have includes all the dependencies daclared in the Data Mine | Trading Mine | Portfolio Mine | Learning Mine process dependencies, minus the ones without reference parent, meaning that references Data Mines that are not present at the workspace. From all the remaining dependencies there will be others that we need to filter out, and they are the ones which the user does not have a data product anywhere on the network where diff --git a/Projects/Foundations/TS/Process-Modules/Dataset.js b/Projects/Foundations/TS/Process-Modules/Dataset.js index f99d615ff..606f629ab 100644 --- a/Projects/Foundations/TS/Process-Modules/Dataset.js +++ b/Projects/Foundations/TS/Process-Modules/Dataset.js @@ -1,6 +1,6 @@ exports.newFoundationsProcessModulesDataset = function (processIndex) { /* - This module represents a Dataset at a certain localtion on the + This module represents a Dataset at a certain location on the network, and it is able to load a file from that dataset or write one into it. */ @@ -68,7 +68,7 @@ exports.newFoundationsProcessModulesDataset = function (processIndex) { } if (thisObject.node.parentNode.parentNode.parentNode === undefined) { - TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] initialize -> Bot not attached to a Data Mine or Trading Mine. Bot = " + JSON.stringify(thisObject.node.parentNode.parentNode)); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] initialize -> Bot not attached to a Data Mine, Trading Mine, or Portfolio Mine. Bot = " + JSON.stringify(thisObject.node.parentNode.parentNode)); callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE); return } @@ -188,7 +188,7 @@ exports.newFoundationsProcessModulesDataset = function (processIndex) { The problem that we need to solve here is the following: A. We are interested in a particular Exchange and Market. - B. We have the Network we received from the UI whe the user ran the Task. + B. We have the Network we received from the UI where the user ran the Task. C. We have the Product Definition that is the parent node of the Data Set represented by this object. D. This Product Definition is referenced by one or more Data Products nodes at some branch of the LAN Network Hierarchy. E. We need to find the right Data Product node, the one who is itself a descendent of the Market Data Products @@ -197,7 +197,7 @@ exports.newFoundationsProcessModulesDataset = function (processIndex) { So, the strategy we will implement is the following: 1. We will scan all the branches of the Network received from the UI. - 2. Once we find a Market Data Products, Market Trading Products o Market Learning Products we will check + 2. Once we find a Market Data Products, Market Trading Products, Market Portfolio Products or Market Learning Products we will check that they are referencing the market and exchange we need, other wise we ignore them and continue with the scanning. 3. Once found, we will go into their own branches and find a path until the Product Definition we need to reach. @@ -244,8 +244,9 @@ exports.newFoundationsProcessModulesDataset = function (processIndex) { } if ( - startingNode.type === 'Market Data Products' || - startingNode.type === 'Market Trading Products' || + startingNode.type === 'Market Data Products' || + startingNode.type === 'Market Trading Products' || + startingNode.type === 'Market Portfolio Products' || startingNode.type === 'Market Learning Products' ) { /* diff --git a/Projects/Foundations/TS/Process-Modules/ProcessOutput.js b/Projects/Foundations/TS/Process-Modules/ProcessOutput.js index 0574f9bdc..9ce5f3358 100644 --- a/Projects/Foundations/TS/Process-Modules/ProcessOutput.js +++ b/Projects/Foundations/TS/Process-Modules/ProcessOutput.js @@ -15,7 +15,7 @@ function raiseEvents(lastFile, timeFrames, callBackFunction) { try { - /* We will reaise the events for the datasets impacted by the process that just finished. */ + /* We will raise the events for the datasets impacted by the process that just finished. */ if (TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processOutput !== undefined) { let outputDatasets = TS.projects.visualScripting.utilities.nodeFunctions.nodeBranchToArray(TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processOutput, 'Output Dataset') @@ -27,6 +27,9 @@ if (botNode === undefined) { botNode = TS.projects.visualScripting.utilities.nodeFunctions.findNodeInNodeMesh(outputDataset, 'Trading Bot') } + if (botNode === undefined) { + botNode = TS.projects.visualScripting.utilities.nodeFunctions.findNodeInNodeMesh(outputDataset, 'Portfolio Bot') + } if (botNode === undefined) { botNode = TS.projects.visualScripting.utilities.nodeFunctions.findNodeInNodeMesh(outputDataset, 'Sensor Bot') } @@ -63,7 +66,7 @@ return } } else { - TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] raiseEvents -> Bot not attached to a Data Mine or Trading Mine. Bot = " + JSON.stringify(botNode)); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] raiseEvents -> Bot not attached to a Data Mine, Trading Mine or Portfolio Mine. Bot = " + JSON.stringify(botNode)); callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE); return } @@ -121,6 +124,9 @@ if (botNode === undefined) { botNode = TS.projects.visualScripting.utilities.nodeFunctions.findNodeInNodeMesh(outputDataset, 'Trading Bot') } + if (botNode === undefined) { + botNode = TS.projects.visualScripting.utilities.nodeFunctions.findNodeInNodeMesh(outputDataset, 'Portfolio Bot') + } if (botNode === undefined) { botNode = TS.projects.visualScripting.utilities.nodeFunctions.findNodeInNodeMesh(outputDataset, 'Sensor Bot') } @@ -153,7 +159,7 @@ throw (TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE); } } else { - TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] raiseEvents -> Bot not attached to a Data Mine | Trading Mine | Learning Mine. Bot = " + JSON.stringify(botNode)); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] raiseEvents -> Bot not attached to a Data Mine | Trading Mine | Portfolio Mine | Learning Mine. Bot = " + JSON.stringify(botNode)); throw (TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE); } } else { diff --git a/Projects/Foundations/TS/Process-Modules/StatusReport.js b/Projects/Foundations/TS/Process-Modules/StatusReport.js index bc33ccf70..e3a93d4ee 100644 --- a/Projects/Foundations/TS/Process-Modules/StatusReport.js +++ b/Projects/Foundations/TS/Process-Modules/StatusReport.js @@ -98,7 +98,8 @@ } } - if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE !== undefined && statusDependencyNode.bottype === "Trading Bot") { + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE !== undefined && + (statusDependencyNode.bottype === "Trading Bot" || statusDependencyNode.bottype === "Portfolio Bot") ) { sessionPath = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_FOLDER_NAME + "/" } @@ -112,6 +113,7 @@ if (checkThisDataBranch(lanNetworkNode.dataTasks) === true) { return } if (checkThisTradingBranch(lanNetworkNode.testingTradingTasks) === true) { return } if (checkThisTradingBranch(lanNetworkNode.productionTradingTasks) === true) { return } + if (checkThisPortfolioBranch(lanNetworkNode.portfolioTasks) === true) { return } if (checkThisLearningBranch(lanNetworkNode.learningTasks) === true) { return } function checkThisDataBranch(branch) { @@ -219,6 +221,58 @@ } } + function checkThisPortfolioBranch(branch) { + if (branch === undefined) { return } + for (let z = 0; z < branch.projectPortfolioTasks.length; z++) { + let projectPortfolioTasks = branch.projectPortfolioTasks[z] + for (let j = 0; j < projectPortfolioTasks.exchangePortfolioTasks.length; j++) { + let exchangeTasks = projectPortfolioTasks.exchangePortfolioTasks[j] + for (let p = 0; p < exchangeTasks.marketPortfolioTasks.length; p++) { + let marketTasks = exchangeTasks.marketPortfolioTasks[p] + if (marketTasks.referenceParent === undefined) { continue } + if (marketTasks.referenceParent.id !== TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.id) { continue } + for (let q = 0; q < marketTasks.PortfolioMineTasks.length; q++) { + let mineTasks = marketTasks.PortfolioMineTasks[q] + for (let k = 0; k < mineTasks.taskManagers.length; k++) { + let taskManager = mineTasks.taskManagers[k] + for (let m = 0; m < taskManager.tasks.length; m++) { + let task = taskManager.tasks[m] + if (task.bot === undefined) { continue } + if (task.bot.processes === undefined) { continue } + for (let n = 0; n < task.bot.processes.length; n++) { + let process = task.bot.processes[n] + if (process.referenceParent === undefined) { continue } + let processDefinition = process.referenceParent + if (processThisDependsOn.id === processDefinition.id) { + if (process.type === 'Portfolio Process Instance') { + if (process.session !== undefined) { + if (TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.id !== process.session.id) { + continue + } + } else { + continue + } + } + /* + We found where the task that runs the process definition this status report depends on + and where it is located on the network. + */ + thisObject.lanNetworkNode = lanNetworkNode + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[INFO] initialize -> Retrieving status report from " + lanNetworkNode.name + " -> host = " + lanNetworkNode.config.host + ' -> port = ' + lanNetworkNode.config.webPort + '.') + + fileStorage = TS.projects.foundations.taskModules.fileStorage.newFileStorage(processIndex, lanNetworkNode.config.host, lanNetworkNode.config.webPort) + callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE) + return true + } + } + } + } + } + } + } + } + } + function checkThisLearningBranch(branch) { if (branch === undefined) { return } for (let z = 0; z < branch.projectLearningTasks.length; z++) { @@ -332,11 +386,11 @@ let canUserPrevious /* - If we are funning Trading Engines, we can not allow ourselves to use a Status Report that is not - the latest one, because it might contain transactioinal information related to the context of the + If we are running Trading Engines, we can not allow ourselves to use a Status Report that is not + the latest one, because it might contain transactional information related to the context of the operations the trading engine is doing. - On the contraty, if we are running a Sensor bot, API Data Fetcher, or an Indicator we might, if necesary, + On the contrary, if we are running a Sensor bot, API Data Fetcher, or an Indicator we might, if necesary, use a previous version of a Status Report since there will be no big impact, just some reprocessing. */ if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE !== undefined) { diff --git a/Projects/Foundations/UI/Function-Libraries/ActionSwitch.js b/Projects/Foundations/UI/Function-Libraries/ActionSwitch.js index 2bff88d79..8250d7a56 100644 --- a/Projects/Foundations/UI/Function-Libraries/ActionSwitch.js +++ b/Projects/Foundations/UI/Function-Libraries/ActionSwitch.js @@ -73,6 +73,16 @@ function newFoundationsActionSwitch() { UI.projects.foundations.functionLibraries.taskFunctions.stopAllExchangeTradingTasks(action.node) } break + case 'Run All Exchange Portfolio Tasks': + { + UI.projects.foundations.functionLibraries.taskFunctions.runAllExchangePortfolioTasks(action.node) + } + break + case 'Stop All Exchange Portfolio Tasks': + { + UI.projects.foundations.functionLibraries.taskFunctions.stopAllExchangePortfolioTasks(action.node) + } + break case 'Run All Exchange Learning Tasks': { UI.projects.foundations.functionLibraries.taskFunctions.runAllExchangeLearningTasks(action.node) @@ -103,6 +113,16 @@ function newFoundationsActionSwitch() { UI.projects.foundations.functionLibraries.taskFunctions.stopAllProjectTradingTasks(action.node) } break + case 'Run All Project Portfolio Tasks': + { + UI.projects.foundations.functionLibraries.taskFunctions.runAllProjectPortfolioTasks(action.node) + } + break + case 'Stop All Project Portfolio Tasks': + { + UI.projects.foundations.functionLibraries.taskFunctions.stopAllProjectPortfolioTasks(action.node) + } + break case 'Run All Project Learning Tasks': { UI.projects.foundations.functionLibraries.taskFunctions.runAllProjectLearningTasks(action.node) @@ -133,6 +153,16 @@ function newFoundationsActionSwitch() { UI.projects.foundations.functionLibraries.taskFunctions.stopAllMarketTradingTasks(action.node) } break + case 'Run All Market Portfolio Tasks': + { + UI.projects.foundations.functionLibraries.taskFunctions.runAllMarketPortfolioTasks(action.node) + } + break + case 'Stop All Market Portfolio Tasks': + { + UI.projects.foundations.functionLibraries.taskFunctions.stopAllMarketPortfolioTasks(action.node) + } + break case 'Run All Market Learning Tasks': { UI.projects.foundations.functionLibraries.taskFunctions.runAllMarketLearningTasks(action.node) @@ -163,6 +193,16 @@ function newFoundationsActionSwitch() { UI.projects.foundations.functionLibraries.taskFunctions.stopAllTradingMineTasks(action.node) } break + case 'Run All Portfolio Mine Tasks': + { + UI.projects.foundations.functionLibraries.taskFunctions.runAllPortfolioMineTasks(action.node) + } + break + case 'Stop All Portfolio Mine Tasks': + { + UI.projects.foundations.functionLibraries.taskFunctions.stopAllPortfolioMineTasks(action.node) + } + break case 'Run All Learning Mine Tasks': { UI.projects.foundations.functionLibraries.taskFunctions.runAllLearningMineTasks(action.node) @@ -213,6 +253,26 @@ function newFoundationsActionSwitch() { UI.projects.foundations.functionLibraries.taskFunctions.addMissingTradingMineTasks(action.node, action.rootNodes) } break + case 'Add Missing Project Portfolio Tasks': + { + UI.projects.foundations.functionLibraries.taskFunctions.addMissingProjectPortfolioTasks(action.node, action.rootNodes) + } + break + case 'Add Missing Exchange Portfolio Tasks': + { + UI.projects.foundations.functionLibraries.taskFunctions.addMissingExchangePortfolioTasks(action.node, action.rootNodes) + } + break + case 'Add Missing Market Portfolio Tasks': + { + UI.projects.foundations.functionLibraries.taskFunctions.addMissingMarketPortfolioTasks(action.node) + } + break + case 'Add Missing Portfolio Mine Tasks': + { + UI.projects.foundations.functionLibraries.taskFunctions.addMissingPortfolioMineTasks(action.node, action.rootNodes) + } + break case 'Add Missing Project Learning Tasks': { UI.projects.foundations.functionLibraries.taskFunctions.addMissingProjectLearningTasks(action.node, action.rootNodes) @@ -288,6 +348,16 @@ function newFoundationsActionSwitch() { UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingTradingSessionReferences(action.node, action.rootNodes) } break + case 'Add All Portfolio Mine Products': + { + UI.projects.foundations.functionLibraries.dataStorageFunctions.addAllPortfolioMineProducts(action.node, action.rootNodes) + } + break + case 'Add Missing Portfolio Session References': + { + UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingPortfolioSessionReferences(action.node, action.rootNodes) + } + break case 'Add Missing Learning Session References': { UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingLearningSessionReferences(action.node, action.rootNodes) @@ -303,6 +373,11 @@ function newFoundationsActionSwitch() { UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingMarketTradingProducts(action.node, action.rootNodes) } break + case 'Add Missing Market Portfolio Products': + { + UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingMarketPortfolioProducts(action.node, action.rootNodes) + } + break case 'Add Missing Market Learning Products': { UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingMarketLearningProducts(action.node, action.rootNodes) @@ -318,6 +393,11 @@ function newFoundationsActionSwitch() { UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingExchangeTradingProducts(action.node, action.rootNodes) } break + case 'Add Missing Exchange Portfolio Products': + { + UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingExchangePortfolioProducts(action.node, action.rootNodes) + } + break case 'Add Missing Exchange Data Products': { UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingExchangeDataProducts(action.node, action.rootNodes) @@ -333,6 +413,11 @@ function newFoundationsActionSwitch() { UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingProjectTradingProducts(action.node, action.rootNodes) } break + case 'Add Missing Project Portfolio Products': + { + UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingProjectPortfolioProducts(action.node, action.rootNodes) + } + break case 'Add Missing Project Data Products': { UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingProjectDataProducts(action.node, action.rootNodes) @@ -430,6 +515,18 @@ function newFoundationsActionSwitch() { UI.projects.foundations.spaces.floatingSpace.uiObjectConstructor.createUiObject(true, action.node.payload) } break + case 'Switch To Live Portfolio': + { + action.node.type = "Live Portfolio Session" + UI.projects.foundations.spaces.floatingSpace.uiObjectConstructor.createUiObject(true, action.node.payload) + } + break + case 'Switch To Paper Portfolio': + { + action.node.type = "Paper Portfolio Session" + UI.projects.foundations.spaces.floatingSpace.uiObjectConstructor.createUiObject(true, action.node.payload) + } + break case 'Switch To Backtesting': { action.node.type = "Backtesting Session" diff --git a/Projects/Foundations/UI/Function-Libraries/DataStorageFunctions.js b/Projects/Foundations/UI/Function-Libraries/DataStorageFunctions.js index 20e30da7d..692bdd180 100644 --- a/Projects/Foundations/UI/Function-Libraries/DataStorageFunctions.js +++ b/Projects/Foundations/UI/Function-Libraries/DataStorageFunctions.js @@ -15,7 +15,12 @@ function newFoundationsFunctionLibraryDataStorageFunctions() { addMissingProjectDataProducts: addMissingProjectDataProducts, addMissingProjectTradingProducts: addMissingProjectTradingProducts, addMissingProjectLearningProducts: addMissingProjectLearningProducts, - createSessionReference: createSessionReference + createSessionReference: createSessionReference, + addAllPortfolioMineProducts: addAllPortfolioMineProducts, + addMissingPortfolioSessionReferences: addMissingPortfolioSessionReferences, + addMissingMarketPortfolioProducts: addMissingMarketPortfolioProducts, + addMissingExchangePortfolioProducts: addMissingExchangePortfolioProducts, + addMissingProjectPortfolioProducts: addMissingProjectPortfolioProducts, } return thisObject @@ -45,6 +50,7 @@ function newFoundationsFunctionLibraryDataStorageFunctions() { scanBotArray(mine.apiDataFetcherBots) scanBotArray(mine.indicatorBots) scanBotArray(mine.tradingBots) + scanBotArray(mine.portfolioBots) scanBotArray(mine.learningBots) function scanBotArray(botArray) { @@ -92,6 +98,17 @@ function newFoundationsFunctionLibraryDataStorageFunctions() { } } + function addAllPortfolioMineProducts(node, rootNodes) { + for (let i = 0; i < rootNodes.length; i++) { + let rootNode = rootNodes[i] + + if (rootNode.type === 'Portfolio Mine') { + let portfolioMineProducts = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Portfolio Mine Products') + UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(portfolioMineProducts, rootNode) + } + } + } + function addAllLearningMineProducts(node, rootNodes) { for (let i = 0; i < rootNodes.length; i++) { let rootNode = rootNodes[i] @@ -130,6 +147,27 @@ function newFoundationsFunctionLibraryDataStorageFunctions() { } } + function addMissingPortfolioSessionReferences(node, rootNodes) { + let lanNetworkNode = UI.projects.visualScripting.utilities.meshes.findNodeInNodeMesh(node, 'LAN Network Node', undefined, true, false, true, false) + if (lanNetworkNode === undefined) { return } + + let livePortfolioSessionsArray = UI.projects.visualScripting.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Live Portfolio Session') + + addMissingSession(livePortfolioSessionsArray) + + function addMissingSession(sessionsArray) { + for (let i = 0; i < sessionsArray.length; i++) { + let session = sessionsArray[i] + /* We will filter out all the sessions that does not belong to the market we are in */ + let marketPortfolioTasks = UI.projects.visualScripting.utilities.meshes.findNodeInNodeMesh(session, 'Market Portfolio Tasks', undefined, true, false, true, false) + if (node.payload.referenceParent.id !== marketPortfolioTasks.payload.referenceParent.id) { continue } + if (UI.projects.visualScripting.utilities.nodeChildren.isMissingChildrenById(node, session, true) === true) { + createSessionReference(node, session, 'Portfolio Session Reference') + } + } + } + } + function addMissingLearningSessionReferences(node, rootNodes) { let lanNetworkNode = UI.projects.visualScripting.utilities.meshes.findNodeInNodeMesh(node, 'LAN Network Node', undefined, true, false, true, false) if (lanNetworkNode === undefined) { return } @@ -166,6 +204,10 @@ function newFoundationsFunctionLibraryDataStorageFunctions() { addMissingMarketProducts(node, rootNodes, 'Market Trading Products') } + function addMissingMarketPortfolioProducts(node, rootNodes) { + addMissingMarketProducts(node, rootNodes, 'Market Portfolio Products') + } + function addMissingMarketLearningProducts(node, rootNodes) { addMissingMarketProducts(node, rootNodes, 'Market Learning Products') } @@ -192,6 +234,10 @@ function newFoundationsFunctionLibraryDataStorageFunctions() { addMissingExchange(node, rootNodes, 'Exchange Trading Products') } + function addMissingExchangePortfolioProducts(node, rootNodes) { + addMissingExchange(node, rootNodes, 'Exchange Portfolio Products') + } + function addMissingExchangeLearningProducts(node, rootNodes) { addMissingExchange(node, rootNodes, 'Exchange Learning Products') } @@ -224,6 +270,10 @@ function newFoundationsFunctionLibraryDataStorageFunctions() { addMissingProject(node, rootNodes, 'Project Trading Products') } + function addMissingProjectPortfolioProducts(node, rootNodes) { + addMissingProject(node, rootNodes, 'Project Portfolio Products') + } + function addMissingProjectLearningProducts(node, rootNodes) { addMissingProject(node, rootNodes, 'Project Learning Products') } diff --git a/Projects/Portfolio-Management/Icons/Portfolio/portfolio-bot.png b/Projects/Portfolio-Management/Icons/Portfolio/portfolio-bot.png new file mode 100644 index 0000000000000000000000000000000000000000..7783471df69b6658b9c736a98eca8b18e222eef2 GIT binary patch literal 13552 zcmb_@c{tSH`}dhK7_z4*WJFoA6nRWB!?@925W33JN*s z13>fnsT2AaeEa8z2)7d(14ov1ft<`U(YA5HC!&gbGQW$cyg$a3CfiiMlyWBf+MZl1F?yWYnQ83QhpuYU3`isYDeZm#4S6sm1j9#TVwl z0q4}S_yI58-G~pIm|}K?=tVh`=q)07sB&3@?Lhq;V|8<^Gq{e_o+5zwQ?e5WKuls1 z`@)NH`<^yqFdC{F4{*i}JHtuhsTGhdM91ENZzL6zEEhlnaLm$Wb!7Uc1`#r8>mB?T zh0)4Akd(-wilbxC=6y&yrU!zA0WiL@oP5EXy63wJZ4ME5W`=M+BNGSdOzdFaun~x! zAsoep2SLItF@oZz*u^=jgm`8bYyjBdq&3Ds#ejn?*-}i->Lz~cuzCySmhQ+0NlUC+f%)cmL`r13IQNz@II1oRR7=V z=VQhay7WKpqU@_ru{Z!m-#Ivw9;$>8YcDwu&yA}+!p^_lRA2!}=Btc@Eq1=Mk+zp$ z$IH9yE73p_Ur{tY#|ZkSp@{$;cZJ(#!V*<$GPOt^IBX*C#vdpD5&bKiL;z}%M{k=4 zb2Lal-V+Bvxdp>plmM$Sf&Zb*`%3ZO5q_eYcn0_p|M`Xx__XX94XL+&{`F1owiH!Xk#>#ZwnywN z>Ab1?GKr&7NGMMkq5+CI9GkuA(Z^rxRj3~8IKmgv*twegG?muIX8LG|Z0TciIKKDl zUB%#sN6;^oxrp_fSLLR%{-}mv;7%1SO$YD2%*SkrZOh4Tk)CgoJmTzRWy=j_nA3ke z45R>!fkFVHr7r7PN{=*)!;#W<@dnd~!j|fkaTq)f-W~a!I8e?9lJ98aFuD!)`DA;| zON@JC$(D=;E6U&X<4@x?o2q!BP~?lT%@1k2>IM9o&B@6(mG1Uqhab)~z;!1=3ey+y>C}N~O)?-2gen(p-P-HRBuna^Bd4cf_5HrW*I2lf` z9C$&-KGV6IFLLwHaH$QxvHIs=7Ea{#&V+jPynIhi+c7CF$TzWY_Eo1_>4~l3q{2_y zfVh5#2N+*kZrgQ$r7`ANZ}fI2+s|`16h0rJ{yhw_;;=Xl$kxYSsP^YVV;h~i z@sgitTQ!9f#AoB|C(&{J6Wm)pu2-`YHPq*@-c4>QK-^;L6#}YU+7A2=d&`SX-2|5v zowt)t|JIdi-zD4ov2;&*mNbgsh)_UaieG68l zsE$+Y)3Vj<>zlo&mbn?fpn;olN})Byu=VX|jWR ziU!KtN*CGa25C5&@h&??^e^766-GC!usLu5K5#?;3l6Q#=j`?JlkIdXbsG-=IODH> za1q!l<5dpU&vq2Cr<(o#oG#HnKV-wJkK4g!s=b1@fU5@b#lL}|F_kSt#fbmu+A@^$ zqU_`67{vm|-UiM7S_lC(2DV7RP-N&Z)zkQ{_zOPZarp9FkE?=T9S&=&oK!JNSdCgs zvMD{;;!br9_(rM)=d@F!J8ms@*RTRHdyZI+yCD!@sjS!eVQ_`KLOkc?hReYC=?vy; z;;VD@x`L3*penzh0Uh-e> z#3NAvlLQTx{r(20oBT+i4=@0;@yI@ZuIYF2u{?cno7gNU?wABVA7$S}`d(rP=2i@m z69F5$k0qEG|? zCK8!EG3TypLfNbtuV$xR%fmiDV6R&l`1%GMpu7)lO3WZNTJM0Ix$RBH8ku0mX3Gk= z&;U0IOo=ah&9)N(c<1^L+j=#+&I79#%IaB}D61Kgi1KVCq;eoqTjln$X-64bm8NZv)NlW7~0LuB& z7&qiPe30<(|6IU<6rTUvxBsHs|K-!UoUr}IWp7fyB;sRa3!>e)N76b2$ImEEwphj9 zZ*LT&9L$S8-5&cp%Z6f(?ibI?MY(U(1!L{Em$=HbM4s2Jv>UePkQugINqXBVc|^O# zCK3?u?g-pi+5#XPk8YkIU^mot-aV{2@iX4bR=SZwuI>!``}MO{T-rSht-WG~J-U{Ow>r)~jZwX}qPKfl6TLP!QqlR1d}QaC z|Fo45N-4lX1jKx(Q`2RhzvV&GJWanW#j~UiE(F(MJw_=p!*f=H=?DQ7@$@;GLD_rN zsCxbK(~h8>WPi}N?Zhc$ubwJ@2FDA~Va~|>Yi6y$`dKeHdY|_q>B+cSa7?Fkz(`3B zinHA~VV3NzJm!An+L*Jk(N&AE$j?Xw7#3r@wXc?Sbu@FP^Pf^?o%A=XrJA^+--!{@ z-FL5LQTOG23=Vdi`}~tjhFGD50=^z+`jUf^O2F;*yUX@M$o0&nKppWeb#Ec0!2S=_ zMF$z5&j$pEfKg8}DP`)$+jQ^kS)ojc5TIz)XwjL~c=^qwv7 z`5QIn&yK~n3crdnLA)CEDZLs~=IJ7<3C#(M!kUbi+5Vtz7uoT>eONlM5RcAIF^wL$ zd}F7wqU5x@E7Hh5RWSWTL8m+Z&KL+YgYRG#CCMu(OQY88lU zRxduY{QB2DylX>hG(4xzi6bz8_(JRA>4VI{4jzw=4n=>J4P`j)M+bh-!`O)2xWoxz z;>+sTfLKUN9ob$aSAcpv=X2f02EJn+l~?fN0DMru;U;H1=HTnETUH=8PsUen%4gu` zz%I;|&(4*Cq@^Hf1hjOipBDypbC-FXT@i@t-gbxb_x=O^3KUdZ;wMoR_U8=Gk;KTc zMK8nQZ%|KNdV*3cJxq2le!gFGjckAA==w(pD{*w)OE!kq+>uwAF(Qz}u&j7(EV zT*y%PS3`x+o#nRNyF)&Knt$IK_0i3261EH}GCQqOR48EN;H!LQ_oUC;2qhG1#3!Om z1uh^$RJlV2L&LvNdRyE%>9Z&D9WA@`UxMbfmEwFo2?{J7-d9Sq!MaYjKA=9>sR=@;b^CbF_TiF*q#NUw#&d{)$yXw^W}Qqs>~8^`ju5Y zNML;bS|Vxcd%o~UX1MREeogPcgC`^&k={+k?zEu6B{)11y;BjYn-g9o`k{DJL1l%^ zd&^_nVDRal6Qr}o5=0Ws{}q&?SuiRV{Apx6N~vEIa{A-0*F9BXZ*Cuw zl(bm8DU3ljBOu5I@PWqh|3?9Lgwl?hdHG`~yOSySzIkQ1pKUq9c$R}F+i3E|+|4Cl zm`$o1Os6FjS%{rJZI{=sg#vP4XxJ6&S2OhaNW!O^;TBDn?`F$LXE_k3?wMSAZ}fEY z1<7YPdGb~N64649Wpo_(^EMCW-VC9|w1IsY?Mr)h84Y62`C$F7FO#}=%)gb`0p)^c zk=fKvNGI9*a7Uu#K5^Wh{!J)TG^0aO_7)j8e;_=!VtEMR&=?>vZ{O(ShyS`5KH-e5;}l=2Chw+QDVn&3ldgE2G#8@R zx_k4=(ctM>zXT8dB}%pI)0^!jx}Q>m0L8 zgV9D|caDkRc)L_NG_6HmKbR;s^^{K3;5OY!5Dp*(h9*y!&y3sqW1$1vv({=U++j}C#%CDRtZK6x zGRrPf2G|KZQ33m#=&kJN1OuY-hJR*e6jONj!HQmP7zct(2nVijV#6dt!B9uRm(_KO z6d3W38)hRbrM!ikd!y@i+kf$a{QfZGM69K@EJwXH(xN>}`f>*Sl8#`M3^IP#BwpX7 zDE=ZwfEuznaVk6@vyolx*&;O-PS6Qju!>Ny;!D6MZTjyX;W2x959O{d`OEcCd=1sU z-23!NActl+z3&>wnv$^_8k+h_eg!LIQVmhw;fga!UWD+rT%luX$#tC}EM^w}=lvBa zDN!euj=4$?Z$8kH`qTBOy1kCt#M$=G(CPIDt> zt*?R~O*;mJofHB>1hjbZ(pc}vY?jU*F5=gj%4y!nQ8Q3@=Zmq6WCksJf|1ShTmRGB zt}wTwN8hDMq)A8IYCMLaRF_tysEhw9i)%ym#Xpd4NQPMqE=1n}yv>sSwOfInihnnv zJL+&5GPu@{_%636o^)N7yIX2v9d)}Y@lC2;#r^)7uOGd#i~m%hMsb2f6L4pad^anw zuwSNUtS#^LYaayZBcIUEuNhjP+lWKXH|{3S-9f~E6aHBQt2{;!0kPznjc5li2DODU z5$KH5Q|&s()gflh(|{OP=@$wEFfCV7cw#If@Ie6h>4Pz`!UG1|F&l4yA&bW>n1O!#u$IYHt@u>XezHnuPr#<$|giTt4JPph~^z~H&=M$8-ojxo;} zH0Gd*F>w_F*D!Hej-Kp#O-?i*GKDY=_Q5qUZ|5S6B<9r>OocM6Q(?|z6eli@4hBcj zA|Op227#4-qdT@d@M09N=-Nl4mX_@b?Mf)3!1pt(=XzISjQr^EBR(`Zu@e6TcO0<_ zLz&f!os{bR6Q8P~X953>2Sb6WsTemqv$xH2VITBnqk952Q~kRZ%JSmbMmqw}H2qmU zN>0wA5GQ6+d5B+kFcR_N?TuFgMUOD`%+9=x3wy42cJBId?qH3)ZCi<_>N>S*x_O|e z4Kv>GB-p*Hr%_)DrBtF7Lu})V2gWCs=D>rAzcLmSU zg`XuKJhc^RfpHa`S-jYmF&#!c7{3+M7mm=?a)gQ*{0heo-uv?X z00PqJJyhqt71RIjp||NQUGR!PZuOg)fAG&%6bCZiQQH)@zQ?TW(N5p;x45T%?Ef^{ zDLGn!fMjQ8nPQ!TDuH&d2-ju%@NzA}0I6urRKUy!1^=J2Q(Cc0`C($sWYIc^Qx zt*#|E8Jv>NrW{P=2oh{iI7OdnB98|o%mu5Z=DwR!wGrLP7%IUZRwYZtNTg-Ol1#dfqz{J`n?w5Aq0I z*@+K?VV~g+kG2OJqshNVa*cDd@@axit_5{N*Q|%N#VFL>+v*^K0(+Gh)&`FVSED_Y zXp&703;SH`)cUFdQ zn^vdRGpn|H@#BUN@-&a%uD3M1y{fExD|@86u&zq4ZPACrFM`{pOU@6|>?6h+o4(d8 z_jYWYm)}R5NMr2Uc?t0{dE^0Gi~A}2_7c9xbl8a7`Up$}61$(0l&8bJ%1Lj2IXu!I zjFKCjj9~h-H(;gDFI&!TIw9_#K*31l9L?!IJA>7BUTN5Fsp#O&2-h1}cE;KslRc!2 z?UhvQV$JGfdg)7QhoTg6zqJZP5VyUTwLdC1WgwV|w!M*_$$DA30jDN)1dp`S)ef&E zJ)b_#ZaB745f5mC(va3h>&#tGnueN)cJxjIQX^+q1?JQ{qlX?91Y3)Bc0h zqj>sg8osxnKXG}u7ELUv?TAt)+vHH~*VI9?e7Y&Uya|H_OVu=qT{-v146M0{Z}YLI zq)-|1iZ2dOQPKO6#4{HD`Ym~LK3^1OfY64()1BYZ;q#cot=VYUF%L?^6|3j>ao*R$ zN3}SDBGBKzH$|l=OihP<1BRTe#P$QBu#XXCHPXK<^Jl*kGaO=h3EsKS_3JC zk?^C)*@bDXXUtxmm`2177Uq6M%p`2zS*xdL8pZA?JPIEMC z47HQ6Bhh3Y1Ep)!ZLE#6nsvO6aBHiKadLeWKFjf8($v+)q&T;nmmT`Jd_s@>!mE22^u>4g zYU6O0$p+`pe(6q!%22=d$tvm$O&p4;+O~MT4F>DP!`ld2v{BQ6_KdYJ_m7kqF5!eg ztcKJv=LcV~AJ~2FxgO@x%sjJJ`}m5BcBH%KT~@ABbxEsu`A>zW=43+Z^&=?Bi5F-H z8SgKf)%CN~(}73;m(&A2{{#jzt>9PNFlqO?b7fH&)9SQY{g^{zz5af5T6!yoDN*1l z`|2T|x#57P38~`E{!lb)d1jSeUbCi!~nT}02 zD4T)QchQy~9v4?!>)U&{oFzS*L?vzZMirW+kE}D1w!JGp8~)^X7YmZl=MK|?DktAc z&;BtoVGZQYEnfQPz@;3jwr+~vF;B2D-XRedZduJF5mZ(*pV%Fq(JH%Ruo6 zZNNU4At-kHFiG2Pb-0QhQKIF=m=i7a=q9tJU##-2tVZ^h&%J*k(s|qtuda^7l%a>? zLWfDBc%8JpL8C+NB&%&48WutjV5cMtK?5T6VA-Bk%ROlpNIzO(TDjEJj_-7Ilwngm zJCWafu+%bl?W>YDs45MlLx+oG1ADQ6P?2|qAb%@PbnQ+Ld*ieUFczZC8Lh`U`&mx% zF&}RxAwod&y}d3-)R~qwwK;=N@^p-eb^T zf1TrdA5Fh@H#Kd+{v5AYX9GKHi7|Zi7Sn`%UYB7XHql?*tfsRw(Psbg8U<+|3`iNK z$0fPGPIa6yjmWKFE<1@ctOn^5SXv&baL=($ib}Bi?VC=adDGXbZx4BGWS1V7l(+sV z@6Vbu2*wd^=RcaM73(_yeSfFtpMe=}*Hh9DD|-pYrC0to<0rgyMr#MIy%9R>b~AkR z0w>X-$$qX$MO&@l$h|K=rNF~oOcAb$j~(6~A$Aa2`Ay8Prgld zcPqozF6Y9yOUJu7yM;UN-ct|L^!VM~wQ?`nSLED~3h?CaS#pwdIEFSVS~mL_={eTV zp9jsdGL=>A9^mqla_2-#%U$Wa)wJ+t8_!%R!9nT9Xw}QTdk-Iy1$PFQva70W+`p^} zT&!NpTAf}FHV=}`p)_%DKn#*`>40>O1&#ZmD?Q9z)q9&17-l`G%q+8XANZ^jB`s|o z-30+=kKYRjgQ8b9tVlDzLrcqgjuSU$B!&~4Yi)z-XE!H zke6NFMw$q$$h&17P06)0A68J9?(LOFmyX6HRetCuk2pU=r|*oE~{!A=Lex ziY|^T$!!==^T9%78^Lah+0?_bQRVnP37WiW`CpwGn04?rT2A~hvgAzp`AVtEk3zwg zuUy%CcFiFP$KI=-(%gta07cO=6GwMm9g8l_j<2}=$Jyr0c4YeB+Dc!alj)C+{AEfP z4%11iQ4%cDZZ?|u%iBd?=D^ho1@o)=yR$x_1hn3L ztUPZQ*f+v|jKtasdv0wrLR`DN^YtOC_96jopVoHjN4;foe-TM^jRiA_zn8fP8?O>r z%2`f9vZ0^Qs)q*$Q5<_vB0YwAU;6G6g*#LU7Le7PUG9St$(fH1La_{&UN2F?Go zPWz>>gn_T##rXQOd!3WdN361-K> zi?PYq3nvS@Bv{I&Gj05iNX)-2?`9RbmYv_;T`8f=Eqc&hpmT9&EvMj>&HG8|6xg(4 zrj0R7y57WwLF@_)X=-H8QZ7}&1mvayjxT{@SCx5;S@1C7*HoKZ`Al2DVjkOUhz_#| zHG>k&x`tSm9p853WPSAv*I_6=%Cz6zP(wW@E28@FS0c5T6<1NjeMA_eq)rU-g2{wM zzH)JE5%KydoS}g>?@A_B4N-e5xYy#R(jhg{?-kN3=%XP~T9wqE>h;K^T*$QV5$voc)>Jeo zf54G)C?FB;ZSsVz|M4O*Trm^OLg81iK?y1^`{=cx+Ejnh)%x-F-=hdEu}nMJIrdOF z=hAU_MFIiPL$Yqm8gK`#N8hOh<-A=IbK7t&rH-r=k^IQ)Oc8mA6>%a);1(h!vI$&k z4~nV<+sIJ)i*B9>NFQTRDUdoe)ESJ?1KV(Do|Q>>$6iW~o6zPKtUAGZyP-b+6KHEE|it9{Te zp`X3CZ?mUmk}#Zj9s|Itf5F+gjp84lNGJEl{-{PiAAGpJQDM?XdSM~?|nfH#W_8$J{Q;xiG+i$|*-j`PV&Dn3rv!k)fId7enN%PTM zD+q2OqmjnTWfl7Ef65dl$8oqz*lc`wH9N|g$(`eDKMGqC_Y3y(%>)mJThJjC?zDaiK&MTq>~bTMotceD5dd94>>J7qQ~?T4P=T$Fv|uZU7B1 z`a7hi?cRVQOJjo27Tc0aGP}28-Ks(aM6|Dt`Kc*H$QwQdM^sI>YEY3}`y+FrdnJ|B z^1F!SU*^VhZwN{d`^O4)s{`;>s=6;05V%;Xi#YDacR}78;rJkhzoBb68o6dO%QUG9 ztzNXBV>W%m?#W}?yWDtJkOITyzp1ZF=hu?OH}o`k9j+6IKf9xC%GcRH2D|&C2q!<^KY5W-s{>Cvg(6SznZ>{6 zvyx9h8A>4?4-s1=IQyV4^jNvRBJ$M8hiTHF18)L}WE8pjT+@4fi^}ag=YD;}>_(wc z_4$-R)!uL2K+A(ByPXwrHtq9TRy3WZ26Lv-LXank&rN=-70(Nr?PlUNc!ef^0vj6? zR`?FtzW@7Os~kP{zScuqJG3vy@|vG0?)y)oLfN*c&6E0G^~nllj6*tqu32gV;Zjs&m)kp`=xHn zRCqgx`lDV~n#T+-$v;&gXnR;m4;2~rQPldX*==UQ)sk* z)o6b#Nf=7jlBX?6uW0=P>qp$-X*hV=&NJW)Bg}kZ4jLbcxXx`@CqH&;e>rz<3&G_VxLs{hshOy3t4TbJ+)wX>jZJ(+#Z|u87fSw(j&E z93bv{RKiFr+KtKK2}=87MEoIyNe6GwpaTY%Vo8)p{9YB7#xnW0M4~@HfY^*%8WwF| zy`L#>vlU04@etht2St+wKZXexsu)AKSY{y8x>Xml!B0jw5^4KIaw8LT$fOKOaK1^T zS&sab|2?i&&Bn6QEG$R<4051BVJeiovqvIs(yN^`94<5==O#4Z9G2$FK7BG=`gW$P zm!IIagAIXWai(Tca34Hul1x4U8Mo)LVUrQtz+JN@Td4i#mU&1}VLh8)(N12ZwCQ<= zcnd+XD$>2lY;fIe$=x=2s4O$UjPG6Pxx8#y8_&LL%J?G*J@J~} zc(?baPS?Fu$&I#(>qAGb%cT5T2sWj#$U{X9rej=Ttwqiv5{DSH8eZSL;3rYAVo3F#o6jI!=}IM72_lBRWQyxB>Ob1BPb_ z4J56(rRUaiPmTqnLwAmFu$cqy>e}IPISJH{NnleqeDW~qSh|-?C=@>% z71oQktb6s+t*0Qgj;PkG9d|sQ5}6sa|2T1;r+uc9{mygFf4lXH{C0MY4i7Yv?&Y@{ zNE^YW8{q2kntlPFzol0gla=f^f#q-GiEvJLa_0M0q&2NCU%ROx?a)9DtetJ+^Vg~A z8!x!X?vR1EA?2x@7!))b#s@ole?FnC9JnOU*^fqi6lFU{y_%y|M0khG%p_zRLMx72b#BI51ND96hf^>NOVp0= z!kNWQ!i&R&E4Ey?Tt63N$>UT*1DVl!0=3}cy~)$AG7ePPz*%Q9sURP}6omgAkVjP` zlm+x@lro3?J2Ovbu1~M9%huO(Z2bHev;-PP)++oWZs0oFF{k{S0`5{ zSR@6HYR7UGR^6!FqiLe#kDQbyIeq$$0PIuy&ObTdA`SBUoa1cjs11zHzn@#W9u+)KZ|`F=eB!o z8O!3nH8sX9yTN+qj*_d!+cB)ir$gM~>D|klTrjb8DY6|UkeE`NrLS?SJ-hFer#K|&to?!#%hqgC3b}F`t6gjmKGB8h_GUPk-1sSM?LC$nmZlr zh)1s8`3IwX$%44y3tc4IZe2X#CA^T+ck&;o1}7Wr{dljJ zgxEW3I!ygCE7MhKzXW22S$$$J{oZFtn`l-NxbC6Fv$xJep(_mw3X{H2EQq~eV<@Bq z7__bm3Vk!>@4v3=FSA~@ScGe_FDobaQcj=y5up#2ddCZ|HqE-S?W$LjEDA_DFOPL^ z!-{imnFQ9eW4S(dslwu%xYHj6!4#FH$ifv(_U?gK=#{_TkO9+2pwFZV63v0!E^nZ~ zn%|7O){HPFzc1*OiV+6!7)mci&^X!c_TocfkO3KcesDP&mUj8@I--DLLp*`l2E*)_ zqG2|1>(~~TvjawyTrQz^$3<{Q!m-=g=j!(Xh5aZEB=N$obQ%ZRaYq~yomz=h*P&^iq7W5X%%9##6cwxeZA-|)CDeRk@ZNsDv zTzVhpXZem~`{l#BGnEqX4u7ZbB8BSl{$1pdbcb>Ix^P-F{x}?xwS%BVujOZrt{<9x zsmh8pMvGseY~Q_Y)c_=*_KA9f=QfO)jX&}A65U!VtnpmS;@M=Tn=F55Wxw+ec)2rq zAH?t%7;l!Nb-@g;6MY^QQ3Bp5&it9Yap?l(M=IYes|Gc~QLK@uv5y-LrxAEZzAqNy#4=2d{ zrJQFVzNU)9Jhcli5-3wPDKgdgis9sR!}jk#`))PbSLL{da-H~RWtZG4@}%`XxGg0O z_9A7?E7Dnq+MhP&+b+;t2@f`$b_?Y_Z_5a8=3m-&6tQ`pX7qPC-Hz;Y?>&jM5!HX) zrkdUS;YjKFwFP09^VZTvm1c>%vK7(b?}xu8ALHss$#v1{teza3u3z_(UFKX_4YOsP z1r%1qH-lcxQiB4@Yq|FUa>D=W3*RTG{A53al|~&5_g%iYZZs;$wk!R&nr@trUS#-AB8C2iKyV> z&6uP7XNzCPfS8GE*qnUNwgb`4v4$V?N8QN0_pWYebXEJU_b(6?8IS4d8fcUfnv?tH zbC-|8F;Wj2V)P`JdtV9O3bU%7G>*WRP7vS-Vt68DO1QHV+|nITjp^Ijz*WMyYX*^!xfC3|P@YhGl5p5nsO;_dLdVoX0%p@epQoSBsI3hYkP$MjdU9`v3q1e}n=wRN%M$H^V33 zH*SwR<{rjw_8wl=FYN#|Teqin0y@vF9qjJgS=)NQ=(M{90Gc8?8fqqQCO6X_N2iT= zu2e^}2#7ddo)*#fINjgrk>+0zoaom;sn|}@3?~1;#&g7j!GnAc%hQn^3FRnwd^;F;8p(uWU?DJ}D zIIKRZM#0yIV~mb!Hg|T(JC$RPrno?s|3Cc-O;TWh{Cv6{j(O6Z?sQmE+{jPV3%>^e zngE2t9gLLkWQ+>m69E!G@ztTDZIrk)1psiNKfQlBPG?8{f=ch=!**(vu}*l!?)-3| zombN13j8zP$PWNizy~@z72lN2+Y+f0HWKVzHQFsGx5L$LoU?EeC=3R~r3JW4D`o@P z$v1Ud5u%tPGxI*{;fG(FbqY7+0HAA0HW*WLa=tTPO3f@Gge~^%=qSpKNvavjN59 zlI_(cvFld>KpHS@j~^c?rb&EXSV`7oIK2RXSTk83Z1Q}x{Ql{DE&Xd556C>~j5pbz zYz|QRPPgV)J?pPgj2rk` zxJ(P{2@aDeK*X^&T_3FOIi(*_yN}{S{=(0ezPx^yYQIb`bMY@m{5t&^OZf}Buxj5+ zv>u`)gPUXs2zUP@v?8L;^Pe>{|Ac8y;NX9NyFb~~N9=%92cuWG`^mUx?&FX%U@eFU zbl@fKe%C3*PbZZK{2AS*g-e_WI~0(Ll)fgCK3|^P@ixvkTU4J9Fc8ZAACFb zM8oJ6P=PtJ0memF6u{ZMbtxlL4U0l&ni~)}@AvZ!CDSHVw1IdsHMB(oe}7b^pGTqH z?a5`!*zO3+ZR)ZsrSI+)T@!&MgfiCk-}I?@-jFae@$GgTlPX0g3YZVY6mC3vnV<=O zLzoxK)`bBVtSRf}SC>8n{d*!xj(lYTdCNks6~-wkzAYU)WVU(;PykFX&dKgbGB+iN zj9#qAbd#unfjazHMC!}g){d9J2$TzO=c07vQ97j<)(yRI#rDHrIC`)Z)Bgc8s_$=I ziHKxv2M{m17}Dx45wmyTh-2+yOq6V6Z6sBM%wH}*;<~S*t1k4FbsWo+9*&f%8dl(w z(kZ75-yxw&x%?>2&Molz!*-TWQ9*rjGU=Dz;0~V(IDKrq?fw-t@#b&>=jRc|9TRcD z{`#0QlWsvOran!yp{-azWkarhWMc(ZKe7%zmcZN-`256UtFhuQ zywkda&t}4Av=8kgV<_u8`8%IFrc4}x;}oHjHV{{106fB;Gko$=R2llc^ONnLX2}dS zJsrwlEeVzTj@N2NlLdI1Lfnyc^?8#wGg#JsO_%ETdr>sN8dxqjIdY9>!qctZ5ntQ> zmD;->f~0EtKH}yjg4Yv_XL$G7pCt^>oGLv^+?$qa15e%hHC-!!VEXmA{`=LpQ}TNc zH|3bHdisd;lX+JDPE?i2y_9o|yba4@dqeU3MEWs`76H=Bw7Xg-xTRTz+peH;Hp^Y` ztqp~R#_GYvXABao@dH+XTul5H3J_ znr4`jW~VtdLW4JF7Lye(<7N;l!l*Nx{h)aa)Q?pvggxo*P2!VA*W#L;KEqT4Go)Q# z{ZZp_CuywrkBxX3l@$Qgr+f_9dy$0EuZoWurWyE(H>|DKR7GuEU0&u@MDCNB_*LvJ z(^bY5VHyJmaSTWraf+p-H> zoG5R1L|>sTExt|#ToNOAUOo}5qCI#tNE5A2Xq7gslkFa}@Hc%-7%P4}b+B{c`u<&I zp*a~H_bwjDnM^`0@Ke1A{o{?(%Q9?(0aU;Pg0E!%lZ5v=DDRlhX#aBR-YKo9#Tu)Pb%|MhikaD~jfm&Z0D2GnVATic;&Mq;@S#_AP5)y77gYGB5e~B9+$* z9u^4tx&!$oE_jl@-p+y4BQ4M}K~8${vtg&Wdis-!tHW$*)8vm&Wd-+$#l*#p?pBQ2VLLq1&KRm`Yky{g+0!P(kIRZWt zRvij*udA?gdFrqQsV`F8WQEAF#BcCe>de3uM?`n@8Ps&Mlu|+`W%I4*WFX$NvIp=p zUod;l6_P3nc_R8ClBb^TVx%N=48R zZ4>;Gy^;MQdalcbN`;^3}tv64|UPA*cMvLK=}?i ztaJd1rXq|Bdo(v%NTFAD3e{y)$2=ed`F+S^rgr-vmec+BvhzseI}xf6wAXz$bD{*Z zb^imQ*0eaFS^Wi*-*UnH`a}7%1s3`TYr_#o@uZ5;l4-*FpWRo&JJD_NE3{TX(m|pl z^uZLX(Y3z2;g(KEkOzto1!w5+F4T3}@3}Hh>0Oz?oipokY{G3mOioaMOh1+e;#pB! z59<1SVdF%|dN@OPeL!4}D%wIUvp`pG** z2rxHH6Tux)M|Dke7i!Bp*E{B7LgeFPhqVF`WuTx!?-5L;4(%M1j}v}bNCVa>=&jfH zGZQ#7E0YHn9Gmvw&d1s;pJ*em&{jwTEbsn}MeL>^IXQa-!~g+v_5rsYR)ylD=v6` zxCg&aqO;?$u_a3*@y; z9}L-Wr4_l#1qm6e^W)_01+?S8jFr>uRfGgUp2|}dmF5fh6LXI$hfgVs%9lbFW|-a+ zRX@_RqUD1y{k1!_V-LxqqsK)u{fZV+)beMB`R;<9w)^4EOaCWA0Nd;IU6voA0ibx& z583i8UJ6h(Wq`cDT;2NekX%x{AfrKOg@tmvQ%AlPP{8pk-aI&5OdgN$#uIk=3Q}pq zXn$JoRj#);4;?mJex#?$e6&#F6XV}v>c3Y`G90e0e`=x+fS~7aZXqG(u+4gGk4zQW z*>1(t`8-<=f`lUR#PeOClsYuPqlYX5}%{ zXL5qfL}?BCl6)$XE@Z)#8FtGHXg zsk!l~I+3>Cn+=0@GMHvG;i5lTrYi){hGEuy9`bUA1?UMbq2%hGgb+DzBZ0iP_|v;5 z^sb}%X-9L)QV4JUK*uha4A4N2$zX%$ukD~(48CBW;=Hho?tcdba)7(?RU8{4?*l%H zo8O@R!;rj-*e5rp9IU(q-V(xvCV-{slTu56)a=Iq?^dk;5r%2YXGx!s`dQKlf=hJv zm;DkoT_$Fw>22XO3d_41=F<2&yJqE;f|S9#7MS+6+aEwL5N${}aG<#6e99@zh{_p7 z8WJRr-xY*nGBho3j?L%2wnU78nnfX?iTDGH2pYc(PzBYoQX3aun<%vs7MLYd0RGA_- zm!9r6GRbZv-bMK=z_ruhCLKUW55_XEN2XskAyTGn0U?bP%c2n^wSwaB}IN zyTD-Au3JXyFrMNshYZoV@j`t?LGhsdZN5or>OTrB6r~mT4aK8BPMhUMgnS%zhw{6$ z@A$C`{TdEEzs(EW#6-lb_7r$WsP$`ZXL_)sAwSLW2XRE(H1f9AvK~=>;Od@pM#V5* zy|o2-t?eN@vJEBGQMutPCphwQZL0dYLdN9F25=`kf<^_jO@QAOl0tUcW_2Y>bqML) z0N>>y(?`u*wjr-hif8aHMZlsK_?=RbSL-)zkY9U)K6S(N+qdEH6=y))Rzww&kX`mjtG=wec` zE^V=aCa^JzFHAVLdn?s$^i6qsUBO15>Sq z5`_&;k8XlrC|Q?QJqZ|K6G>Zz%|=gmOlA@K zHEqbc9w~P6$VWBbH9`Op$MgiWTIV0DSiygQ|DbbpPam5Yhf4>CkkrKl$d%TVj;iw=C<?^$XikKP|+3y>)eEQoo<@DHe z4=TbY&<%0pS2_PgM1YpUsuk(hYxs&D%QQG>_UKfzHooK>`Ad6dGB;XnyLaH-07I%% z)$vHqv*lCD(qtn}iPwxKa*%i>V4e4*lZl8uEpf>;_lZ@`-0Zeg6f2OtaUPq$tt+E0$p}Ofo#^&6}RN7A8 zyd@|6xW2@Bb|W2%%twphVatK~l;|0dd|+1B#?KB+-u_Zo=#Zj6;RvMC7QbB}LHhI& zOAP2*ytCJ#USS(XVxI;b4-3kHU$ifx{TIVI;5=evrtR6ZRaxxh4arJH>vI3cz{HOJ zHwUTB(eF63R2iu}+|fgaNLuvQAe)pJBh0qQjnaI-D@B@8t4#of6pHgSvS8$yQ{#z`9 zXX7pmI(QB>Nk~vX<+I9`ax#zMEj>~=r;!=2QTzN#iOp#V(<<~17@cDny7xL1bbCNk(?u!WMg7I&1Ov@0ZR^5iQXpJtz zpGxd)#N&Ek5ij6(H3=Js0f4oUq+fa(lsn1VuH^EF^9>VRLk-=||8wGrQd++yKLm$a* zD4dyRz5jla_i}4SDtm5U%TuVBSz!-N04=zMeB90hf(=$To)0p@hI+C2$*-+lLu@#k zua8+KLC$}K6ZxKO$vt3N;`;DbxNLgpMv$ZW+idFSCubm5-*2!$35U9h~J z-*d5wnc2E8llmRiv^1}2&lb-R_FIrltH44=c);&v=^x>!j6;Kq!>rb`8-h{@*T#36 zGE#F(6Yrk?c%94%TE4=OGDnxW)I&+u9EcG+N@ur@Y9;?^VY$J8&<+Av~iG=@UUG`ucN^AJ0!P#Qv_|ePg zY}2`Ia4|;?jwn1cZ-QGvghdGGwI=O25~D5L#Byw*s_VmC5s=VFggg6o>KSrQDf3P)U%dT1zwS+ zj|g_lB{lg`pN_-M!VaicD!7Srk#CzdJ-<;|TSoDvQ1#j|k9<>WH%ybkqDXe)2Ja3r zq^gZ5CD%fcE(KtHp=4sR+IX=xo6!0> zcAxsp!}rUr*~tlp@ewxYOY%NCNV1|qi0U>}7d{`SMUZ;0sb(DtZ-<<>j4KEE4U=}2 z>jJY3`OK+$^q!*6T=Z+ziKlW)D$r<9SR@yZg%ad)?xRIF^=To(?`g9Ks!Yxqey%~* z5_brm+l)q(s+XP^t5TbuW?H;DFx{dHG?>`a)n=Q2QJu=fIQfKKiqt3?it>{~`Q!MH z1W3NDIekOnV=vnS1CKKng+Y^Y~lBch(kh1l{Fk>`LP@ETU z-=Fj3yU7`M%aBtO_ZRt>Bi?DMSu!H%E=puw7qV67+l8)c*1!%%AG>z(DOv85ITR_J z%#F+Uk2DB+?5G=oA$d4vueO*-?CaoP;rJZ{AxlpqDOcq$W$2&i00`*UPm!o@{T*lj zPn_=ic%88YsSN+t?H`sxKr+N#>h|P9NnN~KZX2?^$8hGC7~=GLvHxxjckpe`ZB88h6I?!aKUdj0iE(wz}_&a7<_?&Ew;zP!_V= zSdU*2T^wD*g0o!KxNa`Bi|0GZUO+>VBt)Pd**;KpA}l=}@AUsge37k%-b*&sO*IVU zGqw+7Q+ogEbzPeIdsp+i?@3185CkFdmX7~0UYNA~?5H^Nai*~tE6P2HX3r8VO16A| z-s_=vM+h6%(&aMg=ESqECKQ^>~`)x6vChh2VRXl#^j2-SPD| zZlTm0uzj{ze}OSC9ZP~8C&uZF0G~aNVi&Xld#hTQl&Rq$mvyl#2AI&-7K1KA{EreM z@BVFm1`?=|_2P4}Q1f0hi|aJ>x2`1E@M;nQAP?49(E z;+MSQ_H*q4lateMe0L902>9-;B&RP|r{GMuLm1JeEyBN&yUNT%xm0&Ac0ac#IIdkE z8}rV7Xqxp^>x8jAabk#{IJFizmO{TVn#%4!R!P3)H8aW)+_GYS+s^gL%&SyeaVmkE zxF}2;Ji%qSK<+GX1ZNed=1dDb{C0n?wwfu4cXk}B2t2{6k3N}Igit$IryhNuHd>lr z^L{=3?pOS)`t9RW16%C#iZSFh7r>;J@azL-^RM{S@%oLsPK2RAKFG|>g|7iV)WY)t zZK!S%zk?j<>1iu@_nTqzm@Dz1N-|FxG|XM^?}if=LFtmV!0;nNR|+N=Z@kEy1Yj4C za(l{zz{Q7{Q1ay7%JlSOSzJcL)@*?kW6?M#cK(J`oV*M)h4qnmH}4%r^l9mA+C=wr z&w71{4T9{(STUG18ZE+milww2IVyG;WBksAOyk=~Re0xtF8!vMR8`Ys=MiH|^yrNp zmxtL76q$poT6$-Nfj(kF3@y^s)Cw15ACTQ6LhXfARzfVc0te#2>=)~gv}MF4@{l=S zJAWWMijmm67Wxh3_&_2j1~J+XqO^m_#c*O);?c=NGR4-1KssSffADq$-Ti8IZI-%* z7c!vwq%HxfM1;e&r;@$Ei*E45T)x3FUzz0^=uWqEhrV_HzOK+&SayD!|5f#dp$ z!-eF~@KqmL&@fV7Gt6Ye>(5GvKU_3`ugU_I!kBdvc-m2a=`Gl}o*ay+x!Z+3_E}3bYm@cz(iMbj$^t zEw~1{^|)P(tWKs>lkQmYBfS4F?+4{8e&hw;;9AH-HNr-lXa6xtYZ@$sE+c1nP|tB* zbrsO8K}%#s`-KNh%aqzx9&+t2$Syi%=Tl=Qcz6$#ddv4y^GSKGE?kV>>zw|-+O(>2 zkKR{}cGvpolgiuF{hLeexxqV&wgJ2B46soAbWAJE*G1@>R%PqT`f=E~qRAEf-9fYa z{rt-Lp2Ji=Rjp?+wNmnA?t2o-7sr*h)FFU>-~9K z8W2DEt_0s8KfkMKm`ZzWD@ie@cx9_>G=m3~*Wn^02VrMWuLy2=oPUi<;Cg*gudi|j zXBhd~V(oN)JigmC0IbOs#_js4Lm5(S=8BPMm!Zdsf_}m1XqxRJg9pVQA*I~p?Jmok zm85Gd^C*Mo>=Ab(QF`|X;*lFcx}g_&C|jMOHyI;RCU-o2Y>xNd!}I_%b*8S0Vzw|W zFs_JkrCbl5`k-{O_UU*{0soAPNCh9p|9-jo{ z!*T)WT;sf9ObQtc66NtyMO2Y*pJv?Y?T48P`HeMrW;U=IC5u$>BTD2WbIVlXX%JJi zJ>gk(cMgT1+u%93@ZZkt*MxR3hAHs~+ymlg7_kkm&THkU7L@6_eSnTY?J03V6Cw0r zdtob0vB6vS@TLOEVYug06c71f3;#<*b|&5cF(e^EtqYx%(%WqI!pBv=bg#>{Ushu0 z`8W!USGre=zexY4QZ`yLHkW(R=|F%4O0h)Dit{&1CGDyRb(KZq_OHpUuYUY8{B~Lb zLfH*5pSCzz?O>TUP|b*L_k<+$h%O!^>$9+v-G<`9g+Ljma_)utimmSR2?*k4zW^oJ zlZ{WnVOw7hZ1cxOkwsZx6z1`{NSS?LZLXSQm+a|GsP-r$yd?E~g>!!F^4`WU-Z}ADkTl1}LwP6k zDy?zNe7C+I`3Yuz$+rhHM!Ybvu>Y97RArd?r+p>Ad!uNnzzpQ8A)>`DfW9SzSHV$m zDNv3&mjDh-RnBOeC?S0_?og? zRgp^j(&lkn3^)2lu#h=UYAK*}{;!Pj)RD{S1ZCMWcr6-BGSMewmTdWtFrXD6u3mHz zhJ?$HmyZZFg*``omO}xm9@fXHO>GMNNz^6RpYfTax^6|QyyJ10srB-afSR2SS-H7zqB|TNZDIN8nc++S|OIg4xwX$b}sen;X}=;ZrTS)7&HK zq83CRH@Qy;pcjJ3+Ta@cWajhRF!wpVeS69H^PV_2{>->B<<6@EiZS+$ZI&%w0;hY5 za@ga+l~!dN$3ylwJhL#V6e=tehMK2odaI2-)l}v>mG5cp7ZS><_uVw843BiN4M9!jSG6> zcN!%2!rcycoW0qFz>9}bqNxy|NH_38{VKK8*xl&+=gAkpEj&IBINDVB+DJaq4M6!` zyV+mXZ|T;x%<9+NBi{V|@MJL*<*@*s(QmqlwkxDQ;j@#tGd7g^db#AuBHZFY&P0~{ zb;d23aC%UZa4>4AH1wnMUF>y<71RvLZ34OT6pP8tvS7-&HnZ%d9s}Sy8L+RYKuc)b+&9$IH|e%)j@Ge4EpTyqfd$ce&uUZC+a# zLiQiBVQwT;zch}IBZ;WzQQD{7#HKN_T>Maw50E^%mC)>0!mA5vI~Zh@SpC>pT^Z#afzM3u4zIOtZ%WC^SjcH8fP8DG}W$N zCQT}kLQ$Oz76FeQ6DD++KZIhY`5g}_x@F?S$mZuT<2U(!(x1mAfcGqk}5F@X{^cLmZ>dy<@$7xw_@3G$U4PUBgZ7#nxQCxf z#JGLx?t3*km@;8N^C3R20Joz^XJmh4PG!TinQX~RK-je+x7k5udl`zazU0qnvJ{^4 zU=e#2`x8`nKP#f-n3SXfi6Ruv!9nJTCH>`zVJzagfScA%#o8~Gy!#M}>J>R#|9CY0 z@>NbmGntMTa`3pEdY};RB}Q)wkD9b|ex2ddW%Ej3woE2fd*KoIpkus6X zSji-q7(Qf<4Io|4Dwk1)aEnp565`$L3$ZlNGm!d^s*L}0E z;5a8&LW*f1<`N`dc2IOeydxr?IR&u35=+h^cp7vu&Tu5HU~i^;ED7`%6BlaTy|=OP zUty95#yyAPY``4`^t4iy8Npf6BB9vMMlnHUOMhld|f1flfH4=$IKqquWMCH;;!sODV$pdx?yA zlE)bkyLBhWnlE8@ZN(5@pl<%|H8pExuePMgVhxf0pRrtwzLYsvNG~yYK2a!{pA?Vm zoE2Y`71W7*H1qVucAZ7<`|f*aTJ%D*g3DkB-i#S3)sdAqxVvGZ=&EiZdC1lNPp~}o zXVD9V>lV@PICL=rDmc#i;i9Pki0P!hcAHDkWl>oQD{h5~(jY&VTs!Fnqzs)M;m8qI zFd*;P$0IKEmfoCwDCCI|llC3pul3Wdxc)x}47jK?&1BvYjr0rGlbR13;}t;xs$2xJJwsh$$OCz3HeAm;V>&j91E$BdIJL)M_)9q}5RZ7@0tXQUVyA7p;^_VfDY!)!1=J=3Z24@6~{T}v8+ClWPA(YXA8AwhXuE5uhm&U)=j*Mm;H_`FQ1=$OU54C4Dm(f zrhEH%4J#q)W;2{FFWZagpy-cHBs5iI7dhme@1K-Cs6TuPt>x5ImP;@E$ED~Jl&3$R znEbErv)p__kC2@3Kvo2d$c# zpt11FiX7*on~AV45<@huRI#-pUlHr9BM~feU-fS}jjj%}W2$oORk|z>6d#uNkQgXH zZ+UUb1am#|Z30K@FV|M=N9zb*sh)U+z5XDuJzSr6=C4xC!~V(C*AvY@W^x`cc!mA= zh~FF2^>dRY$pB7b2z$N7&s2MM0S)p^VeUKcf64L?ZJVWpt~(Pn^h9LkB*PxRrrLgt zKXpk!t#1%7KE>vJD>~oAI7xU4R2VcR>D1jba=2P=YQYy^l%JK4h`q(d0&rHaJyNBCU4iJ)_^(=|Z$hb7b#pW@qRV?6y42!my9^ z+pldoqU&EDj@t}A-z@(e8fiM`i~nfZVQU*bL`^YgDzNEtog2rwxcKtwG@Xm^z|Q)? ztBHdE*5C7pHn9E6eX^x9`1Hh`k~ zJ`O=5vyL?3LL|Ekt^QF=<3du>aco7pTbW|YKLclX^A*e|2|dz->$8pD*H}l1VZf)` zIS;pLq@)dS)eMxf!E)ebH3pZsId)lSQpJ?6g9mk(RDpd#y?_zvy%dJIb9>id=_m<7 z06UmiX!D+C3$WU{@y@~q9Dey`^Is;ZeO4;e0M3IKP=?9JHxH8SG?0yn7y7jrH%@0P z9O9opvN2e^_WqTHKKllV3vH#3{=6D@?)YZfGVMQ9mo~N(m2XEunqaFvL3)y?@*C&M(x%-8=-UiWDCAWdW*li3`VR*MZpAFvD^xu+ESWL+sx!!u z%S0vM!7jaUuf?KY_jXfzPhNy3{MwkBpk=|}zg#nR0j!GKQol);O)w;s`Nl6BdeadK z8KbM&bt}ypw2=Yh^Gr7*zNrGQ#o*&hDzXWq^IQO4yJdNkcJ{-n4ff)IL$VQ1UGS4{ zI7!ldDuo_Xh<(8C6tUj}ijcI(Uk~UuhCqi1R`4`mI}PMn(UdkTlLvYH`pHm*4zFacwsI_O(ou)v- z3;VKep1>cXVtUycdf?cA4CKdkvX50p`<=q2vRZ;5X&}q=AQ;Z1j}Vta*b^Ar=qZdu z*$1Rwh?GrV9RC^S$f-l)A|?9fJUJ!b(%DhM)z;dRUBKSIsnmo`!~=Sz<9+*fd{Alh zSkU8Sb60xzX$_+dl~A%kC8E4l86*wXDxgA-Rw-3?zemlZ&n}ZeRDF;o--zVop$4NP`Dy<>L$Yg;!n~?sLaVY zrz|BJ@`%cxWKA>w2kXOD0m5d|e4U5TfkYZ!w*K82Q}ngBFCJIkXq_l|pL$yYB( zL7>&0mpm$bK}B))A%gXuGt3^k&E(f{vz&MsK;PJkwI>*FQ|rmJZt_b51L3reu-z9Y z6#RwX((D)~+0-(?&Vdem$ddP4LG-2D;s|DoH=DDaEHE+l2Op2VE+CcmvdFq>;s}R< z1LjZwAvhoZ6+P$+v(?P$`}0$q;B2qD#*ChTTLFm3Uw}S9HD`kpU*vy~ZRb@%0rHb2 zfl#jL{WK*!=lZclOFNrCmSiQ`L7-*;uFFBL8oOo-!1@Q4IcuL@OC>6CQGwgjW0$rO zhS(XY6QzfaPATE3awBr5b4_e2ExC|Y?HxG|O zzL#+8lEFa*yJR%$;x{dHC<(E?&|eFeKBaB~z$a*XeVnG6f%2Z=&G3oQ)ADU*Z>vLQ zaPVLTwm&JH8ADV(TfA@eS%*Zy00db$#r9YaZM39RZZGzpXVFs$>D#_zNgpN>=BCLfb zA?`a438f_(?^1goGpPey0L{4x6?bbLY(!QY3U?-yUFwEEwlo5FK!^Uqeg229oxQTN zs_Q@Xj$IpEVl3vF=7LRnF)B@MHI|tVm2@fqc6hu0cne44r8-5_0hQYvjInkX)mh?c z9cAbedq|>dB^luB+%J6!Rsc=Yib+@5vJyEPzKQ;b*SibLLP^k>3WJgkWmwxo+HhqG zT;W$Mizd>^^pQ3uhAcIklZJRp6wWSe9m-aYzSmFIqn3gA$EFP)77y z80LPpyjgRIjdDN*D^8751NVbO5TOQyI3^;}+^Z(J&b83{sP^jf`9zEt*kP<_xqsy| z9Q6xq6EL@@x|^)T%x`d9!KOYjw+>|h5aS};C*U(EcpaJi&u#0`zF7l)tXM$_TUtZ> z*-%yaoa*c``NrPtX+GmlHaJ$mng9rV17FsMW9f)qLF5jDjIIOU@I+u&;13!W+0;ZG z1=lwO1fT#*CSLs9N#ess8uC;|{m7}W*B9thDANU>_Rq>F!S{lR0c`Iqo<*~nKoD0% z*iRA_Nc>px*ZVCf!RpzU*~h(gaA!qioy>dd669gA+mJCd_N^!oYJG@Q3JW43F$ZI5 zG^iL+^w)7E-+>CIhPY-yD@h;}0ANBSogk9vU-BSlK<@rS@=I{=pzxSbT%F_Iwbiis z82kOj5`+rK^t;4=!igiFy(6WNqQTw(Z0%|J@~)?Iq2Kiu_w7!7;35=40T?Z8Vq7oH zZotpuc1qXQ3w!*%0&3UA5VaKB^K>v!fHxM9#{(#r1 zYvOj!n!JsrA-|J=CIG;v5yuQ#)yc72{9q-%x=-H(0|%)9i%`^(I{E$zzf%>;GUxr- zJV*O~AJ7@E4Pc5+`)6Of*)>LOivK(A7rDn5N()*g`aiz-P7)6rzbo$1QchS)2Yv;e z5QvT=f4|pM@i1R^6(uvMc%4-m0_vRmty6x*bNwfY6DZS|TWF0hKoXG0ut`Oe^{=vQ z_RY`;Zx02M@a5QL%Xq6j>-SEQ*(2(nBh-G;js1_Qq$AnW{<^Pj5%+)z-Rpwv|C+&L zzV+)X{f}mQ1dA?g?zimhks;p+#a?8IU(Iu9!qcN8QYT?+i0pXx^UWu#{ua-7hpv8C zqF7JJ*hHy_vI{WSi)D76V~}ZP1A+ud2OxL}->LClJ2R0~wjgyYHu;^n7ir`Je2CFB zgXs11#hyZbT4UTMFKET++5F>x-+$)e^2lQN_(*?O89E7V8B!@c+eE#RUvw5 zb#*_3z~f^Hgs`Y3CN~`J__+X8BA(K%Fp=QD6vH(UXCGc~pgR^uZfzai-G7oXjCXBZ zUgt0@OtW|h3XJBn?{Q|Crd=#MW zzt!N|mPi|I+bE0gDE{;riz1cCyt*?~&* zcTt%EVj@V_!~zZn3Gf>;sCoWeUcbx@10kE%Z|&{7c0wG%wikhUQE(;?Krn;Bd}NMr zOrIZca9#@xgurn&P&|+g-0`8wX~7vg7!%j!F8G6(_uKOBU7__OwI+VxM)U4+qYYkt zViaqc1`j&|a)v7E9>7Xw)f94NdjfTQ`S;8`dSKdjnlwT)wq})gw}eZdZEMH2|HH4z zNd|1?{`5IpF%9duk5FH%%s}NI*`XtEC{ffdZ03tZVZ)3&xdB?TaTgspHmfCO)dEZ4 zNUDzi2R^U$f{)U%H(ecOeX*bQ+-T=$zng>n!Cax~DBMyy>L^`#*G=^EBcVBPP|5g~ zsrb)FASLkig0z)B?4Z=oZrf}sibH$jDm{}$=r1+z<_ZFuOTH6T=AJICdc zst*ksvl0mKZC~eN;cu;|udjUuo9ICCbctEDrJyxq#=O6JW)7^p`PV4*_r$vsq7Am2 z=!e*$&WvUl=Ft#07iOGGuLWtu#Y?Sxgofh7Y4e~%r;j8@h}8`LTjrZ! zU%SbLpIJTv*J<(-e@|n?yMZ5OlpVEXT*Yf5Z`N6k30P}E{))|v+(&BwOy{O~=L!#~ zU+pl1gGxWQiz)7X{PBq(ns5O2=%L~Y>A~gmsX)y`ulRi8%rY|_28&cZbWkB$KF7ZL zlMJwuh$Wc#!L?!8{j(!Mn0S~LHk|rmomVJ0)Pw-k?f}2ZENnAXCFxOT24a=}Qs<*! zpr9*Nis-Suth`fThuTE0t<1u``i5O+Q^MX951h`tTDiDP4fh!(yu3zsedDjiR2fGR z<<|J8(+hKukox)K((xW=PdMhyP(A5T%2+uP^dU+X1_&4+pqjqE975_JB9C>Z68p)! z8L!MJJ$~XMiOa9#$ZQs2padOyK$2lsnTNU5rqDly!koRi&JTdOjSBx2~ zgIxC^*w(d?2V!pQ{i5do_GU6-aGMj9IgS_5d5HZn*{^f0>D&@t=|Sh4W9 z6Msz{?wy)hrghWoI{_Ma(N05q(oULk#=4|%1Bo1QnHoe8V-p84dqTyMj#?Alo8!bd z27E2)52H1YBZ`+i3}O_Is*FTyz(#FRC@DD#e#@%SWJvTs(l4)%DV&zxy%(-~h>W(!oSKPG9%F_Y=seYxpC1_wJaj&PM+kENYUxs? z*`&Qyfb+bMap7Mqq8N$6Q%tg9G}l= z@@G~NTEJ9KW$<4lsqb}|HE#ZG_&PLq*iMdHKVoMWh=I&&U_I@ByD?kJcDup*8Z%B9 zP_4hy!{7}hLGDo*&`Zd92jJZ@NLsJ@FM90{FL=qsa!ACWSCD=>TiwNQ-&!JzVs8VO zch2;&_G?k#LWVP$0g=EN{!C|ffiwvDG>$wqaf-!)0+5BTcY zwCO}p$$s#>g^TIW`q}Y}h`^{XH^HnXTRciss_iEKCHug` zn^uSX;3Rh}ju|BO1yB(bvs#4{+U*J{H1JE}#>0&{0|Eq(!>VWL_M& zaR;eYOVFvt81O14nK4~3+QN@r1@Bw>AdTi=k0kuJ5#YyAj25)ZIi2$O!%3_5&-#ug zh(phs7KmL+&h-kHh>&B8=Ojx8L%`Yvyx5GeGc?fr5*u-Ut>GEg9PitK2B2P?ga0X~Ypgx|ehv!cq5qw3^(uvg6N*gaxsi5X1;pm!Xb zlCnJAlR+FZ|82`Cm^S(=8uDB0wp}QEDH-@^MGIt7&-$(9zM5Ff2i?bp`Qg}Ud3(H| z|Nm_tmmZ@>_kI21XN&^Cl3P{EAaOCH3WrwL{)I>N8Gr?j!(zrs3P1k7S#SDVf$2d2 z$P*9d0dqk^^tfjvnL#mbJ%1oX8tSD&@ZtBXeCh4wRyu0fsV)> z*Z%FVI?BtSTL14Q0Ro0&NF+*Q4k3zOQeAemHHh zP7i3PR>}MX4u)0jx{D|O``PPYzv#-3{-PzI{zOBZNrFZ7EFPafFW-aG2?M{H!!)LE zQs;F$1;O?vFacB9gm;`gj1E#a?)_>G>!?*;WZwiz_6!SRgfD#1`IqyKSwKREkzvWJ zfBV1YzLe8A**MFaN$D4G4bOIoLIx!U1_3vd1g+{@%OrR+Zq2lR#1E__7?^t5u54aD zciHK?Y`_hp{~mw&2JBulIK;Ru*t|19|Iqyta{dOd!9sJ~fIBxE*w5BjKYSX+Wq$UL p)&K8rCxK2=83n-Fpzpu_0R|m+uGsHZ!o8pn@pScbS?83{1OUDE&`AIQ literal 0 HcmV?d00001 diff --git a/Projects/Portfolio-Management/Icons/Portfolio/portfolio-mine.png b/Projects/Portfolio-Management/Icons/Portfolio/portfolio-mine.png new file mode 100644 index 0000000000000000000000000000000000000000..9c5299e7fba0a7b7c0a6cd9818e49a30f729ca2d GIT binary patch literal 11409 zcma)icT`hbx9?7f5b2`yu7XMtP`W^(SdgwLQlyE}q=R%wkak1?6)Dm^3J6F?ij>eK zBGN&6M^IYm0n*;$eBZs}8{^$O-pe2Cy;*auHQSo=H|O5Z4E1lYF!C`%5X5p*>*{R? zf`eN)gro{Lt;eBaxdfHujHhKeBn~@6rB94T7XD z-n@GGj^F6Y1e3D`F<5w=#wliM@I3M1cVpw_QCG6oN=jbcfa%M(`l{A0Rc3!)4%~co z)2Y|yNsr0*r*Qr+-@6n)@jPu8>iJ|6tz}uNsQ1#uX$T)F_4n81J8G+ZoF=xgba#6 zklWa;N629_)xqs>+L@&~Msx@}K!FJ!5Txv%co zblQ|IF<+v~o7qnZER{aFEu+xncPsrttd5)lGjp2= zdy4_kP@PVe$_gC2AWxlqIF=Z+f4$75(|-$hzw}PLl6Ea}fF1#T3z{S7R9dtr86;e< zyTkQ(+l&M5BW9lIiJlui0-A+`j z_FPl2`JMN9v**IiU$d{L&>eZ_;{!vpyr<6Fr5?j{aK^jbbF6B#dyK^LLJkkN;`FAx zF@YoO;s%29{2)?(KrIfzQRw=p1re z0@%RNU~9_IiOQ$#vz>SaJ0TCq^g2=c`}i=5?m2q{a=Q94-=k-b=ysbz?vLht-(VJp z?|iB5xo&?H?4F#rPv|3G(k5H1dAf^$#ftXv!T606C=%%sn5yw>8qE$_e_0T|LB0Mg zy?`f86!7Ojtr?I;0L!G{*#CJ%!bBkKLfqkl_nj@mPx4z1c!qnl$RX*xft<-1;Ek%5 z_h-7_$RsUG*DIkREUN$o|750c{f5diD=UloCuStnW7>&Q3`yF0ByN8H8atSgyPrCl z%{Qja%?^h_Wzpiy0>nvQYVh%YG2BwCfguX_sVF>!*g!ydVOh zD^oCOZJ(zy16;~A0ACNCx4Fc*{n}rf`QDWed^0*UKQyGhq5hETC=9xA;egQjJIcp* zb6ja)-D^3Oay9;zhjjPWyHAlfhnN7j&ci7)iw)Toqz9EY_C^k!y7)w=oVIvc)!pv? zKt=@QdEp@LRDT0AE`0d3Z>Koojpg!BV~y^SaBN?*s;OI6FcE!DZd0(9!xJcGMG=c#ocI$*y%bs)n&l}FcdF^1X)yov&EY!MuA z&QTmrFWnDsKjO5;7(aAT>({sK6L7RqhCTl?o5fog7obDS_q3s>oHR2|X!F785m((S zjep&K`6L#WW#rsPc6_Q+tI)^{@laA>-^QdGmohRQzkywZdII?6F)1ochI6V&pt|ou zx8W(y&pE&?Q$kmSOg=)-*!!Ib0&*za(MCT{_CMJ#fY3_3LGzfWrDzXyUB*6no{M0W zptFM-kuQQu)nwt&-nv-S%F`

Ha*lYe}TMh|XZ^sc&1N&A6CP0Ln?9jJN4Y9^R4xr-?-UpeK!ivM$_k!KaK~Mq{ zH1&`ClhO!acM+D3H^4a&&?cUG7u;m6e!2xm{3|;H*a9@bc<=^7Ll7YOugkQHR|3{& zH@i4Q`aIQ0w{ns$ijA#nbx9&$JHYt9?VkgAi#p}W`o)pOgV!=Qeok&o!Z_chbH2eU zIv;G%ZNGbHp34`rQ%>-YJ1O6#Rko^CdE>RL>_-7``WiOyGrtvMtf1fMIB`+y@(Vrs z0(9t03N(upl%P{Th^J%O!1>*?_hx=SKzWxnoJKesfjH+ExJ@frFwl2CD|i|Shr-+G zs3J0z5->P)on}QDjht_*ahShJ0P`=-ML_7aiEPBYVJ0x}OH%Jkj+dHt_3S`I7z7mi zKVQHZ_&HLDfZ)*n#Vjxv$I;^iw4k^rB5?HQbzJjiyyi@PZ}~kk>2*2&Or>^_@Cd2^ zfA&X>TQ*e#k-U*7+msThFruPe}}bqw)N4woO7HvGO(JE z+X=j>oXp24{xrWW4uX32XG9c9AqiO%rby&}`0l?wSwu38Ud!l(dbMH(cfE%0`PY5s zU*p=0@@M^j#(4*ObX!O2uv@isJzU0-pPc^uOrZv)dp_jO%6e7vw>M_YCp3s;^UplA z=GCN0{^f$8xQc}NC#{Pij&cP~t!CS2#^!EX90WTZ!k`bm0N+%&*c=S@=DP?G#X7yL zBk_UC6+_zCjj*6O=N6q!vQk0@#_0Tuf%ybz?pmghUdq^u=d*8`8-FS?!QBcG%9>kK z3C#qV1~o}E2)a+mq1O(0$D!|pB4 zlO%11>rWx{m|5oBP(%IYTnUZDCbJLJG@V@Lwe_kaaL7gVcKgQTsgb`fNv9tqXVbwM z`27w>y997J0R}7xxOs|$nY|?avDg=rRXAw`l;w0PJ8YNlkyWHqZ^@#W>PPq1F%}T! zx#@Uun9m>{IA~62gP_?Ha=;fvt9RX12qymmu(hYXo@^kS9KM z{0_Ev40qjTgF_YRkx~PyIL3UFnPlH<=9o_BVof3gANIy0)= zLSRFkvDfS`M;+8_iuHJ10)id8;HQb4kH2(|F@eE*Un}_T{%O`WZD72gl2kfjmM;zB z@|anYJmJd~GypK){RC$}2H&d}71`f6>0p^O2E$y=S}A))X8J5rdL#m4dg)$wHoM`@ z8diBV)7ij*+QZ|O0P*F>jAUr@1=Pu}y}xK7ndJ@5B=-2{e)-D2ezot%Tttx2+dtZ& z*%S)D_U97#NsyFA7P$FG5G!<-785A5%uNL7@RAS{Tm{|%ABQ}Sv^N`1Sv%BL^L6TOxRj%-Ydc}&V|Vou>7!KZ=T?P?H)8SkBQ4*v6+?>t&{tx zm<$scWAw$WuP&g(*r8_%#JUNx%#o*)4B~DePxiy6e_qN>=R`^doM6aF-Hq$SEh>Hn z11%5Y<2plBi`nwn(sc4 ze>jl-alDr*DGf&)|1P*n7zRmLmM5HRdRvU{7` zFp)0!CyI40J$BW?YP`Jkr?60~`<(RlIjd@Q#mO^E%y18$ zK&u(A?jf}_y$pQiyqzY#UUT*lwxe*@cl(I2fP9(-ByXv9e0nsD zskb(_N^LZ5FK!K+Jl@Jg+Ghr8P*>ViGg}q{QfS#EWPJI#^iyj@8Kr}`UChuTJscW& z9MT^aC|ndm+hv7r9C*^B39Y0m0QB;$Kp7~QWf$lVO6 z-=z>U3bA+7pH*U#rR5u%1c!ZpC7h5*3;vAD$4P^5#C@qFcy5+PK|R8J`xV-r!1SmH z;>o3UWYTa(Ghp2OP!sBJQuBj?9S$sD9(HI*#2{x3FC2G($zBn`d|0nptdbOfL#wV{ zBd@4L+(lma>?m}zKh7SyPqvyeET!iGN}R~;PUu27Fr+_`uvWv<{uGDHZa2>ldEjWo zc&bJ~NarYUkp^I7LI@1x24DGBVir`Lb-BtFVI#W zT?WaS;{nh$#R!5FOzXxR9|IoQcIrTJ&T7TFUB5LHi zj2!u=^(F!W&OcE0KQ8h&aU6$Hs96jN%{O8>dPEZ6=e!36ivGpj=~1QT`5pRXM}*e9#e(qg`Y^7C6_r#3oW=n!&$OD>XG z`@p0FdMtS4>*-gWCg*u*A%;VnR+WBOFLC?A7GpjHW=l)*PWSL zMl_J3R76EWvPg#Z;$!g(gy~xd=ywS_yFDzZ+9+>7^&BWfSXp3k^bGW#*)b`=2fRa& z!x`h_NzQcnuL3vJ*ELAw_EVCu*N<)4iYDHSJKwBayB`Z})^b>Xi);;Mx~|br#=lN~HNXTJ ziaAzT1ucE8*0`#k8xcz$B)NWORsccN^&rW3+T6;13wJu?qedbkbTwaxj*s?5w#MwC z6{9aV_o-+?Kd39LZBBxkXplUITzd9~kLG=O`n?@O%cGTcRXYarMWjUTDD2W5J{VR_ zp0;=SOF@c|-5XF=Ja|kYmn`4S;8P!% z$1m$$xsh3R3hH_G^YgUa^K4tztdw3%eeS{FQpg}6KVInAJ2zUTZ9I8#vH%ozhI+TE z`sjeWia=*!|KG{;e@L?;K-u6Z^t@Y;fDH!F@It@!T>}azHK9z4wKof0}1SX|)e+6cXTD7#4DrIsBDR%vbg6~;&IP{|pCG0Ow zp6u~$PGQ1N9aO0lbVmd()*bu=nY6@zQYL)jCJ)xQ=Fd*>%yHCSK(+lk$&F%eGxOC@ zInZZz*+6_OujYA67eCc;PgqGK%NhyErmvNH&7_85F34?WdiYGw&a4-DjWy3%)X$XP zWal|2Wr$8$ioZEWYt1O`R=Xq{AQ7}VSR5W0OU0G!>~@FWOPc)XS8)Un^>EEP(0(P+ zmOrJ??kwZ!o2$Cqm?q}zIbY?BRFK&02gy@%=I*nf*GZ_oiD%{@s>yHC4ybOr<3CS! z(UTXMFoiGWzsjIULo=sjf@^a!W6EJTQVUJlg9)5R;@cU*J@w5@SMlk|=V8$|HFwgK z`9ih`)aoLVNkZKaW_7UmtoUI)j-wn9Z`Tw{bNie-%fd+{<<3y)Fg9EOT?LVT9hVtY z+riW*)3N(9px^7NkK!y*nBV4%(GWUhB5(=Bk-z}c$A{wkxC;g0X9fQ6V z=Pe%OzPqH%k8S&lMC-3;JrCd$cDHKj;TITa_`o4FeOems>>#OJ1emGDC#dUgG+Ml_ z^6%s&%2%qsZwL>_Ei3K2~p?bklWoEI?dd7lNS zG>3lgJJKjt7Q|PweRroyA&+_CVrFE__K%&aA&?OpXfhL<{L#;Vq*AIX6ct+OJ}qb? zULgwWcW&D1E$vypF!y&}K|x7UJ<62Sy`(B+y&R}vR$YCs-bWkUom6|0<9sm|4=1N$Hr)y|ghXP=G)gyl`PmMDL7*0z3La;_LGj4MI8zf?$P#M0K|H252~ zLk;wT)Z_gcr`%}cKchQQ^s$)&g2sL+c10XLx&;iGY{e6ml|iWp=_aVNtOWOg^xlt4GAFRSC3Vy1AGy zgr?JwK&`7@iKRxiFMt*j$BjQ8 z;?@s;ExG?4_(-`bYxi?6ce=n)og1-^WcjOVlGE+>R!2LMq>mOPS_vkew=}sohq^$v z=o7pEIt<>Qy+FlVws2a^%qn@q7@bKh5*McdtMt`@eR!{yl~UsloFBFxxYI z8B?z7#zm|^Uw2KsOkxYl8Ts#iLeqWF_ z=SZ}wzbb0S{&>3|^;sfK#aE+leYDB_^iethWcYdOTwIiWCio(I>=Ab&CAg+JMBU0&W@RLp`&jb5xKoV|n%;Q|0^nPDA6y_Y2tp zv4lq^&Jkm#aJ0x))AwMCCC<&LYA~qhoh6e51B@G{0 z?-)x%q}eEWP5}=7mD3GhF+!L<@b;Ekx#WFE6hul+Vz?{J^B4HmEHi{P`{oQNaZMQFW#vY0wI|m_(U8bgIduK0KZgM+u<11p zu+<$$l(-VhETpog|oI=`>C_NG;oeM?P0$K zN;e2zpTR!X;vRa~>R#U20o*kV8oVimR6J(~cylQrHk2AOInfeTC}R>#WJ4lsIHIvC`{ZVw#erQSv(>Yu4ke!!KvL>|xnjnXH9;iXw; ztaB{&Uo*d^KqDNv6o#0?b>%-DY*=3V_Lu#xkRbwyEvV1%BXUN`Ky?)es%4;dys-(( z%R|9AANJ!uI8#UZqk9(84mkig`Va>XG)7~AP%00lvAbN||GeSI(gtm@BJaTwBbJ&e z(!FqZLfJ-7t@5PhJ|#CkN>HmZy_oxTVf|xoBjw{E4YC5R5@~Pu0zCW{J?m~Xlh>E_ zn%5^vq{tI{W$qH*{Yo^fD-EAARr;KnrZ( zJc)jL_560O)L&0E$@_j|PQG0Fkuu%;xB7k%yNAggN22z&Xn(KAOWHAks5k1sm9;wo zmHK1$6F1gl#tPiX{S!l&21m7^<*oxlfiW)e#U2J%QkBz&xpr1UfCY!LC$zeTnXw3? zez7pZA^EnxSGEdDE5o0Lh#yEnvvPEWpgwOE&L#JsNX68Pg8Y&t>NIiW5Hp}cPPLL; z?2vzf*RT^xSH@WkA0yrQL_i>Fo%``BdSQq5i9YO`|mG#9c( z`D5y0S1tQt1U8XmBV;~-h6DPU-)|1DWRA&=>~#dALS$S^{TqBOkW955lNM=5s`veD z^^d(Ek?jQ%aC=Jeow(aQ&&CQUqT@U0*EvO!!VZi#TDmqK+dqk(Uiavyy`-;&vYvt% zV*i<6B(_a*jTqNSA&qq?(f*_?`qE^>kN;w8c#emC2+o?x?!|n~qwSf^dKCO==rU;zS$Tlv_QAaYS?I(#2I%G#}YK=&?Bx@Hw^FQ_XuW$sv-nMBQLVEC)}eRC1^lIA{zbVfh@C_rQZnol99^LX456Mw&{ zim7D_HO;Le*$C8Q&fTi1&!_7rAoU2wPE^-}JIIseJ{4r1??wU!gTuFAlm8HCiu_M58 zso>BRvcM+rtPx>f$6Ee~b=bK!I=)DLUw*0(v*GyT;hlJY@f>noL?$y!;M^fGw=YBM zD*5R(kW;?e^v3u`mV9dJpxs4sc(l)&Gi2l)oR{&IVKcDYbqiKsoDGGfcjmo{bw6#} zw;ne7v-j-{44engbKj3=l%#9J$4PP-t2eXWJD=}mXS%%X^iJ4;l>v4oJ*1?#InS}< z`5!f{2u@hPykAkXQqujTuCO~M$4X}B=)h9(VF^Wgm{k{+OxQ;rbUq7|;IoC7JzjjT zr*Wu^@QHXFq{d@1!Wx$T6@hx`;HBNR)yz{>8Nr(bsA-~I=Ukvm=rGy7x}^J4>vO?` zVDeL?6JQ35jG&4Tt02mPimBca9wI_jZ)p3+?LjFjBc#2vvr<&SGu0Wq(+O|QEH1fZ zi(j5J01g*P{?$*C?1r~Wk_J`H*3RMhXU1d%wJD#~H161(5K5&@@H;WVJa(sZ8p@_Z z4hH5ygZm|~mA@yU)uHae)^pLUlr~;_R=Z^Ny}qhU1Ip)>py0@`jR#qIiirCG6izjt zo^9}5(@Qx}<&4A^{}@LQ_LD9WZp7i4TWQ734V%wQqlDMkqOR*J&F=*54)UgWFvEmL z<+sj<>e$#s9)6G!C%mEY)UJ#b`fxh7jW$y_6lHFFSNW~R8ZEX{Hg+Y7K~q`f(X*)| z6Y-rGu3Ylh#?l=Ot;D8StP9>+ID41Xb`F>4=J~t>VPGLq9X-V164ZVOI=+=)h>L;E z+^C&*CEiVSywpuD-L)}7-l}}l)c&ZiB*9awsTg-3Ib|lRQQN_Sx3iiXVcqZmn17+1 z3A%lv8|k+mN2`3-xxa-eJu~P<>v)z+*Y?VPq#tgyzV|W@e7A*0empyA2+FpC{H=Z}b%D;hKXoL_9 zP?L9-UpUoGOz%?csO0$*@+}`}aSfC!djm-g3di7Pzi#)(Ue3zcIS{_Y)7&{_AfpR? z_F@;2Hxc-ZUrk#3B03(}vE)uD9O~Y?=&>-3p}Je`?LLp<3n{Tun3V`s!W6TwS#UKU z+?|`D{u1@>PWPvu**F#Pj6#V~%YZ({3cBkqQ-lMp)jCP$qY7Lhe@184%kO2T?5Pq$ zd^*2Jcj9>47P^>nlLj!9soKQTqFDt&TSMFS_8&?_Rx-S7hew{6^GJON+`&K3q*iwa zAfOas$ko(aJZM9`*nuqDA+j#Hg?bep`Zt8uRH4U4k_@Vtov5-ppkvXZ)J6N#Dvg95 z{;VGoU>mY}Vkw&SoxLQ)84bYrw<2>c{;y~~QIWl|%OKH%HV^v$y1)(#B9SAtQN_lH zkC#We5umM`6Yyudc|A-i=`7;T2-&x*M(=R7$|?Umyr<6`LDv*-iy5J>=o5|5CIV;=Vz457EEZKNY{DL5zsln%SP+a4&moncw|5 z%iUslz$@gq|x=+DUzWc8z~fgqR{2l@&rX3GB}U4va)n`ni$GZ<@%X%$rw|j zt|CMJ6P-%2i8u9uy)nRWN@6V*YzV>`{DJ0)x`R!cZcz1MfdAm;HYLh_?oM){-&(iS7x4s=iah3)a_`_cel7UrMYOdDXW0iY=*MF-sQNGu2HFRsSJ8G@qG45>VGo#$* zckgecQpbr>mMXo~ZtCWw*NvtA8s!fD;+dq<5Bqo$z`kau^(XN3!_nf&KY!PA&YWVA zkv35*^h#1_Fot8N|+dg>G-FaNR~bYy`+nign5UjYh$6tPwM-hi?`1x zQ6yj^LKG|VHs1Fvi134>Y0jsO~tD&1qIx a81yTDTjx}p`y;?8bn}}2)uJobPyY{u@Cf;&^?0DA&xajP2%SG&(x1*bjiHoCis9&dx zIsiyMzjo=OS;*+pL}-egTd3p@%+BQr6Hla9XQi`q=*O&=KMp)*RW|+9adt$5g9Kmd zPbth0G`-f1sJLgGab273u*pZoYb+J_Dh`V|=qB-aX}!1{q?Ockj9sBp)^qtzVDV1m zO7JYd_SH1&NWyaXx6oHb?cPTV8wqz;DQZ)@-@>&aM*sXOU;iEk%V#s(Ecos3$jdHz z|Mj`-T>}3oOA7anKpIBQrrI6P%BYn~Mpdt^9~xt00>u0^Z?Z6m(h31%DXMo&x({EP zzLzK*KzEH=TTb3!f!PgUz&N8*bRZ=(y~%z<$9#GT933Li86*HL%_fN?VEnckpj9?5 z$k^Kbff4xmrTYv}J;DW~$aoKYU;ut5LySRc75g_E763p)Q~#eE;hR~5$cPZ<<6cuF zJ->zd-<6V%@q>20uM&X*k05=0RsT+6TjlZof&8jx`Rlbw2f*o7A1;kZT9P*KWyRRX zCuAjNa&5hAsBKoj-k5{QBeg*v2;d^_AN@FE>B0|HZ_#HcOC=AxoPsY^Ydju1$j(h0iFO- zKPU?w<6D)XJSy~K{TEdKTUP$*Ask|w0RaA;=3mPDPelHCh|nae_DC=Qv^C!ASa3^68Epc@v~#;Cy(3JK67i~5_;m1IsWywHy@lx+ zZ2A=~K#K0NH$g0h);TXlPbIG2ye1AQQj0`zWP!|ewY2koW-Jl4xk{~Nrnpjr`S+hy z^MTj=n11-jz#$5)yc#`pF2muJXP`XaeoF# ze3KapO((;yHtwrB+rCIeinAr77mOzZd7yO+NJdV5Ii>@e%JzdT2hD9>g(~ye_!I6i zIzoG(nep|dKigWX$jhoped(o!O5b8g-%`G>spngW3)Q=^<4Q6ci)5VK;8rxb%C=BHNSi;I99No+y!wxZOMcx@4fM)zOZiICA4-b^W z+HGzQxisDc;%DDGgMp!TiO~Bv#@4G*gEgbjINt7~f~R5oa;OB(IMvs27?%+hpx&Ds z=#O2PnR?C|7m8I)=!K9wP1}O2uMZE`EqwQ&QDhYARl9t$oODi>ye(FPe8AUlgyuCO^pG!R$9(YIV~aRWMyI3Pz-;*3#WGlHZwz~6uNm5sx||U3 z5QmDg$>Mwxzhl0=(`P=z69e=-AK6Ms1?9bEk$^9>*$-60o`p|9%I`Hjo>fUPYc0+c zf_kb^PfEDiZ&zA05PxFt8UnnKlCra0Ra|_st-oRoA-S(G+zr~^mq%}CTcoS2f!gtM z?&xkk^rmoq-(mh*ZBgU!nM&IWtS@_)TQULe8`y@50tuQTdj}6{6FM-lq?OI>0}o?R z`QPXe7)+c{y1$+fMGZK(Vs(%$3eOi0hYL~%$E_6i)F6GDHCb+g^BDTxRZ@;pgOAVr z1bLvplz_?}I_snZ?$bR*Cv_pXKvBXEQyWu07%>C9-nA#Nk3kh_x(7Q$1sOkfMCM|t z4m(A12IJ{<@JQ;739MTOk#t@O$2xlQgydNfl-T1$9da;kh#lEq>*l6L7 zF6!urw@eNxMZDT2Y@P$1>LH(w+g(Zr{l4H(CLBO^&aTxM)Fnd`l$?@{@v)_#X;5AW${?qh?96fbV_7#t2pr5{bX_UPB*)t02hv#An zB(3%K6w|iD9d8fKFLvPD_Pt;UrqPl*lhX&u;Lwo(ewT~Vx1u68=(T*hKvIn= zN8FYH`Ww80om5ItAa-R zdV`uQdGLN+$?`m*`$Mph7@$bJM5F0XCk5LDe8C|w5JX(_$T@lmQ+<9z28(T+0;T0o zpxM%ie|CB1_4PsO%Ln*>?)eLoS^AQxqHle!v4xFBQ+>8JO40T%mbsP?=0Rg}74 zJ}5GTbY^6S&~uAqRD|VUKb3I$P?eowa0PC!EczT}zg zQ6Nucd~%NhP5oI;_9V$bNLTzb{@eWOKJ43x7#s$gp7eKD@xKn0_`Cap>O`o{FfX+JpW-f;SaM27@!3WP5w`26`(G} zETQ7IH_Q<4Yi=`M(j6lp7!P;Fi$tU z(bc#{?AiIOdg9a{95`>5fIF`u&v`BU&Z?N2#sn>KXN_{lB)<&5V%gX0UXT)o zNqQWE)fl#j$Y%9pdOh2*6C0Z#&l%SeG3AkbP>Mb>qpTHw>pK!8C%aXXjp9=|r)p<$ z#D_qhRZ|C8L5p)OA&ZvY!F@Ts8oa_1=vJy;io!t1(K?9JrXXL9-xw4JO-U8MkTUWq zS8`-tZs8R{y~DbUb4{y^xuiGx`J1cNWIo`tI|=jin9TxK^yPc9=4Zw$#o3hE?0x@T6TI;~)UL-m#{ zPKw+XP`E)o0948wZc--Pf^UvTV@>%U=yRMlzDASz3#N?~!T>8CNrJg{I@Tm3!tzkp z{0M5wxG0XEytR2rKg9XgD-jtW|-F05UR_0bJHss)Hiv`kE< zjszyuD*a~Hs>fM@%T6;HcGzy7S9|HqHKEoclCLN?R)W_0-VS774Wp)#?b%i{%x5Pe z9=~c?Fxnfh2}aH@{r+$!nKY3Z+qPh;<2r;<=#S>q@OJDjk5mAhKc%_le4XH$9IsT3 zo~s|>3Yv&?97)Qa>}DOV3C1M)3KMebFGT0ZUdPPr=vr(0P{h^L+HGN<>yjE`p|oVB z!Bs7@^0rUr^WDIuJMNWlA?xCKnX*T(s0qc~_US@Hp(4*z6fMDFlA>{yqDB-b&Z+dPmSd zr(_#sz_c{W60(-0fRybU=qF3buumzbJ}rzcCMud~3B)>w*Mx81>TET*LKfO$>c>9% zlofK1DMp1x7}#mwEm=ek;xkbE0MX{nvoZH zcc~`Khd^h_9$9W9tc@7Dn`KK;A^dW47(ao2Y%^*pFj(zeo9*W5ZBSQYAfWXnBFGjg z1f3bqHbxb(|lLl?byH+FQ1C?JsI>JR7|2Lq-CvQd%w;Ba3kI_E5`VWuM62Z!T9NHY)J#`?=ra zrSa({C`NoSR~!`>{i|6)iDTQ%!R|`i$XJvmb#Ia)3WvRTLIj~atb!c4iikXSog*Ks z;rnt66fNE!g%U|C8Tyzgbz`kNy`lY!w~Yx_^J@@Qs$Z1PIT~;+BI`O$*yVz1Q+l+p zi5ty*-ynyTDJj~Fpe_uyw}+M5F~=WJDkb)SL^}m)7fJy3;t>(y@q;<}-JVG+h0Trb z!}S+c0!TSUh}ZyQu+(n}2>*if~kJ<$%K#(>bCS?vQc< z=D+U5kXFk2OD&pa2|bWc?Fi7=>GoaSNuD}LUh=ll_V)=}*-9LuSqQ|VA|fS(R3aOX zFui_uYkF$!hmH?9n5d3E0_#;06$_#^zWuVlLVf_1T(O3wlfL&T-t=#~AGR{6YkCNl zzt`BI&!7#wlcoF3gJzFc#)KNM?g6r^EamXixkF}++_ zm0~hpA?D=6Uy~&O=bqt@7VSvXw7;Yr9nU|k_mT&mKtF(>c6c!JilgrefNyoQhTK-= zTW)5CbR$W+z~>kD+K%E2R_axjR)sRwt+vk-)cMn}Yi78TulJiVybrF?lqmcx49^(s)-OB@Wem}URPy)120r?(Gcczz2Vk>UsOIkE;vlF}K%l%vjZc!M|G zn@P>Nw_}sAL}%>pY@EeuSjw3lZ?YF@6b!&kZ*QQ;iA49-PS^4DQQa#lG03Rj#gA;0 zLhg=j;Lu7b_maGiTl_h6*i{ly)ziykZTB%$Z&DQHZoJzbsRUFg%CVrHfu&sbdq`o% z1f*?-cYH_N;6KD>4#>1=oJ)@uG4E6ls`b8APWGo$=I6@qzLD81DP+ZNjQ=ig#uolW z$Q;Z&0@I9G^butJQHKL(?Jy_SX+uzgPG7e`$yf8kTGfg#w9|Ol+a-85w2@cm80;!a zR|8{ms_cDGOlU6w@c4xv6XoTK<2A$q_!WDO;KT@-ab(p8IFr0wOIq7rg?G%Xt|N{7 z;TFq_errX3O@DfVHjp7r&j|&`v^||Bo)CozUuN7}=N_G(t~gylwr2CYKc%MQM&e^a zb0pZUK9!<-W-_ywS2_`z>Yb1g6I3H12nk^HA7(TEzr%`Eq_f?>7JoufM5vs0_Ei*0;<{F9) zAGK+}m!H-%(Zf5M<(j=2K9raob6)3x5t=rvQc}m@ghI zd@m%#tsl_7iEklZa zv#lJy_gtc49<{fDeE*OLUg75m(ckA5RdA;#q!Yq@YB;rVS0Yd z2Nq7zpWmJ1h5-e(C3M0RsB;Vl9sU%&kCY7u8l7blUdR<=`k7D0Por>i&PZW(wH%Ta=mzQliQE2f_6)kZ@nmpj-w_5E4B0`F9paxRgQ zahsJR3t7$qV@JbLbIO;+(U66MC#vPggSxGS1R2l)yl;=k^?l79elIl*hmSF*-l-_{ z>BWJu2{(s(Sb%3YO>hXV+=6;?x(w5&C+Wup#ozDcNXCKc1KjXcfg9_To%fv`BHAJ*=lCap1ClqoNfxnTtWL#tHX} zdGqnW@k-qW30V`zi87%B9x2kWn;4`5joIP=VqB74T&%FCqdx&9yk|kZ2wb%z5yDX@aR3?% z;E*IES*GJP8qw$_KG1S=Ki@z6#2E#ueH$$$vqPyXksGFUf*%Z-6U|w(xb3mJnv<8O zd*v3(Rq1{|ORohX8_G#L>dYE~1vqX()fkt|5*O1{mny_7%g`BdaeJTQDEoHJ`=-IV zy<lBFo_^1fuBJ zo-`d={N#s3gCgj#ilD*aStm{e?p|VfKTbro<7C=$sK5E*p~G9}!x#iK>J1rRWuYh0 z$@(l+T3a}TFeR{VW;2laXG_*r!sWtM9k2~nsjaR(fa_>Jx$U_%|8lzZbnKTdd&we z#i6AN4WB%>rOrr1roP!nY+X1{M4eI7!9*yS$BMy? zVy1pR!)F)TiHiq$acM2VEpB!YC>@x@0&xh<7gtCaFF(-}BahA$OE6p$0LjLp`r)!9j%CmW;g!f z6dfO58p($efBh0~d;b66uvE1V)Cc#rdQlHU>yqIq-yyCcAs#{MMHC!{JsnMlN>JDM z|DX~M9hssb#Htz;t}^y0ofS;m-W1;5aPamX)@TeIol=2{6TvTQY)FLHoen!{gi@|C zO4eakC}7Tz2DemV@;f>_A~6FK*^VAV-y~3zeag*q=PTa%$U++u^>p9jjOW>b#29VV z#}=C7LhfXFQI%rXvM7hYQLk=AD$XWFer-yS%c<3E-!85@ykm76_AZFd*ff}`eEgFnb}X(alyVG`OVZ%L_!n!bUG zMLLnhR2nY|4(PpUK#6sQ-ST{~wQ3YQ5Hs|(fV?^rH}PFG!~HY=1YRi92=sf5zJ?8b1Py5OM}Uvt!g zD-E9k(Z5mn3)O@zmK<*mN1b8ndZseK6%+nzg`>7xdLrx;Jtg%JIySqptxcPh+)jG_ z+9g6gA^@dJ{=JmuyVJD5Ibt{|z@;09cE2FOKsrL3*nV(=v#4+D<6P2OerE0(=@l+F zn7Bze#f$pf$)dHN!#0~hA#gJMeJxpBZ33#EDZCSAg^nIP;bSsIWTS@sT$PA?ZwvQA z!F{)+8cNFP6bDm7Eqp+a7^uo{?HJQ_elSCL9gz`o?MJ}AyF1Sccu3I;gkUG#A|VWa z?A&)^uSS>i|9<*+gk6UN#As|aFO=%G#$9MMs)vesUke+SA2$~$T~m_7fx~d$UU)!X zgYVcmPZ5@sI3VQ%5pn7ptLjMLkm?eKtY|LTXrL5JP~zKP0(3vW7W*gYssdu%3}VXT zg`Zea1=99xmg-^D#XS-uwQ{66>7Si{kin}p5&?CW=M~Q*ofAkpHu{}(!<3&AXVW{|S z#KGVpkN|pDUEoE%*LtJ^i|3Z|82zB3D72)LZ8uHn){hq*^gAr@>;jV#w?XvRpnhl9 zY~nk#i%;{(COcAG!~t~3GD06Ze;`W6c*<;QroQVOD;w4jjMXv7A6&?sOlJcO)+ezh$GX>cT}Ufh529EqwZz8Ns~F(n=7*=z1TN=qr@dP~vB zf7UBB@;zlFFl(6pScD^#1t4{y26=20sTU{a=W~C?BEPNpnF~XuA5nm~hRP@O2Mwr& zNflO;@4LlmkZ;#;UUOkW%W{K8MF?ZEmZ!~6Xs+Fi zzjyRZ-G@lGxuJ^L)^Fv%I4Bob!}q)y^G`ncd_)bL{a9pZfR>sj_4}RPSggzQED+(e z;sUl#t?VNBzH)7;-j{k*&$t_!V)pg*7=w5f!|SrQ5&}XPze@-}j}JKLUsYBL1DsU= z=Zamzqmtk1^HR4)*OfArFhki;83ec-Drit7DpK7pUJQLwgg!0+e>Z3^CiFDlSN|#o zZskxZc+%U#dGD7_aXL2{TSNR!lQiqHgfCwQRlj@>zXG5+n9;ejyGIy|si&T6l$O?8 z4JD=Ff>fQAff7|kQPI&V8j(vaRx{jIs$;?$*Cr4k)EVvmm< z_!a$?|N8ImwdqR{?Bq z?3h@Zz7?fbbfgbPze-uY@y?|btaEK3-tpI#SaE?v& z=c|OuRvwG5^6CjoNXFaGJmaN)-ks`7@%~+ju)4Oxj~=xp*VYkB8N?Tqy`gISPEXwS%0aNqw(U=lYG^U zsT$O0Kj0xZ^CsMhFD`775sPBM9|ELm8x&&`(qEZaP!+Hj z%t|9tMOa|1MoTmwQ8pc!-i^8+svJUyXvh3d`bJxB1qBz4o92);E4S6Sn9w==zZjS3 zIiiM_SsvmLh8_1a5d7gLhhXtIa1>eHt_6h5z>Pc88F^9CXPI7_*5jRmNoeTk^Pr?=l6dEk5a41k}tT$EQOblejz{=f=oK`sgU z?DcOo|HY&Ir(^qHHvcY3Xx=}Z=>J3u?c6`-;ZmC{SBaNtEvu+k*4F#rk2j`HNed}D z#?@|YE-lpNzyZT~Q`%}ZG$cJ%zUq((v4R$_XRS^yip2HTLA3tVvj0`n+9_vOce;OQ zV8jV9%WD`NJ&i3j0Is%uQA|7E2E4zTARr4Bte)*3nx&wRj-lHq`uSq$PS7VJSXPV) z$YU_RF=!WZ@eC6Sz#8w*5Vf!u96M;$oumr5nwdH|g^bNEnglMROr%Abg;h2c>`->Y zEi=!Fz266BrI=oOxz<)kE2hiJ%j%m1&mjtLe^n$H4nI#p=nKeI9}>eucZvQd{runF z{eKwfb09EZc@z+{Xt)IoJMUi&i;z2rM%0Qxk5&rpgQpKb_exg1*n!V6Sep;--}5`K zp@W&yVSw18ax-+lY~VW>2niGQ=Ykq@rO(2f7-iVcuXw0#E1FH!8K?k##F%wRN literal 0 HcmV?d00001 diff --git a/Projects/Portfolio-Management/Icons/portfolio-management-project.png b/Projects/Portfolio-Management/Icons/portfolio-management-project.png new file mode 100644 index 0000000000000000000000000000000000000000..9c5299e7fba0a7b7c0a6cd9818e49a30f729ca2d GIT binary patch literal 11409 zcma)icT`hbx9?7f5b2`yu7XMtP`W^(SdgwLQlyE}q=R%wkak1?6)Dm^3J6F?ij>eK zBGN&6M^IYm0n*;$eBZs}8{^$O-pe2Cy;*auHQSo=H|O5Z4E1lYF!C`%5X5p*>*{R? zf`eN)gro{Lt;eBaxdfHujHhKeBn~@6rB94T7XD z-n@GGj^F6Y1e3D`F<5w=#wliM@I3M1cVpw_QCG6oN=jbcfa%M(`l{A0Rc3!)4%~co z)2Y|yNsr0*r*Qr+-@6n)@jPu8>iJ|6tz}uNsQ1#uX$T)F_4n81J8G+ZoF=xgba#6 zklWa;N629_)xqs>+L@&~Msx@}K!FJ!5Txv%co zblQ|IF<+v~o7qnZER{aFEu+xncPsrttd5)lGjp2= zdy4_kP@PVe$_gC2AWxlqIF=Z+f4$75(|-$hzw}PLl6Ea}fF1#T3z{S7R9dtr86;e< zyTkQ(+l&M5BW9lIiJlui0-A+`j z_FPl2`JMN9v**IiU$d{L&>eZ_;{!vpyr<6Fr5?j{aK^jbbF6B#dyK^LLJkkN;`FAx zF@YoO;s%29{2)?(KrIfzQRw=p1re z0@%RNU~9_IiOQ$#vz>SaJ0TCq^g2=c`}i=5?m2q{a=Q94-=k-b=ysbz?vLht-(VJp z?|iB5xo&?H?4F#rPv|3G(k5H1dAf^$#ftXv!T606C=%%sn5yw>8qE$_e_0T|LB0Mg zy?`f86!7Ojtr?I;0L!G{*#CJ%!bBkKLfqkl_nj@mPx4z1c!qnl$RX*xft<-1;Ek%5 z_h-7_$RsUG*DIkREUN$o|750c{f5diD=UloCuStnW7>&Q3`yF0ByN8H8atSgyPrCl z%{Qja%?^h_Wzpiy0>nvQYVh%YG2BwCfguX_sVF>!*g!ydVOh zD^oCOZJ(zy16;~A0ACNCx4Fc*{n}rf`QDWed^0*UKQyGhq5hETC=9xA;egQjJIcp* zb6ja)-D^3Oay9;zhjjPWyHAlfhnN7j&ci7)iw)Toqz9EY_C^k!y7)w=oVIvc)!pv? zKt=@QdEp@LRDT0AE`0d3Z>Koojpg!BV~y^SaBN?*s;OI6FcE!DZd0(9!xJcGMG=c#ocI$*y%bs)n&l}FcdF^1X)yov&EY!MuA z&QTmrFWnDsKjO5;7(aAT>({sK6L7RqhCTl?o5fog7obDS_q3s>oHR2|X!F785m((S zjep&K`6L#WW#rsPc6_Q+tI)^{@laA>-^QdGmohRQzkywZdII?6F)1ochI6V&pt|ou zx8W(y&pE&?Q$kmSOg=)-*!!Ib0&*za(MCT{_CMJ#fY3_3LGzfWrDzXyUB*6no{M0W zptFM-kuQQu)nwt&-nv-S%F`

Ha*lYe}TMh|XZ^sc&1N&A6CP0Ln?9jJN4Y9^R4xr-?-UpeK!ivM$_k!KaK~Mq{ zH1&`ClhO!acM+D3H^4a&&?cUG7u;m6e!2xm{3|;H*a9@bc<=^7Ll7YOugkQHR|3{& zH@i4Q`aIQ0w{ns$ijA#nbx9&$JHYt9?VkgAi#p}W`o)pOgV!=Qeok&o!Z_chbH2eU zIv;G%ZNGbHp34`rQ%>-YJ1O6#Rko^CdE>RL>_-7``WiOyGrtvMtf1fMIB`+y@(Vrs z0(9t03N(upl%P{Th^J%O!1>*?_hx=SKzWxnoJKesfjH+ExJ@frFwl2CD|i|Shr-+G zs3J0z5->P)on}QDjht_*ahShJ0P`=-ML_7aiEPBYVJ0x}OH%Jkj+dHt_3S`I7z7mi zKVQHZ_&HLDfZ)*n#Vjxv$I;^iw4k^rB5?HQbzJjiyyi@PZ}~kk>2*2&Or>^_@Cd2^ zfA&X>TQ*e#k-U*7+msThFruPe}}bqw)N4woO7HvGO(JE z+X=j>oXp24{xrWW4uX32XG9c9AqiO%rby&}`0l?wSwu38Ud!l(dbMH(cfE%0`PY5s zU*p=0@@M^j#(4*ObX!O2uv@isJzU0-pPc^uOrZv)dp_jO%6e7vw>M_YCp3s;^UplA z=GCN0{^f$8xQc}NC#{Pij&cP~t!CS2#^!EX90WTZ!k`bm0N+%&*c=S@=DP?G#X7yL zBk_UC6+_zCjj*6O=N6q!vQk0@#_0Tuf%ybz?pmghUdq^u=d*8`8-FS?!QBcG%9>kK z3C#qV1~o}E2)a+mq1O(0$D!|pB4 zlO%11>rWx{m|5oBP(%IYTnUZDCbJLJG@V@Lwe_kaaL7gVcKgQTsgb`fNv9tqXVbwM z`27w>y997J0R}7xxOs|$nY|?avDg=rRXAw`l;w0PJ8YNlkyWHqZ^@#W>PPq1F%}T! zx#@Uun9m>{IA~62gP_?Ha=;fvt9RX12qymmu(hYXo@^kS9KM z{0_Ev40qjTgF_YRkx~PyIL3UFnPlH<=9o_BVof3gANIy0)= zLSRFkvDfS`M;+8_iuHJ10)id8;HQb4kH2(|F@eE*Un}_T{%O`WZD72gl2kfjmM;zB z@|anYJmJd~GypK){RC$}2H&d}71`f6>0p^O2E$y=S}A))X8J5rdL#m4dg)$wHoM`@ z8diBV)7ij*+QZ|O0P*F>jAUr@1=Pu}y}xK7ndJ@5B=-2{e)-D2ezot%Tttx2+dtZ& z*%S)D_U97#NsyFA7P$FG5G!<-785A5%uNL7@RAS{Tm{|%ABQ}Sv^N`1Sv%BL^L6TOxRj%-Ydc}&V|Vou>7!KZ=T?P?H)8SkBQ4*v6+?>t&{tx zm<$scWAw$WuP&g(*r8_%#JUNx%#o*)4B~DePxiy6e_qN>=R`^doM6aF-Hq$SEh>Hn z11%5Y<2plBi`nwn(sc4 ze>jl-alDr*DGf&)|1P*n7zRmLmM5HRdRvU{7` zFp)0!CyI40J$BW?YP`Jkr?60~`<(RlIjd@Q#mO^E%y18$ zK&u(A?jf}_y$pQiyqzY#UUT*lwxe*@cl(I2fP9(-ByXv9e0nsD zskb(_N^LZ5FK!K+Jl@Jg+Ghr8P*>ViGg}q{QfS#EWPJI#^iyj@8Kr}`UChuTJscW& z9MT^aC|ndm+hv7r9C*^B39Y0m0QB;$Kp7~QWf$lVO6 z-=z>U3bA+7pH*U#rR5u%1c!ZpC7h5*3;vAD$4P^5#C@qFcy5+PK|R8J`xV-r!1SmH z;>o3UWYTa(Ghp2OP!sBJQuBj?9S$sD9(HI*#2{x3FC2G($zBn`d|0nptdbOfL#wV{ zBd@4L+(lma>?m}zKh7SyPqvyeET!iGN}R~;PUu27Fr+_`uvWv<{uGDHZa2>ldEjWo zc&bJ~NarYUkp^I7LI@1x24DGBVir`Lb-BtFVI#W zT?WaS;{nh$#R!5FOzXxR9|IoQcIrTJ&T7TFUB5LHi zj2!u=^(F!W&OcE0KQ8h&aU6$Hs96jN%{O8>dPEZ6=e!36ivGpj=~1QT`5pRXM}*e9#e(qg`Y^7C6_r#3oW=n!&$OD>XG z`@p0FdMtS4>*-gWCg*u*A%;VnR+WBOFLC?A7GpjHW=l)*PWSL zMl_J3R76EWvPg#Z;$!g(gy~xd=ywS_yFDzZ+9+>7^&BWfSXp3k^bGW#*)b`=2fRa& z!x`h_NzQcnuL3vJ*ELAw_EVCu*N<)4iYDHSJKwBayB`Z})^b>Xi);;Mx~|br#=lN~HNXTJ ziaAzT1ucE8*0`#k8xcz$B)NWORsccN^&rW3+T6;13wJu?qedbkbTwaxj*s?5w#MwC z6{9aV_o-+?Kd39LZBBxkXplUITzd9~kLG=O`n?@O%cGTcRXYarMWjUTDD2W5J{VR_ zp0;=SOF@c|-5XF=Ja|kYmn`4S;8P!% z$1m$$xsh3R3hH_G^YgUa^K4tztdw3%eeS{FQpg}6KVInAJ2zUTZ9I8#vH%ozhI+TE z`sjeWia=*!|KG{;e@L?;K-u6Z^t@Y;fDH!F@It@!T>}azHK9z4wKof0}1SX|)e+6cXTD7#4DrIsBDR%vbg6~;&IP{|pCG0Ow zp6u~$PGQ1N9aO0lbVmd()*bu=nY6@zQYL)jCJ)xQ=Fd*>%yHCSK(+lk$&F%eGxOC@ zInZZz*+6_OujYA67eCc;PgqGK%NhyErmvNH&7_85F34?WdiYGw&a4-DjWy3%)X$XP zWal|2Wr$8$ioZEWYt1O`R=Xq{AQ7}VSR5W0OU0G!>~@FWOPc)XS8)Un^>EEP(0(P+ zmOrJ??kwZ!o2$Cqm?q}zIbY?BRFK&02gy@%=I*nf*GZ_oiD%{@s>yHC4ybOr<3CS! z(UTXMFoiGWzsjIULo=sjf@^a!W6EJTQVUJlg9)5R;@cU*J@w5@SMlk|=V8$|HFwgK z`9ih`)aoLVNkZKaW_7UmtoUI)j-wn9Z`Tw{bNie-%fd+{<<3y)Fg9EOT?LVT9hVtY z+riW*)3N(9px^7NkK!y*nBV4%(GWUhB5(=Bk-z}c$A{wkxC;g0X9fQ6V z=Pe%OzPqH%k8S&lMC-3;JrCd$cDHKj;TITa_`o4FeOems>>#OJ1emGDC#dUgG+Ml_ z^6%s&%2%qsZwL>_Ei3K2~p?bklWoEI?dd7lNS zG>3lgJJKjt7Q|PweRroyA&+_CVrFE__K%&aA&?OpXfhL<{L#;Vq*AIX6ct+OJ}qb? zULgwWcW&D1E$vypF!y&}K|x7UJ<62Sy`(B+y&R}vR$YCs-bWkUom6|0<9sm|4=1N$Hr)y|ghXP=G)gyl`PmMDL7*0z3La;_LGj4MI8zf?$P#M0K|H252~ zLk;wT)Z_gcr`%}cKchQQ^s$)&g2sL+c10XLx&;iGY{e6ml|iWp=_aVNtOWOg^xlt4GAFRSC3Vy1AGy zgr?JwK&`7@iKRxiFMt*j$BjQ8 z;?@s;ExG?4_(-`bYxi?6ce=n)og1-^WcjOVlGE+>R!2LMq>mOPS_vkew=}sohq^$v z=o7pEIt<>Qy+FlVws2a^%qn@q7@bKh5*McdtMt`@eR!{yl~UsloFBFxxYI z8B?z7#zm|^Uw2KsOkxYl8Ts#iLeqWF_ z=SZ}wzbb0S{&>3|^;sfK#aE+leYDB_^iethWcYdOTwIiWCio(I>=Ab&CAg+JMBU0&W@RLp`&jb5xKoV|n%;Q|0^nPDA6y_Y2tp zv4lq^&Jkm#aJ0x))AwMCCC<&LYA~qhoh6e51B@G{0 z?-)x%q}eEWP5}=7mD3GhF+!L<@b;Ekx#WFE6hul+Vz?{J^B4HmEHi{P`{oQNaZMQFW#vY0wI|m_(U8bgIduK0KZgM+u<11p zu+<$$l(-VhETpog|oI=`>C_NG;oeM?P0$K zN;e2zpTR!X;vRa~>R#U20o*kV8oVimR6J(~cylQrHk2AOInfeTC}R>#WJ4lsIHIvC`{ZVw#erQSv(>Yu4ke!!KvL>|xnjnXH9;iXw; ztaB{&Uo*d^KqDNv6o#0?b>%-DY*=3V_Lu#xkRbwyEvV1%BXUN`Ky?)es%4;dys-(( z%R|9AANJ!uI8#UZqk9(84mkig`Va>XG)7~AP%00lvAbN||GeSI(gtm@BJaTwBbJ&e z(!FqZLfJ-7t@5PhJ|#CkN>HmZy_oxTVf|xoBjw{E4YC5R5@~Pu0zCW{J?m~Xlh>E_ zn%5^vq{tI{W$qH*{Yo^fD-EAARr;KnrZ( zJc)jL_560O)L&0E$@_j|PQG0Fkuu%;xB7k%yNAggN22z&Xn(KAOWHAks5k1sm9;wo zmHK1$6F1gl#tPiX{S!l&21m7^<*oxlfiW)e#U2J%QkBz&xpr1UfCY!LC$zeTnXw3? zez7pZA^EnxSGEdDE5o0Lh#yEnvvPEWpgwOE&L#JsNX68Pg8Y&t>NIiW5Hp}cPPLL; z?2vzf*RT^xSH@WkA0yrQL_i>Fo%``BdSQq5i9YO`|mG#9c( z`D5y0S1tQt1U8XmBV;~-h6DPU-)|1DWRA&=>~#dALS$S^{TqBOkW955lNM=5s`veD z^^d(Ek?jQ%aC=Jeow(aQ&&CQUqT@U0*EvO!!VZi#TDmqK+dqk(Uiavyy`-;&vYvt% zV*i<6B(_a*jTqNSA&qq?(f*_?`qE^>kN;w8c#emC2+o?x?!|n~qwSf^dKCO==rU;zS$Tlv_QAaYS?I(#2I%G#}YK=&?Bx@Hw^FQ_XuW$sv-nMBQLVEC)}eRC1^lIA{zbVfh@C_rQZnol99^LX456Mw&{ zim7D_HO;Le*$C8Q&fTi1&!_7rAoU2wPE^-}JIIseJ{4r1??wU!gTuFAlm8HCiu_M58 zso>BRvcM+rtPx>f$6Ee~b=bK!I=)DLUw*0(v*GyT;hlJY@f>noL?$y!;M^fGw=YBM zD*5R(kW;?e^v3u`mV9dJpxs4sc(l)&Gi2l)oR{&IVKcDYbqiKsoDGGfcjmo{bw6#} zw;ne7v-j-{44engbKj3=l%#9J$4PP-t2eXWJD=}mXS%%X^iJ4;l>v4oJ*1?#InS}< z`5!f{2u@hPykAkXQqujTuCO~M$4X}B=)h9(VF^Wgm{k{+OxQ;rbUq7|;IoC7JzjjT zr*Wu^@QHXFq{d@1!Wx$T6@hx`;HBNR)yz{>8Nr(bsA-~I=Ukvm=rGy7x}^J4>vO?` zVDeL?6JQ35jG&4Tt02mPimBca9wI_jZ)p3+?LjFjBc#2vvr<&SGu0Wq(+O|QEH1fZ zi(j5J01g*P{?$*C?1r~Wk_J`H*3RMhXU1d%wJD#~H161(5K5&@@H;WVJa(sZ8p@_Z z4hH5ygZm|~mA@yU)uHae)^pLUlr~;_R=Z^Ny}qhU1Ip)>py0@`jR#qIiirCG6izjt zo^9}5(@Qx}<&4A^{}@LQ_LD9WZp7i4TWQ734V%wQqlDMkqOR*J&F=*54)UgWFvEmL z<+sj<>e$#s9)6G!C%mEY)UJ#b`fxh7jW$y_6lHFFSNW~R8ZEX{Hg+Y7K~q`f(X*)| z6Y-rGu3Ylh#?l=Ot;D8StP9>+ID41Xb`F>4=J~t>VPGLq9X-V164ZVOI=+=)h>L;E z+^C&*CEiVSywpuD-L)}7-l}}l)c&ZiB*9awsTg-3Ib|lRQQN_Sx3iiXVcqZmn17+1 z3A%lv8|k+mN2`3-xxa-eJu~P<>v)z+*Y?VPq#tgyzV|W@e7A*0empyA2+FpC{H=Z}b%D;hKXoL_9 zP?L9-UpUoGOz%?csO0$*@+}`}aSfC!djm-g3di7Pzi#)(Ue3zcIS{_Y)7&{_AfpR? z_F@;2Hxc-ZUrk#3B03(}vE)uD9O~Y?=&>-3p}Je`?LLp<3n{Tun3V`s!W6TwS#UKU z+?|`D{u1@>PWPvu**F#Pj6#V~%YZ({3cBkqQ-lMp)jCP$qY7Lhe@184%kO2T?5Pq$ zd^*2Jcj9>47P^>nlLj!9soKQTqFDt&TSMFS_8&?_Rx-S7hew{6^GJON+`&K3q*iwa zAfOas$ko(aJZM9`*nuqDA+j#Hg?bep`Zt8uRH4U4k_@Vtov5-ppkvXZ)J6N#Dvg95 z{;VGoU>mY}Vkw&SoxLQ)84bYrw<2>c{;y~~QIWl|%OKH%HV^v$y1)(#B9SAtQN_lH zkC#We5umM`6Yyudc|A-i=`7;T2-&x*M(=R7$|?Umyr<6`LDv*-iy5J>=o5|5CIV;=Vz457EEZKNY{DL5zsln%SP+a4&moncw|5 z%iUslz$@gq|x=+DUzWc8z~fgqR{2l@&rX3GB}U4va)n`ni$GZ<@%X%$rw|j zt|CMJ6P-%2i8u9uy)nRWN@6V*YzV>`{DJ0)x`R!cZcz1MfdAm;HYLh_?oM){-&(iS7x4s=iah3)a_`_cel7UrMYOdDXW0iY=*MF-sQNGu2HFRsSJ8G@qG45>VGo#$* zckgecQpbr>mMXo~ZtCWw*NvtA8s!fD;+dq<5Bqo$z`kau^(XN3!_nf&KY!PA&YWVA zkv35*^h#1_Fot8N|+dg>G-FaNR~bYy`+nign5UjYh$6tPwM-hi?`1x zQ6yj^LKG|VHs1Fvi134>Y0jsO~tD&1qIx a81yTDTjx}p`y;?8bn}}2)uJobPyY{u@CEmpty Array->\"\n}", + "project": "Foundations", + "datasets": [ + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "5a98d978-1611-4e81-94bc-473a1266abda", + "savedPayload": { + "position": { + "x": 26111.266989049596, + "y": 18286.068279139832 + }, + "targetPosition": { + "x": 26058.741782182016, + "y": 18504.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "c734829f-c1f5-424f-b874-c392592bd7be", + "savedPayload": { + "position": { + "x": 26190.993463947823, + "y": 18322.822687494947 + }, + "targetPosition": { + "x": 26058.741782182016, + "y": 18504.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "record": { + "type": "Record Definition", + "name": "New Record Definition", + "project": "Foundations", + "properties": [ + { + "type": "Record Property", + "name": "Begin", + "config": "{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.cycle\",\n \"childProperty\": \"lastBegin\"\n}", + "project": "Foundations", + "id": "e3fbedbd-2166-4819-814e-568d3183b0c7", + "savedPayload": { + "position": { + "x": 26303.111026029266, + "y": 18168.506102078743 + }, + "targetPosition": { + "x": 26250.585819161686, + "y": 18387.28933416822 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End", + "config": "{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.cycle\",\n \"childProperty\": \"lastEnd\"\n}", + "project": "Foundations", + "id": "85040a18-aeaa-4a25-a728-80cdb2e6ccf2", + "savedPayload": { + "position": { + "x": 26442.429856141356, + "y": 18269.727157107132 + }, + "targetPosition": { + "x": 26250.585819161686, + "y": 18387.28933416822 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Errors", + "config": "{\n \"codeName\": \"errors\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "397112e9-e807-4c34-8189-817d341cebf9", + "savedPayload": { + "position": { + "x": 26469.369051251164, + "y": 18439.8145410358 + }, + "targetPosition": { + "x": 26250.585819161686, + "y": 18387.28933416822 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "9bde7f1b-22e2-4ecf-ad0f-d6b54084c7bc", + "savedPayload": { + "position": { + "x": 26250.585819161686, + "y": 18387.28933416822 + }, + "targetPosition": { + "x": 26058.741782182016, + "y": 18504.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "q" + } + } + }, + "id": "757dacf2-5c9b-4086-b5d1-4907a7866d7a", + "savedPayload": { + "position": { + "x": 26058.741782182016, + "y": 18504.85151122931 + }, + "targetPosition": { + "x": 25794.238418650402, + "y": 18868.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "Errors", + "id": "0b63b003-29c5-4578-9642-1ce0bccb0640" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Errors", + "Plotter Module", + "Foundations", + "64684730-d049-4d3c-8013-b48c5438417e" + ] + ] + } + }, + { + "type": "Product Definition", + "name": "Portfolio System Highlights", + "config": "{\n \"codeName\": \"Portfolio-System-Highlights\",\n \"singularVariableName\": \"portfolioSystemHighlight\",\n \"pluralVariableName\": \"portfolioSystemHighlights\",\n \"nodePath\": \"portfolioSystem\",\n \"propertyNameThatDefinesStatus\": \"highlights\",\n \"propertyValueThatPreventsSavingObject\": \"->Empty Array->\"\n}", + "project": "Foundations", + "datasets": [ + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "27e2ad90-3beb-4840-9bde-0fab5b4a97ff", + "savedPayload": { + "position": { + "x": 26275.858243180217, + "y": 18412.561758186752 + }, + "targetPosition": { + "x": 26158.29606611913, + "y": 18604.40579516642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "d2304b81-59e3-46f4-9e70-bff2858dbe78", + "savedPayload": { + "position": { + "x": 26340.32488985349, + "y": 18472.154113400615 + }, + "targetPosition": { + "x": 26158.29606611913, + "y": 18604.40579516642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "record": { + "type": "Record Definition", + "name": "New Record Definition", + "project": "Foundations", + "properties": [ + { + "type": "Record Property", + "name": "Begin", + "config": "{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.cycle\",\n \"childProperty\": \"lastBegin\"\n}", + "project": "Foundations", + "id": "62f42bd6-5a41-42f3-b037-85fa8e4503df", + "savedPayload": { + "position": { + "x": 26494.641475269695, + "y": 18360.036551319172 + }, + "targetPosition": { + "x": 26377.079298208606, + "y": 18551.88058829884 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End", + "config": "{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.cycle\",\n \"childProperty\": \"lastEnd\"\n}", + "project": "Foundations", + "id": "cd8b32d7-7e38-4351-b581-006c1cc31522", + "savedPayload": { + "position": { + "x": 26595.862530298084, + "y": 18499.35538143126 + }, + "targetPosition": { + "x": 26377.079298208606, + "y": 18551.88058829884 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Highlights", + "config": "{\n \"codeName\": \"highlights\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "630239c4-0377-4949-a0cb-6544e10f8a41", + "savedPayload": { + "position": { + "x": 26568.923335188276, + "y": 18669.44276535993 + }, + "targetPosition": { + "x": 26377.079298208606, + "y": 18551.88058829884 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "64ff2587-93e5-4d55-bb13-52a65a64ec75", + "savedPayload": { + "position": { + "x": 26377.079298208606, + "y": 18551.88058829884 + }, + "targetPosition": { + "x": 26158.29606611913, + "y": 18604.40579516642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "q" + } + } + }, + "id": "b83d3418-5f99-44b3-96d6-40642057569f", + "savedPayload": { + "position": { + "x": 26158.29606611913, + "y": 18604.40579516642 + }, + "targetPosition": { + "x": 25794.238418650402, + "y": 18868.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "Highlights", + "id": "3ee07c1c-729d-4542-b1b2-c62c9f96d16d" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Highlights", + "Plotter Module", + "Foundations", + "d979c9f0-530a-41d3-a357-b57a3e4f2201" + ] + ] + } + }, + { + "type": "Product Definition", + "name": "Portfolio System Values", + "config": "{\n \"codeName\": \"Portfolio-System-Values\",\n \"singularVariableName\": \"portfolioSystemValue\",\n \"pluralVariableName\": \"portfolioSystemValues\",\n \"nodePath\": \"portfolioSystem\",\n \"propertyNameThatDefinesStatus\": \"values\",\n \"propertyValueThatPreventsSavingObject\": \"->Empty Array->\"\n}", + "project": "Foundations", + "datasets": [ + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "1d33889d-d1f1-4105-89f8-31f35328ca3c", + "savedPayload": { + "position": { + "x": 26393.305193243228, + "y": 18583.72570035502 + }, + "targetPosition": { + "x": 26222.213850983222, + "y": 18729.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "93aa23ec-fde3-4e48-893e-709b15afa9cd", + "savedPayload": { + "position": { + "x": 26436.20156714963, + "y": 18660.322687494947 + }, + "targetPosition": { + "x": 26222.213850983222, + "y": 18729.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "record": { + "type": "Record Definition", + "name": "New Record Definition", + "project": "Foundations", + "properties": [ + { + "type": "Record Property", + "name": "Begin", + "config": "{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.cycle\",\n \"childProperty\": \"lastBegin\"\n}", + "project": "Foundations", + "id": "d3418408-c0cb-4517-be18-625b5d028c17", + "savedPayload": { + "position": { + "x": 26617.611593333182, + "y": 18601.378996893785 + }, + "targetPosition": { + "x": 26446.520251073176, + "y": 18747.504807768077 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End", + "config": "{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.cycle\",\n \"childProperty\": \"lastEnd\"\n}", + "project": "Foundations", + "id": "48267e1d-1986-4595-b635-fab01bad1107", + "savedPayload": { + "position": { + "x": 26670.82665116313, + "y": 18765.158104306844 + }, + "targetPosition": { + "x": 26446.520251073176, + "y": 18747.504807768077 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Values", + "config": "{\n \"codeName\": \"values\",\n \"isString\": false,\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "a0dc6e14-6203-4268-824c-6424c15ddb1b", + "savedPayload": { + "position": { + "x": 26592.646061947467, + "y": 18918.596150028083 + }, + "targetPosition": { + "x": 26446.520251073176, + "y": 18747.504807768077 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "4354e20e-3101-4616-8522-6f186c10184e", + "savedPayload": { + "position": { + "x": 26446.520251073176, + "y": 18747.504807768077 + }, + "targetPosition": { + "x": 26222.213850983222, + "y": 18729.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "q" + } + } + }, + "id": "1542f9ad-441c-4a97-af60-af1b605ebd4a", + "savedPayload": { + "position": { + "x": 26222.213850983222, + "y": 18729.85151122931 + }, + "targetPosition": { + "x": 25794.238418650402, + "y": 18868.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "Values", + "id": "dbd638a3-52eb-47f4-92db-74770f7918a7" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Values", + "Plotter Module", + "Foundations", + "476925ed-e2ac-443d-82f3-501b64ca6c87" + ] + ] + } + }, + { + "type": "Product Definition", + "name": "Portfolio System Status", + "config": "{\n \"codeName\": \"Portfolio-System-Status\",\n \"singularVariableName\": \"portfolioSystemState\",\n \"pluralVariableName\": \"portfolioSystemStatus\",\n \"nodePath\": \"portfolioSystem\",\n \"propertyNameThatDefinesStatus\": \"status\",\n \"propertyValueThatPreventsSavingObject\": \"->Empty Array->\"\n}", + "project": "Foundations", + "datasets": [ + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "b579cbbe-a5ad-472f-a508-4be04e81dd52", + "savedPayload": { + "position": { + "x": 26452.11131346544, + "y": 18782.80538641589 + }, + "targetPosition": { + "x": 26244.238418650402, + "y": 18868.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "c81962d7-20b9-4308-af19-3e10e75c9557", + "savedPayload": { + "position": { + "x": 26469.238418650402, + "y": 18868.909158698036 + }, + "targetPosition": { + "x": 26244.238418650402, + "y": 18868.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "record": { + "type": "Record Definition", + "name": "New Record Definition", + "project": "Foundations", + "properties": [ + { + "type": "Record Property", + "name": "Begin", + "config": "{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.cycle\",\n \"childProperty\": \"lastBegin\"\n}", + "project": "Foundations", + "id": "a71523fc-6825-4069-821b-4b1b19159090", + "savedPayload": { + "position": { + "x": 26659.98420828048, + "y": 18868.909158698036 + }, + "targetPosition": { + "x": 26452.11131346544, + "y": 18955.01293098018 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End", + "config": "{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.cycle\",\n \"childProperty\": \"lastEnd\"\n}", + "project": "Foundations", + "id": "997067e1-5e46-4f02-af8a-b7acf7a4bd12", + "savedPayload": { + "position": { + "x": 26659.98420828048, + "y": 19041.116703262327 + }, + "targetPosition": { + "x": 26452.11131346544, + "y": 18955.01293098018 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Status", + "config": "{\n \"codeName\": \"status\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "72042017-36a5-4afd-a752-6ab7cda3c169", + "savedPayload": { + "position": { + "x": 26538.215085747586, + "y": 19162.88582579522 + }, + "targetPosition": { + "x": 26452.11131346544, + "y": 18955.01293098018 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "8488a02f-b9fa-40ab-af90-6c96f2e85f0f", + "savedPayload": { + "position": { + "x": 26452.11131346544, + "y": 18955.01293098018 + }, + "targetPosition": { + "x": 26244.238418650402, + "y": 18868.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "q" + } + } + }, + "id": "35e3d8be-8bac-4150-8977-e5bf33911d31", + "savedPayload": { + "position": { + "x": 26244.238418650402, + "y": 18868.909158698036 + }, + "targetPosition": { + "x": 25794.238418650402, + "y": 18868.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "Status", + "id": "f0694b1f-3cb1-4825-9b97-7e2e7cce124f" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Status", + "Plotter Module", + "Foundations", + "0437448d-8740-496b-8fce-d3804be81a2b" + ] + ] + } + }, + { + "type": "Product Definition", + "name": "Portfolio System Progress", + "config": "{\n \"codeName\": \"Portfolio-System-Progress\",\n \"singularVariableName\": \"portfolioSystemProgress\",\n \"pluralVariableName\": \"portfolioSystemProgresses\",\n \"nodePath\": \"portfolioSystem\",\n \"propertyNameThatDefinesStatus\": \"progress\",\n \"propertyValueThatPreventsSavingObject\": \"->Empty Array->\"\n}", + "project": "Foundations", + "datasets": [ + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "349802b2-c72f-4348-8812-4a6775954a8a", + "savedPayload": { + "position": { + "x": 26446.520251073176, + "y": 18990.313509627995 + }, + "targetPosition": { + "x": 26222.213850983222, + "y": 19007.96680616676 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "9ebe0833-cc7a-4101-9254-77589a7f8000", + "savedPayload": { + "position": { + "x": 26436.20156714963, + "y": 19077.495629901125 + }, + "targetPosition": { + "x": 26222.213850983222, + "y": 19007.96680616676 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "record": { + "type": "Record Definition", + "name": "New Record Definition", + "project": "Foundations", + "properties": [ + { + "type": "Record Property", + "name": "Begin", + "config": "{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.cycle\",\n \"childProperty\": \"lastBegin\"\n}", + "project": "Foundations", + "id": "9d0b0da9-2a0f-43b2-a5cf-39dd21f87b5e", + "savedPayload": { + "position": { + "x": 26617.611593333182, + "y": 19136.439320502286 + }, + "targetPosition": { + "x": 26393.305193243228, + "y": 19154.092617041053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End", + "config": "{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.cycle\",\n \"childProperty\": \"lastEnd\"\n}", + "project": "Foundations", + "id": "474e0733-6792-4b1e-a4ce-3e4ff0d57c1d", + "savedPayload": { + "position": { + "x": 26564.396535503234, + "y": 19300.218427915344 + }, + "targetPosition": { + "x": 26393.305193243228, + "y": 19154.092617041053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Progress", + "config": "{\n \"codeName\": \"progress\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "742b83cc-fddb-462b-9b04-a4988e82021e", + "savedPayload": { + "position": { + "x": 26410.958489781995, + "y": 19378.399017131007 + }, + "targetPosition": { + "x": 26393.305193243228, + "y": 19154.092617041053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "79b867bd-d293-4137-8817-4a09572770f9", + "savedPayload": { + "position": { + "x": 26393.305193243228, + "y": 19154.092617041053 + }, + "targetPosition": { + "x": 26222.213850983222, + "y": 19007.96680616676 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "q" + } + } + }, + "id": "c0a67f38-d6d0-4fd1-bb23-17a00440a1e2", + "savedPayload": { + "position": { + "x": 26222.213850983222, + "y": 19007.96680616676 + }, + "targetPosition": { + "x": 25794.238418650402, + "y": 18868.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "Progress", + "id": "0abce18a-7b5b-426b-b802-ac5065d76c8e" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Progress", + "Plotter Module", + "Foundations", + "99aecc8d-2bc4-4748-b642-78888c2d35eb" + ] + ] + } + }, + { + "type": "Product Definition", + "name": "Portfolio System Running", + "config": "{\n \"codeName\": \"Portfolio-System-Running\",\n \"singularVariableName\": \"portfolioSystemRun\",\n \"pluralVariableName\": \"portfolioSystemRunning\",\n \"nodePath\": \"portfolioSystem\",\n \"propertyNameThatDefinesStatus\": \"running\",\n \"propertyValueThatPreventsSavingObject\": \"->Empty Array->\"\n}", + "project": "Foundations", + "datasets": [ + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "ec32789f-0d77-45fc-a1f5-e717061a6777", + "savedPayload": { + "position": { + "x": 26377.079298208606, + "y": 19185.93772909723 + }, + "targetPosition": { + "x": 26158.29606611913, + "y": 19133.41252222965 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "3e157583-492c-41a4-bb73-c903318e8232", + "savedPayload": { + "position": { + "x": 26340.32488985349, + "y": 19265.664203995457 + }, + "targetPosition": { + "x": 26158.29606611913, + "y": 19133.41252222965 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "record": { + "type": "Record Definition", + "name": "New Record Definition", + "project": "Foundations", + "properties": [ + { + "type": "Record Property", + "name": "Begin", + "config": "{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.cycle\",\n \"childProperty\": \"lastBegin\"\n}", + "project": "Foundations", + "id": "2bed470a-6065-4dc8-b64d-5a310ddb05bd", + "savedPayload": { + "position": { + "x": 26494.641475269695, + "y": 19377.7817660769 + }, + "targetPosition": { + "x": 26275.858243180217, + "y": 19325.25655920932 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End", + "config": "{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.cycle\",\n \"childProperty\": \"lastEnd\"\n}", + "project": "Foundations", + "id": "44c860b8-cce8-4adb-8da2-88981737f139", + "savedPayload": { + "position": { + "x": 26393.420420241306, + "y": 19517.10059618899 + }, + "targetPosition": { + "x": 26275.858243180217, + "y": 19325.25655920932 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Running", + "config": "{\n \"codeName\": \"running\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "cf8d9c96-86ec-420a-9bf7-da9956f22bf6", + "savedPayload": { + "position": { + "x": 26223.333036312637, + "y": 19544.039791298797 + }, + "targetPosition": { + "x": 26275.858243180217, + "y": 19325.25655920932 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "16f6043b-a3f6-43cb-9188-0ddf779f296d", + "savedPayload": { + "position": { + "x": 26275.858243180217, + "y": 19325.25655920932 + }, + "targetPosition": { + "x": 26158.29606611913, + "y": 19133.41252222965 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "q" + } + } + }, + "id": "36d03ed1-b596-4e07-a4de-338d6cac2804", + "savedPayload": { + "position": { + "x": 26158.29606611913, + "y": 19133.41252222965 + }, + "targetPosition": { + "x": 25794.238418650402, + "y": 18868.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "Running", + "id": "08c27347-2e92-4be7-b149-34b087c58b98" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Running", + "Plotter Module", + "Foundations", + "ac1e8218-af24-491f-a552-736d83d68c01" + ] + ] + } + }, + { + "type": "Product Definition", + "name": "Portfolio System Announcements", + "config": "{\n \"codeName\": \"Portfolio-System-Announcements\",\n \"singularVariableName\": \"portfolioSystemAnnouncement\",\n \"pluralVariableName\": \"portfolioSystemAnnouncements\",\n \"nodePath\": \"portfolioSystem\",\n \"propertyNameThatDefinesStatus\": \"announcements\",\n \"propertyValueThatPreventsSavingObject\": \"->Empty Array->\"\n}", + "project": "Foundations", + "datasets": [ + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "b40c154e-14e9-46b5-aca9-2855a3d35e58", + "savedPayload": { + "position": { + "x": 26250.585819161686, + "y": 19350.52898322785 + }, + "targetPosition": { + "x": 26058.741782182016, + "y": 19232.96680616676 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "50822d2f-6d22-465a-bf04-d610b6ef771a", + "savedPayload": { + "position": { + "x": 26190.993463947823, + "y": 19414.995629901125 + }, + "targetPosition": { + "x": 26058.741782182016, + "y": 19232.96680616676 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "record": { + "type": "Record Definition", + "name": "New Record Definition", + "project": "Foundations", + "properties": [ + { + "type": "Record Property", + "name": "Begin", + "config": "{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.cycle\",\n \"childProperty\": \"lastBegin\"\n}", + "project": "Foundations", + "id": "93580d4c-2449-4b92-ad6a-fb6bb96ceca2", + "savedPayload": { + "position": { + "x": 26303.111026029266, + "y": 19569.312215317328 + }, + "targetPosition": { + "x": 26111.266989049596, + "y": 19451.75003825624 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End", + "config": "{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.candle\",\n \"childProperty\": \"lastEnd\"\n}", + "project": "Foundations", + "id": "b2c1b393-f4dd-44d0-9f7b-5ab79961338d", + "savedPayload": { + "position": { + "x": 26163.792195917176, + "y": 19670.533270345717 + }, + "targetPosition": { + "x": 26111.266989049596, + "y": 19451.75003825624 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Announcements", + "config": "{\n \"codeName\": \"announcements\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "71299628-8aba-450e-924b-e0b1a6332ec5", + "savedPayload": { + "position": { + "x": 25993.704811988508, + "y": 19643.59407523591 + }, + "targetPosition": { + "x": 26111.266989049596, + "y": 19451.75003825624 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "52d0791e-5adc-4207-8eec-8441c6936feb", + "savedPayload": { + "position": { + "x": 26111.266989049596, + "y": 19451.75003825624 + }, + "targetPosition": { + "x": 26058.741782182016, + "y": 19232.96680616676 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "q" + } + } + }, + "id": "ddb631cb-5776-4db7-8954-601b19bb78ba", + "savedPayload": { + "position": { + "x": 26058.741782182016, + "y": 19232.96680616676 + }, + "targetPosition": { + "x": 25794.238418650402, + "y": 18868.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "Announcements", + "id": "3d81d68f-79a0-469a-80ff-e24ab1e80e2b" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Announcements", + "Plotter Module", + "Foundations", + "0a3b8bea-749a-48ce-8b53-e4a731555b98" + ] + ] + } + }, + { + "type": "Product Definition", + "name": "Portfolio System Warnings", + "config": "{\n \"codeName\": \"Portfolio-System-Warnings\",\n \"singularVariableName\": \"portfolioSystemWarning\",\n \"pluralVariableName\": \"portfolioSystemWarnings\",\n \"nodePath\": \"portfolioSystem\",\n \"propertyNameThatDefinesStatus\": \"warnings\",\n \"propertyValueThatPreventsSavingObject\": \"->Empty Array->\"\n}", + "project": "Foundations", + "datasets": [ + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "ba501cc5-e364-4548-ae54-1bdca094674e", + "savedPayload": { + "position": { + "x": 26079.42187699342, + "y": 19467.97593329086 + }, + "targetPosition": { + "x": 25933.29606611913, + "y": 19296.884591030856 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "fe2f5b60-93e7-4db6-a279-ec58309376cb", + "savedPayload": { + "position": { + "x": 26002.82488985349, + "y": 19510.872307197264 + }, + "targetPosition": { + "x": 25933.29606611913, + "y": 19296.884591030856 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "record": { + "type": "Record Definition", + "name": "New Record Definition", + "project": "Foundations", + "properties": [ + { + "type": "Record Property", + "name": "Begin", + "config": "{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.cycle\",\n \"childProperty\": \"lastBegin\"\n}", + "project": "Foundations", + "id": "92e782ec-801f-4870-8eaa-5c7001262f49", + "savedPayload": { + "position": { + "x": 26061.768580454653, + "y": 19692.282333380816 + }, + "targetPosition": { + "x": 25915.64276958036, + "y": 19521.19099112081 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End", + "config": "{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.cycle\",\n \"childProperty\": \"lastEnd\"\n}", + "project": "Foundations", + "id": "15ce88d4-df53-4388-a34f-add9394d25e1", + "savedPayload": { + "position": { + "x": 25897.989473041594, + "y": 19745.497391210763 + }, + "targetPosition": { + "x": 25915.64276958036, + "y": 19521.19099112081 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Warnings", + "config": "{\n \"codeName\": \"warnings\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "1e920a4f-b267-441c-9e73-718eb500554b", + "savedPayload": { + "position": { + "x": 25744.551427320355, + "y": 19667.3168019951 + }, + "targetPosition": { + "x": 25915.64276958036, + "y": 19521.19099112081 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "321b55ba-0491-4c81-b565-c8f721657368", + "savedPayload": { + "position": { + "x": 25915.64276958036, + "y": 19521.19099112081 + }, + "targetPosition": { + "x": 25933.29606611913, + "y": 19296.884591030856 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "q" + } + } + }, + "id": "bf3ea6c6-0ade-4f99-a4d4-4efcc0946321", + "savedPayload": { + "position": { + "x": 25933.29606611913, + "y": 19296.884591030856 + }, + "targetPosition": { + "x": 25794.238418650402, + "y": 18868.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "Warnings", + "id": "feb91691-ea03-49c3-9474-38b88354704d" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Warnings", + "Plotter Module", + "Foundations", + "a9709093-95c1-4b1b-aeb5-329c7505ab75" + ] + ] + } + }, + { + "type": "Product Definition", + "name": "Portfolio System Infos", + "config": "{\n \"codeName\": \"Portfolio-System-Infos\",\n \"singularVariableName\": \"portfolioSystemInfo\",\n \"pluralVariableName\": \"portfolioSystemInfos\",\n \"nodePath\": \"portfolioSystem\",\n \"propertyNameThatDefinesStatus\": \"infos\",\n \"propertyValueThatPreventsSavingObject\": \"->Empty Array->\"\n}", + "project": "Foundations", + "datasets": [ + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "f045e316-5d8e-4c73-bc58-8cc6c3e248fb", + "savedPayload": { + "position": { + "x": 25880.342190932548, + "y": 19526.782053513074 + }, + "targetPosition": { + "x": 25794.238418650402, + "y": 19318.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "4436439f-9abb-40da-ae77-82cdc861f947", + "savedPayload": { + "position": { + "x": 25794.238418650402, + "y": 19543.909158698036 + }, + "targetPosition": { + "x": 25794.238418650402, + "y": 19318.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "record": { + "type": "Record Definition", + "name": "New Record Definition", + "project": "Foundations", + "properties": [ + { + "type": "Record Property", + "name": "Begin", + "config": "{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.cycle\",\n \"childProperty\": \"lastBegin\"\n}", + "project": "Foundations", + "id": "9872aac4-05a0-4b53-9448-173e3da221c1", + "savedPayload": { + "position": { + "x": 25794.238418650402, + "y": 19734.654948328112 + }, + "targetPosition": { + "x": 25708.134646368257, + "y": 19526.782053513074 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End", + "config": "{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.cycle\",\n \"childProperty\": \"lastEnd\"\n}", + "project": "Foundations", + "id": "6df3e445-c072-4618-8da6-490cb9b60a7b", + "savedPayload": { + "position": { + "x": 25622.03087408611, + "y": 19734.654948328112 + }, + "targetPosition": { + "x": 25708.134646368257, + "y": 19526.782053513074 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Infos", + "config": "{\n \"codeName\": \"infos\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "adafc578-49e9-4a87-a5b1-4dcd38f950b6", + "savedPayload": { + "position": { + "x": 25500.26175155322, + "y": 19612.88582579522 + }, + "targetPosition": { + "x": 25708.134646368257, + "y": 19526.782053513074 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "2c6f853c-18c8-46fd-b566-23ce9de59a5e", + "savedPayload": { + "position": { + "x": 25708.134646368257, + "y": 19526.782053513074 + }, + "targetPosition": { + "x": 25794.238418650402, + "y": 19318.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "q" + } + } + }, + "id": "5d58c92f-e267-4bfe-854e-aee46a9fec1c", + "savedPayload": { + "position": { + "x": 25794.238418650402, + "y": 19318.909158698036 + }, + "targetPosition": { + "x": 25794.238418650402, + "y": 18868.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "Infos", + "id": "124c5cb2-74eb-40e6-a708-09ee90857cfa" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Infos", + "Plotter Module", + "Foundations", + "f175df3b-a277-44bc-88db-dcf6b0e3fa38" + ] + ] + } + } + ], + "productDefinitionFolders": [], + "id": "b73cdc7c-79ee-4091-abba-2c4698fbd2c8", + "savedPayload": { + "position": { + "x": 25794.238418650402, + "y": 18868.909158698036 + }, + "targetPosition": { + "x": 25366.262986317583, + "y": 18729.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Product Definition Folder", + "name": "Simulation Objects", + "project": "Foundations", + "products": [ + { + "type": "Product Definition", + "name": "Episodes", + "config": "{\n \"codeName\": \"Episode-Objects\",\n \"singularVariableName\": \"episodeObject\",\n \"pluralVariableName\": \"episodeObjects\",\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}", + "project": "Foundations", + "datasets": [ + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "ec9c8682-e192-4581-bf71-d1756d222f31", + "savedPayload": { + "position": { + "x": 26276.03505311386, + "y": 18939.51062916918 + }, + "targetPosition": { + "x": 26078.30120276492, + "y": 19046.871350227593 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "fe0615aa-b939-4eae-94ca-ec994235b8ec", + "savedPayload": { + "position": { + "x": 26302.06862922278, + "y": 19023.352445992372 + }, + "targetPosition": { + "x": 26078.30120276492, + "y": 19046.871350227593 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "record": { + "type": "Record Definition", + "name": "New Record Definition", + "project": "Foundations", + "properties": [ + { + "type": "Record Property", + "name": "Serial Number", + "config": "{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "e64a115d-da80-46d5-8836-ba3ee3994f1a", + "savedPayload": { + "position": { + "x": 27295.305364666274, + "y": 18475.057227633846 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Identifier", + "config": "{\n \"codeName\": \"identifier\",\n \"isString\": true\n}", + "project": "Foundations", + "id": "3ae6aed0-146a-48fd-8065-e950c49d62fd", + "savedPayload": { + "position": { + "x": 27388.969814280892, + "y": 18521.756599540142 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Begin", + "config": "{\n \"codeName\": \"begin\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "3904a241-7a39-4281-90e5-cb79194dcba7", + "savedPayload": { + "position": { + "x": 27476.579472222496, + "y": 18579.01398590563 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End", + "config": "{\n \"codeName\": \"end\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "ec036737-b572-4f6c-902a-b1fa7f6bebd7", + "savedPayload": { + "position": { + "x": 27556.949568160395, + "y": 18646.055078803838 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Exit Type", + "config": "{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "ebf7fc43-d15e-404e-9264-8924ee1002f8", + "savedPayload": { + "position": { + "x": 27628.993234420617, + "y": 18721.973262461233 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Status", + "config": "{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "3322a394-5b38-4b11-9704-432c9df48ae1", + "savedPayload": { + "position": { + "x": 27691.736204006746, + "y": 18805.741873680272 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Begin Rate", + "config": "{ \n\"codeName\": \"beginRate\",\n\"isString\": false,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "caab7289-3f15-45d8-8a32-676cffacddcd", + "savedPayload": { + "position": { + "x": 27744.32998588968, + "y": 18896.228085697916 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End Rate", + "config": "{ \n\"codeName\": \"endRate\",\n\"isString\": false,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "6298ab2d-b46f-40cf-bcbf-26ebdd7c247d", + "savedPayload": { + "position": { + "x": 27786.06333939325, + "y": 18992.20822772427 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Hits In Base Asset", + "config": "{ \n\"codeName\": \"hitsInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset\",\n \"childProperty\": \"hits\",\n \"decimals\": 0\n}", + "project": "Foundations", + "id": "b6a57f80-4493-4857-a344-d519e1cc4056", + "savedPayload": { + "position": { + "x": 27816.371892504205, + "y": 19092.38433299081 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Fails In Base Asset", + "config": "{ \n\"codeName\": \"failsInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset\",\n \"childProperty\": \"fails\",\n \"decimals\": 0\n}", + "project": "Foundations", + "id": "7ab8cd86-f9c7-48f0-ad41-28e4097eef81", + "savedPayload": { + "position": { + "x": 27834.84577403555, + "y": 19195.4016915243 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Hit Ratio In Base Asset", + "config": "{ \n\"codeName\": \"hitRatioInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset\",\n \"childProperty\": \"hitRatio\",\n \"decimals\": 2\n}", + "project": "Foundations", + "id": "7af49b65-038e-429e-b6c9-b2f646de3950", + "savedPayload": { + "position": { + "x": 27841.235156431227, + "y": 19299.8671702752 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Profit Loss In Base Asset", + "config": "{ \n\"codeName\": \"profitLossInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset\",\n \"childProperty\": \"profitLoss\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "24e67419-0f22-4200-b451-75e6936d38e6", + "savedPayload": { + "position": { + "x": 27835.453634255224, + "y": 19404.36805285224 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "ROI In Base Asset", + "config": "{ \n\"codeName\": \"ROIInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset\",\n \"childProperty\": \"ROI\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "14c0b32e-0976-4b59-b733-b27211bd4855", + "savedPayload": { + "position": { + "x": 27817.579392676853, + "y": 19507.49114408815 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Annualized Rate Of ReturnIn Base Asset", + "config": "{ \n\"codeName\": \"annualizedRateOfReturnInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset\",\n \"childProperty\": \"annualizedRateOfReturn\",\n \"decimals\": 2\n}", + "project": "Foundations", + "id": "d769e090-1565-4a56-aec8-94fc88491abc", + "savedPayload": { + "position": { + "x": 27787.85415015048, + "y": 19607.84188107997 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Hit Fail In Base Asset", + "config": "{ \n\"codeName\": \"hitFailInBaseAsset\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset\",\n \"childProperty\": \"hitFail\"\n}", + "project": "Foundations", + "id": "34e2dcc4-ebd5-4388-90f2-42b13040bc09", + "savedPayload": { + "position": { + "x": 27746.679889588115, + "y": 19704.063192259953 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Hits In Quoted Asset", + "config": "{ \n\"codeName\": \"hitsInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset\",\n \"childProperty\": \"hits\",\n \"decimals\": 0\n}", + "project": "Foundations", + "id": "667b96ed-cfc7-40ef-871f-ac19c064f043", + "savedPayload": { + "position": { + "x": 27694.613422230083, + "y": 19794.853849460498 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Fails In Quoted Asset", + "config": "{ \n\"codeName\": \"failsInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset\",\n \"childProperty\": \"fails\",\n \"decimals\": 0\n}", + "project": "Foundations", + "id": "c0d4ae1c-2c23-4e89-a5e9-8b147caff14b", + "savedPayload": { + "position": { + "x": 27632.358857728206, + "y": 19878.98606479288 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Hit Ratio In Quoted Asset", + "config": "{ \n\"codeName\": \"hitRatioInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset\",\n \"childProperty\": \"hitRatio\",\n \"decimals\": 2\n}", + "project": "Foundations", + "id": "11c0c82d-355f-43d8-a51a-a9449ab28a7a", + "savedPayload": { + "position": { + "x": 27560.758082270673, + "y": 19955.322094372183 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Profit Loss In Quoted Asset", + "config": "{ \n\"codeName\": \"profitLossInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset\",\n \"childProperty\": \"profitLoss\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "b80152a2-6536-4227-8bc3-43124bcabc2a", + "savedPayload": { + "position": { + "x": 27480.779373515572, + "y": 20022.829624351583 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "ROI In Quoted Asset", + "config": "{ \n\"codeName\": \"ROIInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset\",\n \"childProperty\": \"ROI\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "3502c3bf-b37a-454e-b612-c07a04eb02ba", + "savedPayload": { + "position": { + "x": 27393.50430629663, + "y": 20080.595731196183 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Annualized Rate Of ReturnIn Quoted Asset", + "config": "{ \n\"codeName\": \"annualizedRateOfReturnInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset\",\n \"childProperty\": \"annualizedRateOfReturn\",\n \"decimals\": 2\n}", + "project": "Foundations", + "id": "bf7b6dfe-fada-487d-aafa-7ca9d8c28ff0", + "savedPayload": { + "position": { + "x": 27300.113126179018, + "y": 20127.839227407738 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Hit Fail In Quoted Asset", + "config": "{ \n\"codeName\": \"hitFailInQuotedAsset\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset\",\n \"childProperty\": \"hitFail\"\n}", + "project": "Foundations", + "id": "f4b16423-1074-48d5-80e9-26f82798ed3c", + "savedPayload": { + "position": { + "x": 27201.86878866275, + "y": 20163.92122574544 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Begin Balance In Base Asset", + "config": "{ \n\"codeName\": \"beginBalanceInBaseAsset\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset\",\n \"childProperty\": \"beginBalance\"\n}", + "project": "Foundations", + "id": "95766d4b-5467-4482-9d92-de425c4fc96e", + "savedPayload": { + "position": { + "x": 27100.099879876158, + "y": 20188.353779079862 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End Balance In Base Asset", + "config": "{ \n\"codeName\": \"endBalanceInBaseAsset\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset\",\n \"childProperty\": \"endBalance\"\n}", + "project": "Foundations", + "id": "f7d4afdc-6281-4351-ba47-2e8878c5d3a5", + "savedPayload": { + "position": { + "x": 26996.182649727667, + "y": 20200.806479040806 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Begin Balance In Quoted Asset", + "config": "{ \n\"codeName\": \"beginBalanceInQuotedAsset\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset\",\n \"childProperty\": \"beginBalance\"\n}", + "project": "Foundations", + "id": "679eebe9-f8c8-4625-95ff-28cb04f269d8", + "savedPayload": { + "position": { + "x": 26891.52240048669, + "y": 20201.110924223703 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End Balance In Quoted Asset", + "config": "{ \n\"codeName\": \"endBalanceInQuotedAsset\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset\",\n \"childProperty\": \"endBalance\"\n}", + "project": "Foundations", + "id": "51eba6e1-73d4-4c80-9395-a244be1d86b6", + "savedPayload": { + "position": { + "x": 26787.534482481246, + "y": 20189.262997529735 + }, + "targetPosition": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "043e60f2-599a-4e9d-9644-0b0a2f5a1049", + "savedPayload": { + "position": { + "x": 26941.238964146294, + "y": 19302.485160461125 + }, + "targetPosition": { + "x": 26078.30120276492, + "y": 19046.871350227593 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 5, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "s" + } + } + }, + "id": "f832a43a-b7f2-44b4-98c1-f92822ee1936", + "savedPayload": { + "position": { + "x": 26078.30120276492, + "y": 19046.871350227593 + }, + "targetPosition": { + "x": 25630.766349849197, + "y": 19093.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "Episode Objects", + "id": "296e7c68-fbea-4ade-96b6-2b4cd9434368" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Episode", + "Plotter", + "Foundations", + "12f444b2-b8e7-48ef-9ea1-9cbe5489f942" + ], + [ + "Episode Objects", + "Plotter Module", + "Foundations", + "b7320c91-b8aa-4642-bd11-a1efb2a88d39" + ] + ] + } + }, + { + "type": "Product Definition", + "name": "Strategies", + "config": "{\n \"codeName\": \"Strategy-Objects\",\n \"singularVariableName\": \"strategyObject\",\n \"pluralVariableName\": \"strategyObjects\",\n \"nodePath\": \"portfolioEngine.portfolioCurrent.strategy\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}", + "project": "Foundations", + "datasets": [ + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "06e73ede-e564-4089-8a87-92d59742fd58", + "savedPayload": { + "position": { + "x": 26260.78470390787, + "y": 19282.830461451416 + }, + "targetPosition": { + "x": 26035.86180578837, + "y": 19276.940648082145 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "3e6afa16-ee4a-46f8-b0a6-29edc5cfced1", + "savedPayload": { + "position": { + "x": 26241.409533757953, + "y": 19368.456392774202 + }, + "targetPosition": { + "x": 26035.86180578837, + "y": 19276.940648082145 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "record": { + "type": "Record Definition", + "name": "New Record Definition", + "project": "Foundations", + "properties": [ + { + "type": "Record Property", + "name": "Serial Number", + "config": "{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "278f0286-c536-4103-aa6e-a3fd4c3ba4ca", + "savedPayload": { + "position": { + "x": 26736.685019044173, + "y": 19380.71765805193 + }, + "targetPosition": { + "x": 26345.621364850558, + "y": 19603.359115037674 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Identifier", + "config": "{\n \"codeName\": \"identifier\",\n \"isString\": true\n}", + "project": "Foundations", + "id": "b9bfba05-d526-43d4-b5af-d13f14439f34", + "savedPayload": { + "position": { + "x": 26778.603008159076, + "y": 19480.774872339614 + }, + "targetPosition": { + "x": 26345.621364850558, + "y": 19603.359115037674 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Begin", + "config": "{\n \"codeName\": \"begin\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "ae258364-050a-49a1-bbdf-765aa699a30f", + "savedPayload": { + "position": { + "x": 26795.357677989123, + "y": 19587.956237237322 + }, + "targetPosition": { + "x": 26345.621364850558, + "y": 19603.359115037674 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End", + "config": "{\n \"codeName\": \"end\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "b078b015-12e9-47ec-9dba-521d989467bd", + "savedPayload": { + "position": { + "x": 26785.97530802454, + "y": 19696.0327614056 + }, + "targetPosition": { + "x": 26345.621364850558, + "y": 19603.359115037674 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Strategy Name", + "config": "{ \n\"codeName\": \"strategyName\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "27c6cbed-b356-41bc-98d8-080f957a47a4", + "savedPayload": { + "position": { + "x": 26751.00116750414, + "y": 19798.723430101974 + }, + "targetPosition": { + "x": 26345.621364850558, + "y": 19603.359115037674 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Index", + "config": "{ \n\"codeName\": \"index\",\n\"isString\": false,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "08c1a426-183c-40e1-8eb4-3b9ffd6dd51d", + "savedPayload": { + "position": { + "x": 26692.467826349144, + "y": 19890.0602349272 + }, + "targetPosition": { + "x": 26345.621364850558, + "y": 19603.359115037674 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Status", + "config": "{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "f79744a7-dcfc-4f08-9587-dfe7c25390e1", + "savedPayload": { + "position": { + "x": 26613.777029587443, + "y": 19964.73501278062 + }, + "targetPosition": { + "x": 26345.621364850558, + "y": 19603.359115037674 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Begin Rate", + "config": "{ \n\"codeName\": \"beginRate\",\n\"isString\": false,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "3003fe45-50d1-4f62-ab8d-ad5488b5ee42", + "savedPayload": { + "position": { + "x": 26519.502000297412, + "y": 20018.40793700516 + }, + "targetPosition": { + "x": 26345.621364850558, + "y": 19603.359115037674 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End Rate", + "config": "{ \n\"codeName\": \"endRate\",\n\"isString\": false,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "69c64a0d-430b-484e-bfa6-6ca84008dcad", + "savedPayload": { + "position": { + "x": 26415.121660505607, + "y": 20047.959732338033 + }, + "targetPosition": { + "x": 26345.621364850558, + "y": 19603.359115037674 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Situation Name", + "config": "{ \n\"codeName\": \"situationName\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "6db47825-3e6a-4221-a1e0-bc3da20a2492", + "savedPayload": { + "position": { + "x": 26306.702216153626, + "y": 20051.6729558509 + }, + "targetPosition": { + "x": 26345.621364850558, + "y": 19603.359115037674 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Exit Type", + "config": "{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "eea36cd9-f99d-4609-bdbf-73513b382bdd", + "savedPayload": { + "position": { + "x": 26200.54461125856, + "y": 20029.33180849021 + }, + "targetPosition": { + "x": 26345.621364850558, + "y": 19603.359115037674 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Periods", + "config": "{ \n\"codeName\": \"periods\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.strategy.strategyCounters\"\n}", + "project": "Foundations", + "id": "080d466f-6c35-4f43-bb50-2a69de9e7ee6", + "savedPayload": { + "position": { + "x": 26102.818339949717, + "y": 19982.234676533797 + }, + "targetPosition": { + "x": 26345.621364850558, + "y": 19603.359115037674 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "474a2461-8068-416f-b5b5-869b3ff3622d", + "savedPayload": { + "position": { + "x": 26345.621364850558, + "y": 19603.359115037674 + }, + "targetPosition": { + "x": 26035.86180578837, + "y": 19276.940648082145 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "q" + } + } + }, + "id": "54f557b3-74f8-4687-a822-0b5159de9290", + "savedPayload": { + "position": { + "x": 26041.86180578837, + "y": 19276.940648082145 + }, + "targetPosition": { + "x": 25630.766349849197, + "y": 19093.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "Strategy Objects", + "id": "facbf8f2-e923-4093-b488-984d991ad33e" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Strategy", + "Plotter", + "Foundations", + "62890699-eabf-4ea8-8ca0-cac07cc06dea" + ], + [ + "Strategy Objects", + "Plotter Module", + "Foundations", + "d54a124c-6029-41a6-9bbd-bb3fe8b1a318" + ] + ] + } + } + ], + "productDefinitionFolders": [ + { + "type": "Product Definition Folder", + "name": "Orders", + "project": "Foundations", + "products": [ + { + "type": "Product Definition", + "name": "Market Buy Orders", + "config": "{ \n \"codeName\": \"Market-Buy-Orders-Objects\", \n \"singularVariableName\": \"marketBuyOrdersObject\", \n \"pluralVariableName\": \"marketBuyOrdersObjects\",\n \"nodePathType\": \"array\",\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketBuyOrders.marketOrders\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}", + "project": "Foundations", + "datasets": [ + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "5e3d56d3-4b56-4a1c-96ac-8e2d46aa3b05", + "savedPayload": { + "position": { + "x": 26553.14260819585, + "y": 19371.863033884616 + }, + "targetPosition": { + "x": 26345.26971338081, + "y": 19457.96680616676 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "04889201-1b95-40cb-b315-63e03eefb9cc", + "savedPayload": { + "position": { + "x": 26570.26971338081, + "y": 19457.96680616676 + }, + "targetPosition": { + "x": 26345.26971338081, + "y": 19457.96680616676 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "record": { + "type": "Record Definition", + "name": "New Record Definition", + "project": "Foundations", + "properties": [ + { + "type": "Record Property", + "name": "Exchange Id", + "config": "{\n \"codeName\": \"exchangeId\",\n \"isString\": true\n}", + "project": "Foundations", + "id": "2b1defd5-8357-46c3-853e-73ee3d0170bd", + "savedPayload": { + "position": { + "x": 26983.971903805475, + "y": 19239.290169233867 + }, + "targetPosition": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Serial Number", + "config": "{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "08596508-2c90-4754-8cb7-08602f2e238c", + "savedPayload": { + "position": { + "x": 27031.20460440754, + "y": 19270.31625441186 + }, + "targetPosition": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Identifier", + "config": "{\n \"codeName\": \"identifier\",\n \"isString\": true\n}", + "project": "Foundations", + "id": "034505eb-8189-4b4e-bf83-a85b210a914c", + "savedPayload": { + "position": { + "x": 27074.17626147743, + "y": 19307.01751673762 + }, + "targetPosition": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Begin", + "config": "{\n \"codeName\": \"begin\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "cd5360e6-4c8c-4da2-9842-0f616c6e86c3", + "savedPayload": { + "position": { + "x": 27112.20918631314, + "y": 19348.815155379987 + }, + "targetPosition": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End", + "config": "{\n \"codeName\": \"end\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "27cc3246-51ff-41f9-afc8-e9471c9786e7", + "savedPayload": { + "position": { + "x": 27144.70357697023, + "y": 19395.049996608876 + }, + "targetPosition": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Rate", + "config": "{ \n\"codeName\": \"rate\",\n\"isString\": false,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "0d57c091-1379-43ee-822c-dccf5046e435", + "savedPayload": { + "position": { + "x": 27171.146977496843, + "y": 19444.992889358753 + }, + "targetPosition": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Exit Type", + "config": "{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "4928920a-d6c3-4dd8-84f1-87a5ea41a04d", + "savedPayload": { + "position": { + "x": 27191.12235967014, + "y": 19497.856204376516 + }, + "targetPosition": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Status", + "config": "{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "bcecb1d4-8074-4c39-98c2-bfec3024a18c", + "savedPayload": { + "position": { + "x": 27204.314699780538, + "y": 19552.80625560532 + }, + "targetPosition": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Order Name", + "config": "{ \n\"codeName\": \"orderName\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "5792ac0f-7c13-4cb7-816a-1eec3d88f9c8", + "savedPayload": { + "position": { + "x": 27210.515946743777, + "y": 19608.976447911715 + }, + "targetPosition": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Situation Name", + "config": "{ \n\"codeName\": \"situationName\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "bea176c8-394d-40bd-b4ce-a4b23b03e2fb", + "savedPayload": { + "position": { + "x": 27209.6283031908, + "y": 19665.480943808583 + }, + "targetPosition": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Algorithm Name", + "config": "{ \n\"codeName\": \"algorithmName\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "8d632db6-1ebf-4dd9-a4a9-89cb66d64741", + "savedPayload": { + "position": { + "x": 27201.665767790684, + "y": 19721.428633641484 + }, + "targetPosition": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Periods", + "config": "{ \n\"codeName\": \"periods\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderCounters\"\n}", + "project": "Foundations", + "id": "d6d61c62-4db6-4602-a941-949a059f371e", + "savedPayload": { + "position": { + "x": 27186.753914483284, + "y": 19775.93718892022 + }, + "targetPosition": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Percentage Filled", + "config": "{\n \"codeName\": \"percentageFilled\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderStatistics\",\n \"decimals\": 2\n}", + "project": "Foundations", + "id": "df89e95d-c787-4a5b-bc4a-5fc2beb05a65", + "savedPayload": { + "position": { + "x": 27165.12791210317, + "y": 19828.146977166216 + }, + "targetPosition": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Actual Rate", + "config": "{ \n\"codeName\": \"actualRate\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderStatistics\"\n}", + "project": "Foundations", + "id": "4d5cf304-04d0-4612-b8f8-def40b8993ed", + "savedPayload": { + "position": { + "x": 27137.128815626613, + "y": 19877.23461883021 + }, + "targetPosition": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Days", + "config": "{ \n\"codeName\": \"days\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderStatistics\",\n \"decimals\": 2\n}", + "project": "Foundations", + "id": "c941c754-9184-4e3c-8940-6876e17bb4ac", + "savedPayload": { + "position": { + "x": 27103.198187530907, + "y": 19922.425972479636 + }, + "targetPosition": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "User Defined Statistic 1", + "config": "{ \n\"codeName\": \"userDefinedStatistic1\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 0\n}", + "project": "Foundations", + "id": "eb520b8e-ef38-4e8c-96d6-475faba780ed", + "savedPayload": { + "position": { + "x": 27063.87113409029, + "y": 19963.00834347143 + }, + "targetPosition": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "User Defined Statistic 2", + "config": "{ \n\"codeName\": \"userDefinedStatistic2\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 1\n}", + "project": "Foundations", + "id": "6c40bfac-9696-4004-8bb9-1ad3a91a6325", + "savedPayload": { + "position": { + "x": 27019.767866430368, + "y": 19998.341723572314 + }, + "targetPosition": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "User Defined Statistic 3", + "config": "{ \n\"codeName\": \"userDefinedStatistic3\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 2\n}", + "project": "Foundations", + "id": "04201899-81d6-43d7-8a72-c996a9baceaa", + "savedPayload": { + "position": { + "x": 26971.583919428147, + "y": 20027.868884270963 + }, + "targetPosition": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Size In Base Asset", + "config": "{\n \"codeName\": \"sizeInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderBaseAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "73cb88bc-251b-4eb4-9d5c-b6a84c8a8b83", + "savedPayload": { + "position": { + "x": 26920.079182711557, + "y": 20051.124164604495 + }, + "targetPosition": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Size In Quoted Asset", + "config": "{\n \"codeName\": \"sizeInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderQuotedAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "952e67eb-85c6-4784-ae51-0edf00bed282", + "savedPayload": { + "position": { + "x": 26866.065916746047, + "y": 20067.74081491001 + }, + "targetPosition": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Size Filled In Base Asset", + "config": "{\n \"codeName\": \"sizeFilledInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderBaseAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "e05a8c15-a38f-400c-b4e6-56dee218400e", + "savedPayload": { + "position": { + "x": 26810.395943001862, + "y": 20077.456780685883 + }, + "targetPosition": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Size Filled In Quoted Asset", + "config": "{\n \"codeName\": \"sizeFilledInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderQuotedAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "2783fd85-4d20-494d-8a69-8d834a070d61", + "savedPayload": { + "position": { + "x": 26753.947210220573, + "y": 20080.1188353478 + }, + "targetPosition": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Fees Paid In Base Asset", + "config": "{ \n\"codeName\": \"feesPaidInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderBaseAsset\",\n \"childProperty\": \"feesPaid\"\n}", + "project": "Foundations", + "id": "2ddcd70b-4e71-4091-8b2b-beb9f1b69f0a", + "savedPayload": { + "position": { + "x": 26697.60994863898, + "y": 20075.684996703505 + }, + "targetPosition": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Fees Paid In Quoted Asset", + "config": "{ \n\"codeName\": \"feesPaidInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketBuyOrders.marketOrders[index].orderQuotedAsset\",\n \"childProperty\": \"feesPaid\"\n}", + "project": "Foundations", + "id": "3ee8b13f-5648-4a63-948f-ef7ad9ff3724", + "savedPayload": { + "position": { + "x": 26642.272630526473, + "y": 20064.22518903706 + }, + "targetPosition": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "a5720f6c-41d8-4eea-9158-d55a5555cfb4", + "savedPayload": { + "position": { + "x": 26761.01550301089, + "y": 19630.174350731053 + }, + "targetPosition": { + "x": 26345.26971338081, + "y": 19457.96680616676 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "s" + } + } + }, + "id": "6e9410fd-d3ae-4213-8df1-950a1683df32", + "savedPayload": { + "position": { + "x": 26345.26971338081, + "y": 19457.96680616676 + }, + "targetPosition": { + "x": 25895.26971338081, + "y": 19457.96680616676 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "Market Buy Orders", + "id": "93035e01-a0c7-4c58-93be-f8910d3a5737" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Market Buy Orders", + "Plotter Module", + "Foundations", + "e00fe7d4-894d-4483-a73a-3cd77943ea80" + ] + ] + } + }, + { + "type": "Product Definition", + "name": "Market Sell Orders", + "config": "{ \n \"codeName\": \"Market-Sell-Orders-Objects\", \n \"singularVariableName\": \"marketSellOrdersObject\", \n \"pluralVariableName\": \"marketSellOrdersObjects\",\n \"nodePathType\": \"array\",\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketSellOrders.marketOrders\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}", + "project": "Foundations", + "datasets": [ + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "3c5eb8e8-640e-4788-a564-fb179f7d47fb", + "savedPayload": { + "position": { + "x": 30536.784314416313, + "y": 19509.933725425668 + }, + "targetPosition": { + "x": 29383.86036234918, + "y": 19551.289648646205 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "1e45b4d4-1607-47fd-a02c-4d46b05fed8b", + "savedPayload": { + "position": { + "x": 30465.018018061674, + "y": 19953.83886824554 + }, + "targetPosition": { + "x": 29383.86036234918, + "y": 19551.289648646205 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "record": { + "type": "Record Definition", + "name": "New Record Definition", + "project": "Foundations", + "properties": [ + { + "type": "Record Property", + "name": "Exchange Id", + "config": "{\n \"codeName\": \"exchangeId\",\n \"isString\": true\n}", + "project": "Foundations", + "id": "f747553f-a0d1-4a4f-a71d-8c438d5290c2", + "savedPayload": { + "position": { + "x": 31112.79574912539, + "y": 19598.450022516256 + }, + "targetPosition": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Serial Number", + "config": "{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "01f3fa90-f86f-44cc-bb93-c6e7126b1207", + "savedPayload": { + "position": { + "x": 31198.635775457835, + "y": 19715.44655057664 + }, + "targetPosition": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Identifier", + "config": "{\n \"codeName\": \"identifier\",\n \"isString\": true\n}", + "project": "Foundations", + "id": "35972378-a2ff-47d0-a18d-7095ce7fee5a", + "savedPayload": { + "position": { + "x": 31268.97118033511, + "y": 19842.060159197987 + }, + "targetPosition": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Begin", + "config": "{\n \"codeName\": \"begin\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "4a123ef1-1700-435c-aa71-d07b20a99b33", + "savedPayload": { + "position": { + "x": 31322.85487738061, + "y": 19976.45258545922 + }, + "targetPosition": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End", + "config": "{\n \"codeName\": \"end\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "fcddc854-ca65-4200-86a1-40fde52df6af", + "savedPayload": { + "position": { + "x": 31359.46154543101, + "y": 20116.5267204753 + }, + "targetPosition": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Rate", + "config": "{ \n\"codeName\": \"rate\",\n\"isString\": false,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "dae22c53-267a-43b7-9cf0-5f9e8d4c1704", + "savedPayload": { + "position": { + "x": 31378.22071446324, + "y": 20260.079567691 + }, + "targetPosition": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Exit Type", + "config": "{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "5332a13f-b65a-46df-8973-aed19b41692d", + "savedPayload": { + "position": { + "x": 31378.838827085216, + "y": 20404.594970116683 + }, + "targetPosition": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Status", + "config": "{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "28e9f51e-1b26-47f9-be37-2415968f53c6", + "savedPayload": { + "position": { + "x": 31361.307810066035, + "y": 20548.298610806807 + }, + "targetPosition": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Order Name", + "config": "{ \n\"codeName\": \"orderName\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "6481c3b3-b94d-40b0-9b6a-f6aa14d18f0b", + "savedPayload": { + "position": { + "x": 31325.903637500916, + "y": 20688.672480906673 + }, + "targetPosition": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Situation Name", + "config": "{ \n\"codeName\": \"situationName\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "97d997f4-3165-4ce5-a6cc-d6bfb70bfccc", + "savedPayload": { + "position": { + "x": 31273.239001769543, + "y": 20823.52913112783 + }, + "targetPosition": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Algorithm Name", + "config": "{ \n\"codeName\": \"algorithmName\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "bbab842a-53f6-4f45-9a9e-0424f9656c30", + "savedPayload": { + "position": { + "x": 31204.035773095595, + "y": 20950.695376478958 + }, + "targetPosition": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Periods", + "config": "{ \n\"codeName\": \"periods\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderCounters\"\n}", + "project": "Foundations", + "id": "3928b437-2b05-4af0-8949-2925625923ec", + "savedPayload": { + "position": { + "x": 31119.43987368267, + "y": 21068.185475077345 + }, + "targetPosition": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Percentage Filled", + "config": "{\n \"codeName\": \"percentageFilled\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderStatistics\",\n \"decimals\": 2\n}", + "project": "Foundations", + "id": "923b9cb6-3d93-49f1-9fdd-da2b32d2a937", + "savedPayload": { + "position": { + "x": 31020.786749544415, + "y": 21174.14790064933 + }, + "targetPosition": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Actual Rate", + "config": "{ \n\"codeName\": \"actualRate\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderStatistics\"\n}", + "project": "Foundations", + "id": "14023994-614d-4515-b80b-8cf7e9225c5d", + "savedPayload": { + "position": { + "x": 30909.630471402037, + "y": 21266.910281653894 + }, + "targetPosition": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Days", + "config": "{ \n\"codeName\": \"days\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderStatistics\",\n \"decimals\": 2\n}", + "project": "Foundations", + "id": "48c6ef36-ed55-4960-b35a-173acbe7e730", + "savedPayload": { + "position": { + "x": 30787.724540732204, + "y": 21345.01042741523 + }, + "targetPosition": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "User Defined Statistic 1", + "config": "{ \n\"codeName\": \"userDefinedStatistic1\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 0\n}", + "project": "Foundations", + "id": "48d5bcd6-ce90-4886-8226-4cd3b988a0ff", + "savedPayload": { + "position": { + "x": 30656.989933823337, + "y": 21407.21382565527 + }, + "targetPosition": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "User Defined Statistic 2", + "config": "{ \n\"codeName\": \"userDefinedStatistic2\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 1\n}", + "project": "Foundations", + "id": "7c739393-c078-472e-b461-4875a853efb3", + "savedPayload": { + "position": { + "x": 30519.48973221318, + "y": 21452.54141894932 + }, + "targetPosition": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "User Defined Statistic 3", + "config": "{ \n\"codeName\": \"userDefinedStatistic3\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 2\n}", + "project": "Foundations", + "id": "a86fc260-8f1c-430e-8880-8711bf97e359", + "savedPayload": { + "position": { + "x": 30377.39741971805, + "y": 21480.28169933541 + }, + "targetPosition": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Size In Base Asset", + "config": "{\n \"codeName\": \"sizeInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderBaseAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "32cdb44a-6d02-47c8-b2a1-d08c4bd15de4", + "savedPayload": { + "position": { + "x": 30232.940107165792, + "y": 21489.99235853235 + }, + "targetPosition": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Size In Quoted Asset", + "config": "{\n \"codeName\": \"sizeInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderQuotedAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "3394ea85-b863-48d9-900a-dcca7c61f026", + "savedPayload": { + "position": { + "x": 30088.645236884593, + "y": 21481.516455917772 + }, + "targetPosition": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Size Filled In Base Asset", + "config": "{\n \"codeName\": \"sizeFilledInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderBaseAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "d6f03116-215a-4422-a720-dbdb884b19e7", + "savedPayload": { + "position": { + "x": 29946.305713632297, + "y": 21454.98158558426 + }, + "targetPosition": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Size Filled In Quoted Asset", + "config": "{\n \"codeName\": \"sizeFilledInQuotedAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderQuotedAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "8e911526-7f37-4d1c-a2b7-35921814fd57", + "savedPayload": { + "position": { + "x": 29808.39618872635, + "y": 21410.818059141988 + }, + "targetPosition": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Fees Paid In Base Asset", + "config": "{ \n\"codeName\": \"feesPaidInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderBaseAsset\",\n \"childProperty\": \"feesPaid\"\n}", + "project": "Foundations", + "id": "1c4e3592-63cb-4a84-874a-ae4eda6e1197", + "savedPayload": { + "position": { + "x": 29677.084567577374, + "y": 21349.67819568842 + }, + "targetPosition": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Fees Paid In Quoted Asset", + "config": "{ \n\"codeName\": \"feesPaidInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.marketSellOrders.marketOrders[index].orderQuotedAsset\",\n \"childProperty\": \"feesPaid\"\n}", + "project": "Foundations", + "id": "3393769e-6b80-4065-8f50-454109c033f1", + "savedPayload": { + "position": { + "x": 29554.271292606478, + "y": 21272.405094540547 + }, + "targetPosition": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "b0e52bd8-02b7-463d-bbf7-bc8892b86187", + "savedPayload": { + "position": { + "x": 30228.1365751618, + "y": 20337.25850250414 + }, + "targetPosition": { + "x": 29383.86036234918, + "y": 19551.289648646205 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "s" + } + } + }, + "id": "892295e5-f31f-422f-b541-b4d3a2a166a7", + "savedPayload": { + "position": { + "x": 26259.327360849536, + "y": 19722.470169698376 + }, + "targetPosition": { + "x": 25895.26971338081, + "y": 19457.96680616676 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "Market Sell Orders", + "id": "7204c8f3-8e59-4036-97ce-b34019f87783" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Market Sell Orders", + "Plotter Module", + "Foundations", + "a9811005-1b7d-45bb-8003-0e60caab5f09" + ] + ] + } + }, + { + "type": "Product Definition", + "name": "Limit Buy Orders", + "config": "{ \n \"codeName\": \"Limit-Buy-Orders-Objects\", \n \"singularVariableName\": \"limitBuyOrdersObject\", \n \"pluralVariableName\": \"limitBuyOrdersObjects\",\n \"nodePathType\": \"array\",\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitBuyOrders.limitOrders\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}", + "project": "Foundations", + "datasets": [ + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "0c4ffd60-6ba0-4993-bccb-734ff3453eb9", + "savedPayload": { + "position": { + "x": 26180.453171723828, + "y": 20057.033580759587 + }, + "targetPosition": { + "x": 26034.327360849536, + "y": 19885.94223849958 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "9b9261de-93a2-491c-ab0e-870ae41aa01b", + "savedPayload": { + "position": { + "x": 26103.8561845839, + "y": 20099.92995466599 + }, + "targetPosition": { + "x": 26034.327360849536, + "y": 19885.94223849958 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "record": { + "type": "Record Definition", + "name": "New Record Definition", + "project": "Foundations", + "properties": [ + { + "type": "Record Property", + "name": "Exchange Id", + "config": "{\n \"codeName\": \"exchangeId\",\n \"isString\": true\n}", + "project": "Foundations", + "id": "15e62554-bc39-4e57-bc45-2210a4141f8f", + "savedPayload": { + "position": { + "x": 26236.999196700668, + "y": 20155.87578004475 + }, + "targetPosition": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Serial Number", + "config": "{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "e57f9b1d-aa1a-4c8b-a125-9b89c895f334", + "savedPayload": { + "position": { + "x": 26229.54327004697, + "y": 20183.13005768412 + }, + "targetPosition": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Identifier", + "config": "{\n \"codeName\": \"identifier\",\n \"isString\": true\n}", + "project": "Foundations", + "id": "c4ef503f-863a-46b6-b4b3-e65f775ace08", + "savedPayload": { + "position": { + "x": 26218.730268856907, + "y": 20209.234951807117 + }, + "targetPosition": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Begin", + "config": "{\n \"codeName\": \"begin\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "5ba4ede3-ea1d-4cf3-bfe8-cdad9c891e95", + "savedPayload": { + "position": { + "x": 26204.73072061863, + "y": 20233.778772639114 + }, + "targetPosition": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End", + "config": "{\n \"codeName\": \"end\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "c7f006b3-f438-42ed-bdc1-a9f50d0c089e", + "savedPayload": { + "position": { + "x": 26187.765406570776, + "y": 20256.374449463827 + }, + "targetPosition": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Rate", + "config": "{ \n\"codeName\": \"rate\",\n\"isString\": false,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "be116caf-df7c-4d43-b99c-bf6a5f2debbf", + "savedPayload": { + "position": { + "x": 26168.10187985047, + "y": 20276.66563495972 + }, + "targetPosition": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Exit Type", + "config": "{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "e356a0fd-4603-409f-8e96-580ecf98b1e5", + "savedPayload": { + "position": { + "x": 26146.050246020506, + "y": 20294.332325010164 + }, + "targetPosition": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Status", + "config": "{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "67832a73-f7eb-48b1-a5df-a47b998bf171", + "savedPayload": { + "position": { + "x": 26121.958272519398, + "y": 20309.095905359492 + }, + "targetPosition": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Order Name", + "config": "{ \n\"codeName\": \"orderName\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "7db33195-373b-4e97-b2bd-a9cf1c16da7b", + "savedPayload": { + "position": { + "x": 26096.205904161103, + "y": 20320.723545526256 + }, + "targetPosition": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Situation Name", + "config": "{ \n\"codeName\": \"situationName\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "74710f4c-6154-48cb-81fb-8ce6e48a7913", + "savedPayload": { + "position": { + "x": 26069.19927117835, + "y": 20329.031870679013 + }, + "targetPosition": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Algorithm Name", + "config": "{ \n\"codeName\": \"algorithmName\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "4e9959ec-b33b-425a-96da-ff72fe8fa0c2", + "savedPayload": { + "position": { + "x": 26041.364284306255, + "y": 20333.88985356695 + }, + "targetPosition": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Periods", + "config": "{ \n\"codeName\": \"periods\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderCounters\"\n}", + "project": "Foundations", + "id": "fed34ebb-ff06-46d8-a472-21de56779cae", + "savedPayload": { + "position": { + "x": 26013.13991791561, + "y": 20335.22088089791 + }, + "targetPosition": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Percentage Filled", + "config": "{\n \"codeName\": \"percentageFilled\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderStatistics\",\n \"decimals\": 2\n}", + "project": "Foundations", + "id": "0c38f329-9b63-4c50-952e-96ca058f2118", + "savedPayload": { + "position": { + "x": 25984.971287124812, + "y": 20333.00396157576 + }, + "targetPosition": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Actual Rate", + "config": "{ \n\"codeName\": \"actualRate\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderStatistics\"\n}", + "project": "Foundations", + "id": "51f04f2f-3690-4cc2-9abc-7e1b4e2b8cdd", + "savedPayload": { + "position": { + "x": 25957.30262806856, + "y": 20327.27405774254 + }, + "targetPosition": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Days", + "config": "{ \n\"codeName\": \"days\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderStatistics\",\n \"decimals\": 2\n}", + "project": "Foundations", + "id": "8b8a8ccb-54d2-4a89-ae0d-ff07aa85eb4c", + "savedPayload": { + "position": { + "x": 25930.570292028624, + "y": 20318.121533404574 + }, + "targetPosition": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "User Defined Statistic 1", + "config": "{ \n\"codeName\": \"userDefinedStatistic1\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 0\n}", + "project": "Foundations", + "id": "081eb0db-a8b6-4776-a65c-6c94c725f5ab", + "savedPayload": { + "position": { + "x": 25905.19586391348, + "y": 20305.69072933813 + }, + "targetPosition": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "User Defined Statistic 2", + "config": "{ \n\"codeName\": \"userDefinedStatistic2\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 1\n}", + "project": "Foundations", + "id": "6901682d-8710-4662-9dde-91ca78f2b047", + "savedPayload": { + "position": { + "x": 25881.579513612447, + "y": 20290.17768674913 + }, + "targetPosition": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "User Defined Statistic 3", + "config": "{ \n\"codeName\": \"userDefinedStatistic3\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 2\n}", + "project": "Foundations", + "id": "c39822a8-aa07-47f3-bbd0-a7930d29a83f", + "savedPayload": { + "position": { + "x": 25860.0936850775, + "y": 20271.827055586255 + }, + "targetPosition": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Size In Base Asset", + "config": "{\n \"codeName\": \"sizeInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderBaseAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "06508493-a961-444c-9d47-bf157d1237cc", + "savedPayload": { + "position": { + "x": 25841.077222659645, + "y": 20250.92823626507 + }, + "targetPosition": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Size In Quoted Asset", + "config": "{\n \"codeName\": \"sizeInQuotedAsset\",\n \"isString\": false,\n \"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderQuotedAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "1d83029d-d9f5-4a61-92ad-5f6b36c32fe6", + "savedPayload": { + "position": { + "x": 25824.8300273311, + "y": 20227.810815650624 + }, + "targetPosition": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Size Filled In Base Asset", + "config": "{\n \"codeName\": \"sizeFilledInBaseAsset\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderBaseAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "0ce60770-d7cd-4cd3-8c4f-60c67f5513a8", + "savedPayload": { + "position": { + "x": 25811.608327067795, + "y": 20202.839369275684 + }, + "targetPosition": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Size Filled In Quoted Asset", + "config": "{\n \"codeName\": \"sizeFilledInQuotedAsset\",\n \"isString\": false,\n \"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderQuotedAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "2eb7fb30-b2c0-432d-8bfb-bed853e03bdb", + "savedPayload": { + "position": { + "x": 25801.620635981144, + "y": 20176.407711766806 + }, + "targetPosition": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Fees Paid In Base Asset", + "config": "{ \n\"codeName\": \"feesPaidInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderBaseAsset\",\n \"childProperty\": \"feesPaid\"\n}", + "project": "Foundations", + "id": "25bbc068-9fa3-4562-9402-8d9e1787eee7", + "savedPayload": { + "position": { + "x": 25795.024465925944, + "y": 20148.932686152402 + }, + "targetPosition": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Fees Paid In Quoted Asset", + "config": "{\n \"codeName\": \"feesPaidInQuotedAsset\",\n \"isString\": false,\n \"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitBuyOrders.limitOrders[index].orderQuotedAsset\",\n \"childProperty\": \"feesPaid\"\n}", + "project": "Foundations", + "id": "21a473b1-a358-43e9-ab76-62d73f24a357", + "savedPayload": { + "position": { + "x": 25791.923842444325, + "y": 20120.847589999205 + }, + "targetPosition": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "696c08b6-25f6-46f3-90ae-f7c3f49bd202", + "savedPayload": { + "position": { + "x": 26016.67406431077, + "y": 20110.248638589535 + }, + "targetPosition": { + "x": 26034.327360849536, + "y": 19885.94223849958 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "s" + } + } + }, + "id": "8dd06657-e77e-4929-8d96-66db46699f13", + "savedPayload": { + "position": { + "x": 26034.327360849536, + "y": 19885.94223849958 + }, + "targetPosition": { + "x": 25895.26971338081, + "y": 19457.96680616676 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "Limit Buy Orders", + "id": "87d308b1-e21c-4d99-8eb6-2b944501e74a" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Limit Buy Orders", + "Plotter Module", + "Foundations", + "7e3120c7-a0c9-483c-ada9-8c53deb10f33" + ] + ] + } + }, + { + "type": "Product Definition", + "name": "Limit Sell Orders", + "config": "{ \n \"codeName\": \"Limit-Sell-Orders-Objects\", \n \"singularVariableName\": \"limitSellOrdersObject\", \n \"pluralVariableName\": \"limitSellOrdersObjects\",\n \"nodePathType\": \"array\",\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitSellOrders.limitOrders\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}", + "project": "Foundations", + "datasets": [ + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "800afffe-8970-4093-a192-6e6e414bfa18", + "savedPayload": { + "position": { + "x": 25773.86536245085, + "y": 20110.248638589535 + }, + "targetPosition": { + "x": 25756.212065912085, + "y": 19885.94223849958 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "528e049a-f05e-46df-96d7-df0ad5fc44fa", + "savedPayload": { + "position": { + "x": 25686.68324217772, + "y": 20099.92995466599 + }, + "targetPosition": { + "x": 25756.212065912085, + "y": 19885.94223849958 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "record": { + "type": "Record Definition", + "name": "New Record Definition", + "project": "Foundations", + "properties": [ + { + "type": "Record Property", + "name": "Exchange Id", + "config": "{\n \"codeName\": \"exchangeId\",\n \"isString\": true\n}", + "project": "Foundations", + "id": "fcfd5e13-828b-474d-bf24-b18d8a761c09", + "savedPayload": { + "position": { + "x": 25958.36970165689, + "y": 20738.28456987015 + }, + "targetPosition": { + "x": 25504.086255037793, + "y": 20239.033580759587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Serial Number", + "config": "{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "d0781372-f6a8-4267-b529-a145aa10ed65", + "savedPayload": { + "position": { + "x": 25892.214800167007, + "y": 20791.284640021477 + }, + "targetPosition": { + "x": 25504.086255037793, + "y": 20239.033580759587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Identifier", + "config": "{\n \"codeName\": \"identifier\",\n \"isString\": true\n}", + "project": "Foundations", + "id": "9f8bcd7f-759f-4924-9c0f-fd68216d9890", + "savedPayload": { + "position": { + "x": 25819.93887966368, + "y": 20835.575381069455 + }, + "targetPosition": { + "x": 25504.086255037793, + "y": 20239.033580759587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Begin", + "config": "{\n \"codeName\": \"begin\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "ca7f30b2-0db5-40de-93e3-e6f42e1d7269", + "savedPayload": { + "position": { + "x": 25742.681774588793, + "y": 20870.458301569746 + }, + "targetPosition": { + "x": 25504.086255037793, + "y": 20239.033580759587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End", + "config": "{\n \"codeName\": \"end\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "a7003d56-7827-4896-8661-d805f23de911", + "savedPayload": { + "position": { + "x": 25661.66187564053, + "y": 20895.38327702802 + }, + "targetPosition": { + "x": 25504.086255037793, + "y": 20239.033580759587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Rate", + "config": "{\n \"codeName\": \"rate\",\n \"isString\": false,\n \"isCalculated\": false\n}", + "project": "Foundations", + "id": "5f7657d5-009e-492a-a50b-bae7ae99cadd", + "savedPayload": { + "position": { + "x": 25578.15691502425, + "y": 20909.957225691833 + }, + "targetPosition": { + "x": 25504.086255037793, + "y": 20239.033580759587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Exit Type", + "config": "{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "2daf2765-eb7c-40b3-9c0b-a36f23a46014", + "savedPayload": { + "position": { + "x": 25493.483815852316, + "y": 20913.950307684707 + }, + "targetPosition": { + "x": 25504.086255037793, + "y": 20239.033580759587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Status", + "config": "{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "5b1e1b7a-1b15-47ce-93cb-9c4329f64085", + "savedPayload": { + "position": { + "x": 25408.977923479924, + "y": 20907.299549718264 + }, + "targetPosition": { + "x": 25504.086255037793, + "y": 20239.033580759587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Order Name", + "config": "{ \n\"codeName\": \"orderName\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "747a66fe-f655-4753-b52e-14490453878c", + "savedPayload": { + "position": { + "x": 25325.971946311165, + "y": 20890.109838218603 + }, + "targetPosition": { + "x": 25504.086255037793, + "y": 20239.033580759587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Situation Name", + "config": "{ \n\"codeName\": \"situationName\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "47713ebc-2074-4eb0-92fa-a09d150e1a56", + "savedPayload": { + "position": { + "x": 25245.774938191356, + "y": 20862.652265204706 + }, + "targetPosition": { + "x": 25504.086255037793, + "y": 20239.033580759587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Algorithm Name", + "config": "{ \n\"codeName\": \"algorithmName\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "99d18f4d-5d46-4b51-9e7c-44d7139fde9f", + "savedPayload": { + "position": { + "x": 25169.65165384592, + "y": 20825.359853005368 + }, + "targetPosition": { + "x": 25504.086255037793, + "y": 20239.033580759587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Periods", + "config": "{ \n\"codeName\": \"periods\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderCounters\"\n}", + "project": "Foundations", + "id": "56229288-5d65-4a2b-9ab0-203f60a4d39f", + "savedPayload": { + "position": { + "x": 25098.802602942822, + "y": 20778.820725238373 + }, + "targetPosition": { + "x": 25504.086255037793, + "y": 20239.033580759587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Percentage Filled", + "config": "{\n \"codeName\": \"percentageFilled\",\n \"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderStatistics\",\n \"decimals\": 2\n}", + "project": "Foundations", + "id": "faf086dc-a147-4149-81ee-4399232b0a73", + "savedPayload": { + "position": { + "x": 25034.34511733798, + "y": 20723.76883174974 + }, + "targetPosition": { + "x": 25504.086255037793, + "y": 20239.033580759587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Actual Rate", + "config": "{\n \"codeName\": \"actualRate\",\n \"isString\": false,\n \"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderStatistics\"\n}", + "project": "Foundations", + "id": "ff5a7277-1e88-46ef-b6b5-e0ea5e8c96e5", + "savedPayload": { + "position": { + "x": 24977.29573008442, + "y": 20661.072373786188 + }, + "targetPosition": { + "x": 25504.086255037793, + "y": 20239.033580759587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Days", + "config": "{ \n\"codeName\": \"days\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderStatistics\",\n \"decimals\": 2\n}", + "project": "Foundations", + "id": "2ede8050-b31d-408b-ab05-1a612567d4fd", + "savedPayload": { + "position": { + "x": 24928.55414409878, + "y": 20591.720111942854 + }, + "targetPosition": { + "x": 25504.086255037793, + "y": 20239.033580759587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "User Defined Statistic 1", + "config": "{\n \"codeName\": \"userDefinedStatistic1\",\n \"isString\": false,\n \"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderStatistics\",\n \"childProperty\": \"userDefinedStatistics\",\n \"index\": 0\n}", + "project": "Foundations", + "id": "ab32a9f0-d792-430c-bdbf-9f42aa4318b1", + "savedPayload": { + "position": { + "x": 24888.889043308867, + "y": 20516.805772818036 + }, + "targetPosition": { + "x": 25504.086255037793, + "y": 20239.033580759587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "User Defined Statistic 2", + "config": "{ \n\"codeName\": \"userDefinedStatistic2\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 1\n}", + "project": "Foundations", + "id": "ebda735f-98a5-4eae-9799-33ad10b41f9d", + "savedPayload": { + "position": { + "x": 24858.92597004892, + "y": 20437.510800291395 + }, + "targetPosition": { + "x": 25504.086255037793, + "y": 20239.033580759587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "User Defined Statistic 3", + "config": "{ \n\"codeName\": \"userDefinedStatistic3\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 2\n}", + "project": "Foundations", + "id": "880b2283-cd5c-418c-9fad-b45e125686d5", + "savedPayload": { + "position": { + "x": 24839.13745988332, + "y": 20355.08572344819 + }, + "targetPosition": { + "x": 25504.086255037793, + "y": 20239.033580759587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Size In Base Asset", + "config": "{\n \"codeName\": \"sizeInBaseAsset\",\n \"isString\": false,\n \"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderBaseAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "1ec44947-71bd-48e5-9641-02d9aec68057", + "savedPayload": { + "position": { + "x": 24829.835589438462, + "y": 20270.8304349886 + }, + "targetPosition": { + "x": 25504.086255037793, + "y": 20239.033580759587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Size In Quoted Asset", + "config": "{\n \"codeName\": \"sizeInQuotedAsset\",\n \"isString\": false,\n \"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderQuotedAsset\",\n \"childProperty\": \"size\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "20a971d3-8d32-4d4f-be87-211cde4d0c85", + "savedPayload": { + "position": { + "x": 24831.16705476793, + "y": 20186.07369114329 + }, + "targetPosition": { + "x": 25504.086255037793, + "y": 20239.033580759587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Size Filled In Base Asset", + "config": "{\n \"codeName\": \"sizeFilledInBaseAsset\",\n \"isString\": false,\n \"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderBaseAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "3a294c9f-e0ad-4dc6-adff-d0541464a20d", + "savedPayload": { + "position": { + "x": 24843.1108578681, + "y": 20102.152156393942 + }, + "targetPosition": { + "x": 25504.086255037793, + "y": 20239.033580759587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Size Filled In Quoted Asset", + "config": "{\n \"codeName\": \"sizeFilledInQuotedAsset\",\n \"isString\": false,\n \"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderQuotedAsset\",\n \"childProperty\": \"sizeFilled\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "7b10a90a-50bb-432a-8d0d-2cff9de18e03", + "savedPayload": { + "position": { + "x": 24865.4786378292, + "y": 20020.389323475836 + }, + "targetPosition": { + "x": 25504.086255037793, + "y": 20239.033580759587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Fees Paid In Base Asset", + "config": "{ \n\"codeName\": \"feesPaidInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderBaseAsset\",\n \"childProperty\": \"feesPaid\"\n}", + "project": "Foundations", + "id": "d14925a6-dae0-4d29-afee-54dd94d7fb8d", + "savedPayload": { + "position": { + "x": 24897.917641399377, + "y": 19942.074641106843 + }, + "targetPosition": { + "x": 25504.086255037793, + "y": 20239.033580759587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Fees Paid In Quoted Asset", + "config": "{\n \"codeName\": \"feesPaidInQuotedAsset\",\n \"isString\": false,\n \"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.exchangeOrders.limitSellOrders.limitOrders[index].orderQuotedAsset\",\n \"childProperty\": \"feesPaid\"\n}", + "project": "Foundations", + "id": "88d3c76e-be1f-40ef-8db5-8b05e7eab19f", + "savedPayload": { + "position": { + "x": 24939.91628611421, + "y": 19868.44317861085 + }, + "targetPosition": { + "x": 25504.086255037793, + "y": 20239.033580759587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "8c9649f8-a28d-47dc-828d-53195f95664a", + "savedPayload": { + "position": { + "x": 25610.086255037793, + "y": 20057.033580759587 + }, + "targetPosition": { + "x": 25756.212065912085, + "y": 19885.94223849958 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "s" + } + } + }, + "id": "f57db651-e687-4680-9e4a-548e43331910", + "savedPayload": { + "position": { + "x": 25756.212065912085, + "y": 19885.94223849958 + }, + "targetPosition": { + "x": 25895.26971338081, + "y": 19457.96680616676 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "Limit Sell Orders", + "id": "911175ef-0faa-402d-b2c3-30e4b374f28d" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Limit Sell Orders", + "Plotter Module", + "Foundations", + "fb243322-ec2a-4f03-bb77-e97e4699d1c6" + ] + ] + } + } + ], + "productDefinitionFolders": [], + "id": "a73da1dc-761e-455d-bf12-696320c50d2c", + "savedPayload": { + "position": { + "x": 25895.26971338081, + "y": 19457.96680616676 + }, + "targetPosition": { + "x": 25630.766349849197, + "y": 19093.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Product Definition Folder", + "name": "Stages", + "project": "Foundations", + "products": [ + { + "type": "Product Definition", + "name": "Trigger Stages", + "config": "{\n \"codeName\": \"Trigger-Stages-Objects\",\n \"singularVariableName\": \"triggerStagesObject\",\n \"pluralVariableName\": \"triggerStagesObjects\",\n \"nodePath\": \"portfolioEngine.portfolioCurrent.strategyTriggerStage\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}", + "project": "Foundations", + "datasets": [ + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "764be776-77b6-4e5e-b559-56aebd059d76", + "savedPayload": { + "position": { + "x": 26284.590683831746, + "y": 19795.81240486327 + }, + "targetPosition": { + "x": 26061.51559002264, + "y": 19766.44401161376 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "850956be-f691-4c50-9b3e-714b6daa0dd4", + "savedPayload": { + "position": { + "x": 26256.371305874138, + "y": 19878.94401161376 + }, + "targetPosition": { + "x": 26061.51559002264, + "y": 19766.44401161376 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "record": { + "type": "Record Definition", + "name": "New Record Definition", + "project": "Foundations", + "properties": [ + { + "type": "Record Property", + "name": "Begin", + "config": "{\n \"codeName\": \"begin\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "98814463-8932-4672-b99f-37f6d528f982", + "savedPayload": { + "position": { + "x": 26418.74353937657, + "y": 19898.99181727661 + }, + "targetPosition": { + "x": 26198.4869115496, + "y": 19944.948513179286 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End", + "config": "{\n \"codeName\": \"end\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "c66e2f84-ec9f-41b6-90a9-56eb782a035f", + "savedPayload": { + "position": { + "x": 26416.871139226612, + "y": 19999.108730146305 + }, + "targetPosition": { + "x": 26198.4869115496, + "y": 19944.948513179286 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Exit Type", + "config": "{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "7e865c93-c4ab-4658-ba95-b8915af7cbec", + "savedPayload": { + "position": { + "x": 26371.745064478433, + "y": 20088.49854781421 + }, + "targetPosition": { + "x": 26198.4869115496, + "y": 19944.948513179286 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Status", + "config": "{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "e494d0c0-7613-4c6a-b28a-e088f2a698b1", + "savedPayload": { + "position": { + "x": 26292.303087670898, + "y": 20149.456520597032 + }, + "targetPosition": { + "x": 26198.4869115496, + "y": 19944.948513179286 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Begin Rate", + "config": "{ \n\"codeName\": \"beginRate\",\n\"isString\": false,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "b9787565-e3ed-4ce6-83e9-f619f748a96e", + "savedPayload": { + "position": { + "x": 26194.279666602648, + "y": 20169.909174384655 + }, + "targetPosition": { + "x": 26198.4869115496, + "y": 19944.948513179286 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End Rate", + "config": "{ \n\"codeName\": \"endRate\",\n\"isString\": false,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "2abcf24f-24cf-456c-a902-2e684b495203", + "savedPayload": { + "position": { + "x": 26097.089541994614, + "y": 20145.8056102591 + }, + "targetPosition": { + "x": 26198.4869115496, + "y": 19944.948513179286 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "f6d0cf17-175a-4cc4-925c-c693870b70b5", + "savedPayload": { + "position": { + "x": 26198.4869115496, + "y": 19944.948513179286 + }, + "targetPosition": { + "x": 26061.51559002264, + "y": 19766.44401161376 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "s" + } + } + }, + "id": "9b0b1f85-22da-476b-bf43-885b18503aba", + "savedPayload": { + "position": { + "x": 26061.51559002264, + "y": 19766.44401161376 + }, + "targetPosition": { + "x": 25671.80415831964, + "y": 19541.44401161376 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "Trigger Stage Objects", + "id": "f9ff4fcc-89ab-462a-b122-3551ee96f500" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Trigger Stage Objects", + "Plotter Module", + "Foundations", + "6c6cddbc-cd78-445f-9498-8627ac99563d" + ] + ] + } + }, + { + "type": "Product Definition", + "name": "Open Stages", + "config": "{\n \"codeName\": \"Open-Stages-Objects\",\n \"singularVariableName\": \"openStagesObject\",\n \"pluralVariableName\": \"openStagesObjects\",\n \"nodePath\": \"portfolioEngine.portfolioCurrent.strategyOpenStage\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}", + "project": "Foundations", + "datasets": [ + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "6167470a-dfc2-46db-acd9-b2998bf9d7cc", + "savedPayload": { + "position": { + "x": 28373.707029723693, + "y": 21943.181223881533 + }, + "targetPosition": { + "x": 27715.890665744766, + "y": 20995.956881749862 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "4441bc50-75cb-4045-ac22-36648087c67e", + "savedPayload": { + "position": { + "x": 27961.141162604166, + "y": 22122.898371385396 + }, + "targetPosition": { + "x": 27715.890665744766, + "y": 20995.956881749862 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "record": { + "type": "Record Definition", + "name": "New Record Definition", + "project": "Foundations", + "properties": [ + { + "type": "Record Property", + "name": "Begin", + "config": "{\n \"codeName\": \"begin\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "75a90bd9-d86b-4680-90ff-789993f17b1f", + "savedPayload": { + "position": { + "x": 28443.617968543527, + "y": 22806.931483036184 + }, + "targetPosition": { + "x": 27511.065609901678, + "y": 22130.86108419986 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End", + "config": "{\n \"codeName\": \"end\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "ae1b2351-32ab-4d5d-91fe-cacd4e659d7d", + "savedPayload": { + "position": { + "x": 28057.79960390537, + "y": 23144.714402233512 + }, + "targetPosition": { + "x": 27511.065609901678, + "y": 22130.86108419986 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Exit Type", + "config": "{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "5885f427-6890-47d1-a3c8-aa1bf5ee12f3", + "savedPayload": { + "position": { + "x": 27563.7473986755, + "y": 23281.54046886116 + }, + "targetPosition": { + "x": 27511.065609901678, + "y": 22130.86108419986 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Status", + "config": "{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "64fe419e-71d4-42a9-b599-2d98e3256ca3", + "savedPayload": { + "position": { + "x": 27059.479603810403, + "y": 23190.544313965263 + }, + "targetPosition": { + "x": 27511.065609901678, + "y": 22130.86108419986 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Begin Rate", + "config": "{ \n\"codeName\": \"beginRate\",\n\"isString\": false,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "c7184380-4bfa-4952-a403-d16c8bef00c6", + "savedPayload": { + "position": { + "x": 26644.40789621178, + "y": 22889.578320194545 + }, + "targetPosition": { + "x": 27511.065609901678, + "y": 22130.86108419986 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End Rate", + "config": "{ \n\"codeName\": \"endRate\",\n\"isString\": false,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "c19db13e-8958-48fc-857c-60cc3935eb99", + "savedPayload": { + "position": { + "x": 26400.935766278486, + "y": 22438.370679106345 + }, + "targetPosition": { + "x": 27511.065609901678, + "y": 22130.86108419986 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "e5dd733e-16c6-4296-a4c4-9acf1a4c58b0", + "savedPayload": { + "position": { + "x": 27511.065609901678, + "y": 22130.86108419986 + }, + "targetPosition": { + "x": 27715.890665744766, + "y": 20995.956881749862 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "s" + } + } + }, + "id": "f9c21f73-3a43-4de4-9f19-644535989088", + "savedPayload": { + "position": { + "x": 25854.83564770375, + "y": 19952.53946755293 + }, + "targetPosition": { + "x": 25671.80415831964, + "y": 19541.44401161376 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "Open Stage Objects", + "id": "a0c976cd-efbd-441f-87ba-65b228683c37" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Open Stage Objects", + "Plotter Module", + "Foundations", + "8f7cad9f-153d-44e6-bdc2-812bc97e3929" + ] + ] + } + }, + { + "type": "Product Definition", + "name": "Manage Stages", + "config": "{\n \"codeName\": \"Manage-Stages-Objects\",\n \"singularVariableName\": \"manageStagesObject\",\n \"pluralVariableName\": \"manageStagesObjects\",\n \"nodePath\": \"portfolioEngine.portfolioCurrent.strategyManageStage\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}", + "project": "Foundations", + "datasets": [ + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "cca4bf61-822d-4a85-826c-7cbc4fde1898", + "savedPayload": { + "position": { + "x": 27639.279082673325, + "y": 21520.334240944314 + }, + "targetPosition": { + "x": 27144.5000853045, + "y": 20674.782242761798 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "4ed73380-a160-4e91-ba4f-a8edcb4b0eb6", + "savedPayload": { + "position": { + "x": 27277.9337320093, + "y": 21645.351128599577 + }, + "targetPosition": { + "x": 27144.5000853045, + "y": 20674.782242761798 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "record": { + "type": "Record Definition", + "name": "New Record Definition", + "project": "Foundations", + "properties": [ + { + "type": "Record Property", + "name": "Begin", + "config": "{\n \"codeName\": \"begin\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "186f66ea-3a8d-4ed6-a4ef-191f54a37224", + "savedPayload": { + "position": { + "x": 27641.669698537313, + "y": 22256.62198763834 + }, + "targetPosition": { + "x": 26896.313881956765, + "y": 21622.498490081955 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End", + "config": "{\n \"codeName\": \"end\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "c49eb820-d1d6-4a21-9dd8-aea852ebab7e", + "savedPayload": { + "position": { + "x": 27292.631187501993, + "y": 22517.27059184092 + }, + "targetPosition": { + "x": 26896.313881956765, + "y": 21622.498490081955 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Exit Type", + "config": "{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "045a96b3-ecf9-4626-b7ce-e6ae9a5e3c34", + "savedPayload": { + "position": { + "x": 26865.404328078897, + "y": 22600.670421910472 + }, + "targetPosition": { + "x": 26896.313881956765, + "y": 21622.498490081955 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Status", + "config": "{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "cd5ed0d7-eade-48d8-9117-6dfffdbcb188", + "savedPayload": { + "position": { + "x": 26444.020672169576, + "y": 22490.32637438897 + }, + "targetPosition": { + "x": 26896.313881956765, + "y": 21622.498490081955 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Begin Rate", + "config": "{ \n\"codeName\": \"beginRate\",\n\"isString\": false,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "c594f34e-cee9-4ca2-a047-e29d3a4e651f", + "savedPayload": { + "position": { + "x": 26112.24411025497, + "y": 22208.085325266205 + }, + "targetPosition": { + "x": 26896.313881956765, + "y": 21622.498490081955 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End Rate", + "config": "{ \n\"codeName\": \"endRate\",\n\"isString\": false,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "8b87e45a-2f4e-4a88-95c1-f16f8ff6508b", + "savedPayload": { + "position": { + "x": 25935.7904791177, + "y": 21809.82069144251 + }, + "targetPosition": { + "x": 26896.313881956765, + "y": 21622.498490081955 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "9fef6b7a-d854-4df5-89a9-9e2a147819ca", + "savedPayload": { + "position": { + "x": 26896.313881956765, + "y": 21622.498490081955 + }, + "targetPosition": { + "x": 27144.5000853045, + "y": 20674.782242761798 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "s" + } + } + }, + "id": "fdefcd33-ccc3-4c5c-8cd8-70396eedef00", + "savedPayload": { + "position": { + "x": 25578.243897451648, + "y": 19981.610431943973 + }, + "targetPosition": { + "x": 25671.80415831964, + "y": 19541.44401161376 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "Manage Stage Objects", + "id": "5484d680-3365-4aba-810a-823d7d2e5efb" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Manage Stage Objects", + "Plotter Module", + "Foundations", + "768a5cc5-72db-4218-9a8b-706c51186b3d" + ] + ] + } + }, + { + "type": "Product Definition", + "name": "Close Stages", + "config": "{\n \"codeName\": \"Close-Stages-Objects\",\n \"singularVariableName\": \"closeStagesObject\",\n \"pluralVariableName\": \"closeStagesObjects\",\n \"nodePath\": \"portfolioEngine.portfolioCurrent.strategyCloseStage\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}", + "project": "Foundations", + "datasets": [ + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "d62cbe1d-42a5-4110-8ad3-ac157ff3c664", + "savedPayload": { + "position": { + "x": 27323.010286867844, + "y": 21584.230286052374 + }, + "targetPosition": { + "x": 26887.095882152145, + "y": 20706.875447665683 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "1a7068da-ac3e-4c04-a661-0b9bb267bb14", + "savedPayload": { + "position": { + "x": 26953.97186232335, + "y": 21684.284593981283 + }, + "targetPosition": { + "x": 26887.095882152145, + "y": 20706.875447665683 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "record": { + "type": "Record Definition", + "name": "New Record Definition", + "project": "Foundations", + "properties": [ + { + "type": "Record Property", + "name": "Begin", + "config": "{\n \"codeName\": \"begin\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "391a79c4-3010-4978-8d65-ea5f4dc786b7", + "savedPayload": { + "position": { + "x": 27275.125665369484, + "y": 22318.960066855667 + }, + "targetPosition": { + "x": 26574.75090268349, + "y": 21635.396583653623 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End", + "config": "{\n \"codeName\": \"end\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "233a01ee-bd5e-4963-aea0-d8fa972e475b", + "savedPayload": { + "position": { + "x": 26909.097531964035, + "y": 22555.19260857014 + }, + "targetPosition": { + "x": 26574.75090268349, + "y": 21635.396583653623 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Exit Type", + "config": "{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "09e94523-c701-4a7c-911c-bc8aea5e32ea", + "savedPayload": { + "position": { + "x": 26477.14858213295, + "y": 22609.227206749492 + }, + "targetPosition": { + "x": 26574.75090268349, + "y": 21635.396583653623 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Status", + "config": "{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "4e93b291-0721-4c8d-ab61-911aff892598", + "savedPayload": { + "position": { + "x": 26064.25981417527, + "y": 22470.37699923069 + }, + "targetPosition": { + "x": 26574.75090268349, + "y": 21635.396583653623 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Begin Rate", + "config": "{ \n\"codeName\": \"beginRate\",\n\"isString\": false,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "be9b5fd0-330b-44f3-b6e9-1c0e49bf5fab", + "savedPayload": { + "position": { + "x": 25752.504283558927, + "y": 22166.137791864545 + }, + "targetPosition": { + "x": 26574.75090268349, + "y": 21635.396583653623 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End Rate", + "config": "{ \n\"codeName\": \"endRate\",\n\"isString\": false,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "e68d22f3-9155-447a-8b78-c2b0a3fad230", + "savedPayload": { + "position": { + "x": 25603.6316206365, + "y": 21756.740680435716 + }, + "targetPosition": { + "x": 26574.75090268349, + "y": 21635.396583653623 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "0c65dea3-f71a-415f-a3ba-607b91b37b43", + "savedPayload": { + "position": { + "x": 26574.75090268349, + "y": 21635.396583653623 + }, + "targetPosition": { + "x": 26887.095882152145, + "y": 20706.875447665683 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "s" + } + } + }, + "id": "f6bd8c11-c5af-489c-ba7c-67c5a8af0af6", + "savedPayload": { + "position": { + "x": 25337.38898685481, + "y": 19842.552784475247 + }, + "targetPosition": { + "x": 25671.80415831964, + "y": 19541.44401161376 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "Close Stage Objects", + "id": "9fa4e406-b880-4023-8154-41b5d5718ea5" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Close Stage Objects", + "Plotter Module", + "Foundations", + "de84947f-ec29-4125-a2b3-a3da595d1653" + ] + ] + } + } + ], + "productDefinitionFolders": [], + "id": "5bd064a5-f843-4f01-b922-55186a690f33", + "savedPayload": { + "position": { + "x": 25677.80415831964, + "y": 19541.44401161376 + }, + "targetPosition": { + "x": 25630.766349849197, + "y": 19093.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Product Definition Folder", + "name": "Position", + "project": "Foundations", + "products": [ + { + "type": "Product Definition", + "name": "Positions", + "config": "{\n \"codeName\": \"Position-Objects\",\n \"singularVariableName\": \"positionObject\",\n \"pluralVariableName\": \"positionObjects\",\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}", + "project": "Foundations", + "datasets": [ + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "494ab82c-3f1b-4556-8478-0e8c00e6a8d4", + "savedPayload": { + "position": { + "x": 25898.08226097637, + "y": 19986.624439167023 + }, + "targetPosition": { + "x": 25706.2382239967, + "y": 19869.062262105934 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "7882b24c-d24a-4ede-b516-cff697f11ed9", + "savedPayload": { + "position": { + "x": 25838.489905762508, + "y": 20051.091085840297 + }, + "targetPosition": { + "x": 25706.2382239967, + "y": 19869.062262105934 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "record": { + "type": "Record Definition", + "name": "New Record Definition", + "project": "Foundations", + "properties": [ + { + "type": "Record Property", + "name": "Serial Number", + "config": "{\n \"codeName\": \"serialNumber\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "f07f7961-2fd5-4c78-865d-a32d40340dbc", + "savedPayload": { + "position": { + "x": 26808.63942670345, + "y": 20626.7216174658 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Identifier", + "config": "{\n \"codeName\": \"identifier\",\n \"isString\": true\n}", + "project": "Foundations", + "id": "f8f26a30-2bde-4104-8686-0228ab147d5c", + "savedPayload": { + "position": { + "x": 26816.030643945018, + "y": 20720.635936986757 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Begin", + "config": "{\n \"codeName\": \"begin\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "734ec386-503b-45b3-9815-626f68acb325", + "savedPayload": { + "position": { + "x": 26813.564651826833, + "y": 20814.808376618905 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End", + "config": "{\n \"codeName\": \"end\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "3118a521-63c2-4ad0-a068-16788885bbc6", + "savedPayload": { + "position": { + "x": 26801.268468274575, + "y": 20908.207163406776 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Exit Type", + "config": "{ \n\"codeName\": \"exitType\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "19e8a804-1172-42a6-86f7-8c33a4beff13", + "savedPayload": { + "position": { + "x": 26779.27681284839, + "y": 20999.809000697376 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Status", + "config": "{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "03c824df-ac47-4f45-afd4-028e8ecb5693", + "savedPayload": { + "position": { + "x": 26747.830630727174, + "y": 21088.610279592427 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Begin Rate", + "config": "{ \n\"codeName\": \"beginRate\",\n\"isString\": false,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "b5051606-df3a-4e8d-8943-e2d890be6d9a", + "savedPayload": { + "position": { + "x": 26707.274452862785, + "y": 21173.638074697494 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End Rate", + "config": "{ \n\"codeName\": \"endRate\",\n\"isString\": false,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "74f62103-3152-4258-a746-2753fd79780a", + "savedPayload": { + "position": { + "x": 26658.05262122683, + "y": 21253.960803696194 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Situation Name", + "config": "{ \n\"codeName\": \"situationName\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "120cbb9e-cff1-4485-9011-e5b9291a13a1", + "savedPayload": { + "position": { + "x": 26600.704420507045, + "y": 21328.69843396101 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Periods", + "config": "{ \n\"codeName\": \"periods\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionCounters\"\n}", + "project": "Foundations", + "id": "a2e85d54-bd84-4054-8f05-2cd86af0a3e6", + "savedPayload": { + "position": { + "x": 26535.858169591396, + "y": 21397.032124374902 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "User Defined Statistic 1", + "config": "{ \n\"codeName\": \"userDefinedStatistic1\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 0\n}", + "project": "Foundations", + "id": "d0c21757-c858-49ac-893d-5130eb8d33f7", + "savedPayload": { + "position": { + "x": 26464.224337574866, + "y": 21458.213196725956 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "User Defined Statistic 2", + "config": "{ \n\"codeName\": \"userDefinedStatistic2\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 1\n}", + "project": "Foundations", + "id": "774d0186-e33f-44bd-97f5-f631ce723c2b", + "savedPayload": { + "position": { + "x": 26386.587759711372, + "y": 21511.571338382528 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "User Defined Statistic 3", + "config": "{ \n\"codeName\": \"userDefinedStatistic3\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionStatistics\",\n\"childProperty\": \"userDefinedStatistics\",\n\"index\": 2\n}", + "project": "Foundations", + "id": "0f17a08d-7111-4987-acdd-d9a635341da2", + "savedPayload": { + "position": { + "x": 26303.799038594483, + "y": 21556.521946378718 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Profit Loss In Base Asset", + "config": "{ \n\"codeName\": \"profitLossInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionBaseAsset\",\n \"childProperty\": \"profitLoss\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "f06a76ac-a07d-41d4-830d-4a6dcfd89d64", + "savedPayload": { + "position": { + "x": 26216.76522477741, + "y": 21592.572532446804 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Profit Loss In Quoted Asset", + "config": "{ \n\"codeName\": \"profitLossInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionQuotedAsset\",\n \"childProperty\": \"profitLoss\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "4304c5e1-de67-4bcd-9ceb-ca6c7e66c89c", + "savedPayload": { + "position": { + "x": 26126.439878937334, + "y": 21619.32811882175 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "ROI In Base Asset", + "config": "{ \n\"codeName\": \"ROIInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionBaseAsset\",\n \"childProperty\": \"ROI\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "b9a433c8-2903-4c87-9ff7-bbbfad6b040e", + "savedPayload": { + "position": { + "x": 26033.812624465063, + "y": 21636.495565700272 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "ROI In Quoted Asset", + "config": "{ \n\"codeName\": \"ROIInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionQuotedAsset\",\n \"childProperty\": \"ROI\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "487e584d-b004-4855-b8f6-933a79df2fa9", + "savedPayload": { + "position": { + "x": 25939.898304944105, + "y": 21643.886782941845 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Hit Fail In Base Asset", + "config": "{ \n\"codeName\": \"hitFailInBaseAsset\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionBaseAsset\",\n \"childProperty\": \"hitFail\"\n}", + "project": "Foundations", + "id": "6d4bd846-db72-4d07-8290-ba67d9b602dc", + "savedPayload": { + "position": { + "x": 25845.725865311957, + "y": 21641.420790823657 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Hit Fail In Quoted Asset", + "config": "{ \n\"codeName\": \"hitFailInQuotedAsset\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionQuotedAsset\",\n \"childProperty\": \"hitFail\"\n}", + "project": "Foundations", + "id": "14f7a093-f064-4e88-adc9-73ec978d4e33", + "savedPayload": { + "position": { + "x": 25752.327078524086, + "y": 21629.1246072714 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Entry Target Size In Base Asset", + "config": "{ \n\"codeName\": \"entryTargetSizeInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionBaseAsset\",\n \"childProperty\": \"entryTargetSize\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "39fb2257-dc1f-4642-aaff-a10745443971", + "savedPayload": { + "position": { + "x": 25660.725241233486, + "y": 21607.13295184522 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Entry Target Size In Quoted Asset", + "config": "{ \n\"codeName\": \"entryTargetSizeInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionQuotedAsset\",\n \"childProperty\": \"entryTargetSize\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "5f531b26-02cf-4a24-8344-c29e9a57e27d", + "savedPayload": { + "position": { + "x": 25571.92396233844, + "y": 21575.686769724 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Exit Target Size In Base Asset", + "config": "{ \n\"codeName\": \"exitTargetSizeInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionBaseAsset\",\n \"childProperty\": \"exitTargetSize\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "9e16ab50-b98f-4495-965d-caa0b68f3ac0", + "savedPayload": { + "position": { + "x": 25486.896167233368, + "y": 21535.13059185961 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Exit Target Size In Quoted Asset", + "config": "{ \n\"codeName\": \"exitTargetSizeInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionQuotedAsset\",\n \"childProperty\": \"exitTargetSize\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "f56fbfa0-f0a2-4be3-a647-6b4367b86674", + "savedPayload": { + "position": { + "x": 25406.573438234667, + "y": 21485.908760223658 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Entry Target Rate", + "config": "{ \n\"codeName\": \"entryTargetRate\",\n\"isString\": false,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "ca65e4ca-b87d-4ab0-a481-35987facfe63", + "savedPayload": { + "position": { + "x": 25331.835807969852, + "y": 21428.560559503872 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Exit Target Rate", + "config": "{ \n\"codeName\": \"exitTargetRate\",\n\"isString\": false,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "5b90f3fc-c6bd-4d10-8d7a-1fc1f0d3b05c", + "savedPayload": { + "position": { + "x": 25263.50211755596, + "y": 21363.714308588224 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Statistics Profit Loss", + "config": "{ \n\"codeName\": \"profitLoss\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionStatistics\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "65b31f11-a25f-4e4b-882b-72ac5f0313e3", + "savedPayload": { + "position": { + "x": 25202.321045204906, + "y": 21292.080476571693 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Statistics ROI", + "config": "{ \n\"codeName\": \"ROI\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionStatistics\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "158f3a5f-baf7-4c79-b00e-5ef2a0fcfc16", + "savedPayload": { + "position": { + "x": 25148.962903548334, + "y": 21214.4438987082 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Statistics Hit Fail", + "config": "{ \n\"codeName\": \"hitFail\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionStatistics\"\n}", + "project": "Foundations", + "id": "875de41d-fa0a-4d48-b96f-90daef38aee1", + "savedPayload": { + "position": { + "x": 25104.012295552144, + "y": 21131.65517759131 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Statistics Days", + "config": "{ \n\"codeName\": \"days\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionStatistics\",\n \"decimals\": 2\n}", + "project": "Foundations", + "id": "8243bb89-b38d-420b-b419-81f20e1a0ffb", + "savedPayload": { + "position": { + "x": 25067.961709484058, + "y": 21044.62136377424 + }, + "targetPosition": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "9ff2b84c-0bae-45fd-a6fe-6c75ea74ce2f", + "savedPayload": { + "position": { + "x": 25916.339051467017, + "y": 20744.195190463844 + }, + "targetPosition": { + "x": 25706.2382239967, + "y": 19869.062262105934 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 5, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "s" + } + } + }, + "id": "c5f12e6f-2975-4621-a3b6-b6c10fcb0c91", + "savedPayload": { + "position": { + "x": 25712.2382239967, + "y": 19869.062262105934 + }, + "targetPosition": { + "x": 25447.734860465087, + "y": 19505.004614637208 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "Position Objects", + "id": "67e28c32-67d9-46c7-9edb-99ab4e2f649e" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Objects", + "Plotter Module", + "Foundations", + "8854b5f8-8407-4a0d-9099-5456a8e4cced" + ] + ] + } + }, + { + "type": "Product Definition", + "name": "Position Base Asset", + "config": "{\n \"codeName\": \"Position-Base-Asset-Objects\",\n \"singularVariableName\": \"positionBaseAssetObject\",\n \"pluralVariableName\": \"positionBaseAssetObjects\",\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}", + "project": "Foundations", + "datasets": [ + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "be762b63-758b-4ab4-930c-3a1e15add0c5", + "savedPayload": { + "position": { + "x": 25602.13338999394, + "y": 20150.273317901872 + }, + "targetPosition": { + "x": 25494.77266893553, + "y": 19952.53946755293 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "4d78ec87-c197-4472-8e71-cea1f4373442", + "savedPayload": { + "position": { + "x": 25518.29157317075, + "y": 20176.30689401079 + }, + "targetPosition": { + "x": 25494.77266893553, + "y": 19952.53946755293 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "record": { + "type": "Record Definition", + "name": "New Record Definition", + "project": "Foundations", + "properties": [ + { + "type": "Record Property", + "name": "Begin", + "config": "{\n \"codeName\": \"begin\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "dbde3672-4089-4d83-bacc-70da32c1439d", + "savedPayload": { + "position": { + "x": 25750.653837778103, + "y": 20619.132702365794 + }, + "targetPosition": { + "x": 25366.965763818764, + "y": 20384.008348243617 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End", + "config": "{\n \"codeName\": \"end\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "14e13d35-8b22-4f72-8a16-5d822ac4fd77", + "savedPayload": { + "position": { + "x": 25676.725322880953, + "y": 20710.426815199145 + }, + "targetPosition": { + "x": 25366.965763818764, + "y": 20384.008348243617 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Status", + "config": "{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "1ebd3362-9f2c-4208-ae53-c90498781983", + "savedPayload": { + "position": { + "x": 25581.68720593559, + "y": 20779.476048941502 + }, + "targetPosition": { + "x": 25366.965763818764, + "y": 20384.008348243617 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Profit Loss In Base Asset", + "config": "{ \n\"codeName\": \"profitLossInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionBaseAsset\",\n \"childProperty\": \"profitLoss\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "fbce06af-0735-47ba-9f48-cff59e0fbd03", + "savedPayload": { + "position": { + "x": 25472.01617755392, + "y": 20821.574812422572 + }, + "targetPosition": { + "x": 25366.965763818764, + "y": 20384.008348243617 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "ROI In Base Asset", + "config": "{ \n\"codeName\": \"ROIInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionBaseAsset\",\n \"childProperty\": \"ROI\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "5d715eff-68fe-418c-82aa-3ef7f16ef140", + "savedPayload": { + "position": { + "x": 25355.18613708022, + "y": 20833.85414448262 + }, + "targetPosition": { + "x": 25366.965763818764, + "y": 20384.008348243617 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Hit Fail In Base Asset", + "config": "{ \n\"codeName\": \"hitFailInBaseAsset\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionBaseAsset\",\n \"childProperty\": \"hitFail\"\n}", + "project": "Foundations", + "id": "dc89477b-1b98-4e94-9fba-dbc350e5a17d", + "savedPayload": { + "position": { + "x": 25239.158858701998, + "y": 20815.477228934302 + }, + "targetPosition": { + "x": 25366.965763818764, + "y": 20384.008348243617 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Entry Target Size In Base Asset", + "config": "{ \n\"codeName\": \"entryTargetSizeInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionBaseAsset\",\n \"childProperty\": \"entryTargetSize\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "1e1fef9f-ec7e-4c83-8fd7-01eef48be79d", + "savedPayload": { + "position": { + "x": 25131.841409696586, + "y": 20767.696422202956 + }, + "targetPosition": { + "x": 25366.965763818764, + "y": 20384.008348243617 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Exit Target Size In Base Asset", + "config": "{ \n\"codeName\": \"exitTargetSizeInBaseAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionBaseAsset\",\n \"childProperty\": \"exitTargetSize\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "16f9444e-a9e2-4798-b592-8a37d4712ea3", + "savedPayload": { + "position": { + "x": 25040.547296863235, + "y": 20693.767907305806 + }, + "targetPosition": { + "x": 25366.965763818764, + "y": 20384.008348243617 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Entry Target Rate", + "config": "{ \n\"codeName\": \"entryTargetRate\",\n\"isString\": false,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "9596e74c-5492-4438-8c17-788cda845e8a", + "savedPayload": { + "position": { + "x": 24971.49806312088, + "y": 20598.72979036044 + }, + "targetPosition": { + "x": 25366.965763818764, + "y": 20384.008348243617 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Exit Target Rate", + "config": "{ \n\"codeName\": \"exitTargetRate\",\n\"isString\": false,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "c0c26464-1ed8-4d9c-8c85-4f0fe3104f62", + "savedPayload": { + "position": { + "x": 24929.39929963981, + "y": 20489.058761978773 + }, + "targetPosition": { + "x": 25366.965763818764, + "y": 20384.008348243617 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Candle Close", + "config": "{ \n\"codeName\": \"candleClose\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.candle\",\n \"childProperty\": \"close\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "3e471182-c6d4-4834-81ca-b41781590288", + "savedPayload": { + "position": { + "x": 24917.11996757976, + "y": 20372.228721505075 + }, + "targetPosition": { + "x": 25366.965763818764, + "y": 20384.008348243617 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "3ca30788-1923-4803-b30f-a5e0d7d9a376", + "savedPayload": { + "position": { + "x": 25366.965763818764, + "y": 20384.008348243617 + }, + "targetPosition": { + "x": 25494.77266893553, + "y": 19952.53946755293 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "s" + } + } + }, + "id": "f6b5ab54-9ccc-4b44-ab7d-f5ad1916ece2", + "savedPayload": { + "position": { + "x": 25494.77266893553, + "y": 19952.53946755293 + }, + "targetPosition": { + "x": 25447.734860465087, + "y": 19505.004614637208 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "Position Base Asset", + "id": "1ad3b378-0dbe-4015-9fe1-e95706d3da43" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Base Asset", + "Plotter Module", + "Foundations", + "42a79594-bac8-40bf-a9eb-f13716e15465" + ] + ] + } + }, + { + "type": "Product Definition", + "name": "Position Quoted Asset", + "config": "{\n \"codeName\": \"Position-Quoted-Asset-Objects\",\n \"singularVariableName\": \"positionQuotedAssetObject\",\n \"pluralVariableName\": \"positionQuotedAssetObjects\",\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position\",\n \"saveAsObjects\": true,\n \"propertyNameThatDefinesObject\": \"status\",\n \"propertyValueThatClosesObject\": \"Closed\",\n \"propertyValueThatPreventsSavingObject\": \"Not Open\"\n}", + "project": "Foundations", + "datasets": [ + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "a9100c26-dd71-4587-a7c6-55723ae9d2a5", + "savedPayload": { + "position": { + "x": 25258.813557711706, + "y": 20141.02296869588 + }, + "targetPosition": { + "x": 25264.703371080977, + "y": 19916.10007057638 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "79355a9d-f6bf-46ec-8cb9-d5235a80dd2a", + "savedPayload": { + "position": { + "x": 25173.18762638892, + "y": 20121.647798545964 + }, + "targetPosition": { + "x": 25264.703371080977, + "y": 19916.10007057638 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "record": { + "type": "Record Definition", + "name": "New Record Definition", + "project": "Foundations", + "properties": [ + { + "type": "Record Property", + "name": "Begin", + "config": "{\n \"codeName\": \"begin\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "bd4498a3-489f-4587-bd2d-8eda4a8ac396", + "savedPayload": { + "position": { + "x": 25153.006346242273, + "y": 20621.327330336455 + }, + "targetPosition": { + "x": 24938.28490412545, + "y": 20225.85962963857 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End", + "config": "{\n \"codeName\": \"end\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "3b11fb6e-7441-4744-b085-3cfe2bd887e5", + "savedPayload": { + "position": { + "x": 25043.335317860605, + "y": 20663.426093817525 + }, + "targetPosition": { + "x": 24938.28490412545, + "y": 20225.85962963857 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Status", + "config": "{ \n\"codeName\": \"status\",\n\"isString\": true,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "7b68b186-f466-466c-8f37-bf46273f6e5e", + "savedPayload": { + "position": { + "x": 24926.505277386907, + "y": 20675.70542587757 + }, + "targetPosition": { + "x": 24938.28490412545, + "y": 20225.85962963857 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Profit Loss In Quoted Asset", + "config": "{ \n\"codeName\": \"profitLossInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionQuotedAsset\",\n \"childProperty\": \"profitLoss\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "24042a58-6f80-4bc8-b5e7-d7ebb7a6f27c", + "savedPayload": { + "position": { + "x": 24810.477999008683, + "y": 20657.328510329255 + }, + "targetPosition": { + "x": 24938.28490412545, + "y": 20225.85962963857 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "ROI In Quoted Asset", + "config": "{ \n\"codeName\": \"ROIInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionQuotedAsset\",\n \"childProperty\": \"ROI\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "8e8fad85-2b91-4150-853d-f257f47799fb", + "savedPayload": { + "position": { + "x": 24703.16055000327, + "y": 20609.54770359791 + }, + "targetPosition": { + "x": 24938.28490412545, + "y": 20225.85962963857 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Hit Fail In Quoted Asset", + "config": "{ \n\"codeName\": \"hitFailInQuotedAsset\",\n\"isString\": true,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionQuotedAsset\",\n \"childProperty\": \"hitFail\"\n}", + "project": "Foundations", + "id": "5c1c8716-a9d8-424e-a493-9acf33b1fb3a", + "savedPayload": { + "position": { + "x": 24611.86643716992, + "y": 20535.61918870076 + }, + "targetPosition": { + "x": 24938.28490412545, + "y": 20225.85962963857 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Entry Target Size In Quoted Asset", + "config": "{ \n\"codeName\": \"entryTargetSizeInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionQuotedAsset\",\n \"childProperty\": \"entryTargetSize\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "596a4c69-6d28-4d16-9066-efb3b70a6e7c", + "savedPayload": { + "position": { + "x": 24542.817203427563, + "y": 20440.581071755394 + }, + "targetPosition": { + "x": 24938.28490412545, + "y": 20225.85962963857 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Exit Target Size In Quoted Asset", + "config": "{ \n\"codeName\": \"exitTargetSizeInQuotedAsset\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.positionQuotedAsset\",\n \"childProperty\": \"exitTargetSize\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "c17bc4db-43d7-4922-adbe-e1706815e4a4", + "savedPayload": { + "position": { + "x": 24500.718439946493, + "y": 20330.910043373726 + }, + "targetPosition": { + "x": 24938.28490412545, + "y": 20225.85962963857 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Entry Target Rate", + "config": "{ \n\"codeName\": \"entryTargetRate\",\n\"isString\": false,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "75dbe44c-e4b6-44bc-8e1c-8ce84b4ee2e3", + "savedPayload": { + "position": { + "x": 24488.439107886446, + "y": 20214.080002900027 + }, + "targetPosition": { + "x": 24938.28490412545, + "y": 20225.85962963857 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Exit Target Rate", + "config": "{ \n\"codeName\": \"exitTargetRate\",\n\"isString\": false,\n\"isCalculated\": false\n}", + "project": "Foundations", + "id": "5e1d4824-bf14-4139-a824-88cf88faab6e", + "savedPayload": { + "position": { + "x": 24506.816023434763, + "y": 20098.052724521804 + }, + "targetPosition": { + "x": 24938.28490412545, + "y": 20225.85962963857 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Candle Close", + "config": "{ \n\"codeName\": \"candleClose\",\n\"isString\": false,\n\"isCalculated\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.portfolioEpisode.candle\",\n \"childProperty\": \"close\",\n \"decimals\": 10\n}", + "project": "Foundations", + "id": "249cff6d-10f3-4633-b0bb-89cc4e72dea5", + "savedPayload": { + "position": { + "x": 24554.59683016611, + "y": 19990.735275516392 + }, + "targetPosition": { + "x": 24938.28490412545, + "y": 20225.85962963857 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "b52996e3-e8d8-4251-9452-c50fe5a24bc7", + "savedPayload": { + "position": { + "x": 24938.28490412545, + "y": 20225.85962963857 + }, + "targetPosition": { + "x": 25264.703371080977, + "y": 19916.10007057638 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "s" + } + } + }, + "id": "5651d108-80e2-4e13-9c65-d934bac166d2", + "savedPayload": { + "position": { + "x": 25264.703371080977, + "y": 19916.10007057638 + }, + "targetPosition": { + "x": 25447.734860465087, + "y": 19505.004614637208 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "Position Quoted Asset", + "id": "08a1afe7-83b5-472f-b8dc-15494b8a7e06" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Quoted Asset", + "Plotter Module", + "Foundations", + "baed45c2-228e-4679-876e-1867bbef5e9f" + ] + ] + } + }, + { + "type": "Product Definition", + "name": "Stop Loss", + "config": "{\n \"codeName\": \"Stop-Loss\",\n \"singularVariableName\": \"stopLoss\",\n \"pluralVariableName\": \"stopLosses\",\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position\",\n \"saveAtCycle\": \"Second\"\n}", + "project": "Foundations", + "datasets": [ + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "f7694587-d00e-4f0d-8cfd-36eb011f5635", + "savedPayload": { + "position": { + "x": 24960.115035935272, + "y": 19961.35201514849 + }, + "targetPosition": { + "x": 25077.67721299636, + "y": 19769.507978168822 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "8eb8e50e-496b-4707-af35-862a49c846cc", + "savedPayload": { + "position": { + "x": 24895.648389261998, + "y": 19901.75965993463 + }, + "targetPosition": { + "x": 25077.67721299636, + "y": 19769.507978168822 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "record": { + "type": "Record Definition", + "name": "New Record Definition", + "project": "Foundations", + "properties": [ + { + "type": "Record Property", + "name": "Begin", + "config": "{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.stopLoss\",\n \"childProperty\": \"begin\"\n}", + "project": "Foundations", + "id": "d4d3c381-d75f-4c0c-b0a3-d1ef992baf9e", + "savedPayload": { + "position": { + "x": 24727.313325399555, + "y": 19919.26069051055 + }, + "targetPosition": { + "x": 24855.447336362457, + "y": 19734.31022353477 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End", + "config": "{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.stopLoss\",\n \"childProperty\": \"end\"\n}", + "project": "Foundations", + "id": "37bcaf0a-592c-4615-9d54-65d2455ed3fc", + "savedPayload": { + "position": { + "x": 24659.755581402424, + "y": 19845.349572599247 + }, + "targetPosition": { + "x": 24855.447336362457, + "y": 19734.31022353477 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Stop Loss", + "config": "{\n \"codeName\": \"stopLoss\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "fd89389a-56a3-4f1e-a1f7-c36b75f1c64c", + "savedPayload": { + "position": { + "x": 24630.956989477003, + "y": 19749.445749797476 + }, + "targetPosition": { + "x": 24855.447336362457, + "y": 19734.31022353477 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Stop Loss Phase", + "config": "{\n \"codeName\": \"stopLossPhase\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.stopLoss\"\n}", + "project": "Foundations", + "id": "be40cea8-0642-40f5-91f0-44ea2fa9170d", + "savedPayload": { + "position": { + "x": 24646.621463945674, + "y": 19650.54415039433 + }, + "targetPosition": { + "x": 24855.447336362457, + "y": 19734.31022353477 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Initial Value", + "config": "{\n \"codeName\": \"initialValue\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.stopLoss\"\n}", + "project": "Foundations", + "id": "435a1faa-ff57-4126-9bbb-98f1052381d8", + "savedPayload": { + "position": { + "x": 24703.64646352774, + "y": 19568.233449100117 + }, + "targetPosition": { + "x": 24855.447336362457, + "y": 19734.31022353477 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Final Value", + "config": "{\n \"codeName\": \"finalValue\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.stopLoss\"\n}", + "project": "Foundations", + "id": "8e370ee0-b5a2-4df3-bb5f-98c53593bef0", + "savedPayload": { + "position": { + "x": 24790.737487690254, + "y": 19518.816289780658 + }, + "targetPosition": { + "x": 24855.447336362457, + "y": 19734.31022353477 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "c7fe7c74-2d61-48d3-8663-ec97dd00e2cd", + "savedPayload": { + "position": { + "x": 24855.447336362457, + "y": 19734.31022353477 + }, + "targetPosition": { + "x": 25077.67721299636, + "y": 19769.507978168822 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "9234c810-f9a4-44fc-b743-8ef026a093dd", + "savedPayload": { + "position": { + "x": 25083.67721299636, + "y": 19769.507978168822 + }, + "targetPosition": { + "x": 25447.734860465087, + "y": 19505.004614637208 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "Stop Loss", + "id": "f3833246-c097-42c2-8522-930b4d0450d3" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Stop Loss", + "Plotter Module", + "Foundations", + "9b8e4fc2-b62a-4d47-ac5f-08818e463da2" + ] + ] + } + }, + { + "type": "Product Definition", + "name": "Take Profit", + "config": "{\n \"codeName\": \"Take-Profit\",\n \"singularVariableName\": \"takeProfit\",\n \"pluralVariableName\": \"takeProfits\",\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position\",\n \"saveAtCycle\": \"Second\"\n}", + "project": "Foundations", + "datasets": [ + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\",\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "9d72fdb6-0fa2-4f1b-9f69-0fac15ec255b", + "savedPayload": { + "position": { + "x": 24802.466157200422, + "y": 19659.403144166063 + }, + "targetPosition": { + "x": 25000.200007549363, + "y": 19552.04242310765 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Dataset Definition", + "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/@Session/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n },\n \"timeFrames\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Session/@Product/@Dataset\",\n \"fileName\": \"Time.Frames.json\"\n }\n }", + "project": "Foundations", + "id": "9d01d11e-4c3c-45a6-a77d-ed997fd17cb1", + "savedPayload": { + "position": { + "x": 24776.432581091503, + "y": 19575.56132734287 + }, + "targetPosition": { + "x": 25000.200007549363, + "y": 19552.04242310765 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "record": { + "type": "Record Definition", + "name": "New Record Definition", + "project": "Foundations", + "properties": [ + { + "type": "Record Property", + "name": "Begin", + "config": "{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.takeProfit\",\n \"childProperty\": \"begin\"\n}", + "project": "Foundations", + "id": "6539f7fe-7a9a-4b7b-a3ac-6d0e2790cb89", + "savedPayload": { + "position": { + "x": 24621.89962415099, + "y": 19506.550132482804 + }, + "targetPosition": { + "x": 24825.342166221544, + "y": 19410.445335121436 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "End", + "config": "{\n \"codeName\": \"end\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.takeProfit\",\n \"childProperty\": \"end\"\n}", + "project": "Foundations", + "id": "6adbf43b-e7b3-4df9-9b6c-e86feb20e335", + "savedPayload": { + "position": { + "x": 24600.348460582758, + "y": 19408.762354750947 + }, + "targetPosition": { + "x": 24825.342166221544, + "y": 19410.445335121436 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Take Profit", + "config": "{\n \"codeName\": \"takeProfit\",\n \"isString\": false\n}", + "project": "Foundations", + "id": "0e98de05-ce1d-45e6-b1bb-39122c582007", + "savedPayload": { + "position": { + "x": 24623.36005978301, + "y": 19311.307911921864 + }, + "targetPosition": { + "x": 24825.342166221544, + "y": 19410.445335121436 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Take Profit Phase", + "config": "{\n \"codeName\": \"takeProfitPhase\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.takeProfit\"\n}", + "project": "Foundations", + "id": "6fecdfa1-7a42-4460-9b98-0f2e82538f8b", + "savedPayload": { + "position": { + "x": 24686.37669231138, + "y": 19233.48885159816 + }, + "targetPosition": { + "x": 24825.342166221544, + "y": 19410.445335121436 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Initial Value", + "config": "{\n \"codeName\": \"initialValue\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.takeProfit\"\n}", + "project": "Foundations", + "id": "a0a4f485-aa21-4ff7-b377-ca097f0963d3", + "savedPayload": { + "position": { + "x": 24776.917141247355, + "y": 19190.71819306509 + }, + "targetPosition": { + "x": 24825.342166221544, + "y": 19410.445335121436 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Record Property", + "name": "Final Value", + "config": "{\n \"codeName\": \"finalValue\",\n \"isString\": false,\n \"nodePath\": \"portfolioEngine.portfolioCurrent.position.takeProfit\"\n}", + "project": "Foundations", + "id": "65b2fe9a-380d-4cc9-8aac-894ca268c7bd", + "savedPayload": { + "position": { + "x": 24877.048760273425, + "y": 19191.467189792835 + }, + "targetPosition": { + "x": 24825.342166221544, + "y": 19410.445335121436 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "a5823fa5-b59d-43b6-b0bf-0834f724c439", + "savedPayload": { + "position": { + "x": 24825.342166221544, + "y": 19410.445335121436 + }, + "targetPosition": { + "x": 25000.200007549363, + "y": 19552.04242310765 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "618c73d1-42cb-446c-b350-d41574037d47", + "savedPayload": { + "position": { + "x": 25000.200007549363, + "y": 19552.04242310765 + }, + "targetPosition": { + "x": 25447.734860465087, + "y": 19505.004614637208 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Plotter Module", + "name": "Take Profit", + "id": "daa39650-5f2b-4bc2-9798-86e26cd43c13" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Take Profit", + "Plotter Module", + "Foundations", + "78a2df79-8912-44d7-a8c7-4b6a0a7235c2" + ] + ] + } + } + ], + "productDefinitionFolders": [], + "id": "ee56f6fd-c4f8-47cf-b6b0-7b78c741fb49", + "savedPayload": { + "position": { + "x": 25447.734860465087, + "y": 19505.004614637208 + }, + "targetPosition": { + "x": 25630.766349849197, + "y": 19093.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "19982920-c938-499e-a45a-c3944786860b", + "savedPayload": { + "position": { + "x": 25630.766349849197, + "y": 19093.909158698036 + }, + "targetPosition": { + "x": 25366.262986317583, + "y": 18729.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "3d5cb074-c314-44a6-a17f-e0ad11e12091", + "savedPayload": { + "position": { + "x": 25366.262986317583, + "y": 18729.85151122931 + }, + "targetPosition": { + "x": 24916.262986317583, + "y": 18729.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "j" + } + } + } + ], + "plotters": [ + { + "type": "Plotter", + "name": "Portfolio Engine", + "config": "{ \n\"codeName\": \"Portfolio-Engine\"\n}", + "project": "Foundations", + "modules": [ + { + "type": "Plotter Module", + "name": "Portfolio Episode Counters", + "config": "{ \n\"codeName\": \"Portfolio-Episode-Counters\"\n}", + "project": "Foundations", + "panels": [ + { + "type": "Plotter Panel", + "name": "Portfolio Episode Counters", + "config": "{ \n \"codeName\": \"Portfolio-Episode-Counters\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Periods", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.periods", + "project": "Foundations", + "id": "62fb77ac-1aea-419b-983a-ac6171f27bed", + "savedPayload": { + "position": { + "x": 25369.4806180361, + "y": 18229.29402751361 + }, + "targetPosition": { + "x": 25521.09027480577, + "y": 18395.54537931017 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "83d567b2-0cef-47c0-ae90-de904824c12a", + "savedPayload": { + "position": { + "x": 25521.09027480577, + "y": 18395.54537931017 + }, + "targetPosition": { + "x": 25672.69993157544, + "y": 18561.79673110673 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Strategies", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.strategies", + "project": "Foundations", + "id": "e8843ce8-f33a-4ee6-9c0c-40b6882d2e0c", + "savedPayload": { + "position": { + "x": 25543.776286231438, + "y": 18130.660217144836 + }, + "targetPosition": { + "x": 25608.23810890344, + "y": 18346.228474125783 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "ce91bca2-1c2c-4a9e-abff-f37c3f9a0f32", + "savedPayload": { + "position": { + "x": 25608.23810890344, + "y": 18346.228474125783 + }, + "targetPosition": { + "x": 25672.69993157544, + "y": 18561.79673110673 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Positions", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.positions", + "project": "Foundations", + "id": "04d38826-3e9a-4467-abc6-79a8a5cffb91", + "savedPayload": { + "position": { + "x": 25743.60686353189, + "y": 18117.418280908565 + }, + "targetPosition": { + "x": 25708.153397553666, + "y": 18339.607506007647 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "84ab8913-2124-4939-8727-33dcdda6d032", + "savedPayload": { + "position": { + "x": 25708.153397553666, + "y": 18339.607506007647 + }, + "targetPosition": { + "x": 25672.69993157544, + "y": 18561.79673110673 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Orders", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.orders", + "project": "Foundations", + "id": "1b5145b5-da93-48ba-9462-4c272f2f6108", + "savedPayload": { + "position": { + "x": 25929.393453341927, + "y": 18192.190946678074 + }, + "targetPosition": { + "x": 25801.046692458684, + "y": 18376.993838892402 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "a06880a6-c828-41d4-9d2f-40d64a8fa7f8", + "savedPayload": { + "position": { + "x": 25801.046692458684, + "y": 18376.993838892402 + }, + "targetPosition": { + "x": 25672.69993157544, + "y": 18561.79673110673 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Hits", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.hits", + "project": "Foundations", + "id": "f20b389f-34f1-450b-ad6e-74b6d6b21dd1", + "savedPayload": { + "position": { + "x": 26064.338743026656, + "y": 18340.168570971156 + }, + "targetPosition": { + "x": 25868.519337301048, + "y": 18450.982651038943 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "1d681645-3b24-4ca1-be6f-cad2178a508c", + "savedPayload": { + "position": { + "x": 25868.519337301048, + "y": 18450.982651038943 + }, + "targetPosition": { + "x": 25672.69993157544, + "y": 18561.79673110673 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Fails", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.fails", + "project": "Foundations", + "id": "bbd8311f-d503-4d4e-bcab-4cbcc1f92fd1", + "savedPayload": { + "position": { + "x": 26121.71516296866, + "y": 18532.0423704701 + }, + "targetPosition": { + "x": 25897.20754727205, + "y": 18546.919550788414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "4050b5ac-b05d-4d7d-b032-3a445d97f187", + "savedPayload": { + "position": { + "x": 25897.20754727205, + "y": 18546.919550788414 + }, + "targetPosition": { + "x": 25672.69993157544, + "y": 18561.79673110673 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "f3c54604-7e35-4068-92de-27a77d8dc543", + "savedPayload": { + "position": { + "x": 25672.69993157544, + "y": 18561.79673110673 + }, + "targetPosition": { + "x": 25588.6936041256, + "y": 18770.52607008041 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "0831df61-a7dc-4807-8ff5-4aa6f2a96475", + "savedPayload": { + "position": { + "x": 25700.07764102123, + "y": 18754.719542162085 + }, + "targetPosition": { + "x": 25588.6936041256, + "y": 18770.52607008041 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "af6b3fbf-f8e7-45c5-bc22-719209914dad", + "savedPayload": { + "position": { + "x": 25588.6936041256, + "y": 18770.52607008041 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Portfolio Episode Statistics", + "config": "{ \n\"codeName\": \"Portfolio-Episode-Statistics\"\n}", + "project": "Foundations", + "panels": [ + { + "type": "Plotter Panel", + "name": "Portfolio Episode Statistics", + "config": "{ \n \"codeName\": \"Portfolio-Episode-Statistics\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Days", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.days", + "project": "Foundations", + "id": "ec5c6561-67dc-4d0e-9241-ae0b180811a1", + "savedPayload": { + "position": { + "x": 25467.18624743741, + "y": 18251.53848916895 + }, + "targetPosition": { + "x": 25597.651113078104, + "y": 18434.852206149855 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "7dd23bd6-5c8f-417c-aebf-e8fb84d2293b", + "savedPayload": { + "position": { + "x": 25597.651113078104, + "y": 18434.852206149855 + }, + "targetPosition": { + "x": 25728.115978718797, + "y": 18618.16592313076 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Profit Loss", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.profitLoss", + "project": "Foundations", + "id": "ec1e598b-1e31-40e2-be05-314356417f68", + "savedPayload": { + "position": { + "x": 25652.100096034552, + "y": 18174.632851556908 + }, + "targetPosition": { + "x": 25690.108037376674, + "y": 18396.399387343834 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "dce14c26-f0d6-4f1b-b7e2-b46069590db6", + "savedPayload": { + "position": { + "x": 25690.108037376674, + "y": 18396.399387343834 + }, + "targetPosition": { + "x": 25728.115978718797, + "y": 18618.16592313076 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "ROI", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.ROI", + "project": "Foundations", + "id": "6c3fcb37-3657-4981-bbdf-ede14205d875", + "savedPayload": { + "position": { + "x": 25852.06982247093, + "y": 18185.57437834622 + }, + "targetPosition": { + "x": 25790.092900594864, + "y": 18401.87015073849 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "761d80f3-d114-41a1-a02e-ce6a63f0d0fc", + "savedPayload": { + "position": { + "x": 25790.092900594864, + "y": 18401.87015073849 + }, + "targetPosition": { + "x": 25728.115978718797, + "y": 18618.16592313076 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Hit Ratio", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.hitRatio", + "project": "Foundations", + "id": "17cc7d52-80b5-44c1-bab4-50e4c34e2ce9", + "savedPayload": { + "position": { + "x": 26027.488969958064, + "y": 18282.195965967247 + }, + "targetPosition": { + "x": 25877.80247433843, + "y": 18450.180944549003 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "fb3a6a09-d518-46e9-99fb-4c091e3129a3", + "savedPayload": { + "position": { + "x": 25877.80247433843, + "y": 18450.180944549003 + }, + "targetPosition": { + "x": 25728.115978718797, + "y": 18618.16592313076 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Annualized Rate Of Return", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.annualizedRateOfReturn", + "project": "Foundations", + "id": "0262d4cf-bf3d-451e-848d-9761d43730c9", + "savedPayload": { + "position": { + "x": 26143.61362496147, + "y": 18445.360524005624 + }, + "targetPosition": { + "x": 25935.864801840133, + "y": 18531.763223568192 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "9c10cdcb-6469-4e2a-8217-d08939aea81e", + "savedPayload": { + "position": { + "x": 25935.864801840133, + "y": 18531.763223568192 + }, + "targetPosition": { + "x": 25728.115978718797, + "y": 18618.16592313076 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Hit Fail", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.hitFail", + "project": "Foundations", + "id": "18e9ec6a-10e0-4d9e-bdc4-c0355eb611e8", + "savedPayload": { + "position": { + "x": 26177.443875382294, + "y": 18642.751310659874 + }, + "targetPosition": { + "x": 25952.779927050546, + "y": 18630.458616895317 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "e5073a5a-3d57-4f5c-b6b9-dc68b4184fcd", + "savedPayload": { + "position": { + "x": 25952.779927050546, + "y": 18630.458616895317 + }, + "targetPosition": { + "x": 25728.115978718797, + "y": 18618.16592313076 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "22e12c9b-01f2-4ffa-b73e-d2788f5a0e54", + "savedPayload": { + "position": { + "x": 25728.115978718797, + "y": 18618.16592313076 + }, + "targetPosition": { + "x": 25619.56261038718, + "y": 18815.24754638331 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "6ae9567b-bf29-4dc2-90f2-f6198f242d50", + "savedPayload": { + "position": { + "x": 25732.039798647977, + "y": 18812.982127890948 + }, + "targetPosition": { + "x": 25619.56261038718, + "y": 18815.24754638331 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "456183e1-1e62-4127-85f9-505dc8c2c20e", + "savedPayload": { + "position": { + "x": 25619.56261038718, + "y": 18815.24754638331 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Current Candle", + "config": "{ \n\"codeName\": \"Current-Candle\"\n}", + "project": "Foundations", + "panels": [], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "47f2c3d0-7c94-42e1-87e7-376c5f376fa3", + "savedPayload": { + "position": { + "x": 25747.40470122208, + "y": 18817.19235969608 + }, + "targetPosition": { + "x": 25644.81596854797, + "y": 18863.363800309515 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "f0fea8ee-37f7-453e-978d-d5b04b752172", + "savedPayload": { + "position": { + "x": 25644.81596854797, + "y": 18863.363800309515 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Episode Balances", + "config": "{ \n\"codeName\": \"Current-Balance\"\n}", + "project": "Foundations", + "panels": [ + { + "type": "Plotter Panel", + "name": "Current Balance", + "config": "{ \n \"codeName\": \"Current-Balance\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Balance Base Asset", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.balanceBaseAsset", + "project": "Foundations", + "id": "e52463a9-cdad-4b4f-b5f6-b8cf761d91bf", + "savedPayload": { + "position": { + "x": 26086.243185613523, + "y": 18551.353260494772 + }, + "targetPosition": { + "x": 26119.331313683837, + "y": 18716.82754333293 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "d14a30a5-a36c-4e83-9a8e-55cf91dde7d5", + "savedPayload": { + "position": { + "x": 26119.331313683837, + "y": 18716.82754333293 + }, + "targetPosition": { + "x": 26152.41944175415, + "y": 18882.301826171086 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Balance Quoted Asset", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.balanceQuotedAsset", + "project": "Foundations", + "id": "9a636a66-fc4d-4005-8070-520ae37097c3", + "savedPayload": { + "position": { + "x": 26293.408412084158, + "y": 18575.661384863542 + }, + "targetPosition": { + "x": 26222.913926919155, + "y": 18728.981605517314 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "dbde81cf-8522-4eb2-967f-40ce6d25a283", + "savedPayload": { + "position": { + "x": 26222.913926919155, + "y": 18728.981605517314 + }, + "targetPosition": { + "x": 26152.41944175415, + "y": 18882.301826171086 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Both Assets in Base Asset", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.balanceBaseAsset + (record.balanceQuotedAsset / candle.close)", + "project": "Foundations", + "id": "0be89772-558e-44c0-9702-4ead5fced85c", + "savedPayload": { + "position": { + "x": 26446.720643927583, + "y": 18717.095735486528 + }, + "targetPosition": { + "x": 26299.570042840867, + "y": 18799.698780828807 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "4ee14857-89dc-43b2-b8a9-d22c1e0a9fc4", + "savedPayload": { + "position": { + "x": 26299.570042840867, + "y": 18799.698780828807 + }, + "targetPosition": { + "x": 26152.41944175415, + "y": 18882.301826171086 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Both Assets in Quoted Asset", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.balanceQuotedAsset + (record.balanceBaseAsset * candle.close)", + "project": "Foundations", + "id": "bca34671-c308-4d26-bedb-0f39be85d124", + "savedPayload": { + "position": { + "x": 26487.61981947071, + "y": 18921.63319760252 + }, + "targetPosition": { + "x": 26320.01963061243, + "y": 18901.967511886804 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "2fd4c9d8-147d-45eb-a711-512b20ac1c20", + "savedPayload": { + "position": { + "x": 26320.01963061243, + "y": 18901.967511886804 + }, + "targetPosition": { + "x": 26152.41944175415, + "y": 18882.301826171086 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "f03b22f2-4725-4bbf-9a90-f02d545d05a8", + "savedPayload": { + "position": { + "x": 26152.41944175415, + "y": 18882.301826171086 + }, + "targetPosition": { + "x": 26037.99664851177, + "y": 19006.334027177967 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "e9bf0674-2e18-4526-aff4-1d8a42f01df6", + "savedPayload": { + "position": { + "x": 26202.623082092217, + "y": 19043.410972394402 + }, + "targetPosition": { + "x": 26037.99664851177, + "y": 19006.334027177967 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "9b3212d7-ac1e-490f-9b2d-608768801370", + "savedPayload": { + "position": { + "x": 25664.085427780374, + "y": 18914.173188528413 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Distance To Portfolio Event", + "config": "{ \n\"codeName\": \"Distance-To-Portfolio-Event\"\n}", + "project": "Foundations", + "panels": [], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "b795a12e-7955-4589-a3ef-7b0818f63a2f", + "savedPayload": { + "position": { + "x": 25787.747235509294, + "y": 18946.656103992933 + }, + "targetPosition": { + "x": 25677.08999597774, + "y": 18966.934795746998 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "71271a48-fc6b-4e7d-9cb7-45afa18460e5", + "savedPayload": { + "position": { + "x": 25677.08999597774, + "y": 18966.934795746998 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Current Strategy", + "config": "{ \n\"codeName\": \"Current-Strategy\"\n}", + "project": "Foundations", + "panels": [], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "a552658e-78a7-41ae-bbe7-1487f49ef8c4", + "savedPayload": { + "position": { + "x": 25795.934787102145, + "y": 19014.08665796322 + }, + "targetPosition": { + "x": 25683.640037252022, + "y": 19020.879238923226 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "55eef907-d522-45a2-923c-4829da6fc582", + "savedPayload": { + "position": { + "x": 25683.640037252022, + "y": 19020.879238923226 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Last Strategy", + "config": "{ \n\"codeName\": \"Last-Strategy\"\n}", + "project": "Foundations", + "panels": [], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "1ae6b75e-38f4-48fa-9f27-acbf0de5e5f1", + "savedPayload": { + "position": { + "x": 25795.934787102145, + "y": 19082.01246756329 + }, + "targetPosition": { + "x": 25683.640037252022, + "y": 19075.219886603285 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "00d5ba89-ee04-4bd5-8893-837f73d04155", + "savedPayload": { + "position": { + "x": 25683.640037252022, + "y": 19075.219886603285 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Current Position", + "config": "{ \n\"codeName\": \"Current-Position\"\n}", + "project": "Foundations", + "panels": [], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "22a9b9e2-1762-418b-9425-37970fd52685", + "savedPayload": { + "position": { + "x": 25787.747235509294, + "y": 19149.443021533578 + }, + "targetPosition": { + "x": 25677.08999597774, + "y": 19129.164329779513 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "6e5ec720-21af-487d-bd5b-c06961468548", + "savedPayload": { + "position": { + "x": 25677.08999597774, + "y": 19129.164329779513 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Last Position", + "config": "{ \n\"codeName\": \"Last-Position\"\n}", + "project": "Foundations", + "panels": [], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "864949b3-f145-4d47-8fc7-f3fdf210b2e4", + "savedPayload": { + "position": { + "x": 25771.491525262583, + "y": 19215.395030556807 + }, + "targetPosition": { + "x": 25664.085427780374, + "y": 19181.925936998097 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "0adc2e11-f5b3-475d-ab5c-a3f4e4b820e9", + "savedPayload": { + "position": { + "x": 25664.085427780374, + "y": 19181.925936998097 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Previous Candle", + "config": "{ \n\"codeName\": \"Previous-Candle\"\n}", + "project": "Foundations", + "panels": [], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "f576805d-0bda-48d5-989b-3bdb26bac932", + "savedPayload": { + "position": { + "x": 25747.40470122208, + "y": 19278.90676583043 + }, + "targetPosition": { + "x": 25644.81596854797, + "y": 19232.735325216996 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "da1dc499-71e0-4c99-badb-df5ded722370", + "savedPayload": { + "position": { + "x": 25644.81596854797, + "y": 19232.735325216996 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Market Buy Orders", + "config": "{ \n\"codeName\": \"Market-Buy-Orders\",\n \"useRateAtMousePosition\": true,\n \"ratePropertyName\": \"actualRate\"\n}", + "project": "Foundations", + "panels": [], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "2a9df8f1-4709-435a-b5c1-fdaa3f936535", + "savedPayload": { + "position": { + "x": 25715.838003521094, + "y": 19339.052083238188 + }, + "targetPosition": { + "x": 25619.56261038718, + "y": 19280.8515791432 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "62d4db8b-c029-471b-a71e-54eb84fdf3e5", + "savedPayload": { + "position": { + "x": 25619.56261038718, + "y": 19280.8515791432 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Market Sell Orders", + "config": "{ \n\"codeName\": \"Market-Sell-Orders\",\n \"useRateAtMousePosition\": true,\n \"ratePropertyName\": \"actualRate\"\n}", + "project": "Foundations", + "panels": [], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "80e5fbbc-1232-4ccd-8557-e3255c23362c", + "savedPayload": { + "position": { + "x": 25677.25174569412, + "y": 19394.95392861681 + }, + "targetPosition": { + "x": 25588.6936041256, + "y": 19325.5730554461 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "0b009d27-4209-4a19-a4fd-2c31a576f0f4", + "savedPayload": { + "position": { + "x": 25588.6936041256, + "y": 19325.5730554461 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Limit Buy Orders", + "config": "{ \n\"codeName\": \"Limit-Buy-Orders\",\n \"useRateAtMousePosition\": true\n}", + "project": "Foundations", + "panels": [], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "efd551d6-8b9f-4cf9-9f30-dd20e2119a90", + "savedPayload": { + "position": { + "x": 25632.208602268962, + "y": 19445.79712718069 + }, + "targetPosition": { + "x": 25552.659089385474, + "y": 19366.2476142972 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "5b00bc1b-0d59-4659-9ec9-1e4c8cd46f3b", + "savedPayload": { + "position": { + "x": 25552.659089385474, + "y": 19366.2476142972 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Limit Sell Orders", + "config": "{ \n\"codeName\": \"Limit-Sell-Orders\",\n \"useRateAtMousePosition\": true\n}", + "project": "Foundations", + "panels": [], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "2f36d79a-a497-4359-b7bb-93980cb1a9c9", + "savedPayload": { + "position": { + "x": 25581.365403705084, + "y": 19490.840270605848 + }, + "targetPosition": { + "x": 25511.984530534373, + "y": 19402.28212903733 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "bcad16f8-a04e-4e3e-88d0-e4138f5c0c6f", + "savedPayload": { + "position": { + "x": 25511.984530534373, + "y": 19402.28212903733 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Current Strategy Open Stage", + "config": "{ \n\"codeName\": \"Current-Strategy-Open-Stage\"\n}", + "project": "Foundations", + "panels": [], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "d107021f-310d-43ab-8362-f7b30c178bd8", + "savedPayload": { + "position": { + "x": 25525.46355832646, + "y": 19529.42652843282 + }, + "targetPosition": { + "x": 25467.263054231473, + "y": 19433.151135298907 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "235cdc78-7108-49e5-9d23-0a2cb1543474", + "savedPayload": { + "position": { + "x": 25467.263054231473, + "y": 19433.151135298907 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Current Strategy Close Stage", + "config": "{ \n\"codeName\": \"Current-Strategy-Close-Stage\"\n}", + "project": "Foundations", + "panels": [], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "253bf0d4-ced2-4784-a9c2-531f6e3183b8", + "savedPayload": { + "position": { + "x": 25465.318240918703, + "y": 19560.993226133807 + }, + "targetPosition": { + "x": 25419.14680030527, + "y": 19458.404493459697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "1c672271-ba69-452e-b667-125ac1625b1c", + "savedPayload": { + "position": { + "x": 25419.14680030527, + "y": 19458.404493459697 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Current Strategy Trigger Stage", + "config": "{ \n\"codeName\": \"Current-Strategy-Trigger-Stage\"\n}", + "project": "Foundations", + "panels": [], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "2870bff1-0379-46be-8c53-48bf2f6f77ce", + "savedPayload": { + "position": { + "x": 25401.80650564508, + "y": 19585.08005017431 + }, + "targetPosition": { + "x": 25368.33741208637, + "y": 19477.6739526921 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "842178d1-0f55-49ec-b037-e3d8c3db0a62", + "savedPayload": { + "position": { + "x": 25368.33741208637, + "y": 19477.6739526921 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Current Strategy Manage Stage", + "config": "{ \n\"codeName\": \"Current-Strategy-Manage-Stage\"\n}", + "project": "Foundations", + "panels": [], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "353aafeb-2f86-411c-9994-9176d9310e84", + "savedPayload": { + "position": { + "x": 25335.85449662185, + "y": 19601.33576042102 + }, + "targetPosition": { + "x": 25315.575804867785, + "y": 19490.67852088947 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "3028898b-1335-4a04-8b8d-2b48c7305944", + "savedPayload": { + "position": { + "x": 25315.575804867785, + "y": 19490.67852088947 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Current Episode", + "config": "{ \n\"codeName\": \"Current-Position\"\n}", + "project": "Foundations", + "panels": [], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "79cc703b-07b6-43cf-83cd-7e0231677bf9", + "savedPayload": { + "position": { + "x": 25268.423942651563, + "y": 19609.523312013873 + }, + "targetPosition": { + "x": 25261.631361691558, + "y": 19497.22856216375 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "357d08f4-0890-402c-922c-3b23409182a7", + "savedPayload": { + "position": { + "x": 25261.631361691558, + "y": 19497.22856216375 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Episode Base Asset", + "config": "{ \n\"codeName\": \"Previous-Candle\"\n}", + "project": "Foundations", + "panels": [], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "b662913b-2ede-4762-a12a-d8a6a5d29b0e", + "savedPayload": { + "position": { + "x": 25200.498133051493, + "y": 19609.523312013873 + }, + "targetPosition": { + "x": 25207.2907140115, + "y": 19497.22856216375 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "c32320d9-87e3-4138-a3e7-924f0227198e", + "savedPayload": { + "position": { + "x": 25207.2907140115, + "y": 19497.22856216375 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Episode Quoted Asset", + "config": "{ \n\"codeName\": \"Previous-Candle\"\n}", + "project": "Foundations", + "panels": [], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "3ecc03a0-abe2-4f9c-b60f-26ae58e43286", + "savedPayload": { + "position": { + "x": 25133.067579081206, + "y": 19601.33576042102 + }, + "targetPosition": { + "x": 25153.34627083527, + "y": 19490.67852088947 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "b55a9c51-b2f1-4a7d-aadf-b57c06693038", + "savedPayload": { + "position": { + "x": 25153.34627083527, + "y": 19490.67852088947 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Last Market Order", + "config": "{ \n\"codeName\": \"Previous-Candle\"\n}", + "project": "Foundations", + "panels": [], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "37c26568-a8b0-43d4-93c6-61048cc41a61", + "savedPayload": { + "position": { + "x": 25067.115570057977, + "y": 19585.08005017431 + }, + "targetPosition": { + "x": 25100.584663616686, + "y": 19477.6739526921 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "be013f58-5286-4d35-bfd8-732fa759527f", + "savedPayload": { + "position": { + "x": 25100.584663616686, + "y": 19477.6739526921 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Last Limit Order", + "config": "{ \n\"codeName\": \"Previous-Candle\"\n}", + "project": "Foundations", + "panels": [], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "f44cf997-2522-48c0-a98d-1c86d997b981", + "savedPayload": { + "position": { + "x": 25003.603834784353, + "y": 19560.993226133807 + }, + "targetPosition": { + "x": 25049.775275397787, + "y": 19458.404493459697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "3ed13e0f-4b6c-4e3f-826c-3467f21e0790", + "savedPayload": { + "position": { + "x": 25049.775275397787, + "y": 19458.404493459697 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Stop Loss", + "config": "{ \n\"codeName\": \"Stop-Loss\"\n}", + "project": "Foundations", + "panels": [], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "3d00e77d-3a4a-4de5-ae13-35f15ab28a7f", + "savedPayload": { + "position": { + "x": 24943.458517376595, + "y": 19529.42652843282 + }, + "targetPosition": { + "x": 25001.659021471583, + "y": 19433.151135298907 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "a8010509-60c9-4ee4-b81a-44319960991d", + "savedPayload": { + "position": { + "x": 25001.659021471583, + "y": 19433.151135298907 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Take Profit", + "config": "{ \n\"codeName\": \"Take-Profit\"\n}", + "project": "Foundations", + "panels": [], + "recordValues": { + "type": "Record Values", + "name": "New Record Values", + "project": "Foundations", + "id": "0a27427e-e2b3-4855-83b5-16da1b0b74cb", + "savedPayload": { + "position": { + "x": 24887.556671997972, + "y": 19490.840270605848 + }, + "targetPosition": { + "x": 24956.937545168683, + "y": 19402.28212903733 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "a36bb967-d45a-4d27-b482-d86179a9e824", + "savedPayload": { + "position": { + "x": 24956.937545168683, + "y": 19402.28212903733 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "2538a638-ace8-4d33-8e97-e3640b9add26", + "savedPayload": { + "position": { + "x": 25234.461037851528, + "y": 19048.049562763255 + }, + "targetPosition": { + "x": 24916.262986317583, + "y": 18729.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter", + "name": "Portfolio System", + "config": "{ \n\"codeName\": \"\"\n}", + "project": "Foundations", + "modules": [ + { + "type": "Plotter Module", + "name": "Highlights", + "config": "{ \n\"codeName\": \"Highlights\",\n\"connectTo\": \"Portfolio System\"\n}", + "project": "Foundations", + "panels": [], + "nodesHighlights": { + "type": "Nodes Highlights", + "name": "New Nodes Highlights", + "config": "{ \n\"nodePath\": \"\"\n}", + "project": "Foundations", + "id": "b5aa27a7-1d19-4812-8d0c-471a7adeacb6", + "savedPayload": { + "position": { + "x": 25772.213850983222, + "y": 19457.96680616676 + }, + "targetPosition": { + "x": 25344.238418650402, + "y": 19318.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "3ee07c1c-729d-4542-b1b2-c62c9f96d16d", + "savedPayload": { + "position": { + "x": 25344.238418650402, + "y": 19318.909158698036 + }, + "targetPosition": { + "x": 24916.262986317583, + "y": 19179.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Values", + "config": "{ \n\"codeName\": \"Values\",\n\"connectTo\": \"Portfolio System\"\n}", + "project": "Foundations", + "panels": [], + "nodesValues": { + "type": "Nodes Values", + "name": "New Nodes Values", + "config": "{ \n\"nodePath\": \"\"\n}", + "project": "Foundations", + "id": "39833195-5945-42ef-bb82-466e53b17692", + "savedPayload": { + "position": { + "x": 25644.378281255034, + "y": 19708.858238292538 + }, + "targetPosition": { + "x": 25280.32063378631, + "y": 19444.354874760924 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "dbd638a3-52eb-47f4-92db-74770f7918a7", + "savedPayload": { + "position": { + "x": 25280.32063378631, + "y": 19444.354874760924 + }, + "targetPosition": { + "x": 24916.262986317583, + "y": 19179.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Errors", + "config": "{\n \"codeName\": \"Errors\",\n \"connectTo\": \"Portfolio System\",\n \"useRateAtMousePosition\": true,\n \"ratePropertyName\": \"errors\",\n \"rateInArrayAtIndex\": 3,\n \"rateOffset\": -100,\n \"rateOffsetBasedOnArrayIndex\": -50,\n \"rateRange\": 20\n}", + "project": "Foundations", + "shapes": { + "type": "Shapes", + "name": "Errors", + "project": "Foundations", + "chartPoints": [ + { + "type": "Chart Points", + "name": "New Chart Points", + "project": "Foundations", + "points": [ + { + "type": "Point", + "name": "Error #1", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin + (record.end - record.begin)\ny = record.errors[0][3]", + "project": "Foundations", + "id": "876caff0-de06-44fd-b629-4ebf10a0daa8", + "savedPayload": { + "position": { + "x": 25800.464063032676, + "y": 18667.5302653074 + }, + "targetPosition": { + "x": 25847.50187150312, + "y": 19115.065118223123 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "2cc3f227-5a50-40b1-ad97-a496e8c66e1b", + "savedPayload": { + "position": { + "x": 25847.50187150312, + "y": 19115.065118223123 + }, + "targetPosition": { + "x": 25894.53967997356, + "y": 19562.599971138847 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Error #2", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin + (record.end - record.begin)\ny = record.errors[1][3]", + "project": "Foundations", + "id": "e6d7255d-3bf3-47b6-a13b-2b40f8749b3b", + "savedPayload": { + "position": { + "x": 26260.60265874178, + "y": 18740.409059260503 + }, + "targetPosition": { + "x": 26077.57116935767, + "y": 19151.504515199675 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "a89f029a-2f8b-4989-833b-a035696c99d3", + "savedPayload": { + "position": { + "x": 26077.57116935767, + "y": 19151.504515199675 + }, + "targetPosition": { + "x": 25894.53967997356, + "y": 19562.599971138847 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Error #3", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin + (record.end - record.begin)\ny = record.errors[2][3]", + "project": "Foundations", + "id": "c952d9a2-51df-401e-aa38-9fd54e7ab3d8", + "savedPayload": { + "position": { + "x": 26622.654974911013, + "y": 19033.59324407562 + }, + "targetPosition": { + "x": 26258.597327442287, + "y": 19298.096607607233 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "63ca319b-7a09-4678-9921-9f4408968900", + "savedPayload": { + "position": { + "x": 26258.597327442287, + "y": 19298.096607607233 + }, + "targetPosition": { + "x": 25894.53967997356, + "y": 19562.599971138847 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Error #4", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin + (record.end - record.begin)\ny = record.errors[3][3]", + "project": "Foundations", + "id": "8b831a78-e436-4b5f-b926-55a4de0b050a", + "savedPayload": { + "position": { + "x": 26789.609385805008, + "y": 19468.52435419796 + }, + "targetPosition": { + "x": 26342.074532889284, + "y": 19515.562162668404 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "f3bb5c98-3a32-4fe5-b630-9c21f7cb5745", + "savedPayload": { + "position": { + "x": 26342.074532889284, + "y": 19515.562162668404 + }, + "targetPosition": { + "x": 25894.53967997356, + "y": 19562.599971138847 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Error #5", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin + (record.end - record.begin)\ny = record.errors[4][3]", + "project": "Foundations", + "id": "f285a375-69ea-451d-bde3-72424390b498", + "savedPayload": { + "position": { + "x": 26716.730591851905, + "y": 19928.662949907066 + }, + "targetPosition": { + "x": 26305.635135912733, + "y": 19745.631460522956 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "2bc99a05-dc5a-4828-8d7b-9f113b6a0929", + "savedPayload": { + "position": { + "x": 26305.635135912733, + "y": 19745.631460522956 + }, + "targetPosition": { + "x": 25894.53967997356, + "y": 19562.599971138847 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "3fb7d09f-ce6b-4859-9a83-5c68abf2e230", + "savedPayload": { + "position": { + "x": 25894.53967997356, + "y": 19562.599971138847 + }, + "targetPosition": { + "x": 25530.482032504835, + "y": 19827.10333467046 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "polygons": [], + "images": [ + { + "type": "Image", + "name": "Error #1", + "config": "{\n \"codeName\": \"bullet-error\",\n \"size\": 30\n}", + "project": "Foundations", + "imageCondition": { + "type": "Image Condition", + "name": "New Image Condition", + "code": "record.errors[0] !== undefined", + "project": "Foundations", + "id": "2182a1e8-92cf-4983-9feb-e84330b154ce", + "savedPayload": { + "position": { + "x": 26092.19031241479, + "y": 19490.979916047258 + }, + "targetPosition": { + "x": 25950.593224428576, + "y": 19665.837757375077 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "imagePosition": { + "type": "Image Position", + "name": "Error #1", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": -100\n}", + "project": "Foundations", + "id": "6d06f1c4-c048-471c-9cce-c761ae185b73", + "savedPayload": { + "position": { + "x": 26172.82310106248, + "y": 19701.03551200913 + }, + "targetPosition": { + "x": 25950.593224428576, + "y": 19665.837757375077 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Error #1", + "id": "2cc3f227-5a50-40b1-ad97-a496e8c66e1b" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Errors", + "Plotter Module", + "Foundations", + "64684730-d049-4d3c-8013-b48c5438417e" + ], + [ + "Errors", + "Shapes", + "Foundations", + "c2dcdcbc-31bf-4a44-b47f-a2e1bba10db9" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "e50625b6-8b4d-4ae2-960b-b45769639162" + ], + [ + "Error #1", + "Point", + "Foundations", + "f189c006-3adb-4b21-8b9d-342f94e7640f" + ] + ] + } + }, + "id": "793a8cf6-fa3b-4f7e-b619-26bfe5412ff7", + "savedPayload": { + "position": { + "x": 25950.593224428576, + "y": 19665.837757375077 + }, + "targetPosition": { + "x": 25530.482032504835, + "y": 19827.10333467046 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Image", + "name": "Error #2", + "config": "{\n \"codeName\": \"bullet-error\",\n \"size\": 25\n}", + "project": "Foundations", + "imageCondition": { + "type": "Image Condition", + "name": "New Image Condition", + "code": "record.errors[1] !== undefined", + "project": "Foundations", + "id": "1c68ddc2-646d-4473-a077-dbbcb3c1f00d", + "savedPayload": { + "position": { + "x": 26160.04570915492, + "y": 19647.81384443421 + }, + "targetPosition": { + "x": 25978.01688542056, + "y": 19780.06552620002 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "imagePosition": { + "type": "Image Position", + "name": "Error #2", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": -150\n}", + "project": "Foundations", + "id": "63e8f75a-7db1-479f-a552-36860dae9c02", + "savedPayload": { + "position": { + "x": 26183.564613390143, + "y": 19871.581270892075 + }, + "targetPosition": { + "x": 25978.01688542056, + "y": 19780.06552620002 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Error #2", + "id": "a89f029a-2f8b-4989-833b-a035696c99d3" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Errors", + "Plotter Module", + "Foundations", + "64684730-d049-4d3c-8013-b48c5438417e" + ], + [ + "Errors", + "Shapes", + "Foundations", + "c2dcdcbc-31bf-4a44-b47f-a2e1bba10db9" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "e50625b6-8b4d-4ae2-960b-b45769639162" + ], + [ + "Error #2", + "Point", + "Foundations", + "2dfd59cd-d4ef-4f71-8507-ff1d891ab697" + ] + ] + } + }, + "id": "4326486f-2e05-44ca-bfe2-4ae0887119a4", + "savedPayload": { + "position": { + "x": 25978.01688542056, + "y": 19780.06552620002 + }, + "targetPosition": { + "x": 25530.482032504835, + "y": 19827.10333467046 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Image", + "name": "Error #3", + "config": "{\n \"codeName\": \"bullet-error\",\n \"size\": 20\n}", + "project": "Foundations", + "imageCondition": { + "type": "Image Condition", + "name": "New Image Condition", + "code": "record.errors[2] !== undefined", + "project": "Foundations", + "id": "a41f4b59-c23f-4e26-8788-4e9b3e2179c8", + "savedPayload": { + "position": { + "x": 26184.997381734516, + "y": 19816.86605529087 + }, + "targetPosition": { + "x": 25974.941785772648, + "y": 19897.498843938563 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "imagePosition": { + "type": "Image Position", + "name": "Error #3", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": -200\n}", + "project": "Foundations", + "id": "2880eacb-6fff-4193-960e-40ee11fdba3b", + "savedPayload": { + "position": { + "x": 26149.799627100467, + "y": 20039.095931924778 + }, + "targetPosition": { + "x": 25974.941785772648, + "y": 19897.498843938563 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Error #3", + "id": "63ca319b-7a09-4678-9921-9f4408968900" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Errors", + "Plotter Module", + "Foundations", + "64684730-d049-4d3c-8013-b48c5438417e" + ], + [ + "Errors", + "Shapes", + "Foundations", + "c2dcdcbc-31bf-4a44-b47f-a2e1bba10db9" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "e50625b6-8b4d-4ae2-960b-b45769639162" + ], + [ + "Error #3", + "Point", + "Foundations", + "c78f507a-32d5-49b0-93c4-e433aaf32579" + ] + ] + } + }, + "id": "6bcd6252-a590-4f8b-a7d4-6202dbb2dcef", + "savedPayload": { + "position": { + "x": 25974.941785772648, + "y": 19897.498843938563 + }, + "targetPosition": { + "x": 25530.482032504835, + "y": 19827.10333467046 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Image", + "name": "Error #4", + "config": "{\n \"codeName\": \"bullet-error\",\n \"size\": 15\n}", + "project": "Foundations", + "imageCondition": { + "type": "Image Condition", + "name": "New Image Condition", + "code": "record.errors[3] !== undefined", + "project": "Foundations", + "id": "cb0e45a5-879c-4708-8b0a-444121ed6e0e", + "savedPayload": { + "position": { + "x": 26165.344914901867, + "y": 19986.61591981935 + }, + "targetPosition": { + "x": 25941.577488444007, + "y": 20010.13482405457 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "imagePosition": { + "type": "Image Position", + "name": "Error #4", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": -250\n}", + "project": "Foundations", + "id": "97cc5083-69ea-4aa8-82ee-da055b2dac2b", + "savedPayload": { + "position": { + "x": 26073.829170209814, + "y": 20192.163647788933 + }, + "targetPosition": { + "x": 25941.577488444007, + "y": 20010.13482405457 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Error #4", + "id": "f3bb5c98-3a32-4fe5-b630-9c21f7cb5745" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Errors", + "Plotter Module", + "Foundations", + "64684730-d049-4d3c-8013-b48c5438417e" + ], + [ + "Errors", + "Shapes", + "Foundations", + "c2dcdcbc-31bf-4a44-b47f-a2e1bba10db9" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "e50625b6-8b4d-4ae2-960b-b45769639162" + ], + [ + "Error #4", + "Point", + "Foundations", + "722460d3-2849-4008-9437-c59301966ea7" + ] + ] + } + }, + "id": "917f1c3b-96e4-4c42-b859-7d121c1f921c", + "savedPayload": { + "position": { + "x": 25941.577488444007, + "y": 20010.13482405457 + }, + "targetPosition": { + "x": 25530.482032504835, + "y": 19827.10333467046 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Image", + "name": "Error #5", + "config": "{\n \"codeName\": \"bullet-error\",\n \"size\": 10\n}", + "project": "Foundations", + "imageCondition": { + "type": "Image Condition", + "name": "New Image Condition", + "code": "record.errors[4] !== undefined", + "project": "Foundations", + "id": "7e182972-6b35-490d-ac1d-bcfcbfc63069", + "savedPayload": { + "position": { + "x": 26102.427591794378, + "y": 20145.495265276943 + }, + "targetPosition": { + "x": 25880.197715160473, + "y": 20110.29751064289 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "imagePosition": { + "type": "Image Position", + "name": "Error #5", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": -300\n}", + "project": "Foundations", + "id": "2dd194ab-61dd-4f60-9049-9deac41b5fef", + "savedPayload": { + "position": { + "x": 25960.830503808167, + "y": 20320.353106604758 + }, + "targetPosition": { + "x": 25880.197715160473, + "y": 20110.29751064289 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Error #5", + "id": "2bc99a05-dc5a-4828-8d7b-9f113b6a0929" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Errors", + "Plotter Module", + "Foundations", + "64684730-d049-4d3c-8013-b48c5438417e" + ], + [ + "Errors", + "Shapes", + "Foundations", + "c2dcdcbc-31bf-4a44-b47f-a2e1bba10db9" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "e50625b6-8b4d-4ae2-960b-b45769639162" + ], + [ + "Error #5", + "Point", + "Foundations", + "0d37d958-e01a-4082-8b7b-b97e807a4864" + ] + ] + } + }, + "id": "ee62e293-ffb6-4576-aa66-13a6df7e6171", + "savedPayload": { + "position": { + "x": 25880.197715160473, + "y": 20110.29751064289 + }, + "targetPosition": { + "x": 25530.482032504835, + "y": 19827.10333467046 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "texts": [ + { + "type": "Text", + "name": "Error #1", + "project": "Foundations", + "textCondition": { + "type": "Text Condition", + "name": "New Text Condition", + "code": "record.errors[0] !== undefined", + "project": "Foundations", + "id": "ecd6b54a-7f39-4fcb-a076-5d3912b7e71e", + "savedPayload": { + "position": { + "x": 26019.98539603645, + "y": 20191.160982139187 + }, + "targetPosition": { + "x": 25794.98539603645, + "y": 20191.160982139187 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textPosition": { + "type": "Text Position", + "name": "Error #1", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": -135\n}", + "project": "Foundations", + "id": "c4101229-1988-4fd6-b8a7-eed2123a5726", + "savedPayload": { + "position": { + "x": 25977.014219770812, + "y": 20323.412663904994 + }, + "targetPosition": { + "x": 25794.98539603645, + "y": 20191.160982139187 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Error #1", + "id": "2cc3f227-5a50-40b1-ad97-a496e8c66e1b" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Errors", + "Plotter Module", + "Foundations", + "64684730-d049-4d3c-8013-b48c5438417e" + ], + [ + "Errors", + "Shapes", + "Foundations", + "c2dcdcbc-31bf-4a44-b47f-a2e1bba10db9" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "e50625b6-8b4d-4ae2-960b-b45769639162" + ], + [ + "Error #1", + "Point", + "Foundations", + "f189c006-3adb-4b21-8b9d-342f94e7640f" + ] + ] + } + }, + "textFormula": { + "type": "Text Formula", + "name": "New Text Formula", + "code": "1", + "project": "Foundations", + "id": "36070683-2c20-4085-a0d3-62a223dc24c2", + "savedPayload": { + "position": { + "x": 25864.514219770812, + "y": 20405.148698305595 + }, + "targetPosition": { + "x": 25794.98539603645, + "y": 20191.160982139187 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textStyle": { + "type": "Text Style", + "name": "New Text Style", + "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.5,\n \"fontSize\": 10\n}", + "project": "Foundations", + "id": "3271616d-7a09-4c76-9c92-7bad0523de01", + "savedPayload": { + "position": { + "x": 25725.456572302086, + "y": 20405.148698305595 + }, + "targetPosition": { + "x": 25794.98539603645, + "y": 20191.160982139187 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "b4800488-6cb8-42ff-89fe-6ff8a684b58d", + "savedPayload": { + "position": { + "x": 25794.98539603645, + "y": 20191.160982139187 + }, + "targetPosition": { + "x": 25530.482032504835, + "y": 19827.10333467046 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Text", + "name": "Error #2", + "project": "Foundations", + "textCondition": { + "type": "Text Condition", + "name": "New Text Condition", + "code": "record.errors[1] !== undefined", + "project": "Foundations", + "id": "5dc80f53-2157-421d-81d2-763fb4576947", + "savedPayload": { + "position": { + "x": 25909.08092071526, + "y": 20305.44881174227 + }, + "targetPosition": { + "x": 25691.74760980022, + "y": 20247.2145265942 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textPosition": { + "type": "Text Position", + "name": "Error #2", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": -180\n}", + "project": "Foundations", + "id": "7b5aeacd-8d29-494f-bc3f-4a95e0030ec3", + "savedPayload": { + "position": { + "x": 25833.344697786433, + "y": 20422.07236792202 + }, + "targetPosition": { + "x": 25691.74760980022, + "y": 20247.2145265942 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Error #2", + "id": "a89f029a-2f8b-4989-833b-a035696c99d3" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Errors", + "Plotter Module", + "Foundations", + "64684730-d049-4d3c-8013-b48c5438417e" + ], + [ + "Errors", + "Shapes", + "Foundations", + "c2dcdcbc-31bf-4a44-b47f-a2e1bba10db9" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "e50625b6-8b4d-4ae2-960b-b45769639162" + ], + [ + "Error #2", + "Point", + "Foundations", + "2dfd59cd-d4ef-4f71-8507-ff1d891ab697" + ] + ] + } + }, + "textFormula": { + "type": "Text Formula", + "name": "New Text Formula", + "code": "2", + "project": "Foundations", + "id": "bd1e7cd7-bf0d-46f4-b6df-23242bb6b09f", + "savedPayload": { + "position": { + "x": 25703.52319995488, + "y": 20471.90617191398 + }, + "targetPosition": { + "x": 25691.74760980022, + "y": 20247.2145265942 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textStyle": { + "type": "Text Style", + "name": "New Text Style", + "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.5,\n \"fontSize\": 10\n}", + "project": "Foundations", + "id": "c8e646f7-79c8-41ea-85c1-6394731f1959", + "savedPayload": { + "position": { + "x": 25569.20382692184, + "y": 20435.91540438192 + }, + "targetPosition": { + "x": 25691.74760980022, + "y": 20247.2145265942 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "d4cf5d52-23d6-4eca-a61b-8f3b501f56a1", + "savedPayload": { + "position": { + "x": 25691.74760980022, + "y": 20247.2145265942 + }, + "targetPosition": { + "x": 25530.482032504835, + "y": 19827.10333467046 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Text", + "name": "Error #3", + "project": "Foundations", + "textCondition": { + "type": "Text Condition", + "name": "New Text Condition", + "code": "record.errors[2] !== undefined", + "project": "Foundations", + "id": "52ca4ac5-ae09-4880-9108-3ad56332152e", + "savedPayload": { + "position": { + "x": 25772.375556826777, + "y": 20387.138187586184 + }, + "targetPosition": { + "x": 25577.519840975277, + "y": 20274.638187586184 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textPosition": { + "type": "Text Position", + "name": "Error #3", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": -225\n}", + "project": "Foundations", + "id": "3613c38b-f837-4f6d-95a2-4aa0b2a85953", + "savedPayload": { + "position": { + "x": 25669.035585667334, + "y": 20480.18591555577 + }, + "targetPosition": { + "x": 25577.519840975277, + "y": 20274.638187586184 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Error #3", + "id": "63ca319b-7a09-4678-9921-9f4408968900" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Errors", + "Plotter Module", + "Foundations", + "64684730-d049-4d3c-8013-b48c5438417e" + ], + [ + "Errors", + "Shapes", + "Foundations", + "c2dcdcbc-31bf-4a44-b47f-a2e1bba10db9" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "e50625b6-8b4d-4ae2-960b-b45769639162" + ], + [ + "Error #3", + "Point", + "Foundations", + "c78f507a-32d5-49b0-93c4-e433aaf32579" + ] + ] + } + }, + "textFormula": { + "type": "Text Formula", + "name": "New Text Formula", + "code": "3", + "project": "Foundations", + "id": "57e03ff3-8ae7-482f-afc0-646168ba6336", + "savedPayload": { + "position": { + "x": 25530.739710541282, + "y": 20494.72139775129 + }, + "targetPosition": { + "x": 25577.519840975277, + "y": 20274.638187586184 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textStyle": { + "type": "Text Style", + "name": "New Text Style", + "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.5,\n \"fontSize\": 10\n}", + "project": "Foundations", + "id": "164482f5-a5da-4537-a66e-e81e2ea142d9", + "savedPayload": { + "position": { + "x": 25410.312255242865, + "y": 20425.192574016928 + }, + "targetPosition": { + "x": 25577.519840975277, + "y": 20274.638187586184 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "5eedee75-e795-48ff-aed5-c8f9b9d4dea6", + "savedPayload": { + "position": { + "x": 25577.519840975277, + "y": 20274.638187586184 + }, + "targetPosition": { + "x": 25530.482032504835, + "y": 19827.10333467046 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Text", + "name": "Error #4", + "project": "Foundations", + "textCondition": { + "type": "Text Condition", + "name": "New Text Condition", + "code": "record.errors[3] !== undefined", + "project": "Foundations", + "id": "0e2ed377-638b-482a-bc0f-77f2ec18387c", + "savedPayload": { + "position": { + "x": 25619.185549003705, + "y": 20430.662113705246 + }, + "targetPosition": { + "x": 25460.086523236732, + "y": 20271.563087938273 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textPosition": { + "type": "Text Position", + "name": "Error #4", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": -270\n}", + "project": "Foundations", + "id": "6446382a-4ae0-4a78-b94b-345cbcfe5321", + "savedPayload": { + "position": { + "x": 25495.284277870785, + "y": 20493.792964572178 + }, + "targetPosition": { + "x": 25460.086523236732, + "y": 20271.563087938273 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Error #4", + "id": "f3bb5c98-3a32-4fe5-b630-9c21f7cb5745" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Errors", + "Plotter Module", + "Foundations", + "64684730-d049-4d3c-8013-b48c5438417e" + ], + [ + "Errors", + "Shapes", + "Foundations", + "c2dcdcbc-31bf-4a44-b47f-a2e1bba10db9" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "e50625b6-8b4d-4ae2-960b-b45769639162" + ], + [ + "Error #4", + "Point", + "Foundations", + "722460d3-2849-4008-9437-c59301966ea7" + ] + ] + } + }, + "textFormula": { + "type": "Text Formula", + "name": "New Text Formula", + "code": "4", + "project": "Foundations", + "id": "8f727482-b561-40f5-bc76-f8b6841bc07c", + "savedPayload": { + "position": { + "x": 25357.938660795335, + "y": 20472.039555880656 + }, + "targetPosition": { + "x": 25460.086523236732, + "y": 20271.563087938273 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textStyle": { + "type": "Text Style", + "name": "New Text Style", + "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.5,\n \"fontSize\": 10\n}", + "project": "Foundations", + "id": "0a9d86a2-8755-4e21-a4a0-a3eb3d1a7676", + "savedPayload": { + "position": { + "x": 25259.61005529435, + "y": 20373.71095037967 + }, + "targetPosition": { + "x": 25460.086523236732, + "y": 20271.563087938273 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "de9a37af-5429-423b-88fc-489d8a44c4d4", + "savedPayload": { + "position": { + "x": 25460.086523236732, + "y": 20271.563087938273 + }, + "targetPosition": { + "x": 25530.482032504835, + "y": 19827.10333467046 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Text", + "name": "Error #5", + "project": "Foundations", + "textCondition": { + "type": "Text Condition", + "name": "New Text Condition", + "code": "record.errors[4] !== undefined", + "project": "Foundations", + "id": "3627711a-7d8d-431d-9b8d-d42d2d80b5df", + "savedPayload": { + "position": { + "x": 25459.950543120725, + "y": 20433.054506461132 + }, + "targetPosition": { + "x": 25347.450543120725, + "y": 20238.198790609633 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textPosition": { + "type": "Text Position", + "name": "Error #5", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": -315\n}", + "project": "Foundations", + "id": "863f366a-67b6-410a-b902-39e327c7cc26", + "savedPayload": { + "position": { + "x": 25323.931638885504, + "y": 20461.966217067493 + }, + "targetPosition": { + "x": 25347.450543120725, + "y": 20238.198790609633 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Error #5", + "id": "2bc99a05-dc5a-4828-8d7b-9f113b6a0929" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Errors", + "Plotter Module", + "Foundations", + "64684730-d049-4d3c-8013-b48c5438417e" + ], + [ + "Errors", + "Shapes", + "Foundations", + "c2dcdcbc-31bf-4a44-b47f-a2e1bba10db9" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "e50625b6-8b4d-4ae2-960b-b45769639162" + ], + [ + "Error #5", + "Point", + "Foundations", + "0d37d958-e01a-4082-8b7b-b97e807a4864" + ] + ] + } + }, + "textFormula": { + "type": "Text Formula", + "name": "New Text Formula", + "code": "5", + "project": "Foundations", + "id": "b892e07f-fffb-4c5d-82d3-3ef68b3b0032", + "savedPayload": { + "position": { + "x": 25196.89615668998, + "y": 20405.406376342045 + }, + "targetPosition": { + "x": 25347.450543120725, + "y": 20238.198790609633 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textStyle": { + "type": "Text Style", + "name": "New Text Style", + "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.5,\n \"fontSize\": 10\n}", + "project": "Foundations", + "id": "7485a2b7-1fd2-4693-bac4-e4694cb8f3b8", + "savedPayload": { + "position": { + "x": 25127.36733295562, + "y": 20284.97892104363 + }, + "targetPosition": { + "x": 25347.450543120725, + "y": 20238.198790609633 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "b7dee3ee-341a-40a2-b937-7caa05c005f8", + "savedPayload": { + "position": { + "x": 25347.450543120725, + "y": 20238.198790609633 + }, + "targetPosition": { + "x": 25530.482032504835, + "y": 19827.10333467046 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "06a43b02-db0e-47f5-8385-a04c7c40c339", + "savedPayload": { + "position": { + "x": 25530.482032504835, + "y": 19827.10333467046 + }, + "targetPosition": { + "x": 25180.766349849197, + "y": 19543.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "panels": [], + "nodesErrors": { + "type": "Nodes Errors", + "name": "New Nodes Errors", + "config": "{ \n\"nodePath\": \"\"\n}", + "project": "Foundations", + "id": "bc9c5dfa-2834-4313-a222-b7f46208775b", + "savedPayload": { + "position": { + "x": 25342.03192714458, + "y": 19964.020350621777 + }, + "targetPosition": { + "x": 25180.766349849197, + "y": 19543.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "0b63b003-29c5-4578-9642-1ce0bccb0640", + "savedPayload": { + "position": { + "x": 25180.766349849197, + "y": 19543.909158698036 + }, + "targetPosition": { + "x": 24916.262986317583, + "y": 19179.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Status", + "config": "{ \n\"codeName\": \"Status\",\n\"connectTo\": \"Portfolio System\"\n}", + "project": "Foundations", + "panels": [], + "nodesStatus": { + "type": "Nodes Status", + "name": "New Nodes Status", + "config": "{ \n\"nodePath\": \"\"\n}", + "project": "Foundations", + "id": "dda72de7-60ad-4c8f-abec-95284d0c084f", + "savedPayload": { + "position": { + "x": 25194.378281255034, + "y": 20035.80237589495 + }, + "targetPosition": { + "x": 25055.32063378631, + "y": 19607.82694356213 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "f0694b1f-3cb1-4825-9b97-7e2e7cce124f", + "savedPayload": { + "position": { + "x": 25055.32063378631, + "y": 19607.82694356213 + }, + "targetPosition": { + "x": 24916.262986317583, + "y": 19179.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Progress", + "config": "{ \n\"codeName\": \"Progress\",\n\"connectTo\": \"Portfolio System\"\n}", + "project": "Foundations", + "panels": [], + "nodesProgress": { + "type": "Nodes Progress", + "name": "New Nodes Progress", + "config": "{ \n\"nodePath\": \"\"\n}", + "project": "Foundations", + "id": "2ecfbd1a-ce3f-4cf7-9c3d-12208ede97b2", + "savedPayload": { + "position": { + "x": 24916.262986317583, + "y": 20079.85151122931 + }, + "targetPosition": { + "x": 24916.262986317583, + "y": 19629.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "0abce18a-7b5b-426b-b802-ac5065d76c8e", + "savedPayload": { + "position": { + "x": 24916.262986317583, + "y": 19629.85151122931 + }, + "targetPosition": { + "x": 24916.262986317583, + "y": 19179.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Running", + "config": "{ \n\"codeName\": \"Running\",\n\"connectTo\": \"Portfolio System\"\n}", + "project": "Foundations", + "panels": [], + "nodesRunning": { + "type": "Nodes Running", + "name": "New Nodes Running", + "config": "{ \n\"nodePath\": \"\"\n}", + "project": "Foundations", + "id": "6da88c2d-306b-468a-9d96-b36c4ae7c959", + "savedPayload": { + "position": { + "x": 24638.14769138013, + "y": 20035.80237589495 + }, + "targetPosition": { + "x": 24777.205338848857, + "y": 19607.82694356213 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "08c27347-2e92-4be7-b149-34b087c58b98", + "savedPayload": { + "position": { + "x": 24777.205338848857, + "y": 19607.82694356213 + }, + "targetPosition": { + "x": 24916.262986317583, + "y": 19179.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Announcements", + "config": "{ \n\"codeName\": \"Announcements\",\n\"connectTo\": \"Portfolio System\"\n}", + "project": "Foundations", + "panels": [], + "nodesAnnouncements": { + "type": "Nodes Announcements", + "name": "New Nodes Announcements", + "project": "Foundations", + "id": "61618658-d2cd-4826-b5f0-5b8787fe6e99", + "savedPayload": { + "position": { + "x": 24387.256259254355, + "y": 19907.96680616676 + }, + "targetPosition": { + "x": 24651.75962278597, + "y": 19543.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "3d81d68f-79a0-469a-80ff-e24ab1e80e2b", + "savedPayload": { + "position": { + "x": 24651.75962278597, + "y": 19543.909158698036 + }, + "targetPosition": { + "x": 24916.262986317583, + "y": 19179.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Warnings", + "config": "{\n \"codeName\": \"Warnings\",\n \"connectTo\": \"Portfolio System\",\n \"useRateAtMousePosition\": true,\n \"ratePropertyName\": \"warnings\",\n \"rateInArrayAtIndex\": 3,\n \"rateOffset\": 100,\n \"rateOffsetBasedOnArrayIndex\": 50,\n \"rateRange\": 20\n}", + "project": "Foundations", + "shapes": { + "type": "Shapes", + "name": "Warnings", + "project": "Foundations", + "chartPoints": [ + { + "type": "Chart Points", + "name": "New Chart Points", + "project": "Foundations", + "points": [ + { + "type": "Point", + "name": "Warning #1", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin + (record.end - record.begin)\ny = record.warnings[0][3]", + "project": "Foundations", + "id": "cb763ee9-9ffa-49f1-a5d1-02680c73830b", + "savedPayload": { + "position": { + "x": 24838.160824521663, + "y": 20233.100364296875 + }, + "targetPosition": { + "x": 24578.35320338633, + "y": 20083.100364296875 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "877f5013-3822-4f55-8194-1d7fdbc1a080", + "savedPayload": { + "position": { + "x": 24578.35320338633, + "y": 20083.100364296875 + }, + "targetPosition": { + "x": 24318.545582250998, + "y": 19933.100364296875 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Warning #2", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin + (record.end - record.begin)\ny = record.warnings[1][3]", + "project": "Foundations", + "id": "e7c8d45c-4e6c-4c96-9ab1-9802c5b4f905", + "savedPayload": { + "position": { + "x": 24618.545582250998, + "y": 20452.71560656754 + }, + "targetPosition": { + "x": 24468.545582250998, + "y": 20192.907985432208 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "aadab50e-c685-47a1-9b7b-683628cc1cea", + "savedPayload": { + "position": { + "x": 24468.545582250998, + "y": 20192.907985432208 + }, + "targetPosition": { + "x": 24318.545582250998, + "y": 19933.100364296875 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Warning #3", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin + (record.end - record.begin)\ny = record.warnings[2][3]", + "project": "Foundations", + "id": "f444fe2b-f449-4978-9a55-0625c1334a32", + "savedPayload": { + "position": { + "x": 24318.545582250998, + "y": 20533.100364296875 + }, + "targetPosition": { + "x": 24318.545582250998, + "y": 20233.100364296875 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "169ec50b-3585-481c-bc7d-7516635d1cc1", + "savedPayload": { + "position": { + "x": 24318.545582250998, + "y": 20233.100364296875 + }, + "targetPosition": { + "x": 24318.545582250998, + "y": 19933.100364296875 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Warning #4", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin + (record.end - record.begin)\ny = record.warnings[3][3]", + "project": "Foundations", + "id": "bde2f80f-724b-4dcc-9a96-478a165e33c1", + "savedPayload": { + "position": { + "x": 24018.545582250998, + "y": 20452.71560656754 + }, + "targetPosition": { + "x": 24168.545582250998, + "y": 20192.907985432208 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "11be8d6a-71b2-43f3-a7c8-523b3c6b96aa", + "savedPayload": { + "position": { + "x": 24168.545582250998, + "y": 20192.907985432208 + }, + "targetPosition": { + "x": 24318.545582250998, + "y": 19933.100364296875 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Warning #5", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin + (record.end - record.begin)\ny = record.warnings[4][3]", + "project": "Foundations", + "id": "99117912-a431-4b0a-a153-4cef3ac626ec", + "savedPayload": { + "position": { + "x": 23798.930339980332, + "y": 20233.100364296875 + }, + "targetPosition": { + "x": 24058.737961115665, + "y": 20083.100364296875 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "25a4b2b2-3327-4c6d-b149-72ea4c5a2c35", + "savedPayload": { + "position": { + "x": 24058.737961115665, + "y": 20083.100364296875 + }, + "targetPosition": { + "x": 24318.545582250998, + "y": 19933.100364296875 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "c86c5585-4cea-4d92-9003-56e5e6cf0c36", + "savedPayload": { + "position": { + "x": 24533.514526408046, + "y": 20158.128204885288 + }, + "targetPosition": { + "x": 24269.01116287643, + "y": 19794.070557416562 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "polygons": [], + "images": [ + { + "type": "Image", + "name": "Warning #1", + "config": "{\n \"codeName\": \"bullet-warning\",\n \"size\": 30\n}", + "project": "Foundations", + "imageCondition": { + "type": "Image Condition", + "name": "New Image Condition", + "code": "record.warnings[0] !== undefined", + "project": "Foundations", + "id": "447f310f-acd0-451e-99b6-03c5f624e9f7", + "savedPayload": { + "position": { + "x": 24269.389655524985, + "y": 20066.719991629754 + }, + "targetPosition": { + "x": 24234.02581519857, + "y": 19920.948256381223 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "imagePosition": { + "type": "Image Position", + "name": "Warning #1", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": 100\n}", + "project": "Foundations", + "id": "07fe783f-876e-4092-b7e7-7aa98c373a60", + "savedPayload": { + "position": { + "x": 24125.465709482807, + "y": 20024.46010810354 + }, + "targetPosition": { + "x": 24234.02581519857, + "y": 19920.948256381223 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Warning #1", + "id": "877f5013-3822-4f55-8194-1d7fdbc1a080" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Warnings", + "Plotter Module", + "Foundations", + "a9709093-95c1-4b1b-aeb5-329c7505ab75" + ], + [ + "Warnings", + "Shapes", + "Foundations", + "1cb82596-da2f-4b0b-8a7e-b9bf0dfe310f" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "772d90ad-328d-4c7f-92fc-a7d3bba27a3e" + ], + [ + "Warning #1", + "Point", + "Foundations", + "c17d208d-1b72-4cd2-b134-ee8c259e314d" + ] + ] + } + }, + "id": "cd85363d-91ca-4b6d-a7bc-9e1a7f10efad", + "savedPayload": { + "position": { + "x": 24430.276740171816, + "y": 20214.181749340303 + }, + "targetPosition": { + "x": 24269.01116287643, + "y": 19794.070557416562 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Image", + "name": "Warning #2", + "config": "{\n \"codeName\": \"bullet-warning\",\n \"size\": 25\n}", + "project": "Foundations", + "imageCondition": { + "type": "Image Condition", + "name": "New Image Condition", + "code": "record.warnings[1] !== undefined", + "project": "Foundations", + "id": "731f9e38-0e75-46dc-800f-ccba0e167cff", + "savedPayload": { + "position": { + "x": 24149.21604964076, + "y": 20035.30652502368 + }, + "targetPosition": { + "x": 24156.35333701432, + "y": 19885.47642414623 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "imagePosition": { + "type": "Image Position", + "name": "Warning #2", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": 150\n}", + "project": "Foundations", + "id": "572cc3f3-f536-4e1f-92d0-ec1d8e0d9d67", + "savedPayload": { + "position": { + "x": 24023.028019716083, + "y": 19954.21040240534 + }, + "targetPosition": { + "x": 24156.35333701432, + "y": 19885.47642414623 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Warning #2", + "id": "aadab50e-c685-47a1-9b7b-683628cc1cea" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Warnings", + "Plotter Module", + "Foundations", + "a9709093-95c1-4b1b-aeb5-329c7505ab75" + ], + [ + "Warnings", + "Shapes", + "Foundations", + "1cb82596-da2f-4b0b-8a7e-b9bf0dfe310f" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "772d90ad-328d-4c7f-92fc-a7d3bba27a3e" + ], + [ + "Warning #2", + "Point", + "Foundations", + "03218a15-cf40-4310-923c-a31620f9a945" + ] + ] + } + }, + "id": "66d235e9-1931-4833-9c26-f59c75bbb74d", + "savedPayload": { + "position": { + "x": 24316.048971346874, + "y": 20241.605410332286 + }, + "targetPosition": { + "x": 24269.01116287643, + "y": 19794.070557416562 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Image", + "name": "Warning #3", + "config": "{\n \"codeName\": \"bullet-warning\",\n \"size\": 20\n}", + "project": "Foundations", + "imageCondition": { + "type": "Image Condition", + "name": "New Image Condition", + "code": "record.warnings[2] !== undefined", + "project": "Foundations", + "id": "2fadfc7e-83df-4517-8820-4e1f66018dfe", + "savedPayload": { + "position": { + "x": 24042.76051544711, + "y": 19971.30870728766 + }, + "targetPosition": { + "x": 24091.82070994472, + "y": 19829.55858448046 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "imagePosition": { + "type": "Image Position", + "name": "Warning #3", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": 200\n}", + "project": "Foundations", + "id": "61bad39d-2b5f-4c43-b7ba-352ea47fbdec", + "savedPayload": { + "position": { + "x": 23944.531405355316, + "y": 19857.946271134522 + }, + "targetPosition": { + "x": 24091.82070994472, + "y": 19829.55858448046 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Warning #3", + "id": "169ec50b-3585-481c-bc7d-7516635d1cc1" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Warnings", + "Plotter Module", + "Foundations", + "a9709093-95c1-4b1b-aeb5-329c7505ab75" + ], + [ + "Warnings", + "Shapes", + "Foundations", + "1cb82596-da2f-4b0b-8a7e-b9bf0dfe310f" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "772d90ad-328d-4c7f-92fc-a7d3bba27a3e" + ], + [ + "Warning #3", + "Point", + "Foundations", + "249c359c-5ca3-4a9e-be87-b8794ae526f2" + ] + ] + } + }, + "id": "cf1f6f27-b6fe-4642-b144-3e5679c11d00", + "savedPayload": { + "position": { + "x": 24198.61565360833, + "y": 20238.530310684375 + }, + "targetPosition": { + "x": 24269.01116287643, + "y": 19794.070557416562 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Image", + "name": "Warning #4", + "config": "{\n \"codeName\": \"bullet-warning\",\n \"size\": 15\n}", + "project": "Foundations", + "imageCondition": { + "type": "Image Condition", + "name": "New Image Condition", + "code": "record.warnings[3] !== undefined", + "project": "Foundations", + "id": "2b674c20-a9aa-46cd-9657-9eec7083163b", + "savedPayload": { + "position": { + "x": 23958.647447208965, + "y": 19879.911261004992 + }, + "targetPosition": { + "x": 24045.655983644643, + "y": 19757.72486819744 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "imagePosition": { + "type": "Image Position", + "name": "Warning #4", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": 250\n}", + "project": "Foundations", + "id": "a22113f3-fe1a-4a39-9b7d-1516f2bd9daa", + "savedPayload": { + "position": { + "x": 23896.33519525868, + "y": 19743.466461701813 + }, + "targetPosition": { + "x": 24045.655983644643, + "y": 19757.72486819744 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Warning #4", + "id": "11be8d6a-71b2-43f3-a7c8-523b3c6b96aa" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Warnings", + "Plotter Module", + "Foundations", + "a9709093-95c1-4b1b-aeb5-329c7505ab75" + ], + [ + "Warnings", + "Shapes", + "Foundations", + "1cb82596-da2f-4b0b-8a7e-b9bf0dfe310f" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "772d90ad-328d-4c7f-92fc-a7d3bba27a3e" + ], + [ + "Warning #4", + "Point", + "Foundations", + "9c241c90-c546-4603-9859-4dc209b26395" + ] + ] + } + }, + "id": "1ca35cbf-f783-490e-a819-f7f22b39c94c", + "savedPayload": { + "position": { + "x": 24085.979673492322, + "y": 20205.166013355734 + }, + "targetPosition": { + "x": 24269.01116287643, + "y": 19794.070557416562 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Image", + "name": "Warning #5", + "config": "{\n \"codeName\": \"bullet-warning\",\n \"size\": 10\n}", + "project": "Foundations", + "imageCondition": { + "type": "Image Condition", + "name": "New Image Condition", + "code": "record.warnings[4] !== undefined", + "project": "Foundations", + "id": "f84df81c-b482-4bb9-9654-3c53c4672f3a", + "savedPayload": { + "position": { + "x": 23903.691185475298, + "y": 19768.51866371195 + }, + "targetPosition": { + "x": 24021.599149686717, + "y": 19675.79481577886 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "imagePosition": { + "type": "Image Position", + "name": "Warning #5", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": 300\n}", + "project": "Foundations", + "id": "e1c2e682-9c3d-440e-9e2b-b3c9579b0cb0", + "savedPayload": { + "position": { + "x": 23882.343959734306, + "y": 19620.04544742981 + }, + "targetPosition": { + "x": 24021.599149686717, + "y": 19675.79481577886 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Warning #5", + "id": "25a4b2b2-3327-4c6d-b149-72ea4c5a2c35" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Warnings", + "Plotter Module", + "Foundations", + "a9709093-95c1-4b1b-aeb5-329c7505ab75" + ], + [ + "Warnings", + "Shapes", + "Foundations", + "1cb82596-da2f-4b0b-8a7e-b9bf0dfe310f" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "772d90ad-328d-4c7f-92fc-a7d3bba27a3e" + ], + [ + "Warning #5", + "Point", + "Foundations", + "38f9f62f-61b4-48c2-800b-8655bbd9b3e0" + ] + ] + } + }, + "id": "1e860118-aef6-40c5-9a87-0cfdb7571e5e", + "savedPayload": { + "position": { + "x": 23985.816986904007, + "y": 20143.7862400722 + }, + "targetPosition": { + "x": 24269.01116287643, + "y": 19794.070557416562 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "texts": [ + { + "type": "Text", + "name": "Warning #1", + "project": "Foundations", + "textCondition": { + "type": "Text Condition", + "name": "New Text Condition", + "code": "record.warnings[0] !== undefined", + "project": "Foundations", + "id": "48b31a89-0388-4cd7-87b7-352f0fdc3c27", + "savedPayload": { + "position": { + "x": 23917.058514388424, + "y": 19697.975683528737 + }, + "targetPosition": { + "x": 24021.599149686717, + "y": 19590.40591281489 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textPosition": { + "type": "Text Position", + "name": "Warning #1", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": 125\n}", + "project": "Foundations", + "id": "b8aabea8-55a5-412e-ba71-ba61a36f5c89", + "savedPayload": { + "position": { + "x": 23873.796074309565, + "y": 19615.984241709786 + }, + "targetPosition": { + "x": 24021.599149686717, + "y": 19590.40591281489 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Warning #1", + "id": "877f5013-3822-4f55-8194-1d7fdbc1a080" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Warnings", + "Plotter Module", + "Foundations", + "a9709093-95c1-4b1b-aeb5-329c7505ab75" + ], + [ + "Warnings", + "Shapes", + "Foundations", + "1cb82596-da2f-4b0b-8a7e-b9bf0dfe310f" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "772d90ad-328d-4c7f-92fc-a7d3bba27a3e" + ], + [ + "Warning #1", + "Point", + "Foundations", + "c17d208d-1b72-4cd2-b134-ee8c259e314d" + ] + ] + } + }, + "textFormula": { + "type": "Text Formula", + "name": "New Text Formula", + "code": "1", + "project": "Foundations", + "id": "014863a1-1f21-44f7-ab02-8be97cdb4fb6", + "savedPayload": { + "position": { + "x": 23886.989385383014, + "y": 19524.222747628406 + }, + "targetPosition": { + "x": 24021.599149686717, + "y": 19590.40591281489 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textStyle": { + "type": "Text Style", + "name": "New Text Style", + "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.5,\n \"fontSize\": 10\n}", + "project": "Foundations", + "id": "0a39628d-2a69-4342-b2a4-905f2c7910fd", + "savedPayload": { + "position": { + "x": 23951.599051202866, + "y": 19457.74097316522 + }, + "targetPosition": { + "x": 24021.599149686717, + "y": 19590.40591281489 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "8949f8a1-a153-4baa-8502-f28f82ff3ada", + "savedPayload": { + "position": { + "x": 23904.953515407706, + "y": 20058.573920948176 + }, + "targetPosition": { + "x": 24269.01116287643, + "y": 19794.070557416562 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Text", + "name": "Warning #2", + "project": "Foundations", + "textCondition": { + "type": "Text Condition", + "name": "New Text Condition", + "code": "record.warnings[1] !== undefined", + "project": "Foundations", + "id": "7d871a9a-2147-427c-9cd2-c91bdd56d85e", + "savedPayload": { + "position": { + "x": 23915.04407207668, + "y": 19582.23579909315 + }, + "targetPosition": { + "x": 24045.655983644643, + "y": 19508.47586039631 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textPosition": { + "type": "Text Position", + "name": "Warning #2", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": 170\n}", + "project": "Foundations", + "id": "13e0d59c-03df-4189-b47d-1baf132391ea", + "savedPayload": { + "position": { + "x": 23896.633723342362, + "y": 19491.37714891273 + }, + "targetPosition": { + "x": 24045.655983644643, + "y": 19508.47586039631 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Warning #2", + "id": "aadab50e-c685-47a1-9b7b-683628cc1cea" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Warnings", + "Plotter Module", + "Foundations", + "a9709093-95c1-4b1b-aeb5-329c7505ab75" + ], + [ + "Warnings", + "Shapes", + "Foundations", + "1cb82596-da2f-4b0b-8a7e-b9bf0dfe310f" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "772d90ad-328d-4c7f-92fc-a7d3bba27a3e" + ], + [ + "Warning #2", + "Point", + "Foundations", + "03218a15-cf40-4310-923c-a31620f9a945" + ] + ] + } + }, + "textFormula": { + "type": "Text Formula", + "name": "New Text Formula", + "code": "2", + "project": "Foundations", + "id": "1d0e3495-4671-455c-aff6-5194e685ca7f", + "savedPayload": { + "position": { + "x": 23935.144812963183, + "y": 19407.049625355205 + }, + "targetPosition": { + "x": 24045.655983644643, + "y": 19508.47586039631 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textStyle": { + "type": "Text Style", + "name": "New Text Style", + "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.5,\n \"fontSize\": 10\n}", + "project": "Foundations", + "id": "196186a0-d051-4f4b-b14d-1f8d5a3f4080", + "savedPayload": { + "position": { + "x": 24015.867413647782, + "y": 19361.46347623245 + }, + "targetPosition": { + "x": 24045.655983644643, + "y": 19508.47586039631 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "26fd8d97-86f7-4851-adde-eacc378f1b41", + "savedPayload": { + "position": { + "x": 23848.89997095269, + "y": 19955.336134711946 + }, + "targetPosition": { + "x": 24269.01116287643, + "y": 19794.070557416562 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Text", + "name": "Warning #3", + "project": "Foundations", + "textCondition": { + "type": "Text Condition", + "name": "New Text Condition", + "code": "record.warnings[2] !== undefined", + "project": "Foundations", + "id": "c272435b-e837-487d-8afb-f623ba800928", + "savedPayload": { + "position": { + "x": 23945.718922403372, + "y": 19470.616659227155 + }, + "targetPosition": { + "x": 24091.82070994472, + "y": 19436.64214411329 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textPosition": { + "type": "Text Position", + "name": "Warning #3", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": 215\n}", + "project": "Foundations", + "id": "4fa8f343-4704-4f89-b53d-dad520808d37", + "savedPayload": { + "position": { + "x": 23953.652161977494, + "y": 19378.251628165683 + }, + "targetPosition": { + "x": 24091.82070994472, + "y": 19436.64214411329 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Warning #3", + "id": "169ec50b-3585-481c-bc7d-7516635d1cc1" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Warnings", + "Plotter Module", + "Foundations", + "a9709093-95c1-4b1b-aeb5-329c7505ab75" + ], + [ + "Warnings", + "Shapes", + "Foundations", + "1cb82596-da2f-4b0b-8a7e-b9bf0dfe310f" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "772d90ad-328d-4c7f-92fc-a7d3bba27a3e" + ], + [ + "Warning #3", + "Point", + "Foundations", + "249c359c-5ca3-4a9e-be87-b8794ae526f2" + ] + ] + } + }, + "textFormula": { + "type": "Text Formula", + "name": "New Text Formula", + "code": "3", + "project": "Foundations", + "id": "234a45f6-3e16-4f6b-86a6-10edec24369e", + "savedPayload": { + "position": { + "x": 24014.361090698876, + "y": 19308.189789575554 + }, + "targetPosition": { + "x": 24091.82070994472, + "y": 19436.64214411329 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textStyle": { + "type": "Text Style", + "name": "New Text Style", + "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.5,\n \"fontSize\": 10\n}", + "project": "Foundations", + "id": "3c0b55c8-19ea-4c8a-997c-c4803b97f95d", + "savedPayload": { + "position": { + "x": 24104.656961216548, + "y": 19287.19238448389 + }, + "targetPosition": { + "x": 24091.82070994472, + "y": 19436.64214411329 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "59d22bd2-ab91-48d5-a082-37823e435d3d", + "savedPayload": { + "position": { + "x": 23821.476309960708, + "y": 19841.108365887005 + }, + "targetPosition": { + "x": 24269.01116287643, + "y": 19794.070557416562 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Text", + "name": "Warning #4", + "project": "Foundations", + "textCondition": { + "type": "Text Condition", + "name": "New Text Condition", + "code": "record.warnings[3] !== undefined", + "project": "Foundations", + "id": "7bb199a9-ee8a-4aba-8a3f-5fadd8034355", + "savedPayload": { + "position": { + "x": 24006.5979714254, + "y": 19372.160982818106 + }, + "targetPosition": { + "x": 24156.35333701432, + "y": 19380.72430444752 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textPosition": { + "type": "Text Position", + "name": "Warning #4", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": 260\n}", + "project": "Foundations", + "id": "60052269-b723-4533-89cc-811f5e97a70a", + "savedPayload": { + "position": { + "x": 24040.232095418458, + "y": 19285.77243637619 + }, + "targetPosition": { + "x": 24156.35333701432, + "y": 19380.72430444752 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Warning #4", + "id": "11be8d6a-71b2-43f3-a7c8-523b3c6b96aa" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Warnings", + "Plotter Module", + "Foundations", + "a9709093-95c1-4b1b-aeb5-329c7505ab75" + ], + [ + "Warnings", + "Shapes", + "Foundations", + "1cb82596-da2f-4b0b-8a7e-b9bf0dfe310f" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "772d90ad-328d-4c7f-92fc-a7d3bba27a3e" + ], + [ + "Warning #4", + "Point", + "Foundations", + "9c241c90-c546-4603-9859-4dc209b26395" + ] + ] + } + }, + "textFormula": { + "type": "Text Formula", + "name": "New Text Formula", + "code": "4", + "project": "Foundations", + "id": "7992c0c2-b2e6-4de6-8a61-23af0357771f", + "savedPayload": { + "position": { + "x": 24118.220586885298, + "y": 19235.65227624223 + }, + "targetPosition": { + "x": 24156.35333701432, + "y": 19380.72430444752 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textStyle": { + "type": "Text Style", + "name": "New Text Style", + "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.5,\n \"fontSize\": 10\n}", + "project": "Foundations", + "id": "808c23d7-5b41-44bd-94ff-27ea460b8880", + "savedPayload": { + "position": { + "x": 24210.774492816916, + "y": 19240.944700065804 + }, + "targetPosition": { + "x": 24156.35333701432, + "y": 19380.72430444752 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "7c7b794c-0e21-4aa2-8033-980d7f285b95", + "savedPayload": { + "position": { + "x": 23824.55140960862, + "y": 19723.67504814846 + }, + "targetPosition": { + "x": 24269.01116287643, + "y": 19794.070557416562 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Text", + "name": "Warning #5", + "project": "Foundations", + "textCondition": { + "type": "Text Condition", + "name": "New Text Condition", + "code": "record.warnings[4] !== undefined", + "project": "Foundations", + "id": "a515d407-2ab1-411b-aca8-28b1daf24235", + "savedPayload": { + "position": { + "x": 24092.749160652642, + "y": 19294.845063230212 + }, + "targetPosition": { + "x": 24234.02581519857, + "y": 19345.252472212527 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textPosition": { + "type": "Text Position", + "name": "Warning #5", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": 305\n}", + "project": "Foundations", + "id": "6dbe317d-aedc-4995-9855-420303f4015e", + "savedPayload": { + "position": { + "x": 24149.359332368553, + "y": 19221.43168766811 + }, + "targetPosition": { + "x": 24234.02581519857, + "y": 19345.252472212527 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Warning #5", + "id": "25a4b2b2-3327-4c6d-b149-72ea4c5a2c35" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Warnings", + "Plotter Module", + "Foundations", + "a9709093-95c1-4b1b-aeb5-329c7505ab75" + ], + [ + "Warnings", + "Shapes", + "Foundations", + "1cb82596-da2f-4b0b-8a7e-b9bf0dfe310f" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "772d90ad-328d-4c7f-92fc-a7d3bba27a3e" + ], + [ + "Warning #5", + "Point", + "Foundations", + "38f9f62f-61b4-48c2-800b-8655bbd9b3e0" + ] + ] + } + }, + "textFormula": { + "type": "Text Formula", + "name": "New Text Formula", + "code": "5", + "project": "Foundations", + "id": "54ab3069-3b20-49ee-ace7-d04ba28b6274", + "savedPayload": { + "position": { + "x": 24238.309222817625, + "y": 19195.3136432883 + }, + "targetPosition": { + "x": 24234.02581519857, + "y": 19345.252472212527 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textStyle": { + "type": "Text Style", + "name": "New Text Style", + "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.5,\n \"fontSize\": 10\n}", + "project": "Foundations", + "id": "cdebb5b8-495b-4c66-aebd-692fd07894b2", + "savedPayload": { + "position": { + "x": 24325.622997143884, + "y": 19226.467135324187 + }, + "targetPosition": { + "x": 24234.02581519857, + "y": 19345.252472212527 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "328290c0-cbfb-4625-8ed1-3142b421c038", + "savedPayload": { + "position": { + "x": 23857.91570693726, + "y": 19611.039068032453 + }, + "targetPosition": { + "x": 24269.01116287643, + "y": 19794.070557416562 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "ecaf0f68-fed3-4d9b-b06e-43ca17cfeea9", + "savedPayload": { + "position": { + "x": 24269.01116287643, + "y": 19794.070557416562 + }, + "targetPosition": { + "x": 24552.205338848857, + "y": 19444.354874760924 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "panels": [], + "nodesWarnings": { + "type": "Nodes Warnings", + "name": "New Nodes Warnings", + "project": "Foundations", + "id": "3d670adb-ab4e-465d-bba6-7ab308cab308", + "savedPayload": { + "position": { + "x": 24132.094146925116, + "y": 19605.620452056308 + }, + "targetPosition": { + "x": 24552.205338848857, + "y": 19444.354874760924 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "feb91691-ea03-49c3-9474-38b88354704d", + "savedPayload": { + "position": { + "x": 24552.205338848857, + "y": 19444.354874760924 + }, + "targetPosition": { + "x": 24916.262986317583, + "y": 19179.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Infos", + "config": "{\n \"codeName\": \"Infos\",\n \"connectTo\": \"Portfolio System\",\n \"useRateAtMousePosition\": true,\n \"ratePropertyName\": \"infos\",\n \"rateInArrayAtIndex\": 3,\n \"rateOffset\": 100,\n \"rateOffsetBasedOnArrayIndex\": 50,\n \"rateRange\": 20\n}", + "project": "Foundations", + "shapes": { + "type": "Shapes", + "name": "Infos", + "project": "Foundations", + "chartPoints": [ + { + "type": "Chart Points", + "name": "New Chart Points", + "project": "Foundations", + "points": [ + { + "type": "Point", + "name": "Info #1", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin + (record.end - record.begin)\ny = record.infos[0][3]", + "project": "Foundations", + "id": "38f7169b-a1eb-4576-863e-b196c1e194b8", + "savedPayload": { + "position": { + "x": 24260.32024389623, + "y": 20040.52645600691 + }, + "targetPosition": { + "x": 24000.512622760896, + "y": 19890.52645600691 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "cd00045c-9ed0-488a-9963-41f60512e7f9", + "savedPayload": { + "position": { + "x": 24000.512622760896, + "y": 19890.52645600691 + }, + "targetPosition": { + "x": 23740.705001625563, + "y": 19740.52645600691 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Info #2", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin + (record.end - record.begin)\ny = record.infos[1][3]", + "project": "Foundations", + "id": "617a986d-ba56-4cbe-8f42-7251845a2be4", + "savedPayload": { + "position": { + "x": 24040.705001625563, + "y": 20260.141698277577 + }, + "targetPosition": { + "x": 23890.705001625563, + "y": 20000.334077142244 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "2b158bfa-c60e-49a5-9362-cd187843de9c", + "savedPayload": { + "position": { + "x": 23890.705001625563, + "y": 20000.334077142244 + }, + "targetPosition": { + "x": 23740.705001625563, + "y": 19740.52645600691 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Info #3", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin + (record.end - record.begin)\ny = record.infos[2][3]", + "project": "Foundations", + "id": "19245068-e6b3-42f9-948d-9fc2d8f89993", + "savedPayload": { + "position": { + "x": 23740.705001625563, + "y": 20340.52645600691 + }, + "targetPosition": { + "x": 23740.705001625563, + "y": 20040.52645600691 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "c6ef56ed-34c0-4712-8985-a330998c452e", + "savedPayload": { + "position": { + "x": 23740.705001625563, + "y": 20040.52645600691 + }, + "targetPosition": { + "x": 23740.705001625563, + "y": 19740.52645600691 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Info #4", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin + (record.end - record.begin)\ny = record.infos[3][3]", + "project": "Foundations", + "id": "a344662b-0dd4-44bd-aaca-21b80b593f57", + "savedPayload": { + "position": { + "x": 23440.705001625563, + "y": 20260.141698277577 + }, + "targetPosition": { + "x": 23590.705001625563, + "y": 20000.334077142244 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "eb47dc01-038d-420f-b0ee-f5e5653e359b", + "savedPayload": { + "position": { + "x": 23590.705001625563, + "y": 20000.334077142244 + }, + "targetPosition": { + "x": 23740.705001625563, + "y": 19740.52645600691 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Info #5", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin + (record.end - record.begin)\ny = record.infos[4][3]", + "project": "Foundations", + "id": "6409028d-0d24-43f9-852d-5ddaf0643889", + "savedPayload": { + "position": { + "x": 23221.089759354898, + "y": 20040.52645600691 + }, + "targetPosition": { + "x": 23480.89738049023, + "y": 19890.52645600691 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "6b012a33-3f98-4a71-b6dc-e4fbb26730be", + "savedPayload": { + "position": { + "x": 23480.89738049023, + "y": 19890.52645600691 + }, + "targetPosition": { + "x": 23740.705001625563, + "y": 19740.52645600691 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "5685edbf-faf9-48c5-894c-0572bd1b7873", + "savedPayload": { + "position": { + "x": 24249.94344587805, + "y": 19991.97215678762 + }, + "targetPosition": { + "x": 24110.885798409323, + "y": 19563.9967244548 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "polygons": [], + "images": [ + { + "type": "Image", + "name": "Info #1", + "config": "{\n \"codeName\": \"bullet-info\",\n \"size\": 30\n}", + "project": "Foundations", + "imageCondition": { + "type": "Image Condition", + "name": "New Image Condition", + "code": "record.infos[0] !== undefined", + "project": "Foundations", + "id": "3156f0f4-f414-42fb-8d76-b02f430d18d8", + "savedPayload": { + "position": { + "x": 23691.54907489955, + "y": 19874.14608333979 + }, + "targetPosition": { + "x": 23656.185234573135, + "y": 19728.37434809126 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "imagePosition": { + "type": "Image Position", + "name": "Info #1", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": 100\n}", + "project": "Foundations", + "id": "b1bd6db6-e8be-4106-88fd-0007a85e2681", + "savedPayload": { + "position": { + "x": 23547.625128857373, + "y": 19831.886199813576 + }, + "targetPosition": { + "x": 23656.185234573135, + "y": 19728.37434809126 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Info #1", + "id": "cd00045c-9ed0-488a-9963-41f60512e7f9" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Infos", + "Plotter Module", + "Foundations", + "f175df3b-a277-44bc-88db-dcf6b0e3fa38" + ], + [ + "Infos", + "Shapes", + "Foundations", + "48f7bd71-fb8c-46e4-8310-f3ad897bdbe8" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "d0603f25-80ef-4d01-a970-3bb5325619a2" + ], + [ + "Info #1", + "Point", + "Foundations", + "e2193d1d-3c3a-4ba3-a61a-a3fa3a205bdd" + ] + ] + } + }, + "id": "5b2ca648-31da-4648-8fa8-186eceb60918", + "savedPayload": { + "position": { + "x": 24134.436978718648, + "y": 20013.380015094357 + }, + "targetPosition": { + "x": 24110.885798409323, + "y": 19563.9967244548 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Image", + "name": "Info #2", + "config": "{\n \"codeName\": \"bullet-info\",\n \"size\": 25\n}", + "project": "Foundations", + "imageCondition": { + "type": "Image Condition", + "name": "New Image Condition", + "code": "record.infos[1] !== undefined", + "project": "Foundations", + "id": "2785ab84-aa1f-47c8-ad5c-ffa527753d3b", + "savedPayload": { + "position": { + "x": 23571.375469015326, + "y": 19842.732616733716 + }, + "targetPosition": { + "x": 23578.512756388885, + "y": 19692.902515856265 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "imagePosition": { + "type": "Image Position", + "name": "Info #2", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": 150\n}", + "project": "Foundations", + "id": "c815df51-cfe9-4c3f-8994-449915eb81a6", + "savedPayload": { + "position": { + "x": 23445.18743909065, + "y": 19761.636494115377 + }, + "targetPosition": { + "x": 23578.512756388885, + "y": 19692.902515856265 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Info #2", + "id": "2b158bfa-c60e-49a5-9362-cd187843de9c" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Infos", + "Plotter Module", + "Foundations", + "f175df3b-a277-44bc-88db-dcf6b0e3fa38" + ], + [ + "Infos", + "Shapes", + "Foundations", + "48f7bd71-fb8c-46e4-8310-f3ad897bdbe8" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "d0603f25-80ef-4d01-a970-3bb5325619a2" + ], + [ + "Info #2", + "Point", + "Foundations", + "524b9641-2eca-4919-9da2-a431cfd0a96e" + ] + ] + } + }, + "id": "6927c887-bb36-4eba-bd9c-453b36ef51e7", + "savedPayload": { + "position": { + "x": 24017.325537541332, + "y": 20004.163144785012 + }, + "targetPosition": { + "x": 24110.885798409323, + "y": 19563.9967244548 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Image", + "name": "Info #3", + "config": "{\n \"codeName\": \"bullet-info\",\n \"size\": 20\n}", + "project": "Foundations", + "imageCondition": { + "type": "Image Condition", + "name": "New Image Condition", + "code": "record.infos[2] !== undefined", + "project": "Foundations", + "id": "d5671df8-23a2-47c7-9d8a-0694c6ec6dd6", + "savedPayload": { + "position": { + "x": 23464.919934821675, + "y": 19778.734798997695 + }, + "targetPosition": { + "x": 23513.980129319287, + "y": 19636.984676190496 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "imagePosition": { + "type": "Image Position", + "name": "Info #3", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": 200\n}", + "project": "Foundations", + "id": "f5f8674d-03ef-49f4-8b58-b6f9d686fdfd", + "savedPayload": { + "position": { + "x": 23366.69082472988, + "y": 19665.37236284456 + }, + "targetPosition": { + "x": 23513.980129319287, + "y": 19636.984676190496 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Info #3", + "id": "c6ef56ed-34c0-4712-8985-a330998c452e" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Infos", + "Plotter Module", + "Foundations", + "f175df3b-a277-44bc-88db-dcf6b0e3fa38" + ], + [ + "Infos", + "Shapes", + "Foundations", + "48f7bd71-fb8c-46e4-8310-f3ad897bdbe8" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "d0603f25-80ef-4d01-a970-3bb5325619a2" + ], + [ + "Info #3", + "Point", + "Foundations", + "5105f48d-9987-4475-932a-56f566d90159" + ] + ] + } + }, + "id": "9e8cc05f-895e-4a05-8c61-7b2f822c8a26", + "savedPayload": { + "position": { + "x": 23906.590073526528, + "y": 19964.949660339564 + }, + "targetPosition": { + "x": 24110.885798409323, + "y": 19563.9967244548 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Image", + "name": "Info #4", + "config": "{\n \"codeName\": \"bullet-info\",\n \"size\": 15\n}", + "project": "Foundations", + "imageCondition": { + "type": "Image Condition", + "name": "New Image Condition", + "code": "record.infos[3] !== undefined", + "project": "Foundations", + "id": "68c9dc5c-658b-4545-afa0-ce1ec2704d9c", + "savedPayload": { + "position": { + "x": 23380.80686658353, + "y": 19687.33735271503 + }, + "targetPosition": { + "x": 23467.81540301921, + "y": 19565.150959907478 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "imagePosition": { + "type": "Image Position", + "name": "Info #4", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": 250\n}", + "project": "Foundations", + "id": "02c69504-10fc-49c9-9bba-e0d934013492", + "savedPayload": { + "position": { + "x": 23318.494614633248, + "y": 19550.89255341185 + }, + "targetPosition": { + "x": 23467.81540301921, + "y": 19565.150959907478 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Info #4", + "id": "eb47dc01-038d-420f-b0ee-f5e5653e359b" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Infos", + "Plotter Module", + "Foundations", + "f175df3b-a277-44bc-88db-dcf6b0e3fa38" + ], + [ + "Infos", + "Shapes", + "Foundations", + "48f7bd71-fb8c-46e4-8310-f3ad897bdbe8" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "d0603f25-80ef-4d01-a970-3bb5325619a2" + ], + [ + "Info #4", + "Point", + "Foundations", + "b3fd79f9-cccf-44b0-bcb2-285a84993f9e" + ] + ] + } + }, + "id": "6673e4ef-0acc-494d-b19a-9cff3aa460b0", + "savedPayload": { + "position": { + "x": 23809.777025547835, + "y": 19898.411895919628 + }, + "targetPosition": { + "x": 24110.885798409323, + "y": 19563.9967244548 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Image", + "name": "Info #5", + "config": "{\n \"codeName\": \"bullet-info\",\n \"size\": 10\n}", + "project": "Foundations", + "imageCondition": { + "type": "Image Condition", + "name": "New Image Condition", + "code": "record.infos[4] !== undefined", + "project": "Foundations", + "id": "6f0e1a94-2931-4ee9-a6ba-ddce38accbdb", + "savedPayload": { + "position": { + "x": 23325.850604849864, + "y": 19575.944755421988 + }, + "targetPosition": { + "x": 23443.758569061283, + "y": 19483.220907488896 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "imagePosition": { + "type": "Image Position", + "name": "Info #5", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": 300\n}", + "project": "Foundations", + "id": "d8498984-9f30-44fc-81d9-72ce3526b505", + "savedPayload": { + "position": { + "x": 23304.50337910887, + "y": 19427.471539139846 + }, + "targetPosition": { + "x": 23443.758569061283, + "y": 19483.220907488896 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Info #5", + "id": "6b012a33-3f98-4a71-b6dc-e4fbb26730be" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Infos", + "Plotter Module", + "Foundations", + "f175df3b-a277-44bc-88db-dcf6b0e3fa38" + ], + [ + "Infos", + "Shapes", + "Foundations", + "48f7bd71-fb8c-46e4-8310-f3ad897bdbe8" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "d0603f25-80ef-4d01-a970-3bb5325619a2" + ], + [ + "Info #5", + "Point", + "Foundations", + "ea3f2d7c-cf4c-489d-bb84-c25f80267e41" + ] + ] + } + }, + "id": "8154137a-0d59-4f6a-8ad4-a00bacec8cc9", + "savedPayload": { + "position": { + "x": 23733.484042833883, + "y": 19809.084290211562 + }, + "targetPosition": { + "x": 24110.885798409323, + "y": 19563.9967244548 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "texts": [ + { + "type": "Text", + "name": "Info #1", + "project": "Foundations", + "textCondition": { + "type": "Text Condition", + "name": "New Text Condition", + "code": "record.infos[0] !== undefined", + "project": "Foundations", + "id": "3f96a6fb-06e5-4914-8053-7c33660b8281", + "savedPayload": { + "position": { + "x": 23339.21793376299, + "y": 19505.401775238774 + }, + "targetPosition": { + "x": 23443.758569061283, + "y": 19397.832004524927 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textPosition": { + "type": "Text Position", + "name": "Info #1", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": 125\n}", + "project": "Foundations", + "id": "f6786b8a-0398-45e3-a032-a21fc522b7ef", + "savedPayload": { + "position": { + "x": 23295.95549368413, + "y": 19423.410333419823 + }, + "targetPosition": { + "x": 23443.758569061283, + "y": 19397.832004524927 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Info #1", + "id": "cd00045c-9ed0-488a-9963-41f60512e7f9" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Infos", + "Plotter Module", + "Foundations", + "f175df3b-a277-44bc-88db-dcf6b0e3fa38" + ], + [ + "Infos", + "Shapes", + "Foundations", + "48f7bd71-fb8c-46e4-8310-f3ad897bdbe8" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "d0603f25-80ef-4d01-a970-3bb5325619a2" + ], + [ + "Info #1", + "Point", + "Foundations", + "e2193d1d-3c3a-4ba3-a61a-a3fa3a205bdd" + ] + ] + } + }, + "textFormula": { + "type": "Text Formula", + "name": "New Text Formula", + "code": "1", + "project": "Foundations", + "id": "6557c35d-9613-4f1e-8ef1-a1cd6182d872", + "savedPayload": { + "position": { + "x": 23309.14880475758, + "y": 19331.648839338442 + }, + "targetPosition": { + "x": 23443.758569061283, + "y": 19397.832004524927 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textStyle": { + "type": "Text Style", + "name": "New Text Style", + "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.5,\n \"fontSize\": 10\n}", + "project": "Foundations", + "id": "20a6d461-da22-4081-88a9-4c18cfa3481f", + "savedPayload": { + "position": { + "x": 23373.75847057743, + "y": 19265.167064875255 + }, + "targetPosition": { + "x": 23443.758569061283, + "y": 19397.832004524927 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "8d194828-7b4a-4955-b9b0-f05e5760394b", + "savedPayload": { + "position": { + "x": 23682.910366076503, + "y": 19703.054371923525 + }, + "targetPosition": { + "x": 24110.885798409323, + "y": 19563.9967244548 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Text", + "name": "Info #2", + "project": "Foundations", + "textCondition": { + "type": "Text Condition", + "name": "New Text Condition", + "code": "record.infos[1] !== undefined", + "project": "Foundations", + "id": "87b37f1c-ac90-4f01-9864-e1253becf702", + "savedPayload": { + "position": { + "x": 23337.203491451244, + "y": 19389.661890803185 + }, + "targetPosition": { + "x": 23467.81540301921, + "y": 19315.901952106346 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textPosition": { + "type": "Text Position", + "name": "Info #2", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": 170\n}", + "project": "Foundations", + "id": "61fca6a1-5e8c-4f6c-98cf-2ab780305c42", + "savedPayload": { + "position": { + "x": 23318.793142716928, + "y": 19298.803240622765 + }, + "targetPosition": { + "x": 23467.81540301921, + "y": 19315.901952106346 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Info #2", + "id": "2b158bfa-c60e-49a5-9362-cd187843de9c" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Infos", + "Plotter Module", + "Foundations", + "f175df3b-a277-44bc-88db-dcf6b0e3fa38" + ], + [ + "Infos", + "Shapes", + "Foundations", + "48f7bd71-fb8c-46e4-8310-f3ad897bdbe8" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "d0603f25-80ef-4d01-a970-3bb5325619a2" + ], + [ + "Info #2", + "Point", + "Foundations", + "524b9641-2eca-4919-9da2-a431cfd0a96e" + ] + ] + } + }, + "textFormula": { + "type": "Text Formula", + "name": "New Text Formula", + "code": "2", + "project": "Foundations", + "id": "fc1ace32-acc6-40fb-b4b4-6de4d8a7015d", + "savedPayload": { + "position": { + "x": 23357.30423233775, + "y": 19214.47571706524 + }, + "targetPosition": { + "x": 23467.81540301921, + "y": 19315.901952106346 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textStyle": { + "type": "Text Style", + "name": "New Text Style", + "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.5,\n \"fontSize\": 10\n}", + "project": "Foundations", + "id": "1a1cf903-053f-453d-beb6-ac5c87f81746", + "savedPayload": { + "position": { + "x": 23438.026833022348, + "y": 19168.889567942486 + }, + "targetPosition": { + "x": 23467.81540301921, + "y": 19315.901952106346 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "5344f458-059c-4424-aa05-3b67b9440cbd", + "savedPayload": { + "position": { + "x": 23661.502507769765, + "y": 19587.547904764124 + }, + "targetPosition": { + "x": 24110.885798409323, + "y": 19563.9967244548 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Text", + "name": "Info #3", + "project": "Foundations", + "textCondition": { + "type": "Text Condition", + "name": "New Text Condition", + "code": "record.infos[2] !== undefined", + "project": "Foundations", + "id": "43c612bb-7e9a-4238-bd2e-8d6dcee9dc1c", + "savedPayload": { + "position": { + "x": 23367.878341777938, + "y": 19278.04275093719 + }, + "targetPosition": { + "x": 23513.980129319287, + "y": 19244.068235823328 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textPosition": { + "type": "Text Position", + "name": "Info #3", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": 215\n}", + "project": "Foundations", + "id": "a480fda7-de9e-4e1a-9e0f-d5c68ea93d80", + "savedPayload": { + "position": { + "x": 23375.81158135206, + "y": 19185.67771987572 + }, + "targetPosition": { + "x": 23513.980129319287, + "y": 19244.068235823328 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Info #3", + "id": "c6ef56ed-34c0-4712-8985-a330998c452e" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Infos", + "Plotter Module", + "Foundations", + "f175df3b-a277-44bc-88db-dcf6b0e3fa38" + ], + [ + "Infos", + "Shapes", + "Foundations", + "48f7bd71-fb8c-46e4-8310-f3ad897bdbe8" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "d0603f25-80ef-4d01-a970-3bb5325619a2" + ], + [ + "Info #3", + "Point", + "Foundations", + "5105f48d-9987-4475-932a-56f566d90159" + ] + ] + } + }, + "textFormula": { + "type": "Text Formula", + "name": "New Text Formula", + "code": "3", + "project": "Foundations", + "id": "0e0a84d7-f55a-4b38-82d1-c602fce948b8", + "savedPayload": { + "position": { + "x": 23436.520510073442, + "y": 19115.61588128559 + }, + "targetPosition": { + "x": 23513.980129319287, + "y": 19244.068235823328 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textStyle": { + "type": "Text Style", + "name": "New Text Style", + "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.5,\n \"fontSize\": 10\n}", + "project": "Foundations", + "id": "a6293672-d050-4a00-a023-1ff9259674eb", + "savedPayload": { + "position": { + "x": 23526.816380591114, + "y": 19094.618476193926 + }, + "targetPosition": { + "x": 23513.980129319287, + "y": 19244.068235823328 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "ab09b3bd-1f04-4f38-866d-cb7af758c92e", + "savedPayload": { + "position": { + "x": 23670.71937807911, + "y": 19470.436463586808 + }, + "targetPosition": { + "x": 24110.885798409323, + "y": 19563.9967244548 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Text", + "name": "Info #4", + "project": "Foundations", + "textCondition": { + "type": "Text Condition", + "name": "New Text Condition", + "code": "record.infos[3] !== undefined", + "project": "Foundations", + "id": "aa1227a0-e590-4cd0-a79d-6e93689fccfa", + "savedPayload": { + "position": { + "x": 23428.757390799965, + "y": 19179.587074528143 + }, + "targetPosition": { + "x": 23578.512756388885, + "y": 19188.150396157558 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textPosition": { + "type": "Text Position", + "name": "Info #4", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": 260\n}", + "project": "Foundations", + "id": "5ae6fc71-86be-4e9d-b47f-c2d3bc7232c2", + "savedPayload": { + "position": { + "x": 23462.391514793024, + "y": 19093.198528086228 + }, + "targetPosition": { + "x": 23578.512756388885, + "y": 19188.150396157558 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Info #4", + "id": "eb47dc01-038d-420f-b0ee-f5e5653e359b" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Infos", + "Plotter Module", + "Foundations", + "f175df3b-a277-44bc-88db-dcf6b0e3fa38" + ], + [ + "Infos", + "Shapes", + "Foundations", + "48f7bd71-fb8c-46e4-8310-f3ad897bdbe8" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "d0603f25-80ef-4d01-a970-3bb5325619a2" + ], + [ + "Info #4", + "Point", + "Foundations", + "b3fd79f9-cccf-44b0-bcb2-285a84993f9e" + ] + ] + } + }, + "textFormula": { + "type": "Text Formula", + "name": "New Text Formula", + "code": "4", + "project": "Foundations", + "id": "7386bb27-b08c-4a8e-a987-0255098de760", + "savedPayload": { + "position": { + "x": 23540.380006259864, + "y": 19043.078367952265 + }, + "targetPosition": { + "x": 23578.512756388885, + "y": 19188.150396157558 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textStyle": { + "type": "Text Style", + "name": "New Text Style", + "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.5,\n \"fontSize\": 10\n}", + "project": "Foundations", + "id": "cbb2d8ca-0cbd-47e3-b3c4-d3654e0b29ab", + "savedPayload": { + "position": { + "x": 23632.93391219148, + "y": 19048.37079177584 + }, + "targetPosition": { + "x": 23578.512756388885, + "y": 19188.150396157558 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "86a948a8-2b96-4e2b-a1cc-1721b39606e0", + "savedPayload": { + "position": { + "x": 23709.932862524558, + "y": 19359.700999572004 + }, + "targetPosition": { + "x": 24110.885798409323, + "y": 19563.9967244548 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Text", + "name": "Info #5", + "project": "Foundations", + "textCondition": { + "type": "Text Condition", + "name": "New Text Condition", + "code": "record.infos[4] !== undefined", + "project": "Foundations", + "id": "f0ab379c-5f72-4c48-b514-a0b7e5cefa18", + "savedPayload": { + "position": { + "x": 23514.908580027208, + "y": 19102.27115494025 + }, + "targetPosition": { + "x": 23656.185234573135, + "y": 19152.678563922564 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textPosition": { + "type": "Text Position", + "name": "Info #5", + "config": "{\n \"offsetX\": 0,\n \"offsetY\": 305\n}", + "project": "Foundations", + "id": "088f1404-fcc0-4134-ac4d-24c78657fe91", + "savedPayload": { + "position": { + "x": 23571.51875174312, + "y": 19028.857779378148 + }, + "targetPosition": { + "x": 23656.185234573135, + "y": 19152.678563922564 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Info #5", + "id": "6b012a33-3f98-4a71-b6dc-e4fbb26730be" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio System", + "Plotter", + "Foundations", + "34f9d374-f4ae-4abf-96e3-978c6b8a879a" + ], + [ + "Infos", + "Plotter Module", + "Foundations", + "f175df3b-a277-44bc-88db-dcf6b0e3fa38" + ], + [ + "Infos", + "Shapes", + "Foundations", + "48f7bd71-fb8c-46e4-8310-f3ad897bdbe8" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "d0603f25-80ef-4d01-a970-3bb5325619a2" + ], + [ + "Info #5", + "Point", + "Foundations", + "ea3f2d7c-cf4c-489d-bb84-c25f80267e41" + ] + ] + } + }, + "textFormula": { + "type": "Text Formula", + "name": "New Text Formula", + "code": "5", + "project": "Foundations", + "id": "87842172-c8bf-4f2b-be17-db2849f325ae", + "savedPayload": { + "position": { + "x": 23660.46864219219, + "y": 19002.739734998337 + }, + "targetPosition": { + "x": 23656.185234573135, + "y": 19152.678563922564 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textStyle": { + "type": "Text Style", + "name": "New Text Style", + "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.5,\n \"fontSize\": 10\n}", + "project": "Foundations", + "id": "9c1e1f36-b19e-47ac-8c19-d2c0628af2e0", + "savedPayload": { + "position": { + "x": 23747.78241651845, + "y": 19033.893227034223 + }, + "targetPosition": { + "x": 23656.185234573135, + "y": 19152.678563922564 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "5fafe050-e437-4fdf-b1bc-863b0bcd7487", + "savedPayload": { + "position": { + "x": 23776.470626944494, + "y": 19262.88795159331 + }, + "targetPosition": { + "x": 24110.885798409323, + "y": 19563.9967244548 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "141e66d2-9552-4cb6-82d9-927b46a2a9be", + "savedPayload": { + "position": { + "x": 24110.885798409323, + "y": 19563.9967244548 + }, + "targetPosition": { + "x": 24488.287553984763, + "y": 19318.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "panels": [], + "nodesInfos": { + "type": "Nodes Infos", + "name": "New Nodes Infos", + "project": "Foundations", + "id": "5445f6ea-685c-4ff4-81e0-0e03efcc970e", + "savedPayload": { + "position": { + "x": 24038.904263345205, + "y": 19342.46033900736 + }, + "targetPosition": { + "x": 24488.287553984763, + "y": 19318.909158698036 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "124c5cb2-74eb-40e6-a708-09ee90857cfa", + "savedPayload": { + "position": { + "x": 24488.287553984763, + "y": 19318.909158698036 + }, + "targetPosition": { + "x": 24916.262986317583, + "y": 19179.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "64c05784-cf56-470e-bf33-b8b76d49e8e7", + "savedPayload": { + "position": { + "x": 24916.262986317583, + "y": 19179.85151122931 + }, + "targetPosition": { + "x": 24916.262986317583, + "y": 18729.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter", + "name": "Portfolio Episode", + "config": "{ \n\"codeName\": \"\"\n}", + "project": "Foundations", + "modules": [ + { + "type": "Plotter Module", + "name": "Episode Objects", + "config": "{ \n \"codeName\": \"Strategy-Objects\", \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": "Begin Bottom", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin\ny = 0", + "project": "Foundations", + "id": "ab441cac-1e44-429b-a47b-4265008c14c1", + "savedPayload": { + "position": { + "x": 25444.178552965182, + "y": 19758.182160697434 + }, + "targetPosition": { + "x": 25225.395320875705, + "y": 19810.707367565014 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "e1d80370-4497-4a46-b48a-9431d182e318", + "savedPayload": { + "position": { + "x": 25225.395320875705, + "y": 19810.707367565014 + }, + "targetPosition": { + "x": 24787.82885669675, + "y": 19915.75778130017 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Begin Top", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin\ny = record.beginRate", + "project": "Foundations", + "id": "d54eb787-7865-4b65-a499-ea4d4ee173b1", + "savedPayload": { + "position": { + "x": 25460.74805696661, + "y": 19968.717670916467 + }, + "targetPosition": { + "x": 25236.441656876657, + "y": 19951.0643743777 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "1a81be2f-5230-495a-b3df-d966a906de64", + "savedPayload": { + "position": { + "x": 25236.441656876657, + "y": 19951.0643743777 + }, + "targetPosition": { + "x": 24787.82885669675, + "y": 19915.75778130017 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "End Bottom", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.end\ny = 0", + "project": "Foundations", + "id": "ce883b81-d49c-40d0-bd66-bb4312bfedb0", + "savedPayload": { + "position": { + "x": 25411.447541141868, + "y": 20174.069098146607 + }, + "targetPosition": { + "x": 25203.57464632683, + "y": 20087.96532586446 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "6a6243a5-829d-4032-adf9-b0b54615c333", + "savedPayload": { + "position": { + "x": 25203.57464632683, + "y": 20087.96532586446 + }, + "targetPosition": { + "x": 24787.82885669675, + "y": 19915.75778130017 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "End Top", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.end\ny = record.endRate", + "project": "Foundations", + "id": "4136134f-6201-4c52-914b-fc6d3f36ada4", + "savedPayload": { + "position": { + "x": 25301.10288347677, + "y": 20354.135213923044 + }, + "targetPosition": { + "x": 25130.011541216765, + "y": 20208.009403048753 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "1730befe-3dab-4ce5-97bd-b6ddef336bfc", + "savedPayload": { + "position": { + "x": 25130.011541216765, + "y": 20208.009403048753 + }, + "targetPosition": { + "x": 24787.82885669675, + "y": 19915.75778130017 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "3aa1d0bf-7605-4153-a6f8-9dcc82167663", + "savedPayload": { + "position": { + "x": 24787.82885669675, + "y": 19915.75778130017 + }, + "targetPosition": { + "x": 24350.262392517794, + "y": 19810.707367565014 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "polygons": [ + { + "type": "Polygon", + "name": "Closed Base", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.status === 'Closed'", + "project": "Foundations", + "id": "59d255ff-f328-490d-92b1-94e74374871e", + "savedPayload": { + "position": { + "x": 24221.025253772154, + "y": 20247.934863119015 + }, + "targetPosition": { + "x": 24053.825344585304, + "y": 20592.459156052195 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 2,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 2,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "620ac2b6-bbcc-4c30-881c-a5fd54161eb6", + "savedPayload": { + "position": { + "x": 24767.59617827481, + "y": 20762.1640196787 + }, + "targetPosition": { + "x": 24425.8294378868, + "y": 20681.11914424434 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "c4b11d73-466c-4eaf-aa8f-0c6facd3bbd0", + "savedPayload": { + "position": { + "x": 24425.8294378868, + "y": 20681.11914424434 + }, + "targetPosition": { + "x": 24053.825344585304, + "y": 20592.459156052195 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin Bottom", + "project": "Foundations", + "id": "f0336cf4-e5a4-4ab0-9fb7-7ad9278b4d99", + "savedPayload": { + "position": { + "x": 24084.958559194187, + "y": 20973.088078793695 + }, + "targetPosition": { + "x": 24053.825344585304, + "y": 20592.459156052195 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Bottom", + "id": "e1d80370-4497-4a46-b48a-9431d182e318" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Episode", + "Plotter", + "Foundations", + "12f444b2-b8e7-48ef-9ea1-9cbe5489f942" + ], + [ + "Episode Objects", + "Plotter Module", + "Foundations", + "b7320c91-b8aa-4642-bd11-a1efb2a88d39" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "0d8e669e-47fd-41f7-8108-8df3e7acd5ef" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "75792ba3-caac-448f-976a-2e0beaa5fb15" + ], + [ + "Begin Bottom", + "Point", + "Foundations", + "d36cc3b7-cf35-4b2d-9e62-af77e624bd8a" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End Bottom", + "project": "Foundations", + "id": "0818d106-1f70-4635-8ca0-1ab4bba372db", + "savedPayload": { + "position": { + "x": 23669.3946329614, + "y": 20729.54123175619 + }, + "targetPosition": { + "x": 24053.825344585304, + "y": 20592.459156052195 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Bottom", + "id": "6a6243a5-829d-4032-adf9-b0b54615c333" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Episode", + "Plotter", + "Foundations", + "12f444b2-b8e7-48ef-9ea1-9cbe5489f942" + ], + [ + "Episode Objects", + "Plotter Module", + "Foundations", + "b7320c91-b8aa-4642-bd11-a1efb2a88d39" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "0d8e669e-47fd-41f7-8108-8df3e7acd5ef" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "75792ba3-caac-448f-976a-2e0beaa5fb15" + ], + [ + "End Bottom", + "Point", + "Foundations", + "cdc081f1-7080-407e-a1d8-20e71c2903f5" + ] + ] + } + } + ], + "id": "033404c6-ca90-4906-96b6-f58050fa8d3f", + "savedPayload": { + "position": { + "x": 24714.32003998652, + "y": 20075.210731096628 + }, + "targetPosition": { + "x": 24350.262392517794, + "y": 19810.707367565014 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Open Base", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.status === 'Open'", + "project": "Foundations", + "id": "c68158f3-9e1b-48b5-ae90-ec0982258626", + "savedPayload": { + "position": { + "x": 24100.395101867867, + "y": 20463.072789510592 + }, + "targetPosition": { + "x": 23814.742905076626, + "y": 20727.244648993972 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 2,\n \"lineDash\": [3,3]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 2,\n \"lineDash\": [3,3]\n }\n}", + "project": "Foundations", + "id": "b6fd1cd2-6b05-45c3-bb39-433f685fbe8f", + "savedPayload": { + "position": { + "x": 24409.626226842465, + "y": 21156.858254144587 + }, + "targetPosition": { + "x": 24124.53676569293, + "y": 20951.02132703542 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "b0f598ad-be01-4343-83fd-16217e7c50f8", + "savedPayload": { + "position": { + "x": 24124.53676569293, + "y": 20951.02132703542 + }, + "targetPosition": { + "x": 23814.742905076626, + "y": 20727.244648993972 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin Bottom", + "project": "Foundations", + "id": "75eafd03-c6ad-4a80-98bc-3ec65651a6f1", + "savedPayload": { + "position": { + "x": 23698.15029450406, + "y": 21091.091693027396 + }, + "targetPosition": { + "x": 23814.742905076626, + "y": 20727.244648993972 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Bottom", + "id": "e1d80370-4497-4a46-b48a-9431d182e318" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Episode", + "Plotter", + "Foundations", + "12f444b2-b8e7-48ef-9ea1-9cbe5489f942" + ], + [ + "Episode Objects", + "Plotter Module", + "Foundations", + "b7320c91-b8aa-4642-bd11-a1efb2a88d39" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "0d8e669e-47fd-41f7-8108-8df3e7acd5ef" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "75792ba3-caac-448f-976a-2e0beaa5fb15" + ], + [ + "Begin Bottom", + "Point", + "Foundations", + "d36cc3b7-cf35-4b2d-9e62-af77e624bd8a" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End Bottom", + "project": "Foundations", + "id": "274b1b73-8346-467f-8821-03ddf0687a39", + "savedPayload": { + "position": { + "x": 23408.206523498015, + "y": 20706.95448704814 + }, + "targetPosition": { + "x": 23814.742905076626, + "y": 20727.244648993972 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Bottom", + "id": "6a6243a5-829d-4032-adf9-b0b54615c333" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Episode", + "Plotter", + "Foundations", + "12f444b2-b8e7-48ef-9ea1-9cbe5489f942" + ], + [ + "Episode Objects", + "Plotter Module", + "Foundations", + "b7320c91-b8aa-4642-bd11-a1efb2a88d39" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "0d8e669e-47fd-41f7-8108-8df3e7acd5ef" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "75792ba3-caac-448f-976a-2e0beaa5fb15" + ], + [ + "End Bottom", + "Point", + "Foundations", + "cdc081f1-7080-407e-a1d8-20e71c2903f5" + ] + ] + } + } + ], + "id": "565f4c7f-f509-4ff6-8c66-f34360e6a686", + "savedPayload": { + "position": { + "x": 24585.38674663997, + "y": 20194.395441524353 + }, + "targetPosition": { + "x": 24350.262392517794, + "y": 19810.707367565014 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Left Line", + "project": "Foundations", + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n }\n}", + "project": "Foundations", + "id": "45ccd4fa-4cc3-48a0-9c5e-2feaf7bf34d6", + "savedPayload": { + "position": { + "x": 23512.077126724118, + "y": 16175.608528622131 + }, + "targetPosition": { + "x": 23740.962650406178, + "y": 16361.062454382722 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "50a4ef7c-358e-426d-99d2-5bbfb5558d52", + "savedPayload": { + "position": { + "x": 23740.962650406178, + "y": 16361.062454382722 + }, + "targetPosition": { + "x": 24008.436143108756, + "y": 16577.786924975124 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin Bottom", + "project": "Foundations", + "id": "7ba2d46b-d02e-4d1f-ad52-41cc3bd3a8e8", + "savedPayload": { + "position": { + "x": 23972.606845580023, + "y": 16235.374699951648 + }, + "targetPosition": { + "x": 24008.436143108756, + "y": 16577.786924975124 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Bottom", + "id": "e1d80370-4497-4a46-b48a-9431d182e318" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Episode", + "Plotter", + "Foundations", + "12f444b2-b8e7-48ef-9ea1-9cbe5489f942" + ], + [ + "Episode Objects", + "Plotter Module", + "Foundations", + "b7320c91-b8aa-4642-bd11-a1efb2a88d39" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "0d8e669e-47fd-41f7-8108-8df3e7acd5ef" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "75792ba3-caac-448f-976a-2e0beaa5fb15" + ], + [ + "Begin Bottom", + "Point", + "Foundations", + "d36cc3b7-cf35-4b2d-9e62-af77e624bd8a" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " Begin Top", + "project": "Foundations", + "id": "6814f5a9-69df-4d05-9078-9ccf5967faf0", + "savedPayload": { + "position": { + "x": 24225.209814557722, + "y": 16310.01881794068 + }, + "targetPosition": { + "x": 24008.436143108756, + "y": 16577.786924975124 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Top", + "id": "1a81be2f-5230-495a-b3df-d966a906de64" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Episode", + "Plotter", + "Foundations", + "12f444b2-b8e7-48ef-9ea1-9cbe5489f942" + ], + [ + "Episode Objects", + "Plotter Module", + "Foundations", + "b7320c91-b8aa-4642-bd11-a1efb2a88d39" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "0d8e669e-47fd-41f7-8108-8df3e7acd5ef" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "75792ba3-caac-448f-976a-2e0beaa5fb15" + ], + [ + "Begin Top", + "Point", + "Foundations", + "d51a844a-acff-4717-b416-ac02113bcb84" + ] + ] + } + } + ], + "id": "a38b4138-fb29-4ca6-84d0-c2f9a5793508", + "savedPayload": { + "position": { + "x": 24420.657901785897, + "y": 20255.167120832826 + }, + "targetPosition": { + "x": 24350.262392517794, + "y": 19810.707367565014 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Right Line", + "project": "Foundations", + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n }\n}", + "project": "Foundations", + "id": "d89e1c77-6249-4450-8ae9-730ff5c5fc45", + "savedPayload": { + "position": { + "x": 23632.76120674073, + "y": 16137.316670245284 + }, + "targetPosition": { + "x": 23840.50612100698, + "y": 16345.239179378696 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "59601894-5a1d-471d-9a85-89bbf81f15b5", + "savedPayload": { + "position": { + "x": 23840.50612100698, + "y": 16345.239179378696 + }, + "targetPosition": { + "x": 24069.943493073726, + "y": 16574.896683732117 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " End Bottom", + "project": "Foundations", + "id": "beb09c80-d534-49cd-8289-ddb9a0889693", + "savedPayload": { + "position": { + "x": 24069.941703462162, + "y": 16249.21394016928 + }, + "targetPosition": { + "x": 24069.943493073726, + "y": 16574.896683732117 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Bottom", + "id": "6a6243a5-829d-4032-adf9-b0b54615c333" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Episode", + "Plotter", + "Foundations", + "12f444b2-b8e7-48ef-9ea1-9cbe5489f942" + ], + [ + "Episode Objects", + "Plotter Module", + "Foundations", + "b7320c91-b8aa-4642-bd11-a1efb2a88d39" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "0d8e669e-47fd-41f7-8108-8df3e7acd5ef" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "75792ba3-caac-448f-976a-2e0beaa5fb15" + ], + [ + "End Bottom", + "Point", + "Foundations", + "cdc081f1-7080-407e-a1d8-20e71c2903f5" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End Top", + "project": "Foundations", + "id": "8b9b92cc-01f5-451b-899d-424be6859a63", + "savedPayload": { + "position": { + "x": 24300.5065948635, + "y": 16344.292400862523 + }, + "targetPosition": { + "x": 24069.943493073726, + "y": 16574.896683732117 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Top", + "id": "1730befe-3dab-4ce5-97bd-b6ddef336bfc" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Episode", + "Plotter", + "Foundations", + "12f444b2-b8e7-48ef-9ea1-9cbe5489f942" + ], + [ + "Episode Objects", + "Plotter Module", + "Foundations", + "b7320c91-b8aa-4642-bd11-a1efb2a88d39" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "0d8e669e-47fd-41f7-8108-8df3e7acd5ef" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "75792ba3-caac-448f-976a-2e0beaa5fb15" + ], + [ + "End Top", + "Point", + "Foundations", + "a53dfccb-7edd-4b83-84dc-56f62fb77e2e" + ] + ] + } + } + ], + "id": "69ea94a9-7ec6-4e32-85ef-953638e84f07", + "savedPayload": { + "position": { + "x": 24245.211978782638, + "y": 20248.27383174397 + }, + "targetPosition": { + "x": 24350.262392517794, + "y": 19810.707367565014 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "images": [ + { + "type": "Image", + "name": "New Image", + "config": "{\n \"codeName\": \"portfolio-episode\",\n \"size\": 25\n}", + "project": "Foundations", + "imagePosition": { + "type": "Image Position", + "name": "Begin Bottom", + "config": "{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }", + "project": "Foundations", + "id": "c9d7f7c3-9a9f-472a-b62a-6c21daff4b58", + "savedPayload": { + "position": { + "x": 23953.507347220373, + "y": 20356.793838768102 + }, + "targetPosition": { + "x": 24085.75902898618, + "y": 20174.76501503374 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Bottom", + "id": "e1d80370-4497-4a46-b48a-9431d182e318" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Episode", + "Plotter", + "Foundations", + "12f444b2-b8e7-48ef-9ea1-9cbe5489f942" + ], + [ + "Episode Objects", + "Plotter Module", + "Foundations", + "b7320c91-b8aa-4642-bd11-a1efb2a88d39" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "0d8e669e-47fd-41f7-8108-8df3e7acd5ef" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "75792ba3-caac-448f-976a-2e0beaa5fb15" + ], + [ + "Begin Bottom", + "Point", + "Foundations", + "d36cc3b7-cf35-4b2d-9e62-af77e624bd8a" + ] + ] + } + }, + "id": "6997c84e-60ce-49c7-b931-3966fb5b99cd", + "savedPayload": { + "position": { + "x": 24085.75902898618, + "y": 20174.76501503374 + }, + "targetPosition": { + "x": 24350.262392517794, + "y": 19810.707367565014 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Image", + "name": "New Image", + "config": "{\n \"codeName\": \"portfolio-episode\",\n \"size\": 25\n}", + "project": "Foundations", + "imagePosition": { + "type": "Image Position", + "name": "End Bottom", + "config": "{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }", + "project": "Foundations", + "id": "e4258a10-9e69-4a1c-9006-777b4c7c882c", + "savedPayload": { + "position": { + "x": 23774.730281578784, + "y": 20163.39389874828 + }, + "targetPosition": { + "x": 23966.574318558454, + "y": 20045.83172168719 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Bottom", + "id": "6a6243a5-829d-4032-adf9-b0b54615c333" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Episode", + "Plotter", + "Foundations", + "12f444b2-b8e7-48ef-9ea1-9cbe5489f942" + ], + [ + "Episode Objects", + "Plotter Module", + "Foundations", + "b7320c91-b8aa-4642-bd11-a1efb2a88d39" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "0d8e669e-47fd-41f7-8108-8df3e7acd5ef" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "75792ba3-caac-448f-976a-2e0beaa5fb15" + ], + [ + "End Bottom", + "Point", + "Foundations", + "cdc081f1-7080-407e-a1d8-20e71c2903f5" + ] + ] + } + }, + "id": "5d16ad09-74b7-43ac-96e9-6a7061c2d162", + "savedPayload": { + "position": { + "x": 23966.574318558454, + "y": 20045.83172168719 + }, + "targetPosition": { + "x": 24350.262392517794, + "y": 19810.707367565014 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "texts": [], + "id": "16da6d3f-be49-458f-832b-0e3edace163c", + "savedPayload": { + "position": { + "x": 24350.262392517794, + "y": 19810.707367565014 + }, + "targetPosition": { + "x": 24279.86688324969, + "y": 19366.2476142972 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "panels": [ + { + "type": "Plotter Panel", + "name": "Episode Object", + "config": "{ \n\"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Serial Number", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.serialNumber", + "project": "Foundations", + "id": "5b446078-3c3c-4be4-83f0-8a5852313667", + "savedPayload": { + "position": { + "x": 24513.94859098977, + "y": 20280.474576961988 + }, + "targetPosition": { + "x": 24367.82278011548, + "y": 20109.38323470198 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "235e8fad-1194-4f0f-bbd2-d5737b75a124", + "savedPayload": { + "position": { + "x": 24367.82278011548, + "y": 20109.38323470198 + }, + "targetPosition": { + "x": 24075.571158366896, + "y": 19767.200550181966 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Status", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.status", + "project": "Foundations", + "id": "987fb269-70fb-45ea-9098-97d480ea2997", + "savedPayload": { + "position": { + "x": 24284.157629569985, + "y": 20409.163698681194 + }, + "targetPosition": { + "x": 24214.628805835622, + "y": 20195.175982514786 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "867f113a-420e-4d1d-9099-b7cb3760bf9f", + "savedPayload": { + "position": { + "x": 24214.628805835622, + "y": 20195.175982514786 + }, + "targetPosition": { + "x": 24075.571158366896, + "y": 19767.200550181966 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Exit Type", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.exitType", + "project": "Foundations", + "id": "08c9a782-77b6-4b97-a1dd-5fb4b74128c7", + "savedPayload": { + "position": { + "x": 24022.6112687506, + "y": 20440.119750451828 + }, + "targetPosition": { + "x": 24040.264565289366, + "y": 20215.813350361874 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "a70b3541-c859-448b-974e-a8a6fd86c7e8", + "savedPayload": { + "position": { + "x": 24040.264565289366, + "y": 20215.813350361874 + }, + "targetPosition": { + "x": 24075.571158366896, + "y": 19767.200550181966 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Begin Rate", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.beginRate", + "project": "Foundations", + "id": "f71610bc-26d5-44d0-8b2d-d5b2e8bc8b7d", + "savedPayload": { + "position": { + "x": 23769.127571042703, + "y": 20368.629954009113 + }, + "targetPosition": { + "x": 23871.2754334841, + "y": 20168.15348606673 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "fd6d33df-78ff-4324-b264-ac22a5cfd3af", + "savedPayload": { + "position": { + "x": 23871.2754334841, + "y": 20168.15348606673 + }, + "targetPosition": { + "x": 24075.571158366896, + "y": 19767.200550181966 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "End Rate", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.endRate", + "project": "Foundations", + "id": "e4be6ce0-cfd7-4577-958c-76f6190aa311", + "savedPayload": { + "position": { + "x": 23562.297131586878, + "y": 20205.57798280484 + }, + "targetPosition": { + "x": 23733.388473846884, + "y": 20059.45217193055 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "5c1bef80-d801-4696-b3b4-2894154e85b6", + "savedPayload": { + "position": { + "x": 23733.388473846884, + "y": 20059.45217193055 + }, + "targetPosition": { + "x": 24075.571158366896, + "y": 19767.200550181966 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Begin", + "config": "{\n }", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "UI.projects.foundations.utilities.dates.formatDate(record.begin)", + "project": "Foundations", + "id": "3216384c-0330-42e9-8781-472b52b86170", + "savedPayload": { + "position": { + "x": 23433.60800986767, + "y": 19975.787021385055 + }, + "targetPosition": { + "x": 23647.595726034077, + "y": 19906.25819765069 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "3dcbd69b-e025-420d-8e2a-9e3ccf842086", + "savedPayload": { + "position": { + "x": 23647.595726034077, + "y": 19906.25819765069 + }, + "targetPosition": { + "x": 24075.571158366896, + "y": 19767.200550181966 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "End", + "config": "{\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "UI.projects.foundations.utilities.dates.formatDate(record.end)", + "project": "Foundations", + "id": "c9e21705-e2ee-4d1f-9091-82804bfaa82d", + "savedPayload": { + "position": { + "x": 23402.651958097034, + "y": 19714.24066056567 + }, + "targetPosition": { + "x": 23626.95835818699, + "y": 19731.893957104436 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "3b797930-df0c-4299-b9ab-be8df5ffea15", + "savedPayload": { + "position": { + "x": 23626.95835818699, + "y": 19731.893957104436 + }, + "targetPosition": { + "x": 24075.571158366896, + "y": 19767.200550181966 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "9b17be1e-af4c-4d50-a276-fa51e964533a", + "savedPayload": { + "position": { + "x": 24075.571158366896, + "y": 19767.200550181966 + }, + "targetPosition": { + "x": 24279.86688324969, + "y": 19366.2476142972 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Panel", + "name": "Episode Base Asset", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Hits", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.hitsInBaseAsset", + "project": "Foundations", + "id": "25b88bf3-1133-4b21-97c8-18c51604e9fc", + "savedPayload": { + "position": { + "x": 24019.70496590113, + "y": 20459.46284571562 + }, + "targetPosition": { + "x": 23949.30945663303, + "y": 20015.00309244781 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "c62693c1-3012-46f1-bf35-c78df557be1e", + "savedPayload": { + "position": { + "x": 23949.30945663303, + "y": 20015.00309244781 + }, + "targetPosition": { + "x": 23878.913947364927, + "y": 19570.543339179996 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Fails", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.failsInBaseAsset", + "project": "Foundations", + "id": "15b6db2d-f2b5-4221-8be8-2a03b91df302", + "savedPayload": { + "position": { + "x": 23738.12292882872, + "y": 20459.46284571562 + }, + "targetPosition": { + "x": 23808.518438096824, + "y": 20015.00309244781 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "30981868-38e8-4803-8717-38bc50c25edd", + "savedPayload": { + "position": { + "x": 23808.518438096824, + "y": 20015.00309244781 + }, + "targetPosition": { + "x": 23878.913947364927, + "y": 19570.543339179996 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Hit Ratio", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.hitRatioInBaseAsset", + "project": "Foundations", + "id": "6cc80a29-4f36-4b52-bbb9-fd308005a0ea", + "savedPayload": { + "position": { + "x": 23470.322497599336, + "y": 20372.449210949526 + }, + "targetPosition": { + "x": 23674.61822248213, + "y": 19971.49627506476 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "865d4868-dbe7-4d09-992b-736a5d31b599", + "savedPayload": { + "position": { + "x": 23674.61822248213, + "y": 19971.49627506476 + }, + "targetPosition": { + "x": 23878.913947364927, + "y": 19570.543339179996 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Profit Loss", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.profitLossInBaseAsset", + "project": "Foundations", + "id": "4355003b-1934-4214-8912-e6d7d0736103", + "savedPayload": { + "position": { + "x": 23242.517844297035, + "y": 20206.939442247887 + }, + "targetPosition": { + "x": 23560.71589583098, + "y": 19888.74139071394 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "95b6e1e4-90a1-4000-9fe0-31d42292861b", + "savedPayload": { + "position": { + "x": 23560.71589583098, + "y": 19888.74139071394 + }, + "targetPosition": { + "x": 23878.913947364927, + "y": 19570.543339179996 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "ROI", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.ROIInBaseAsset", + "project": "Foundations", + "id": "085c797c-6c76-4f20-b345-db7ebaebbac4", + "savedPayload": { + "position": { + "x": 23077.008075595397, + "y": 19979.134788945586 + }, + "targetPosition": { + "x": 23477.96101148016, + "y": 19774.83906406279 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "05a8e0f6-4438-4100-a38b-90ef2fbbeda2", + "savedPayload": { + "position": { + "x": 23477.96101148016, + "y": 19774.83906406279 + }, + "targetPosition": { + "x": 23878.913947364927, + "y": 19570.543339179996 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Annualized Rate Of Return", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.annualizedRateOfReturnInBaseAsset", + "project": "Foundations", + "id": "7729894f-4e3b-48e2-9671-9c3fbae4ad4e", + "savedPayload": { + "position": { + "x": 22989.9944408293, + "y": 19711.3343577162 + }, + "targetPosition": { + "x": 23434.454194097114, + "y": 19640.9388484481 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "a1e15e56-b67c-4aa9-9328-79b922e28a50", + "savedPayload": { + "position": { + "x": 23434.454194097114, + "y": 19640.9388484481 + }, + "targetPosition": { + "x": 23878.913947364927, + "y": 19570.543339179996 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Hit Fail", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.hitFailInBaseAsset", + "project": "Foundations", + "id": "4edbd0f1-dfc6-46ab-91c2-a4dc0d48a0af", + "savedPayload": { + "position": { + "x": 22989.9944408293, + "y": 19429.75232064379 + }, + "targetPosition": { + "x": 23434.454194097114, + "y": 19500.147829911893 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "68933c00-a835-46ec-aa69-7cf552839c4e", + "savedPayload": { + "position": { + "x": 23434.454194097114, + "y": 19500.147829911893 + }, + "targetPosition": { + "x": 23878.913947364927, + "y": 19570.543339179996 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Begin Balance", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.beginBalanceInBaseAsset", + "project": "Foundations", + "id": "2bde428b-f715-4335-869a-4a22bf46f356", + "savedPayload": { + "position": { + "x": 23077.008075595397, + "y": 19161.951889414406 + }, + "targetPosition": { + "x": 23477.96101148016, + "y": 19366.2476142972 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "7b7b632c-dfaf-4278-9427-ae0038c2e3ba", + "savedPayload": { + "position": { + "x": 23477.96101148016, + "y": 19366.2476142972 + }, + "targetPosition": { + "x": 23878.913947364927, + "y": 19570.543339179996 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "End Balance", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.endBalanceInBaseAsset", + "project": "Foundations", + "id": "ff3ce36d-0b11-4972-a990-72ffd38f1264", + "savedPayload": { + "position": { + "x": 23242.517844297035, + "y": 18934.147236112105 + }, + "targetPosition": { + "x": 23560.71589583098, + "y": 19252.34528764605 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "82d6d5a5-df33-4138-9150-f207ceea78d3", + "savedPayload": { + "position": { + "x": 23560.71589583098, + "y": 19252.34528764605 + }, + "targetPosition": { + "x": 23878.913947364927, + "y": 19570.543339179996 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "403c85f0-c03c-42d1-b05a-418e5e6d4576", + "savedPayload": { + "position": { + "x": 23878.913947364927, + "y": 19570.543339179996 + }, + "targetPosition": { + "x": 24279.86688324969, + "y": 19366.2476142972 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Panel", + "name": "Episode Quoted Asset", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Hits", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.hitsInQuotedAsset", + "project": "Foundations", + "id": "9f574292-239b-488b-9513-c4b56a7efdde", + "savedPayload": { + "position": { + "x": 23426.81568021629, + "y": 20097.757976798628 + }, + "targetPosition": { + "x": 23631.111405099084, + "y": 19696.805040913863 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "a96e1af3-6169-4e9c-bb98-a106bf89b81b", + "savedPayload": { + "position": { + "x": 23631.111405099084, + "y": 19696.805040913863 + }, + "targetPosition": { + "x": 23835.40712998188, + "y": 19295.8521050291 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Fails", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.failsInQuotedAsset", + "project": "Foundations", + "id": "cc212cb3-0a39-4430-a9d4-0bec870ce707", + "savedPayload": { + "position": { + "x": 23199.011026913988, + "y": 19932.24820809699 + }, + "targetPosition": { + "x": 23517.209078447933, + "y": 19614.050156563044 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "76a38274-9220-4b9e-bcc5-8911b83b87f4", + "savedPayload": { + "position": { + "x": 23517.209078447933, + "y": 19614.050156563044 + }, + "targetPosition": { + "x": 23835.40712998188, + "y": 19295.8521050291 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Hit Ratio", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.hitRatioInQuotedAsset", + "project": "Foundations", + "id": "d8df02a8-95a3-409b-a68d-d78372f571dd", + "savedPayload": { + "position": { + "x": 23033.50125821235, + "y": 19704.44355479469 + }, + "targetPosition": { + "x": 23434.454194097114, + "y": 19500.147829911893 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "1c71afec-ddd8-429f-9d56-0c2c45de5404", + "savedPayload": { + "position": { + "x": 23434.454194097114, + "y": 19500.147829911893 + }, + "targetPosition": { + "x": 23835.40712998188, + "y": 19295.8521050291 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Profit Loss", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.profitLossInQuotedAsset", + "project": "Foundations", + "id": "677c47ec-ae23-4aad-8427-b078f9a731e0", + "savedPayload": { + "position": { + "x": 22946.487623446254, + "y": 19436.643123565304 + }, + "targetPosition": { + "x": 23390.947376714066, + "y": 19366.2476142972 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "03b3750e-2383-44e2-9aa7-584cf634b756", + "savedPayload": { + "position": { + "x": 23390.947376714066, + "y": 19366.2476142972 + }, + "targetPosition": { + "x": 23835.40712998188, + "y": 19295.8521050291 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "ROI", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.ROIInQuotedAsset", + "project": "Foundations", + "id": "2b84d176-cae3-4a9c-b077-813bca0504a0", + "savedPayload": { + "position": { + "x": 22946.487623446254, + "y": 19155.061086492893 + }, + "targetPosition": { + "x": 23390.947376714066, + "y": 19225.456595760996 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "ec7e3fc1-7548-44a0-8c7a-943bf8fe766e", + "savedPayload": { + "position": { + "x": 23390.947376714066, + "y": 19225.456595760996 + }, + "targetPosition": { + "x": 23835.40712998188, + "y": 19295.8521050291 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Annualized Rate Of Return", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.annualizedRateOfReturnInQuotedAsset", + "project": "Foundations", + "id": "5cbdc99c-1246-4b25-8923-8b90913d242b", + "savedPayload": { + "position": { + "x": 23033.50125821235, + "y": 18887.260655263508 + }, + "targetPosition": { + "x": 23434.454194097114, + "y": 19091.556380146303 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "b93795ca-3d5e-4cb8-8049-d338599e3bd8", + "savedPayload": { + "position": { + "x": 23434.454194097114, + "y": 19091.556380146303 + }, + "targetPosition": { + "x": 23835.40712998188, + "y": 19295.8521050291 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Hit Fail", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.hitFailInQuotedAsset", + "project": "Foundations", + "id": "35847bab-b6ea-4b17-afec-b2cad1020078", + "savedPayload": { + "position": { + "x": 23199.011026913988, + "y": 18659.456001961207 + }, + "targetPosition": { + "x": 23517.209078447933, + "y": 18977.654053495153 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "363d8e14-d434-4988-8c09-43e96650dbfb", + "savedPayload": { + "position": { + "x": 23517.209078447933, + "y": 18977.654053495153 + }, + "targetPosition": { + "x": 23835.40712998188, + "y": 19295.8521050291 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Begin Balance", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.beginBalanceInQuotedAsset", + "project": "Foundations", + "id": "83398eb5-c569-47fe-b820-ad3d0a7d1981", + "savedPayload": { + "position": { + "x": 23426.81568021629, + "y": 18493.94623325957 + }, + "targetPosition": { + "x": 23631.111405099084, + "y": 18894.899169144333 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "fff768c2-ef96-46b5-87df-572fb8bc92ac", + "savedPayload": { + "position": { + "x": 23631.111405099084, + "y": 18894.899169144333 + }, + "targetPosition": { + "x": 23835.40712998188, + "y": 19295.8521050291 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "End Balance", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.endBalanceInQuotedAsset", + "project": "Foundations", + "id": "a7be5dda-7086-4f96-af58-603feb5a139a", + "savedPayload": { + "position": { + "x": 23694.616111445674, + "y": 18406.932598493473 + }, + "targetPosition": { + "x": 23765.011620713776, + "y": 18851.392351761286 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "b93030f3-e949-4dc5-a71f-42969de64852", + "savedPayload": { + "position": { + "x": 23765.011620713776, + "y": 18851.392351761286 + }, + "targetPosition": { + "x": 23835.40712998188, + "y": 19295.8521050291 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "ff7a6cd3-1e4b-46b3-bf0f-022ed7a1c627", + "savedPayload": { + "position": { + "x": 23835.40712998188, + "y": 19295.8521050291 + }, + "targetPosition": { + "x": 24279.86688324969, + "y": 19366.2476142972 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "296e7c68-fbea-4ade-96b6-2b4cd9434368", + "savedPayload": { + "position": { + "x": 24279.86688324969, + "y": 19366.2476142972 + }, + "targetPosition": { + "x": 24598.064934783637, + "y": 19048.049562763255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "c1fa69b1-a73c-41b8-bde1-6fdf72cb7cb6", + "savedPayload": { + "position": { + "x": 24598.064934783637, + "y": 19048.049562763255 + }, + "targetPosition": { + "x": 24916.262986317583, + "y": 18729.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter", + "name": "Portfolio Strategy", + "config": "{\n \"codeName\": \"\"\n}", + "project": "Foundations", + "modules": [ + { + "type": "Plotter Module", + "name": "Strategy Objects", + "config": "{ \n \"codeName\": \"Strategy-Objects\", \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": "Begin Bottom", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin\ny = 0", + "project": "Foundations", + "id": "fe4559c9-2410-4833-86f5-382b86f6d255", + "savedPayload": { + "position": { + "x": 23648.077185373055, + "y": 19585.94076309914 + }, + "targetPosition": { + "x": 23545.093114831194, + "y": 19457.931966345255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "8a53a855-7114-4f45-ae72-8a3c3dd9001a", + "savedPayload": { + "position": { + "x": 23545.093114831194, + "y": 19457.931966345255 + }, + "targetPosition": { + "x": 23327.477404225952, + "y": 19187.20418096373 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Begin Top", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin\ny = record.beginRate", + "project": "Foundations", + "id": "ad4e4bab-4fe0-4474-92d4-8f06af6f5f28", + "savedPayload": { + "position": { + "x": 23509.061391039508, + "y": 19665.709704357152 + }, + "targetPosition": { + "x": 23450.73670022599, + "y": 19512.076375443776 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "9ade19ba-3503-4cae-a402-b1312781fcab", + "savedPayload": { + "position": { + "x": 23450.73670022599, + "y": 19512.076375443776 + }, + "targetPosition": { + "x": 23327.477404225952, + "y": 19187.20418096373 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "End Bottom", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.end\ny = 0", + "project": "Foundations", + "id": "82be2d21-93e3-4d01-a28b-b429e881e507", + "savedPayload": { + "position": { + "x": 23351.853121644017, + "y": 19697.717718827556 + }, + "targetPosition": { + "x": 23344.102336455497, + "y": 19534.22553437064 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "f5005044-a5b5-45ac-85c6-96bc434f92c9", + "savedPayload": { + "position": { + "x": 23344.102336455497, + "y": 19534.22553437064 + }, + "targetPosition": { + "x": 23327.477404225952, + "y": 19187.20418096373 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "End Top", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.end\ny = record.endRate", + "project": "Foundations", + "id": "edaa3353-2fab-4b48-bcca-3e6a5fd96c92", + "savedPayload": { + "position": { + "x": 23192.479261133078, + "y": 19681.285033280685 + }, + "targetPosition": { + "x": 23236.234290958673, + "y": 19521.578911944907 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "61c12ec5-bd07-434b-8b7b-2515787fadf3", + "savedPayload": { + "position": { + "x": 23236.234290958673, + "y": 19521.578911944907 + }, + "targetPosition": { + "x": 23327.477404225952, + "y": 19187.20418096373 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "d603fa94-3d84-4fdb-b11f-fa4320987a0a", + "savedPayload": { + "position": { + "x": 24065.205629371507, + "y": 19476.571946063366 + }, + "targetPosition": { + "x": 23791.262986317583, + "y": 19119.56294293231 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "polygons": [ + { + "type": "Polygon", + "name": "Closed Base", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.status === 'Closed'", + "project": "Foundations", + "id": "8abf46f6-5c0a-4526-852e-9f94060e883c", + "savedPayload": { + "position": { + "x": 23433.08049849889, + "y": 19110.855099486966 + }, + "targetPosition": { + "x": 23071.37641583987, + "y": 19190.18903314269 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 4,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 4,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "db918769-a235-4fcd-b37a-6b8857d43704", + "savedPayload": { + "position": { + "x": 23370.35975184309, + "y": 19825.986319305655 + }, + "targetPosition": { + "x": 23230.34481586765, + "y": 19528.47265922403 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "07d93791-c533-4fa0-8266-369687a547f5", + "savedPayload": { + "position": { + "x": 23230.34481586765, + "y": 19528.47265922403 + }, + "targetPosition": { + "x": 23071.37641583987, + "y": 19190.18903314269 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin Bottom", + "project": "Foundations", + "id": "3ee83fa1-f0b0-4139-84ff-07dfcbc82c18", + "savedPayload": { + "position": { + "x": 22798.95239438494, + "y": 19446.64249457038 + }, + "targetPosition": { + "x": 23071.37641583987, + "y": 19190.18903314269 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Bottom", + "id": "8a53a855-7114-4f45-ae72-8a3c3dd9001a" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Strategy", + "Plotter", + "Foundations", + "62890699-eabf-4ea8-8ca0-cac07cc06dea" + ], + [ + "Strategy Objects", + "Plotter Module", + "Foundations", + "d54a124c-6029-41a6-9bbd-bb3fe8b1a318" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "b02b7fee-30b0-41f0-ae06-a073c57289d9" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "87bdc7ca-4228-48a3-ab2d-4eba01abfa2e" + ], + [ + "Begin Bottom", + "Point", + "Foundations", + "a464e820-57a7-4233-b23b-e802fc9b3a33" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End Bottom", + "project": "Foundations", + "id": "0c80f4d3-c433-4ea0-85dc-7cbdd2d97bcf", + "savedPayload": { + "position": { + "x": 22735.01709706176, + "y": 18982.965377663786 + }, + "targetPosition": { + "x": 23071.37641583987, + "y": 19190.18903314269 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Bottom", + "id": "f5005044-a5b5-45ac-85c6-96bc434f92c9" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Strategy", + "Plotter", + "Foundations", + "62890699-eabf-4ea8-8ca0-cac07cc06dea" + ], + [ + "Strategy Objects", + "Plotter Module", + "Foundations", + "d54a124c-6029-41a6-9bbd-bb3fe8b1a318" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "b02b7fee-30b0-41f0-ae06-a073c57289d9" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "87bdc7ca-4228-48a3-ab2d-4eba01abfa2e" + ], + [ + "End Bottom", + "Point", + "Foundations", + "e960d99e-f263-4ee8-9801-9b97f534bd5e" + ] + ] + } + } + ], + "id": "552e9559-6e70-4edd-bd1a-20bca6193a92", + "savedPayload": { + "position": { + "x": 23907.73155661372, + "y": 19554.22956476239 + }, + "targetPosition": { + "x": 23791.262986317583, + "y": 19119.56294293231 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Open Base", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.status === 'Open'", + "project": "Foundations", + "id": "06ffcf2e-c0ae-4ddc-887d-1fa0efdf21eb", + "savedPayload": { + "position": { + "x": 23207.630056226655, + "y": 19140.07387449497 + }, + "targetPosition": { + "x": 22834.227031788356, + "y": 19094.524969662223 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 4,\n \"lineDash\": [3,3]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 4,\n \"lineDash\": [3,3]\n }\n}", + "project": "Foundations", + "id": "12530361-04e7-4952-8564-215045f0ba4f", + "savedPayload": { + "position": { + "x": 22867.2972131242, + "y": 19796.082582003648 + }, + "targetPosition": { + "x": 22851.80253302528, + "y": 19468.065839023984 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "1b9bf824-c90c-47c5-b4a2-eb052359001f", + "savedPayload": { + "position": { + "x": 22851.80253302528, + "y": 19468.065839023984 + }, + "targetPosition": { + "x": 22834.227031788356, + "y": 19094.524969662223 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin Bottom", + "project": "Foundations", + "id": "9344d3d7-f6ab-4d8c-afc9-1f46d5dd6c5c", + "savedPayload": { + "position": { + "x": 22484.650545649853, + "y": 19227.175322141346 + }, + "targetPosition": { + "x": 22834.227031788356, + "y": 19094.524969662223 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Bottom", + "id": "8a53a855-7114-4f45-ae72-8a3c3dd9001a" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Strategy", + "Plotter", + "Foundations", + "62890699-eabf-4ea8-8ca0-cac07cc06dea" + ], + [ + "Strategy Objects", + "Plotter Module", + "Foundations", + "d54a124c-6029-41a6-9bbd-bb3fe8b1a318" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "b02b7fee-30b0-41f0-ae06-a073c57289d9" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "87bdc7ca-4228-48a3-ab2d-4eba01abfa2e" + ], + [ + "Begin Bottom", + "Point", + "Foundations", + "a464e820-57a7-4233-b23b-e802fc9b3a33" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End Bottom", + "project": "Foundations", + "id": "56afbacb-aecd-4594-8025-7470e767d996", + "savedPayload": { + "position": { + "x": 22602.969047201295, + "y": 18774.488151785456 + }, + "targetPosition": { + "x": 22834.227031788356, + "y": 19094.524969662223 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Bottom", + "id": "f5005044-a5b5-45ac-85c6-96bc434f92c9" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Strategy", + "Plotter", + "Foundations", + "62890699-eabf-4ea8-8ca0-cac07cc06dea" + ], + [ + "Strategy Objects", + "Plotter Module", + "Foundations", + "d54a124c-6029-41a6-9bbd-bb3fe8b1a318" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "b02b7fee-30b0-41f0-ae06-a073c57289d9" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "87bdc7ca-4228-48a3-ab2d-4eba01abfa2e" + ], + [ + "End Bottom", + "Point", + "Foundations", + "e960d99e-f263-4ee8-9801-9b97f534bd5e" + ] + ] + } + } + ], + "id": "aab0ba7a-04a7-468e-8c72-22ccb917c755", + "savedPayload": { + "position": { + "x": 23732.52619981856, + "y": 19565.713130550525 + }, + "targetPosition": { + "x": 23791.262986317583, + "y": 19119.56294293231 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Left Line", + "project": "Foundations", + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n }\n}", + "project": "Foundations", + "id": "fc113468-9889-4fd9-afa9-b42a02f223c2", + "savedPayload": { + "position": { + "x": 23839.73632553381, + "y": 16280.559253865715 + }, + "targetPosition": { + "x": 24068.62184921587, + "y": 16466.013179626305 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "e783027b-c39e-4df3-95ed-674b34b77b94", + "savedPayload": { + "position": { + "x": 24068.62184921587, + "y": 16466.013179626305 + }, + "targetPosition": { + "x": 24336.095341918448, + "y": 16682.737650218707 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin Bottom", + "project": "Foundations", + "id": "e40897dd-cf4a-412c-8fd7-d9762a0a3729", + "savedPayload": { + "position": { + "x": 24300.266044389715, + "y": 16340.325425195231 + }, + "targetPosition": { + "x": 24336.095341918448, + "y": 16682.737650218707 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Bottom", + "id": "8a53a855-7114-4f45-ae72-8a3c3dd9001a" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Strategy", + "Plotter", + "Foundations", + "62890699-eabf-4ea8-8ca0-cac07cc06dea" + ], + [ + "Strategy Objects", + "Plotter Module", + "Foundations", + "d54a124c-6029-41a6-9bbd-bb3fe8b1a318" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "b02b7fee-30b0-41f0-ae06-a073c57289d9" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "87bdc7ca-4228-48a3-ab2d-4eba01abfa2e" + ], + [ + "Begin Bottom", + "Point", + "Foundations", + "a464e820-57a7-4233-b23b-e802fc9b3a33" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " Begin Top", + "project": "Foundations", + "id": "78838614-04b9-4139-9711-a5a41ff855d8", + "savedPayload": { + "position": { + "x": 24552.869013367414, + "y": 16414.96954318426 + }, + "targetPosition": { + "x": 24336.095341918448, + "y": 16682.737650218707 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Top", + "id": "9ade19ba-3503-4cae-a402-b1312781fcab" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Strategy", + "Plotter", + "Foundations", + "62890699-eabf-4ea8-8ca0-cac07cc06dea" + ], + [ + "Strategy Objects", + "Plotter Module", + "Foundations", + "d54a124c-6029-41a6-9bbd-bb3fe8b1a318" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "b02b7fee-30b0-41f0-ae06-a073c57289d9" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "87bdc7ca-4228-48a3-ab2d-4eba01abfa2e" + ], + [ + "Begin Top", + "Point", + "Foundations", + "d2e900e2-444c-4268-b07a-fc41811c82d8" + ] + ] + } + } + ], + "id": "e143372b-6659-4dce-9ec6-46031a413a63", + "savedPayload": { + "position": { + "x": 23566.262986317583, + "y": 19509.274374635308 + }, + "targetPosition": { + "x": 23791.262986317583, + "y": 19119.56294293231 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Right Line", + "project": "Foundations", + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n }\n}", + "project": "Foundations", + "id": "3d44d765-e4ca-437d-96c1-7b2535603685", + "savedPayload": { + "position": { + "x": 23960.420405550423, + "y": 16242.267395488863 + }, + "targetPosition": { + "x": 24168.16531981667, + "y": 16450.18990462228 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "50d7c31d-379b-401b-aeaf-c6647ffa3256", + "savedPayload": { + "position": { + "x": 24168.16531981667, + "y": 16450.18990462228 + }, + "targetPosition": { + "x": 24397.602691883418, + "y": 16679.8474089757 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " End Bottom", + "project": "Foundations", + "id": "74a1cc80-44ba-4b82-a564-c42a52e0c0a2", + "savedPayload": { + "position": { + "x": 24397.600902271854, + "y": 16354.164665412864 + }, + "targetPosition": { + "x": 24397.602691883418, + "y": 16679.8474089757 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Bottom", + "id": "f5005044-a5b5-45ac-85c6-96bc434f92c9" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Strategy", + "Plotter", + "Foundations", + "62890699-eabf-4ea8-8ca0-cac07cc06dea" + ], + [ + "Strategy Objects", + "Plotter Module", + "Foundations", + "d54a124c-6029-41a6-9bbd-bb3fe8b1a318" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "b02b7fee-30b0-41f0-ae06-a073c57289d9" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "87bdc7ca-4228-48a3-ab2d-4eba01abfa2e" + ], + [ + "End Bottom", + "Point", + "Foundations", + "e960d99e-f263-4ee8-9801-9b97f534bd5e" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End Top", + "project": "Foundations", + "id": "b29d76e5-9585-4a61-b5ca-9618b6439414", + "savedPayload": { + "position": { + "x": 24628.16579367319, + "y": 16449.243126106107 + }, + "targetPosition": { + "x": 24397.602691883418, + "y": 16679.8474089757 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Top", + "id": "61c12ec5-bd07-434b-8b7b-2515787fadf3" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Strategy", + "Plotter", + "Foundations", + "62890699-eabf-4ea8-8ca0-cac07cc06dea" + ], + [ + "Strategy Objects", + "Plotter Module", + "Foundations", + "d54a124c-6029-41a6-9bbd-bb3fe8b1a318" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "b02b7fee-30b0-41f0-ae06-a073c57289d9" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "87bdc7ca-4228-48a3-ab2d-4eba01abfa2e" + ], + [ + "End Top", + "Point", + "Foundations", + "3a8be5c7-aff5-4283-bd17-dadd6dddda4d" + ] + ] + } + } + ], + "id": "7d61b677-3dee-4874-80b6-0b99537cae74", + "savedPayload": { + "position": { + "x": 23434.253983186525, + "y": 19393.505585986233 + }, + "targetPosition": { + "x": 23791.262986317583, + "y": 19119.56294293231 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "images": [ + { + "type": "Image", + "name": "New Image", + "config": "{ \n\"codeName\": \"strategy\",\n\"size\": 25\n}", + "project": "Foundations", + "imagePosition": { + "type": "Image Position", + "name": "Begin Bottom", + "config": "{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }", + "project": "Foundations", + "id": "65be30ea-b0e3-42d6-91f0-ee9b1cf7ba84", + "savedPayload": { + "position": { + "x": 23139.26305357246, + "y": 19294.265798376513 + }, + "targetPosition": { + "x": 23356.5963644875, + "y": 19236.031513228445 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Bottom", + "id": "8a53a855-7114-4f45-ae72-8a3c3dd9001a" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Strategy", + "Plotter", + "Foundations", + "62890699-eabf-4ea8-8ca0-cac07cc06dea" + ], + [ + "Strategy Objects", + "Plotter Module", + "Foundations", + "d54a124c-6029-41a6-9bbd-bb3fe8b1a318" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "b02b7fee-30b0-41f0-ae06-a073c57289d9" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "87bdc7ca-4228-48a3-ab2d-4eba01abfa2e" + ], + [ + "Begin Bottom", + "Point", + "Foundations", + "a464e820-57a7-4233-b23b-e802fc9b3a33" + ] + ] + } + }, + "id": "1b68ae7a-6c19-4201-9571-3c431e324a3d", + "savedPayload": { + "position": { + "x": 23356.5963644875, + "y": 19236.031513228445 + }, + "targetPosition": { + "x": 23791.262986317583, + "y": 19119.56294293231 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Image", + "name": "New Image", + "config": "{ \n\"codeName\": \"strategy\",\n\"size\": 25\n}", + "project": "Foundations", + "imagePosition": { + "type": "Image Position", + "name": "End Bottom", + "config": "{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }", + "project": "Foundations", + "id": "f931dd0d-7e42-4da9-a19d-b4bed5880967", + "savedPayload": { + "position": { + "x": 23122.03770489026, + "y": 19031.457763183775 + }, + "targetPosition": { + "x": 23345.112798699367, + "y": 19060.826156433286 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Bottom", + "id": "f5005044-a5b5-45ac-85c6-96bc434f92c9" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Strategy", + "Plotter", + "Foundations", + "62890699-eabf-4ea8-8ca0-cac07cc06dea" + ], + [ + "Strategy Objects", + "Plotter Module", + "Foundations", + "d54a124c-6029-41a6-9bbd-bb3fe8b1a318" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "b02b7fee-30b0-41f0-ae06-a073c57289d9" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "87bdc7ca-4228-48a3-ab2d-4eba01abfa2e" + ], + [ + "End Bottom", + "Point", + "Foundations", + "e960d99e-f263-4ee8-9801-9b97f534bd5e" + ] + ] + } + }, + "id": "7de5b295-f421-4c0c-986b-3ac2c0f5bdab", + "savedPayload": { + "position": { + "x": 23345.112798699367, + "y": 19060.826156433286 + }, + "targetPosition": { + "x": 23791.262986317583, + "y": 19119.56294293231 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "texts": [], + "id": "4d30797a-fce5-4525-8fa4-8e9e11e885a4", + "savedPayload": { + "position": { + "x": 23791.262986317583, + "y": 19119.56294293231 + }, + "targetPosition": { + "x": 24016.262986317583, + "y": 18729.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "panels": [ + { + "type": "Plotter Panel", + "name": "Strategy Object", + "config": "{ \n\"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Serial Number", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.serialNumber", + "project": "Foundations", + "id": "1b54af6d-b16f-448c-a05f-57e4da5ae800", + "savedPayload": { + "position": { + "x": 23454.706704768934, + "y": 18365.361486111728 + }, + "targetPosition": { + "x": 23566.892131951816, + "y": 18356.954350583255 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "8e2ab8fd-909c-4f17-a2ab-230212092ce4", + "savedPayload": { + "position": { + "x": 23566.892131951816, + "y": 18356.954350583255 + }, + "targetPosition": { + "x": 23791.262986317583, + "y": 18340.14007952631 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Status", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.status", + "project": "Foundations", + "id": "4de49e08-1aae-4da1-870d-e07d94207e2d", + "savedPayload": { + "position": { + "x": 23477.09309615016, + "y": 18216.83748380265 + }, + "targetPosition": { + "x": 23581.816392872635, + "y": 18257.93834904387 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "5e03ab9b-177e-4300-86e9-0740037d10da", + "savedPayload": { + "position": { + "x": 23581.816392872635, + "y": 18257.93834904387 + }, + "targetPosition": { + "x": 23791.262986317583, + "y": 18340.14007952631 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Name", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.strategyName", + "project": "Foundations", + "id": "81e65c1c-a6fe-4177-a663-1463409cfb32", + "savedPayload": { + "position": { + "x": 23561.704687319896, + "y": 18092.735072783744 + }, + "targetPosition": { + "x": 23638.224120319126, + "y": 18175.2034083646 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "90da2ad6-4506-4b4a-8269-5a02395fe8ea", + "savedPayload": { + "position": { + "x": 23638.224120319126, + "y": 18175.2034083646 + }, + "targetPosition": { + "x": 23791.262986317583, + "y": 18340.14007952631 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Triggered By Situation", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.situationName", + "project": "Foundations", + "id": "d0a2abe0-35d4-4668-bbdb-bacc24d97c4d", + "savedPayload": { + "position": { + "x": 23691.7831149539, + "y": 18017.63425757349 + }, + "targetPosition": { + "x": 23724.94307207513, + "y": 18125.13619822443 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "14244d4e-1113-4d9b-923b-f3d6d0f0a189", + "savedPayload": { + "position": { + "x": 23724.94307207513, + "y": 18125.13619822443 + }, + "targetPosition": { + "x": 23791.262986317583, + "y": 18340.14007952631 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Exit Type", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.exitType", + "project": "Foundations", + "id": "6b7e56db-669c-4567-a692-b8a37c0bfe03", + "savedPayload": { + "position": { + "x": 23841.56475115204, + "y": 18006.409675675328 + }, + "targetPosition": { + "x": 23824.797496207222, + "y": 18117.653143625656 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "65782a16-6de2-4ed0-8d41-098387c1218a", + "savedPayload": { + "position": { + "x": 23824.797496207222, + "y": 18117.653143625656 + }, + "targetPosition": { + "x": 23791.262986317583, + "y": 18340.14007952631 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Periods", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.periods", + "project": "Foundations", + "id": "08e1054b-2520-4ecb-a4e1-f9f6922c8f57", + "savedPayload": { + "position": { + "x": 23981.383505914055, + "y": 18061.284493194664 + }, + "targetPosition": { + "x": 23918.0099993819, + "y": 18154.236355305213 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "b298b237-495e-4b0b-82cd-5c31b05636d1", + "savedPayload": { + "position": { + "x": 23918.0099993819, + "y": 18154.236355305213 + }, + "targetPosition": { + "x": 23791.262986317583, + "y": 18340.14007952631 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "793a5633-d67a-4c09-abb6-739651013117", + "savedPayload": { + "position": { + "x": 23791.262986317583, + "y": 18340.14007952631 + }, + "targetPosition": { + "x": 24016.262986317583, + "y": 18729.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "facbf8f2-e923-4093-b488-984d991ad33e", + "savedPayload": { + "position": { + "x": 24016.262986317583, + "y": 18729.85151122931 + }, + "targetPosition": { + "x": 24466.262986317583, + "y": 18729.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "01318f05-4453-48db-bee1-f74afeff2848", + "savedPayload": { + "position": { + "x": 24466.262986317583, + "y": 18729.85151122931 + }, + "targetPosition": { + "x": 24916.262986317583, + "y": 18729.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter", + "name": "Portfolio Position", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "modules": [ + { + "type": "Plotter Module", + "name": "Position Objects", + "config": "{ \n \"codeName\": \"Position-Objects\", \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": "Left Exit Target Rate", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin\ny = record.exitTargetRate", + "project": "Foundations", + "id": "46ed0556-1d91-4662-8212-7531c6c6d1fa", + "savedPayload": { + "position": { + "x": 23347.936900561526, + "y": 19609.125044075572 + }, + "targetPosition": { + "x": 23233.33480886655, + "y": 19467.54840849122 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "e3ac5a42-9043-4f88-8621-eddc4635aacc", + "savedPayload": { + "position": { + "x": 23233.33480886655, + "y": 19467.54840849122 + }, + "targetPosition": { + "x": 23003.522078099577, + "y": 19183.84135021169 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Right Exit Target Rate", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.end\ny = record.exitTargetRate", + "project": "Foundations", + "id": "fb187ab9-bad0-4a8d-a602-661c475a2e22", + "savedPayload": { + "position": { + "x": 23031.838258655815, + "y": 19729.735311013646 + }, + "targetPosition": { + "x": 23022.50314526207, + "y": 19548.69942894006 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "47003fd6-e4fe-4486-86e7-7666dcdc27f0", + "savedPayload": { + "position": { + "x": 23022.50314526207, + "y": 19548.69942894006 + }, + "targetPosition": { + "x": 23003.522078099577, + "y": 19183.84135021169 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Left Entry Target Rate", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin\ny = record.entryTargetRate", + "project": "Foundations", + "id": "c21001b5-28e6-467b-a875-07072cdb7a8e", + "savedPayload": { + "position": { + "x": 22705.715031227544, + "y": 19642.385334653678 + }, + "targetPosition": { + "x": 22804.77773539569, + "y": 19489.83814483487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "68edf75d-db3d-4219-8ac2-100c3c08b1e6", + "savedPayload": { + "position": { + "x": 22804.77773539569, + "y": 19489.83814483487 + }, + "targetPosition": { + "x": 23003.522078099577, + "y": 19183.84135021169 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Right Entry Target Rate", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.end\ny = record.entryTargetRate", + "project": "Foundations", + "id": "5f272a64-1a57-401d-8bbd-8b18d01d5cac", + "savedPayload": { + "position": { + "x": 22492.944895774403, + "y": 19379.49177679183 + }, + "targetPosition": { + "x": 22662.350464329764, + "y": 19314.59393160376 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "16cff0c0-e75a-4abe-9701-01032d7e5dd6", + "savedPayload": { + "position": { + "x": 22662.350464329764, + "y": 19314.59393160376 + }, + "targetPosition": { + "x": 23003.522078099577, + "y": 19183.84135021169 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "bc6d840e-ea08-4d47-af41-8d68ca23fc1f", + "savedPayload": { + "position": { + "x": 24054.86688324969, + "y": 19352.50008352458 + }, + "targetPosition": { + "x": 23938.398312953555, + "y": 18917.8334616945 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "polygons": [ + { + "type": "Polygon", + "name": "Entry Target Rate Line", + "project": "Foundations", + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 2,\n \"lineDash\": [3,3]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 3,\n \"lineDash\": [3,3]\n }\n}", + "project": "Foundations", + "id": "e3a8b487-04f7-483f-8604-2ddb65a34283", + "savedPayload": { + "position": { + "x": 21437.131102775897, + "y": 19509.378802573312 + }, + "targetPosition": { + "x": 21950.55556939414, + "y": 18996.011949183692 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "96aeaed0-0298-4cc0-b7a5-6946117dd487", + "savedPayload": { + "position": { + "x": 21950.55556939414, + "y": 18996.011949183692 + }, + "targetPosition": { + "x": 22464.076839691534, + "y": 18482.674590648745 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Left Entry Target Rate", + "project": "Foundations", + "id": "661084c4-b66d-497b-909a-8a1985715b01", + "savedPayload": { + "position": { + "x": 21737.928496193443, + "y": 18482.674470561993 + }, + "targetPosition": { + "x": 22464.076839691534, + "y": 18482.674590648745 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Left Entry Target Rate", + "id": "68edf75d-db3d-4219-8ac2-100c3c08b1e6" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Objects", + "Plotter Module", + "Foundations", + "8854b5f8-8407-4a0d-9099-5456a8e4cced" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "d99cb56a-d182-4672-9e89-54bb809eff30" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "774f0a60-aa67-408f-9768-8a24f5b9c033" + ], + [ + "Left Entry Target Rate", + "Point", + "Foundations", + "b61fa42b-45d1-416b-b06b-734d33223a80" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " Right Entry Target Rate", + "project": "Foundations", + "id": "8f0101df-6107-4aa3-90ae-3c5ee7d9e5d4", + "savedPayload": { + "position": { + "x": 21950.646165823877, + "y": 17969.255753052443 + }, + "targetPosition": { + "x": 22464.076839691534, + "y": 18482.674590648745 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Right Entry Target Rate", + "id": "16cff0c0-e75a-4abe-9701-01032d7e5dd6" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Objects", + "Plotter Module", + "Foundations", + "8854b5f8-8407-4a0d-9099-5456a8e4cced" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "d99cb56a-d182-4672-9e89-54bb809eff30" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "774f0a60-aa67-408f-9768-8a24f5b9c033" + ], + [ + "Right Entry Target Rate", + "Point", + "Foundations", + "467129cb-1aa4-4639-ab0f-74d14146f721" + ] + ] + } + } + ], + "id": "a5a51f32-7b3b-4d9b-b30c-aa0ffb61258a", + "savedPayload": { + "position": { + "x": 23713.398312953555, + "y": 19307.5448933975 + }, + "targetPosition": { + "x": 23938.398312953555, + "y": 18917.8334616945 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Exit Target Rate Line", + "project": "Foundations", + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 2,\n \"lineDash\": [3,3]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 3,\n \"lineDash\": [3,3]\n }\n}", + "project": "Foundations", + "id": "6906f31e-241d-4528-9f5d-8408166f9e42", + "savedPayload": { + "position": { + "x": 21231.334865987817, + "y": 19020.512238533673 + }, + "targetPosition": { + "x": 21860.169511624197, + "y": 18657.527293088544 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "1083d182-f423-47a0-bae9-ae2bb6ab4742", + "savedPayload": { + "position": { + "x": 21860.169511624197, + "y": 18657.527293088544 + }, + "targetPosition": { + "x": 22489.04157628595, + "y": 18294.524391985182 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Left Exit Target Rate", + "project": "Foundations", + "id": "0201d9f2-65a9-4e28-9fd0-5d0d1a9d31cd", + "savedPayload": { + "position": { + "x": 21787.61531886347, + "y": 18106.650491384305 + }, + "targetPosition": { + "x": 22489.04157628595, + "y": 18294.524391985182 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Left Exit Target Rate", + "id": "e3ac5a42-9043-4f88-8621-eddc4635aacc" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Objects", + "Plotter Module", + "Foundations", + "8854b5f8-8407-4a0d-9099-5456a8e4cced" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "d99cb56a-d182-4672-9e89-54bb809eff30" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "774f0a60-aa67-408f-9768-8a24f5b9c033" + ], + [ + "Left Exit Target Rate", + "Point", + "Foundations", + "3b122c9b-56d5-4cb6-86ba-12d1919aeeba" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " Right Exit Target Rate", + "project": "Foundations", + "id": "eed57a92-9273-4ee2-a005-771e45ca4ea8", + "savedPayload": { + "position": { + "x": 22125.988724482206, + "y": 17665.66929271908 + }, + "targetPosition": { + "x": 22489.04157628595, + "y": 18294.524391985182 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Right Exit Target Rate", + "id": "47003fd6-e4fe-4486-86e7-7666dcdc27f0" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Objects", + "Plotter Module", + "Foundations", + "8854b5f8-8407-4a0d-9099-5456a8e4cced" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "d99cb56a-d182-4672-9e89-54bb809eff30" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "774f0a60-aa67-408f-9768-8a24f5b9c033" + ], + [ + "Right Exit Target Rate", + "Point", + "Foundations", + "eb3dd27b-831c-47ae-8a19-1b01626add98" + ] + ] + } + } + ], + "id": "19ce16c0-e06d-4f1a-a89e-ba74af8999cf", + "savedPayload": { + "position": { + "x": 23503.731691123474, + "y": 19034.302031990635 + }, + "targetPosition": { + "x": 23938.398312953555, + "y": 18917.8334616945 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "images": [], + "texts": [], + "id": "7383535c-c74d-4a5f-9e90-7938bf338a69", + "savedPayload": { + "position": { + "x": 23938.398312953555, + "y": 18917.8334616945 + }, + "targetPosition": { + "x": 24163.398312953555, + "y": 18528.1220299915 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "panels": [ + { + "type": "Plotter Panel", + "name": "Position Object", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Serial Number", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.serialNumber", + "project": "Foundations", + "id": "ab0f361c-b7dd-48c7-bc85-a04644147e64", + "savedPayload": { + "position": { + "x": 23278.00162344977, + "y": 19435.86800700163 + }, + "targetPosition": { + "x": 23283.356105397645, + "y": 19210.931728195676 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "e8a8f3ac-0f55-42f3-99f9-f7823ed0324e", + "savedPayload": { + "position": { + "x": 23283.356105397645, + "y": 19210.931728195676 + }, + "targetPosition": { + "x": 23294.065069293392, + "y": 18761.05917058377 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Status", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.status", + "project": "Foundations", + "id": "0454983a-4752-44c8-af18-30a257f139f2", + "savedPayload": { + "position": { + "x": 23088.536687011205, + "y": 19404.007911990473 + }, + "targetPosition": { + "x": 23157.046147771933, + "y": 19189.691664854905 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "e27d9d6b-f5ba-46f2-ba9b-5b2a9ac4bf68", + "savedPayload": { + "position": { + "x": 23157.046147771933, + "y": 19189.691664854905 + }, + "targetPosition": { + "x": 23294.065069293392, + "y": 18761.05917058377 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Situation Name", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.situationName", + "project": "Foundations", + "id": "ddcb49af-3972-451a-8636-2f35706bf24c", + "savedPayload": { + "position": { + "x": 22915.722437780787, + "y": 19320.059933713943 + }, + "targetPosition": { + "x": 23041.83664828499, + "y": 19133.726346003885 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "0e874cec-fd45-4d8b-86b0-b32ac1bf9ef6", + "savedPayload": { + "position": { + "x": 23041.83664828499, + "y": 19133.726346003885 + }, + "targetPosition": { + "x": 23294.065069293392, + "y": 18761.05917058377 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Entry Target Rate", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.entryTargetRate", + "project": "Foundations", + "id": "ae7124c9-5bdc-4049-8e05-654122d71989", + "savedPayload": { + "position": { + "x": 22773.559258465255, + "y": 19190.825038114155 + }, + "targetPosition": { + "x": 22947.06119540797, + "y": 19047.56974893736 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "e0450f0c-ce9e-4a4d-9ad1-4031776dfb60", + "savedPayload": { + "position": { + "x": 22947.06119540797, + "y": 19047.56974893736 + }, + "targetPosition": { + "x": 23294.065069293392, + "y": 18761.05917058377 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Exit Target Rate", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.exitTargetRate", + "project": "Foundations", + "id": "0b1a6d9a-84f3-4961-a0b7-fb7a3e6dc160", + "savedPayload": { + "position": { + "x": 22673.56436437577, + "y": 19026.77306784308 + }, + "targetPosition": { + "x": 22880.397932681644, + "y": 18938.201768756644 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "5f096eb9-0319-4871-b030-38bcaded568e", + "savedPayload": { + "position": { + "x": 22880.397932681644, + "y": 18938.201768756644 + }, + "targetPosition": { + "x": 23294.065069293392, + "y": 18761.05917058377 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Position Begin Rate", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.beginRate", + "project": "Foundations", + "id": "f83596b9-6dc5-415f-a854-b17f80d096ee", + "savedPayload": { + "position": { + "x": 22623.83874713892, + "y": 18841.19453787745 + }, + "targetPosition": { + "x": 22847.247521190413, + "y": 18814.482748779556 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "861289d4-9fa7-4f40-921f-5e6441a348fd", + "savedPayload": { + "position": { + "x": 22847.247521190413, + "y": 18814.482748779556 + }, + "targetPosition": { + "x": 23294.065069293392, + "y": 18761.05917058377 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Position End Rate", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.endRate", + "project": "Foundations", + "id": "51d11165-0a43-49c9-bb8a-2d804ba369f1", + "savedPayload": { + "position": { + "x": 22628.410880533615, + "y": 18649.123917037065 + }, + "targetPosition": { + "x": 22850.295610120207, + "y": 18686.4356682193 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "d1e3823e-4208-4762-968a-72ca440dc17a", + "savedPayload": { + "position": { + "x": 22850.295610120207, + "y": 18686.4356682193 + }, + "targetPosition": { + "x": 23294.065069293392, + "y": 18761.05917058377 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Exit Type", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.exitType", + "project": "Foundations", + "id": "42abbe2d-072d-4345-9e74-9ed3a359f55c", + "savedPayload": { + "position": { + "x": 22686.910357503733, + "y": 18466.121624734453 + }, + "targetPosition": { + "x": 22889.29526143362, + "y": 18564.434140017558 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "26f5a497-69e4-433d-8cbb-6870b56bece5", + "savedPayload": { + "position": { + "x": 22889.29526143362, + "y": 18564.434140017558 + }, + "targetPosition": { + "x": 23294.065069293392, + "y": 18761.05917058377 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Periods", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.periods", + "project": "Foundations", + "id": "fcb85ebe-5ec6-4fb5-9daf-97084030ac25", + "savedPayload": { + "position": { + "x": 22794.597898334945, + "y": 18307.013418335424 + }, + "targetPosition": { + "x": 22961.086955321094, + "y": 18458.362002418206 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "ee8987fc-a886-4004-86f6-eeaf5b2146f8", + "savedPayload": { + "position": { + "x": 22961.086955321094, + "y": 18458.362002418206 + }, + "targetPosition": { + "x": 23294.065069293392, + "y": 18761.05917058377 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Days", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.days", + "project": "Foundations", + "id": "11d0d915-2805-4ba7-aa90-38355f738c20", + "savedPayload": { + "position": { + "x": 22942.74929891157, + "y": 18184.689298469493 + }, + "targetPosition": { + "x": 23059.85455570551, + "y": 18376.812589174253 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "43173d64-5270-47c1-b3e3-a90a409cbe95", + "savedPayload": { + "position": { + "x": 23059.85455570551, + "y": 18376.812589174253 + }, + "targetPosition": { + "x": 23294.065069293392, + "y": 18761.05917058377 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "230d4fdf-dbe2-44e8-999f-9a5526d594ef", + "savedPayload": { + "position": { + "x": 23294.065069293392, + "y": 18761.05917058377 + }, + "targetPosition": { + "x": 24163.398312953555, + "y": 18528.1220299915 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 5, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "a" + } + } + }, + { + "type": "Plotter Panel", + "name": "Position Combined Statistics", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Profit Loss", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.profitLoss", + "project": "Foundations", + "id": "631ee227-5689-484f-b9d8-029ae02c8275", + "savedPayload": { + "position": { + "x": 23057.975483175, + "y": 18165.4734577136 + }, + "targetPosition": { + "x": 23166.64213863252, + "y": 18136.35631513957 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "9567ca3a-f76d-4dd0-bd24-10b5878a1c3b", + "savedPayload": { + "position": { + "x": 23166.64213863252, + "y": 18136.35631513957 + }, + "targetPosition": { + "x": 23383.97544954756, + "y": 18078.1220299915 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "ROI", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.ROI", + "project": "Foundations", + "id": "a957a43d-0ee8-4d28-9972-4705ff419b5a", + "savedPayload": { + "position": { + "x": 23091.691875770313, + "y": 17909.3720299915 + }, + "targetPosition": { + "x": 23189.11973369606, + "y": 17965.6220299915 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "7f62b1e2-8421-47a2-96d9-7f799cd64829", + "savedPayload": { + "position": { + "x": 23189.11973369606, + "y": 17965.6220299915 + }, + "targetPosition": { + "x": 23383.97544954756, + "y": 18078.1220299915 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Hit Fail", + "config": "{\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.hitFail", + "project": "Foundations", + "id": "0274c22a-125e-4f18-b71e-e5ca4fc7b9cc", + "savedPayload": { + "position": { + "x": 23296.62402182546, + "y": 17752.12206361894 + }, + "targetPosition": { + "x": 23325.741164399493, + "y": 17860.78871907646 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "3cbc4a5a-a3fe-4835-ba46-22cf14c84f4a", + "savedPayload": { + "position": { + "x": 23325.741164399493, + "y": 17860.78871907646 + }, + "targetPosition": { + "x": 23383.97544954756, + "y": 18078.1220299915 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "fa683b80-633c-4886-b81d-dbc507c66d80", + "savedPayload": { + "position": { + "x": 23383.97544954756, + "y": 18078.1220299915 + }, + "targetPosition": { + "x": 24163.398312953555, + "y": 18528.1220299915 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 5, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "a" + } + } + } + ], + "id": "67e28c32-67d9-46c7-9edb-99ab4e2f649e", + "savedPayload": { + "position": { + "x": 24163.398312953555, + "y": 18528.1220299915 + }, + "targetPosition": { + "x": 24598.064934783637, + "y": 18411.653459695364 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Position Base Asset", + "config": "{ \n \"codeName\": \"Position-Objects\", \n \"icon\": \"trend\"\n}", + "project": "Foundations", + "shapes": { + "type": "Shapes", + "name": "New Shapes", + "project": "Foundations", + "chartPoints": [ + { + "type": "Chart Points", + "name": "New Chart Points", + "project": "Foundations", + "points": [ + { + "type": "Point", + "name": "Left Entry Target Rate", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin\ny = record.entryTargetRate", + "project": "Foundations", + "id": "8082e57d-bb9f-4001-a516-302a2debba01", + "savedPayload": { + "position": { + "x": 23704.739730866175, + "y": 19140.08624357348 + }, + "targetPosition": { + "x": 23658.981858520146, + "y": 19037.31237958869 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "2fc5c206-6c30-463e-beef-5704833f473e", + "savedPayload": { + "position": { + "x": 23658.981858520146, + "y": 19037.31237958869 + }, + "targetPosition": { + "x": 23567.46611382809, + "y": 18831.764651619105 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Right Entry Target Rate", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.end\ny = record.entryTargetRate", + "project": "Foundations", + "id": "a76d2b87-3d73-46df-872a-431d8e81d989", + "savedPayload": { + "position": { + "x": 23446.51693085655, + "y": 19146.84804556191 + }, + "targetPosition": { + "x": 23486.833325180396, + "y": 19041.820247580974 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "e0f2b444-fd6b-42e6-bb94-36a547a6c4d8", + "savedPayload": { + "position": { + "x": 23486.833325180396, + "y": 19041.820247580974 + }, + "targetPosition": { + "x": 23567.46611382809, + "y": 18831.764651619105 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Right Exit Target Rate", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.end\n\nif (record.exitTargetRate > 0) {\n y = record.exitTargetRate\n} else {\n y = record.candleClose\n}", + "project": "Foundations", + "id": "d831fb9e-626c-4b74-8cac-8fcc62452b0c", + "savedPayload": { + "position": { + "x": 23259.144521873714, + "y": 18969.03826865719 + }, + "targetPosition": { + "x": 23361.918385858506, + "y": 18923.280396311162 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "ee1cd049-1181-4582-b7b9-440738355d22", + "savedPayload": { + "position": { + "x": 23361.918385858506, + "y": 18923.280396311162 + }, + "targetPosition": { + "x": 23567.46611382809, + "y": 18831.764651619105 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "cb7fb2dc-034d-4e32-8da6-3804b1608fe1", + "savedPayload": { + "position": { + "x": 23567.46611382809, + "y": 18831.764651619105 + }, + "targetPosition": { + "x": 23728.731691123474, + "y": 18411.653459695364 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "polygons": [ + { + "type": "Polygon", + "name": "Profit Triangle", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.ROIInBaseAsset > 0 && record.exitTargetRate > 0", + "project": "Foundations", + "id": "c2a20aa4-be1d-42dc-9e17-dc4cdb743ba2", + "savedPayload": { + "position": { + "x": 23408.39771734626, + "y": 19103.10776735908 + }, + "targetPosition": { + "x": 23351.329935548034, + "y": 18656.741025452127 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBody": { + "type": "Polygon Body", + "name": "New Polygon Body", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "b408481c-7823-4e5a-992c-29a6d34636b9", + "savedPayload": { + "position": { + "x": 23066.81998307631, + "y": 19510.587666802046 + }, + "targetPosition": { + "x": 23209.074959312173, + "y": 19083.664346127087 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "209fac93-e77d-499b-85f4-fe995488e1c5", + "savedPayload": { + "position": { + "x": 23209.074959312173, + "y": 19083.664346127087 + }, + "targetPosition": { + "x": 23351.329935548034, + "y": 18656.741025452127 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.PATINATED_TURQUOISE\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "9c0ca674-621d-43ad-aec2-e162f3a5e515", + "savedPayload": { + "position": { + "x": 22724.525152380746, + "y": 19302.586025276858 + }, + "targetPosition": { + "x": 23037.92754396439, + "y": 18979.663525364493 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "45dae0d7-7452-43b5-a47e-16174626e4b0", + "savedPayload": { + "position": { + "x": 23037.92754396439, + "y": 18979.663525364493 + }, + "targetPosition": { + "x": 23351.329935548034, + "y": 18656.741025452127 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Left Entry Target Rate", + "project": "Foundations", + "id": "cd424b7a-46a8-4861-941b-17b8e2ca2268", + "savedPayload": { + "position": { + "x": 22928.85331589784, + "y": 18811.703943109693 + }, + "targetPosition": { + "x": 23351.329935548034, + "y": 18656.741025452127 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Left Entry Target Rate", + "id": "2fc5c206-6c30-463e-beef-5704833f473e" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Base Asset", + "Plotter Module", + "Foundations", + "42a79594-bac8-40bf-a9eb-f13716e15465" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "a1635ebb-9528-4f34-8729-4812e12a850f" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "0ac578ec-3648-4413-82ea-944a6fc7db1d" + ], + [ + "Left Entry Target Rate", + "Point", + "Foundations", + "1c279ac2-347d-453f-9b5e-436216cebd7d" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " Right Entry Target Rate", + "project": "Foundations", + "id": "9359ec24-21c3-42a2-b04f-708c27c4f403", + "savedPayload": { + "position": { + "x": 22903.455763688726, + "y": 18613.05205451735 + }, + "targetPosition": { + "x": 23351.329935548034, + "y": 18656.741025452127 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Right Entry Target Rate", + "id": "e0f2b444-fd6b-42e6-bb94-36a547a6c4d8" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Base Asset", + "Plotter Module", + "Foundations", + "42a79594-bac8-40bf-a9eb-f13716e15465" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "a1635ebb-9528-4f34-8729-4812e12a850f" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "0ac578ec-3648-4413-82ea-944a6fc7db1d" + ], + [ + "Right Entry Target Rate", + "Point", + "Foundations", + "609e9ed3-5503-4a3e-949b-d2ab2cf10f10" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " Right Exit Target Rate", + "project": "Foundations", + "id": "16c1c89d-3acd-4ee9-a099-495af1c15baf", + "savedPayload": { + "position": { + "x": 22966.7651840326, + "y": 18423.053302428703 + }, + "targetPosition": { + "x": 23351.329935548034, + "y": 18656.741025452127 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Right Exit Target Rate", + "id": "ee1cd049-1181-4582-b7b9-440738355d22" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Base Asset", + "Plotter Module", + "Foundations", + "42a79594-bac8-40bf-a9eb-f13716e15465" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "a1635ebb-9528-4f34-8729-4812e12a850f" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "0ac578ec-3648-4413-82ea-944a6fc7db1d" + ], + [ + "Right Exit Target Rate", + "Point", + "Foundations", + "93ba04d2-21ec-41a2-9a2e-eb47a8d39149" + ] + ] + } + } + ], + "id": "02bb3875-2c75-44fa-a7e2-d00035bc1d1c", + "savedPayload": { + "position": { + "x": 23351.329935548034, + "y": 18656.741025452127 + }, + "targetPosition": { + "x": 23728.731691123474, + "y": 18411.653459695364 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Loss Triangle", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.ROIInBaseAsset < 0 && record.exitTargetRate > 0", + "project": "Foundations", + "id": "c1b4d8ea-5151-43ae-b2c9-7d32c7178961", + "savedPayload": { + "position": { + "x": 23063.149417783214, + "y": 18782.764159834584 + }, + "targetPosition": { + "x": 23279.348400483916, + "y": 18388.10227938604 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBody": { + "type": "Polygon Body", + "name": "New Polygon Body", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "493eba1c-fc03-47d2-ab78-a8bce01e3307", + "savedPayload": { + "position": { + "x": 22547.29655036054, + "y": 18911.64796863478 + }, + "targetPosition": { + "x": 22913.32247542223, + "y": 18649.87512401041 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "013f92af-fd86-48c4-97d6-9202dfb02b96", + "savedPayload": { + "position": { + "x": 22913.32247542223, + "y": 18649.87512401041 + }, + "targetPosition": { + "x": 23279.348400483916, + "y": 18388.10227938604 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "63c34e17-62fc-44f6-9c83-84af563b45a9", + "savedPayload": { + "position": { + "x": 22392.63451258226, + "y": 18542.17525236422 + }, + "targetPosition": { + "x": 22835.991456533087, + "y": 18465.13876587513 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "bece658a-fe6d-4449-b2af-53924db1d2ae", + "savedPayload": { + "position": { + "x": 22835.991456533087, + "y": 18465.13876587513 + }, + "targetPosition": { + "x": 23279.348400483916, + "y": 18388.10227938604 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Left Entry Target Rate", + "project": "Foundations", + "id": "00ccec83-947b-46c1-96df-f39dd57b4255", + "savedPayload": { + "position": { + "x": 22846.472717809498, + "y": 18265.144386800173 + }, + "targetPosition": { + "x": 23279.348400483916, + "y": 18388.10227938604 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Left Entry Target Rate", + "id": "2fc5c206-6c30-463e-beef-5704833f473e" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Base Asset", + "Plotter Module", + "Foundations", + "42a79594-bac8-40bf-a9eb-f13716e15465" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "a1635ebb-9528-4f34-8729-4812e12a850f" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "0ac578ec-3648-4413-82ea-944a6fc7db1d" + ], + [ + "Left Entry Target Rate", + "Point", + "Foundations", + "1c279ac2-347d-453f-9b5e-436216cebd7d" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " Right Entry Target Rate", + "project": "Foundations", + "id": "d5e5dbe2-9a22-4cfa-a7c3-99f21153b962", + "savedPayload": { + "position": { + "x": 22942.690316911427, + "y": 18089.503326331444 + }, + "targetPosition": { + "x": 23279.348400483916, + "y": 18388.10227938604 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Right Entry Target Rate", + "id": "e0f2b444-fd6b-42e6-bb94-36a547a6c4d8" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Base Asset", + "Plotter Module", + "Foundations", + "42a79594-bac8-40bf-a9eb-f13716e15465" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "a1635ebb-9528-4f34-8729-4812e12a850f" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "0ac578ec-3648-4413-82ea-944a6fc7db1d" + ], + [ + "Right Entry Target Rate", + "Point", + "Foundations", + "609e9ed3-5503-4a3e-949b-d2ab2cf10f10" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " Right Exit Target Rate", + "project": "Foundations", + "id": "4a5d2433-48f4-44c5-a020-dbdb4b578ea6", + "savedPayload": { + "position": { + "x": 23105.58717830533, + "y": 17973.00345059101 + }, + "targetPosition": { + "x": 23279.348400483916, + "y": 18388.10227938604 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Right Exit Target Rate", + "id": "ee1cd049-1181-4582-b7b9-440738355d22" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Base Asset", + "Plotter Module", + "Foundations", + "42a79594-bac8-40bf-a9eb-f13716e15465" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "a1635ebb-9528-4f34-8729-4812e12a850f" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "0ac578ec-3648-4413-82ea-944a6fc7db1d" + ], + [ + "Right Exit Target Rate", + "Point", + "Foundations", + "93ba04d2-21ec-41a2-9a2e-eb47a8d39149" + ] + ] + } + } + ], + "id": "0ea736ec-79a5-4836-8021-9f0a39cae941", + "savedPayload": { + "position": { + "x": 23279.348400483916, + "y": 18388.10227938604 + }, + "targetPosition": { + "x": 23728.731691123474, + "y": 18411.653459695364 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Empty Triangle", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.ROIInBaseAsset === 0 && record.exitTargetRate > 0", + "project": "Foundations", + "id": "a16ef427-7cdd-47e9-af1a-d0fc7510b211", + "savedPayload": { + "position": { + "x": 22958.904816544095, + "y": 18289.72486101832 + }, + "targetPosition": { + "x": 23379.016008467835, + "y": 18128.459283722936 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "5017bb91-1e86-4360-9aa5-09b6bbc079b7", + "savedPayload": { + "position": { + "x": 22490.09650193221, + "y": 17987.66826518673 + }, + "targetPosition": { + "x": 22934.556255200023, + "y": 18058.063774454833 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "6810b58a-8dde-4231-903e-54bbcb9f9caf", + "savedPayload": { + "position": { + "x": 22934.556255200023, + "y": 18058.063774454833 + }, + "targetPosition": { + "x": 23379.016008467835, + "y": 18128.459283722936 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Left Entry Target Rate", + "project": "Foundations", + "id": "a4bff417-04d8-452c-bcf9-e88e5f342a0e", + "savedPayload": { + "position": { + "x": 23029.300325812197, + "y": 17845.265107750507 + }, + "targetPosition": { + "x": 23379.016008467835, + "y": 18128.459283722936 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Left Entry Target Rate", + "id": "2fc5c206-6c30-463e-beef-5704833f473e" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Base Asset", + "Plotter Module", + "Foundations", + "42a79594-bac8-40bf-a9eb-f13716e15465" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "a1635ebb-9528-4f34-8729-4812e12a850f" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "0ac578ec-3648-4413-82ea-944a6fc7db1d" + ], + [ + "Left Entry Target Rate", + "Point", + "Foundations", + "1c279ac2-347d-453f-9b5e-436216cebd7d" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " Right Entry Target Rate", + "project": "Foundations", + "id": "2ee956b4-a9f8-48d9-8d2b-1a44efae0acd", + "savedPayload": { + "position": { + "x": 23217.75043117245, + "y": 17708.348091799195 + }, + "targetPosition": { + "x": 23379.016008467835, + "y": 18128.459283722936 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Right Entry Target Rate", + "id": "e0f2b444-fd6b-42e6-bb94-36a547a6c4d8" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Base Asset", + "Plotter Module", + "Foundations", + "42a79594-bac8-40bf-a9eb-f13716e15465" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "a1635ebb-9528-4f34-8729-4812e12a850f" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "0ac578ec-3648-4413-82ea-944a6fc7db1d" + ], + [ + "Right Entry Target Rate", + "Point", + "Foundations", + "609e9ed3-5503-4a3e-949b-d2ab2cf10f10" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " Right Exit Target Rate", + "project": "Foundations", + "id": "c4d3b540-9b26-42ba-b0bf-db894e3ede11", + "savedPayload": { + "position": { + "x": 23449.411517735938, + "y": 17683.999530455123 + }, + "targetPosition": { + "x": 23379.016008467835, + "y": 18128.459283722936 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Right Exit Target Rate", + "id": "ee1cd049-1181-4582-b7b9-440738355d22" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Base Asset", + "Plotter Module", + "Foundations", + "42a79594-bac8-40bf-a9eb-f13716e15465" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "a1635ebb-9528-4f34-8729-4812e12a850f" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "0ac578ec-3648-4413-82ea-944a6fc7db1d" + ], + [ + "Right Exit Target Rate", + "Point", + "Foundations", + "93ba04d2-21ec-41a2-9a2e-eb47a8d39149" + ] + ] + } + } + ], + "id": "6d605339-7369-4f3a-ab2d-db4680174dd1", + "savedPayload": { + "position": { + "x": 23379.016008467835, + "y": 18128.459283722936 + }, + "targetPosition": { + "x": 23728.731691123474, + "y": 18411.653459695364 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "images": [], + "texts": [], + "id": "936a8a0a-8f89-4cd2-b1cb-9b26eeef6642", + "savedPayload": { + "position": { + "x": 23728.731691123474, + "y": 18411.653459695364 + }, + "targetPosition": { + "x": 24163.398312953555, + "y": 18295.18488939923 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "panels": [ + { + "type": "Plotter Panel", + "name": "Position Base Asset", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Entry Target Size", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.entryTargetSizeInBaseAsset", + "project": "Foundations", + "id": "d6effd61-7453-4933-8a3e-11008644a8aa", + "savedPayload": { + "position": { + "x": 23197.101286093795, + "y": 17686.860670515158 + }, + "targetPosition": { + "x": 23360.101269280076, + "y": 17730.53638437621 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "ed127167-98a8-4e5f-8cef-37db4d58219f", + "savedPayload": { + "position": { + "x": 23360.101269280076, + "y": 17730.53638437621 + }, + "targetPosition": { + "x": 23686.101235652637, + "y": 17817.88781209831 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Exit Target Size", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.exitTargetSizeInBaseAsset", + "project": "Foundations", + "id": "10d63cff-a8e1-43fc-a11a-7530b00a831f", + "savedPayload": { + "position": { + "x": 23247.675874986766, + "y": 17564.76281209831 + }, + "targetPosition": { + "x": 23393.81766187539, + "y": 17649.13781209831 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "15bf3305-ea7f-49d2-be07-7babfe2e5a6c", + "savedPayload": { + "position": { + "x": 23393.81766187539, + "y": 17649.13781209831 + }, + "targetPosition": { + "x": 23686.101235652637, + "y": 17817.88781209831 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Profit Loss", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.profitLossInBaseAsset", + "project": "Foundations", + "id": "e02fa4ef-4933-453d-a274-c61c8605b363", + "savedPayload": { + "position": { + "x": 23328.128427676947, + "y": 17459.91500412262 + }, + "targetPosition": { + "x": 23447.452697002176, + "y": 17579.23927344785 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "675a244c-190a-4ee0-ad88-3a0107f2d208", + "savedPayload": { + "position": { + "x": 23447.452697002176, + "y": 17579.23927344785 + }, + "targetPosition": { + "x": 23686.101235652637, + "y": 17817.88781209831 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "ROI", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.ROIInBaseAsset + ' %'", + "project": "Foundations", + "id": "8f1cbe07-a5d8-4c76-9f7e-0e29a77c4f34", + "savedPayload": { + "position": { + "x": 23432.976235652637, + "y": 17379.46245143244 + }, + "targetPosition": { + "x": 23517.351235652637, + "y": 17525.604238321062 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "76ffeaad-9acd-47d5-850b-f264625530c6", + "savedPayload": { + "position": { + "x": 23517.351235652637, + "y": 17525.604238321062 + }, + "targetPosition": { + "x": 23686.101235652637, + "y": 17817.88781209831 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Hit Fail", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.hitFailInBaseAsset", + "project": "Foundations", + "id": "7798cb40-7eba-44a9-852b-a1bba6d286ea", + "savedPayload": { + "position": { + "x": 23555.074094069485, + "y": 17328.88786253947 + }, + "targetPosition": { + "x": 23598.749807930537, + "y": 17491.88784572575 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "fa924c6a-aaf3-4175-a839-b229ba7793b0", + "savedPayload": { + "position": { + "x": 23598.749807930537, + "y": 17491.88784572575 + }, + "targetPosition": { + "x": 23686.101235652637, + "y": 17817.88781209831 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "4c89da99-9bbf-4ffa-8f0e-339c2ae4f38d", + "savedPayload": { + "position": { + "x": 23686.101235652637, + "y": 17817.88781209831 + }, + "targetPosition": { + "x": 24163.398312953555, + "y": 18295.18488939923 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 4, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "1ad3b378-0dbe-4015-9fe1-e95706d3da43", + "savedPayload": { + "position": { + "x": 24163.398312953555, + "y": 18295.18488939923 + }, + "targetPosition": { + "x": 24598.064934783637, + "y": 18411.653459695364 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Position Quoted Asset", + "config": "{ \n \"codeName\": \"Position-Objects\", \n \"icon\": \"trend\"\n}", + "project": "Foundations", + "shapes": { + "type": "Shapes", + "name": "New Shapes", + "project": "Foundations", + "chartPoints": [ + { + "type": "Chart Points", + "name": "New Chart Points", + "project": "Foundations", + "points": [ + { + "type": "Point", + "name": "Left Entry Target Rate", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin\ny = record.entryTargetRate", + "project": "Foundations", + "id": "13bb0758-4f84-4c73-9c68-bee713a7a4ef", + "savedPayload": { + "position": { + "x": 23460.20622241114, + "y": 18595.832153524498 + }, + "targetPosition": { + "x": 23471.96567452875, + "y": 18483.948440295568 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "09a0f9f0-b991-4c04-bbdb-e8dd2fccbe37", + "savedPayload": { + "position": { + "x": 23471.96567452875, + "y": 18483.948440295568 + }, + "targetPosition": { + "x": 23495.48457876397, + "y": 18260.181013837708 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Right Entry Target Rate", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.end\ny = record.entryTargetRate", + "project": "Foundations", + "id": "6f411ba1-7800-4c46-9433-0b1adbf60072", + "savedPayload": { + "position": { + "x": 23233.197816772245, + "y": 18472.57664581703 + }, + "targetPosition": { + "x": 23320.626737436152, + "y": 18401.778101823922 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "4ae03d29-7eaf-4604-adfa-3a1d2d2905cc", + "savedPayload": { + "position": { + "x": 23320.626737436152, + "y": 18401.778101823922 + }, + "targetPosition": { + "x": 23495.48457876397, + "y": 18260.181013837708 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Right Exit Target Rate", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.end\n\nif (record.exitTargetRate > 0) {\n y = record.exitTargetRate\n} else {\n y = record.candleClose\n}", + "project": "Foundations", + "id": "46c92925-aa66-4103-bd58-54675d190eb1", + "savedPayload": { + "position": { + "x": 23159.83343907718, + "y": 18224.902657484876 + }, + "targetPosition": { + "x": 23271.71715230611, + "y": 18236.662109602486 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "21d6b5b2-7208-4216-ae8a-c56da2b4231d", + "savedPayload": { + "position": { + "x": 23271.71715230611, + "y": 18236.662109602486 + }, + "targetPosition": { + "x": 23495.48457876397, + "y": 18260.181013837708 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "4dd52dbc-7e2e-4fdc-ac5b-67e097491907", + "savedPayload": { + "position": { + "x": 23495.48457876397, + "y": 18260.181013837708 + }, + "targetPosition": { + "x": 23845.20026141961, + "y": 17976.986837865283 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "polygons": [ + { + "type": "Polygon", + "name": "Profit Triangle", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.ROIInQuotedAsset > 0 && record.exitTargetRate > 0", + "project": "Foundations", + "id": "1c1df84c-86ce-4cac-af85-6c464fa05a35", + "savedPayload": { + "position": { + "x": 23222.055748601466, + "y": 18415.636846969635 + }, + "targetPosition": { + "x": 23395.81697078005, + "y": 18000.538018174608 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBody": { + "type": "Polygon Body", + "name": "New Polygon Body", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "e9f5af4a-ece1-4db0-bd25-dfc97e068ec9", + "savedPayload": { + "position": { + "x": 22722.500803635077, + "y": 18597.7359242838 + }, + "targetPosition": { + "x": 23059.158887207566, + "y": 18299.136971229203 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "2f0804be-466a-4f18-89b6-f8faccb9fad7", + "savedPayload": { + "position": { + "x": 23059.158887207566, + "y": 18299.136971229203 + }, + "targetPosition": { + "x": 23395.81697078005, + "y": 18000.538018174608 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.PATINATED_TURQUOISE\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "f370f23a-d273-4c59-8585-d91c35b13cb2", + "savedPayload": { + "position": { + "x": 22530.065605431217, + "y": 18246.45380334634 + }, + "targetPosition": { + "x": 22962.941288105634, + "y": 18123.495910760474 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "0e90b399-90e7-419c-9366-91e484ea3e6d", + "savedPayload": { + "position": { + "x": 22962.941288105634, + "y": 18123.495910760474 + }, + "targetPosition": { + "x": 23395.81697078005, + "y": 18000.538018174608 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Left Entry Target Rate", + "project": "Foundations", + "id": "e5e2cdf2-f35a-4aa6-8b3f-8e565fbc58c4", + "savedPayload": { + "position": { + "x": 22952.460026829223, + "y": 17923.501531685517 + }, + "targetPosition": { + "x": 23395.81697078005, + "y": 18000.538018174608 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Left Entry Target Rate", + "id": "09a0f9f0-b991-4c04-bbdb-e8dd2fccbe37" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Quoted Asset", + "Plotter Module", + "Foundations", + "baed45c2-228e-4679-876e-1867bbef5e9f" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "d2ad64d7-e463-4f5f-9f3d-05c98a5e8101" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "2d8c4071-9ea0-45cf-9b0d-e73fd57a9928" + ], + [ + "Left Entry Target Rate", + "Point", + "Foundations", + "17cf1421-4fc5-4cff-83d5-394cfcb4a88e" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " Right Entry Target Rate", + "project": "Foundations", + "id": "b11c98e2-870c-4e0b-a855-be810a27cef0", + "savedPayload": { + "position": { + "x": 23029.791045718364, + "y": 17738.765173550237 + }, + "targetPosition": { + "x": 23395.81697078005, + "y": 18000.538018174608 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Right Entry Target Rate", + "id": "4ae03d29-7eaf-4604-adfa-3a1d2d2905cc" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Quoted Asset", + "Plotter Module", + "Foundations", + "baed45c2-228e-4679-876e-1867bbef5e9f" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "d2ad64d7-e463-4f5f-9f3d-05c98a5e8101" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "2d8c4071-9ea0-45cf-9b0d-e73fd57a9928" + ], + [ + "Right Entry Target Rate", + "Point", + "Foundations", + "a00d0039-31a4-4033-8ad5-b0e0d9d13e4e" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " Right Exit Target Rate", + "project": "Foundations", + "id": "0cb46ed6-6217-4001-b7a5-ee4eb445b00c", + "savedPayload": { + "position": { + "x": 23179.61798807935, + "y": 17605.876137726063 + }, + "targetPosition": { + "x": 23395.81697078005, + "y": 18000.538018174608 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Right Exit Target Rate", + "id": "21d6b5b2-7208-4216-ae8a-c56da2b4231d" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Quoted Asset", + "Plotter Module", + "Foundations", + "baed45c2-228e-4679-876e-1867bbef5e9f" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "d2ad64d7-e463-4f5f-9f3d-05c98a5e8101" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "2d8c4071-9ea0-45cf-9b0d-e73fd57a9928" + ], + [ + "Right Exit Target Rate", + "Point", + "Foundations", + "2af047d2-b4f1-4395-8d35-67c70c582c0e" + ] + ] + } + } + ], + "id": "1dc2b7ca-f93f-4993-b20a-0a7a341436aa", + "savedPayload": { + "position": { + "x": 23395.81697078005, + "y": 18000.538018174608 + }, + "targetPosition": { + "x": 23845.20026141961, + "y": 17976.986837865283 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Loss Triangle", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.ROIInQuotedAsset < 0 && record.exitTargetRate > 0", + "project": "Foundations", + "id": "91ccc702-1a97-431d-9bc6-be89f13e8a51", + "savedPayload": { + "position": { + "x": 23083.233754328736, + "y": 17965.586995131947 + }, + "targetPosition": { + "x": 23467.79850584417, + "y": 17731.89927210852 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBody": { + "type": "Polygon Body", + "name": "New Polygon Body", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "185cb095-ba47-4f98-a781-c2e64b65b523", + "savedPayload": { + "position": { + "x": 22572.050162125553, + "y": 17819.277213978075 + }, + "targetPosition": { + "x": 23019.92433398486, + "y": 17775.588243043298 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "cd24c0ae-1da5-40d2-8a0c-e7bbd159f435", + "savedPayload": { + "position": { + "x": 23019.92433398486, + "y": 17775.588243043298 + }, + "targetPosition": { + "x": 23467.79850584417, + "y": 17731.89927210852 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "a36b3c06-cf1b-4505-825a-9f8409e359c4", + "savedPayload": { + "position": { + "x": 22622.84526654378, + "y": 17421.97343679339 + }, + "targetPosition": { + "x": 23045.321886193975, + "y": 17576.936354450954 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "d5ac496c-c4a0-4d8c-b498-b3176cce122d", + "savedPayload": { + "position": { + "x": 23045.321886193975, + "y": 17576.936354450954 + }, + "targetPosition": { + "x": 23467.79850584417, + "y": 17731.89927210852 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Left Entry Target Rate", + "project": "Foundations", + "id": "bdc9f6d9-cb64-4d65-96fb-af07648f451b", + "savedPayload": { + "position": { + "x": 23154.396114260526, + "y": 17408.976772196154 + }, + "targetPosition": { + "x": 23467.79850584417, + "y": 17731.89927210852 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Left Entry Target Rate", + "id": "09a0f9f0-b991-4c04-bbdb-e8dd2fccbe37" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Quoted Asset", + "Plotter Module", + "Foundations", + "baed45c2-228e-4679-876e-1867bbef5e9f" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "d2ad64d7-e463-4f5f-9f3d-05c98a5e8101" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "2d8c4071-9ea0-45cf-9b0d-e73fd57a9928" + ], + [ + "Left Entry Target Rate", + "Point", + "Foundations", + "17cf1421-4fc5-4cff-83d5-394cfcb4a88e" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " Right Entry Target Rate", + "project": "Foundations", + "id": "6fa5dd56-eff4-4b49-96b1-fb2b9d9ba6b4", + "savedPayload": { + "position": { + "x": 23325.54352960831, + "y": 17304.97595143356 + }, + "targetPosition": { + "x": 23467.79850584417, + "y": 17731.89927210852 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Right Entry Target Rate", + "id": "4ae03d29-7eaf-4604-adfa-3a1d2d2905cc" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Quoted Asset", + "Plotter Module", + "Foundations", + "baed45c2-228e-4679-876e-1867bbef5e9f" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "d2ad64d7-e463-4f5f-9f3d-05c98a5e8101" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "2d8c4071-9ea0-45cf-9b0d-e73fd57a9928" + ], + [ + "Right Entry Target Rate", + "Point", + "Foundations", + "a00d0039-31a4-4033-8ad5-b0e0d9d13e4e" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " Right Exit Target Rate", + "project": "Foundations", + "id": "b5b7be48-88d9-4665-81c8-bf020838ce89", + "savedPayload": { + "position": { + "x": 23524.866287642395, + "y": 17285.532530201566 + }, + "targetPosition": { + "x": 23467.79850584417, + "y": 17731.89927210852 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Right Exit Target Rate", + "id": "21d6b5b2-7208-4216-ae8a-c56da2b4231d" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Quoted Asset", + "Plotter Module", + "Foundations", + "baed45c2-228e-4679-876e-1867bbef5e9f" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "d2ad64d7-e463-4f5f-9f3d-05c98a5e8101" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "2d8c4071-9ea0-45cf-9b0d-e73fd57a9928" + ], + [ + "Right Exit Target Rate", + "Point", + "Foundations", + "2af047d2-b4f1-4395-8d35-67c70c582c0e" + ] + ] + } + } + ], + "id": "252cf157-ac1c-4489-9e43-3cd8b4ffea5d", + "savedPayload": { + "position": { + "x": 23467.79850584417, + "y": 17731.89927210852 + }, + "targetPosition": { + "x": 23845.20026141961, + "y": 17976.986837865283 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Empty Triangle", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.ROIInQuotedAsset === 0 && record.exitTargetRate > 0", + "project": "Foundations", + "id": "1fa3876c-35fb-48bf-a7b6-7cb533f229fb", + "savedPayload": { + "position": { + "x": 23239.474930856413, + "y": 17486.48013667344 + }, + "targetPosition": { + "x": 23683.934684124226, + "y": 17556.87564594154 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "5684cca3-4ee2-406c-84d3-1e15e1acb9b5", + "savedPayload": { + "position": { + "x": 22984.50331881295, + "y": 16990.487293996684 + }, + "targetPosition": { + "x": 23334.219001468588, + "y": 17273.681469969113 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "f32e1da4-be91-4cc3-9ab7-ef7a4c5aeb45", + "savedPayload": { + "position": { + "x": 23334.219001468588, + "y": 17273.681469969113 + }, + "targetPosition": { + "x": 23683.934684124226, + "y": 17556.87564594154 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Left Entry Target Rate", + "project": "Foundations", + "id": "12b12e58-608c-4e96-ad55-cd80fee8c4d6", + "savedPayload": { + "position": { + "x": 23522.669106828842, + "y": 17136.7644540178 + }, + "targetPosition": { + "x": 23683.934684124226, + "y": 17556.87564594154 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Left Entry Target Rate", + "id": "09a0f9f0-b991-4c04-bbdb-e8dd2fccbe37" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Quoted Asset", + "Plotter Module", + "Foundations", + "baed45c2-228e-4679-876e-1867bbef5e9f" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "d2ad64d7-e463-4f5f-9f3d-05c98a5e8101" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "2d8c4071-9ea0-45cf-9b0d-e73fd57a9928" + ], + [ + "Left Entry Target Rate", + "Point", + "Foundations", + "17cf1421-4fc5-4cff-83d5-394cfcb4a88e" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " Right Entry Target Rate", + "project": "Foundations", + "id": "1031c689-a7b0-477c-8672-d58c47fe9e8a", + "savedPayload": { + "position": { + "x": 23754.33019339233, + "y": 17112.41589267373 + }, + "targetPosition": { + "x": 23683.934684124226, + "y": 17556.87564594154 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Right Entry Target Rate", + "id": "4ae03d29-7eaf-4604-adfa-3a1d2d2905cc" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Quoted Asset", + "Plotter Module", + "Foundations", + "baed45c2-228e-4679-876e-1867bbef5e9f" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "d2ad64d7-e463-4f5f-9f3d-05c98a5e8101" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "2d8c4071-9ea0-45cf-9b0d-e73fd57a9928" + ], + [ + "Right Entry Target Rate", + "Point", + "Foundations", + "a00d0039-31a4-4033-8ad5-b0e0d9d13e4e" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " Right Exit Target Rate", + "project": "Foundations", + "id": "bc5ea739-4570-405e-9165-3b5ae9c7bfbb", + "savedPayload": { + "position": { + "x": 23967.128860096655, + "y": 17207.159963285903 + }, + "targetPosition": { + "x": 23683.934684124226, + "y": 17556.87564594154 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Right Exit Target Rate", + "id": "21d6b5b2-7208-4216-ae8a-c56da2b4231d" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Position Quoted Asset", + "Plotter Module", + "Foundations", + "baed45c2-228e-4679-876e-1867bbef5e9f" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "d2ad64d7-e463-4f5f-9f3d-05c98a5e8101" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "2d8c4071-9ea0-45cf-9b0d-e73fd57a9928" + ], + [ + "Right Exit Target Rate", + "Point", + "Foundations", + "2af047d2-b4f1-4395-8d35-67c70c582c0e" + ] + ] + } + } + ], + "id": "7f0b8fd4-d544-4b14-a531-10668d1d767e", + "savedPayload": { + "position": { + "x": 23683.934684124226, + "y": 17556.87564594154 + }, + "targetPosition": { + "x": 23845.20026141961, + "y": 17976.986837865283 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "images": [], + "texts": [], + "id": "05f7a569-5f2b-4b6c-b4cd-9b299b3db03e", + "savedPayload": { + "position": { + "x": 23845.20026141961, + "y": 17976.986837865283 + }, + "targetPosition": { + "x": 24279.86688324969, + "y": 18093.45540816142 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "panels": [ + { + "type": "Plotter Panel", + "name": "Position Quoted Asset", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Entry Target Size", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.entryTargetSizeInQuotedAsset", + "project": "Foundations", + "id": "dbf2283b-9d55-4a98-a610-320605350d39", + "savedPayload": { + "position": { + "x": 23747.1912198298, + "y": 17083.482667440607 + }, + "targetPosition": { + "x": 23866.51548915503, + "y": 17202.806936765835 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "eb27510a-bc10-4ca6-b55e-47a94a9e98e9", + "savedPayload": { + "position": { + "x": 23866.51548915503, + "y": 17202.806936765835 + }, + "targetPosition": { + "x": 24105.16402780549, + "y": 17441.455475416296 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Exit Target Size", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.exitTargetSizeInQuotedAsset", + "project": "Foundations", + "id": "e8c87f10-d5c1-49ad-8ae7-02efe3640a0d", + "savedPayload": { + "position": { + "x": 23852.03902780549, + "y": 17003.030114750425 + }, + "targetPosition": { + "x": 23936.41402780549, + "y": 17149.17190163905 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "a6f4ab0f-7025-408e-a430-344b2f5a8b4b", + "savedPayload": { + "position": { + "x": 23936.41402780549, + "y": 17149.17190163905 + }, + "targetPosition": { + "x": 24105.16402780549, + "y": 17441.455475416296 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Profit Loss", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.profitLossInQuotedAsset", + "project": "Foundations", + "id": "d6b95e42-7024-43e4-8843-31e47896c423", + "savedPayload": { + "position": { + "x": 23974.13688622234, + "y": 16952.455525857455 + }, + "targetPosition": { + "x": 24017.81260008339, + "y": 17115.455509043735 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "4d22bbae-692e-4f73-9665-e2db845ef50e", + "savedPayload": { + "position": { + "x": 24017.81260008339, + "y": 17115.455509043735 + }, + "targetPosition": { + "x": 24105.16402780549, + "y": 17441.455475416296 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "ROI", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.ROIInQuotedAsset + ' %'", + "project": "Foundations", + "id": "f871cac1-c1bd-402b-8c96-67d2f4debabd", + "savedPayload": { + "position": { + "x": 24105.16402780549, + "y": 16935.205475416296 + }, + "targetPosition": { + "x": 24105.16402780549, + "y": 17103.955475416296 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "d9d72b62-c411-4094-ba20-166724787cb7", + "savedPayload": { + "position": { + "x": 24105.16402780549, + "y": 17103.955475416296 + }, + "targetPosition": { + "x": 24105.16402780549, + "y": 17441.455475416296 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Hit Fail", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.hitFailInQuotedAsset", + "project": "Foundations", + "id": "cba955af-b5be-44e6-98d3-97c707694cc3", + "savedPayload": { + "position": { + "x": 24236.191169388643, + "y": 16952.455525857455 + }, + "targetPosition": { + "x": 24192.51545552759, + "y": 17115.455509043735 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "406a7b1f-9e2e-4b0a-8b17-512cdfbbf39f", + "savedPayload": { + "position": { + "x": 24192.51545552759, + "y": 17115.455509043735 + }, + "targetPosition": { + "x": 24105.16402780549, + "y": 17441.455475416296 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "1d377283-4fc2-498f-acd0-6c856c298c2d", + "savedPayload": { + "position": { + "x": 24105.16402780549, + "y": 17441.455475416296 + }, + "targetPosition": { + "x": 24279.86688324969, + "y": 18093.45540816142 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 4, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "08a1afe7-83b5-472f-b8dc-15494b8a7e06", + "savedPayload": { + "position": { + "x": 24279.86688324969, + "y": 18093.45540816142 + }, + "targetPosition": { + "x": 24598.064934783637, + "y": 18411.653459695364 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Stop Loss", + "config": "{ \n \"codeName\": \"Module-Name\", \n \"icon\": \"histogram|band|moving-average|oscillator|trend\"\n}", + "project": "Foundations", + "shapes": { + "type": "Shapes", + "name": "New Shapes", + "project": "Foundations", + "chartPoints": [ + { + "type": "Chart Points", + "name": "New Chart Points", + "project": "Foundations", + "points": [ + { + "type": "Point", + "name": "Begin", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin\ny = record.stopLoss", + "project": "Foundations", + "id": "0cf3ea6c-f6da-4049-8b94-b4b5ab8bab33", + "savedPayload": { + "position": { + "x": 23638.30577103805, + "y": 17939.239891561312 + }, + "targetPosition": { + "x": 23678.622165361896, + "y": 17834.212093580376 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "a198d834-e534-4380-a76a-32efc34feb76", + "savedPayload": { + "position": { + "x": 23678.622165361896, + "y": 17834.212093580376 + }, + "targetPosition": { + "x": 23718.938559685743, + "y": 17729.18429559944 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "End", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.end\ny = record.stopLoss", + "project": "Foundations", + "id": "62c6d5da-c397-4893-95d7-29f811777ca1", + "savedPayload": { + "position": { + "x": 23577.34147169953, + "y": 17554.326454271624 + }, + "targetPosition": { + "x": 23648.140015692636, + "y": 17641.755374935532 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "46400edc-9c1a-433a-94aa-fe58014cc63a", + "savedPayload": { + "position": { + "x": 23648.140015692636, + "y": 17641.755374935532 + }, + "targetPosition": { + "x": 23718.938559685743, + "y": 17729.18429559944 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "b38b3ff0-2430-47c7-8fc7-3185027c96ef", + "savedPayload": { + "position": { + "x": 23718.938559685743, + "y": 17729.18429559944 + }, + "targetPosition": { + "x": 24163.398312953555, + "y": 17658.788786331337 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "polygons": [ + { + "type": "Polygon", + "name": "New Polygon", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.stopLoss > 0", + "project": "Foundations", + "id": "151dffda-c489-4872-b678-776d06237406", + "savedPayload": { + "position": { + "x": 23361.492441184026, + "y": 17658.788786331337 + }, + "targetPosition": { + "x": 23762.44537706879, + "y": 17454.493061448542 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 0.5,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 0.8,\n \"lineWidth\": 3,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "3f07ea1a-0809-44bf-ba6f-fa9a1664b098", + "savedPayload": { + "position": { + "x": 22873.525870533165, + "y": 17313.702042912337 + }, + "targetPosition": { + "x": 23317.985623800978, + "y": 17384.09755218044 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "60e5dd28-ade4-46a0-9313-641c9983c115", + "savedPayload": { + "position": { + "x": 23317.985623800978, + "y": 17384.09755218044 + }, + "targetPosition": { + "x": 23762.44537706879, + "y": 17454.493061448542 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin", + "project": "Foundations", + "id": "00c12f88-181e-451e-9d94-3caca9bd14a0", + "savedPayload": { + "position": { + "x": 23444.247325534845, + "y": 17136.295009914596 + }, + "targetPosition": { + "x": 23762.44537706879, + "y": 17454.493061448542 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin", + "id": "a198d834-e534-4380-a76a-32efc34feb76" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Stop Loss", + "Plotter Module", + "Foundations", + "9b8e4fc2-b62a-4d47-ac5f-08818e463da2" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "41dd1d86-998c-46d7-a37e-1a1508fd8b51" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "fdf923e9-1d23-41c0-9210-38d35313c4ab" + ], + [ + "Begin", + "Point", + "Foundations", + "7d0349ba-640b-43f2-b500-d62c06fecd81" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End", + "project": "Foundations", + "id": "ee274b81-ec90-405a-a9e7-976d779b920c", + "savedPayload": { + "position": { + "x": 23692.049867800688, + "y": 17010.03330818073 + }, + "targetPosition": { + "x": 23762.44537706879, + "y": 17454.493061448542 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End", + "id": "46400edc-9c1a-433a-94aa-fe58014cc63a" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Stop Loss", + "Plotter Module", + "Foundations", + "9b8e4fc2-b62a-4d47-ac5f-08818e463da2" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "41dd1d86-998c-46d7-a37e-1a1508fd8b51" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "fdf923e9-1d23-41c0-9210-38d35313c4ab" + ], + [ + "End", + "Point", + "Foundations", + "a4c015cf-419c-44f6-9816-6828e5fbc3c3" + ] + ] + } + } + ], + "id": "506b65ce-5080-421b-9981-6220603de1db", + "savedPayload": { + "position": { + "x": 23762.44537706879, + "y": 17454.493061448542 + }, + "targetPosition": { + "x": 24163.398312953555, + "y": 17658.788786331337 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "images": [ + { + "type": "Image", + "name": "New Image", + "config": "{ \n\"codeName\": \"phase\", \n\"size\": 20\n}", + "project": "Foundations", + "imageCondition": { + "type": "Image Condition", + "name": "New Image Condition", + "code": "(record.positions !== record.previous.positions && record.stopLossPhase >= 0 ) || \n(record.stopLossPhase !== record.previous.stopLossPhase && record.stopLossPhase >= 0 ) ", + "project": "Foundations", + "id": "4d8b7733-acb2-411e-a95b-85ccb01fc2b7", + "savedPayload": { + "position": { + "x": 23770.40171028304, + "y": 17135.292067568193 + }, + "targetPosition": { + "x": 23959.10258807076, + "y": 17257.835850446572 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "imagePosition": { + "type": "Image Position", + "name": "Begin", + "config": "{ \n\"offsetX\": 0,\n \"offsetY\": 10\n }", + "project": "Foundations", + "id": "f43b9164-8f82-41f5-b6e7-161b749eef12", + "savedPayload": { + "position": { + "x": 23970.878178225423, + "y": 17033.144205126795 + }, + "targetPosition": { + "x": 23959.10258807076, + "y": 17257.835850446572 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin", + "id": "a198d834-e534-4380-a76a-32efc34feb76" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Stop Loss", + "Plotter Module", + "Foundations", + "9b8e4fc2-b62a-4d47-ac5f-08818e463da2" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "41dd1d86-998c-46d7-a37e-1a1508fd8b51" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "fdf923e9-1d23-41c0-9210-38d35313c4ab" + ], + [ + "Begin", + "Point", + "Foundations", + "7d0349ba-640b-43f2-b500-d62c06fecd81" + ] + ] + } + }, + "id": "ded3fa1f-948b-4c2a-8fde-159230280d55", + "savedPayload": { + "position": { + "x": 23959.10258807076, + "y": 17257.835850446572 + }, + "targetPosition": { + "x": 24163.398312953555, + "y": 17658.788786331337 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "texts": [ + { + "type": "Text", + "name": "New Text", + "config": "{ \n\"codeName\": \"\", \n\"fontSize\": 10\n}", + "project": "Foundations", + "textCondition": { + "type": "Text Condition", + "name": "New Text Condition", + "code": "(record.positions !== record.previous.positions && record.stopLossPhase >= 0 ) || \n(record.stopLossPhase !== record.previous.stopLossPhase && record.stopLossPhase >= 0 ) ", + "project": "Foundations", + "id": "9ac25e7f-f6fa-451e-8755-36a14b7d5c68", + "savedPayload": { + "position": { + "x": 24074.694796454685, + "y": 17055.23000729655 + }, + "targetPosition": { + "x": 24233.793822221658, + "y": 17214.329033063525 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textPosition": { + "type": "Text Position", + "name": "Begin", + "config": "{ \n\"offsetX\": -3,\n \"offsetY\": -15\n }", + "project": "Foundations", + "id": "eb9233ba-3cc0-4f7a-a99c-95af04ddd91e", + "savedPayload": { + "position": { + "x": 24198.596067587605, + "y": 16992.09915642962 + }, + "targetPosition": { + "x": 24233.793822221658, + "y": 17214.329033063525 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin", + "id": "a198d834-e534-4380-a76a-32efc34feb76" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Stop Loss", + "Plotter Module", + "Foundations", + "9b8e4fc2-b62a-4d47-ac5f-08818e463da2" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "41dd1d86-998c-46d7-a37e-1a1508fd8b51" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "fdf923e9-1d23-41c0-9210-38d35313c4ab" + ], + [ + "Begin", + "Point", + "Foundations", + "7d0349ba-640b-43f2-b500-d62c06fecd81" + ] + ] + } + }, + "textFormula": { + "type": "Text Formula", + "name": "New Text Formula", + "code": "record.stopLossPhase", + "project": "Foundations", + "id": "5c900c7f-879b-45c5-a7bf-8539a46a973c", + "savedPayload": { + "position": { + "x": 24335.941684663056, + "y": 17013.852565121142 + }, + "targetPosition": { + "x": 24233.793822221658, + "y": 17214.329033063525 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textStyle": { + "type": "Text Style", + "name": "New Text Style", + "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.5,\n \"fontSize\": 10\n}", + "project": "Foundations", + "id": "afe33456-0806-4614-9f71-5273e9d68249", + "savedPayload": { + "position": { + "x": 24434.27029016404, + "y": 17112.181170622127 + }, + "targetPosition": { + "x": 24233.793822221658, + "y": 17214.329033063525 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "f4ba52b6-e1e3-43b1-82ce-6f0fb065167f", + "savedPayload": { + "position": { + "x": 24233.793822221658, + "y": 17214.329033063525 + }, + "targetPosition": { + "x": 24163.398312953555, + "y": 17658.788786331337 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "2692f8f1-615e-4af7-8735-0516470d12ed", + "savedPayload": { + "position": { + "x": 24163.398312953555, + "y": 17658.788786331337 + }, + "targetPosition": { + "x": 24481.5963644875, + "y": 17976.986837865283 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "panels": [ + { + "type": "Plotter Panel", + "name": "Stop Loss Panel", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Stop Loss", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.stopLoss", + "project": "Foundations", + "id": "bff62df8-d94e-462c-a560-77801b8079ac", + "savedPayload": { + "position": { + "x": 24314.870758811205, + "y": 17192.604533379563 + }, + "targetPosition": { + "x": 24456.46784679742, + "y": 17367.462374707382 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "e21c70b9-c14c-4024-8841-37d5aa2e3968", + "savedPayload": { + "position": { + "x": 24456.46784679742, + "y": 17367.462374707382 + }, + "targetPosition": { + "x": 24598.064934783633, + "y": 17542.3202160352 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Stop Loss Phase", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.stopLossPhase", + "project": "Foundations", + "id": "10c5c881-918c-407c-882c-9d3f4c313ed0", + "savedPayload": { + "position": { + "x": 24580.40154955164, + "y": 17205.282748055535 + }, + "targetPosition": { + "x": 24586.28934462897, + "y": 17317.628570715424 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "7d8ca411-a4d8-474d-be56-5bf0a264db25", + "savedPayload": { + "position": { + "x": 24586.28934462897, + "y": 17317.628570715424 + }, + "targetPosition": { + "x": 24598.064934783633, + "y": 17542.3202160352 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Initial Value", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.initialValue", + "project": "Foundations", + "id": "533b50bf-17ff-478b-b485-d7a2370395d5", + "savedPayload": { + "position": { + "x": 24781.880609101205, + "y": 17259.26889935362 + }, + "targetPosition": { + "x": 24720.608717662013, + "y": 17353.61933824748 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "1a37298c-a926-4bc9-a261-990a962e5e18", + "savedPayload": { + "position": { + "x": 24720.608717662013, + "y": 17353.61933824748 + }, + "targetPosition": { + "x": 24598.064934783633, + "y": 17542.3202160352 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Final Value", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.finalValue", + "project": "Foundations", + "id": "cf8e88d3-5e31-404f-9811-43e29f3db95f", + "savedPayload": { + "position": { + "x": 24913.14832872644, + "y": 17421.37103306366 + }, + "targetPosition": { + "x": 24808.120530745502, + "y": 17461.687427387507 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "dbeaa9aa-7cbe-4310-a411-74aa6f203312", + "savedPayload": { + "position": { + "x": 24808.120530745502, + "y": 17461.687427387507 + }, + "targetPosition": { + "x": 24598.064934783633, + "y": 17542.3202160352 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "af403e0f-699b-4dfc-b3ee-d6a8747ab081", + "savedPayload": { + "position": { + "x": 24598.064934783633, + "y": 17542.3202160352 + }, + "targetPosition": { + "x": 24481.5963644875, + "y": 17976.986837865283 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "f3833246-c097-42c2-8522-930b4d0450d3", + "savedPayload": { + "position": { + "x": 24481.5963644875, + "y": 17976.986837865283 + }, + "targetPosition": { + "x": 24598.064934783637, + "y": 18411.653459695364 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Take Profit", + "config": "{ \n \"codeName\": \"Module-Name\", \n \"icon\": \"histogram|band|moving-average|oscillator|trend\"\n}", + "project": "Foundations", + "shapes": { + "type": "Shapes", + "name": "New Shapes", + "project": "Foundations", + "chartPoints": [ + { + "type": "Chart Points", + "name": "New Chart Points", + "project": "Foundations", + "points": [ + { + "type": "Point", + "name": "Begin", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin\ny = record.takeProfit", + "project": "Foundations", + "id": "8d63042a-9ab8-4d37-90f1-adf00ac9e7ed", + "savedPayload": { + "position": { + "x": 24003.095901532077, + "y": 17522.65172672603 + }, + "targetPosition": { + "x": 24090.524822195985, + "y": 17451.853182732924 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "7b80a313-c7e4-45e3-a8f5-d04c543d74be", + "savedPayload": { + "position": { + "x": 24090.524822195985, + "y": 17451.853182732924 + }, + "targetPosition": { + "x": 24177.953742859892, + "y": 17381.054638739817 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "End", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.end\ny = record.takeProfit", + "project": "Foundations", + "id": "1f330e7e-30e3-4507-b698-67d8560a4f23", + "savedPayload": { + "position": { + "x": 24142.755988225843, + "y": 17158.82476210591 + }, + "targetPosition": { + "x": 24160.354865542868, + "y": 17269.939700422863 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "c04f3bef-3ab4-482b-b50b-02daf5b545a0", + "savedPayload": { + "position": { + "x": 24160.354865542868, + "y": 17269.939700422863 + }, + "targetPosition": { + "x": 24177.953742859892, + "y": 17381.054638739817 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "9eb4de2b-f3e6-4885-ab74-fb156f99df28", + "savedPayload": { + "position": { + "x": 24177.953742859892, + "y": 17381.054638739817 + }, + "targetPosition": { + "x": 24598.064934783633, + "y": 17542.3202160352 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "polygons": [ + { + "type": "Polygon", + "name": "New Polygon", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.takeProfit > 0", + "project": "Foundations", + "id": "41b8636c-6f29-47e5-964d-a88699733486", + "savedPayload": { + "position": { + "x": 26544.157584697194, + "y": 16691.068955171828 + }, + "targetPosition": { + "x": 26121.95091371654, + "y": 16795.934235629025 + }, + "floatingObject": { + "isPinned": true, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.5,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.8,\n \"lineWidth\": 3,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "dcf98766-8bac-4775-9b93-cf64d31c6fb7", + "savedPayload": { + "position": { + "x": 26059.106510762016, + "y": 15585.97783231789 + }, + "targetPosition": { + "x": 26090.61306034613, + "y": 16190.861077531674 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "b1e7056a-6598-490c-8096-7aa1a75aede6", + "savedPayload": { + "position": { + "x": 26090.61306034613, + "y": 16190.861077531674 + }, + "targetPosition": { + "x": 26121.95091371654, + "y": 16795.934235629025 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin", + "project": "Foundations", + "id": "1ee37aa5-c101-44b1-8500-1dae1a87d7ca", + "savedPayload": { + "position": { + "x": 26451.903037572603, + "y": 16287.808631432887 + }, + "targetPosition": { + "x": 26121.95091371654, + "y": 16795.934235629025 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin", + "id": "7b80a313-c7e4-45e3-a8f5-d04c543d74be" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Take Profit", + "Plotter Module", + "Foundations", + "78a2df79-8912-44d7-a8c7-4b6a0a7235c2" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "95465ef6-b26a-4ca3-817c-26b50e9ef8e0" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "fc2dda29-1eb7-4f6f-8527-2e54ba32bb8b" + ], + [ + "Begin", + "Point", + "Foundations", + "9baaa58e-af64-4348-9320-fad9823153a9" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End", + "project": "Foundations", + "id": "1dbd301a-f4a1-4af8-8250-b54bc6203e86", + "savedPayload": { + "position": { + "x": 26687.67346023367, + "y": 16578.602185109783 + }, + "targetPosition": { + "x": 26121.95091371654, + "y": 16795.934235629025 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End", + "id": "c04f3bef-3ab4-482b-b50b-02daf5b545a0" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Take Profit", + "Plotter Module", + "Foundations", + "78a2df79-8912-44d7-a8c7-4b6a0a7235c2" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "95465ef6-b26a-4ca3-817c-26b50e9ef8e0" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "fc2dda29-1eb7-4f6f-8527-2e54ba32bb8b" + ], + [ + "End", + "Point", + "Foundations", + "bcbd8777-10f8-46a6-ba09-4d635570057d" + ] + ] + } + } + ], + "id": "85c17bc4-2728-4c03-8e0e-7b08a4178835", + "savedPayload": { + "position": { + "x": 24352.97736902687, + "y": 17164.91846045976 + }, + "targetPosition": { + "x": 24598.064934783633, + "y": 17542.3202160352 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "images": [ + { + "type": "Image", + "name": "New Image", + "config": "{ \n\"codeName\": \"phase\", \n\"size\": 20\n}", + "project": "Foundations", + "imageCondition": { + "type": "Image Condition", + "name": "New Image Condition", + "code": "(record.positions !== record.previous.positions && record.takeProfitPhase >= 0 ) || \n(record.takeProfitPhase !== record.previous.takeProfitPhase && record.takeProfitPhase >= 0 ) ", + "project": "Foundations", + "id": "3a9b9809-3e61-4400-b0ac-39eba03cf5d8", + "savedPayload": { + "position": { + "x": 24519.46825265156, + "y": 16892.46045745326 + }, + "targetPosition": { + "x": 24621.61611509296, + "y": 17092.936925395643 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "imagePosition": { + "type": "Image Position", + "name": "Begin", + "config": "{ \n\"offsetX\": 0,\n \"offsetY\": 10\n }", + "project": "Foundations", + "id": "6d5d4e75-c85d-4554-890e-664d8f05354a", + "savedPayload": { + "position": { + "x": 24744.159897971338, + "y": 16904.236047607923 + }, + "targetPosition": { + "x": 24621.61611509296, + "y": 17092.936925395643 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin", + "id": "7b80a313-c7e4-45e3-a8f5-d04c543d74be" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Take Profit", + "Plotter Module", + "Foundations", + "78a2df79-8912-44d7-a8c7-4b6a0a7235c2" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "95465ef6-b26a-4ca3-817c-26b50e9ef8e0" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "fc2dda29-1eb7-4f6f-8527-2e54ba32bb8b" + ], + [ + "Begin", + "Point", + "Foundations", + "9baaa58e-af64-4348-9320-fad9823153a9" + ] + ] + } + }, + "id": "6ac5edff-8a1f-4dda-bc47-81b1d4d22545", + "savedPayload": { + "position": { + "x": 24621.61611509296, + "y": 17092.936925395643 + }, + "targetPosition": { + "x": 24598.064934783633, + "y": 17542.3202160352 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "texts": [ + { + "type": "Text", + "name": "New Text", + "config": "{ \n\"codeName\": \"\", \n\"fontSize\": 10\n}", + "project": "Foundations", + "textCondition": { + "type": "Text Condition", + "name": "New Text Condition", + "code": "(record.positions !== record.previous.positions && record.takeProfitPhase >= 0 ) || \n(record.takeProfitPhase !== record.previous.takeProfitPhase && record.takeProfitPhase >= 0 ) ", + "project": "Foundations", + "id": "465388f9-ca69-421f-95a4-385325866344", + "savedPayload": { + "position": { + "x": 24823.024825607994, + "y": 16975.271222464522 + }, + "targetPosition": { + "x": 24881.259110756062, + "y": 17192.604533379563 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textPosition": { + "type": "Text Position", + "name": "Begin", + "config": "{ \n\"offsetX\": -3,\n \"offsetY\": -15\n }", + "project": "Foundations", + "id": "73e049ac-4e1c-4c12-a278-795b2a298cee", + "savedPayload": { + "position": { + "x": 24961.891899403756, + "y": 16982.548937417694 + }, + "targetPosition": { + "x": 24881.259110756062, + "y": 17192.604533379563 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin", + "id": "7b80a313-c7e4-45e3-a8f5-d04c543d74be" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Position", + "Plotter", + "Foundations", + "cd6f9452-2cce-424d-8059-e3b312f627c4" + ], + [ + "Take Profit", + "Plotter Module", + "Foundations", + "78a2df79-8912-44d7-a8c7-4b6a0a7235c2" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "95465ef6-b26a-4ca3-817c-26b50e9ef8e0" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "fc2dda29-1eb7-4f6f-8527-2e54ba32bb8b" + ], + [ + "Begin", + "Point", + "Foundations", + "9baaa58e-af64-4348-9320-fad9823153a9" + ] + ] + } + }, + "textFormula": { + "type": "Text Formula", + "name": "New Text Formula", + "code": "record.takeProfitPhase", + "project": "Foundations", + "id": "7bb68a26-0be3-4799-bd5a-10c1e4724cad", + "savedPayload": { + "position": { + "x": 25069.959988543782, + "y": 17070.060750501183 + }, + "targetPosition": { + "x": 24881.259110756062, + "y": 17192.604533379563 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "textStyle": { + "type": "Text Style", + "name": "New Text Style", + "config": "{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.5,\n \"fontSize\": 10\n}", + "project": "Foundations", + "id": "efc3d758-8751-4523-bf99-afc01adbbe25", + "savedPayload": { + "position": { + "x": 25105.95075607584, + "y": 17204.380123534225 + }, + "targetPosition": { + "x": 24881.259110756062, + "y": 17192.604533379563 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "71e23384-07ee-46ab-8a71-5afcef7d00de", + "savedPayload": { + "position": { + "x": 24881.259110756062, + "y": 17192.604533379563 + }, + "targetPosition": { + "x": 24598.064934783633, + "y": 17542.3202160352 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "37bb31f2-5eee-4aca-b484-03c9f7de3446", + "savedPayload": { + "position": { + "x": 24598.064934783633, + "y": 17542.3202160352 + }, + "targetPosition": { + "x": 24714.53350507977, + "y": 17976.986837865283 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "panels": [ + { + "type": "Plotter Panel", + "name": "Take Profit Panel", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Take Profit", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.takeProfit", + "project": "Foundations", + "id": "f7cb8ebd-37a4-45cb-a69d-292738e278ec", + "savedPayload": { + "position": { + "x": 24962.33604734561, + "y": 17214.32903306353 + }, + "targetPosition": { + "x": 24997.53380197966, + "y": 17436.558909697433 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "0efd6c3e-4eaf-4256-84e8-b1d82680a44d", + "savedPayload": { + "position": { + "x": 24997.53380197966, + "y": 17436.558909697433 + }, + "targetPosition": { + "x": 25032.731556613715, + "y": 17658.788786331337 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Take Profit Phase", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.takeProfitPhase", + "project": "Foundations", + "id": "7f0df0c5-4799-4ccd-a723-98f2f30c401d", + "savedPayload": { + "position": { + "x": 25185.953350275813, + "y": 17358.074084417764 + }, + "targetPosition": { + "x": 25134.879419055113, + "y": 17458.312318388955 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "685c636b-787c-4138-88b0-e8dad7c24b69", + "savedPayload": { + "position": { + "x": 25134.879419055113, + "y": 17458.312318388955 + }, + "targetPosition": { + "x": 25032.731556613715, + "y": 17658.788786331337 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Initial Value", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.initialValue", + "project": "Foundations", + "id": "7831f387-164d-463f-9e6f-33758f20d9e9", + "savedPayload": { + "position": { + "x": 25333.44625852729, + "y": 17505.56699266924 + }, + "targetPosition": { + "x": 25233.208024556097, + "y": 17556.64092388994 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "d5253584-bbb3-4a8a-95f2-f124593635f9", + "savedPayload": { + "position": { + "x": 25233.208024556097, + "y": 17556.64092388994 + }, + "targetPosition": { + "x": 25032.731556613715, + "y": 17658.788786331337 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Final Value", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.finalValue", + "project": "Foundations", + "id": "dcc0ff69-2a3e-4ddb-a63c-f6a60621d5f1", + "savedPayload": { + "position": { + "x": 25366.076371564573, + "y": 17711.585418282415 + }, + "targetPosition": { + "x": 25254.96143324762, + "y": 17693.98654096539 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "8f0acc88-cb63-4de9-8b64-95e4762b95cf", + "savedPayload": { + "position": { + "x": 25254.96143324762, + "y": 17693.98654096539 + }, + "targetPosition": { + "x": 25032.731556613715, + "y": 17658.788786331337 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "7669828e-655e-4a1e-836d-20e7dfbd6a6e", + "savedPayload": { + "position": { + "x": 25032.731556613715, + "y": 17658.788786331337 + }, + "targetPosition": { + "x": 24714.53350507977, + "y": 17976.986837865283 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "daa39650-5f2b-4bc2-9798-86e26cd43c13", + "savedPayload": { + "position": { + "x": 24714.53350507977, + "y": 17976.986837865283 + }, + "targetPosition": { + "x": 24598.064934783637, + "y": 18411.653459695364 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "ded8cd86-c54a-41af-8a30-6b7172c5bd60", + "savedPayload": { + "position": { + "x": 24598.064934783637, + "y": 18411.653459695364 + }, + "targetPosition": { + "x": 24916.262986317583, + "y": 18729.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter", + "name": "Portfolio Stages", + "config": "{ \n\"codeName\": \"\"\n}", + "project": "Foundations", + "modules": [ + { + "type": "Plotter Module", + "name": "Trigger Stage Objects", + "config": "{ \n \"codeName\": \"Strategy-Objects\", \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": "Begin Bottom", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin\ny = record.beginRate * 0.90", + "project": "Foundations", + "id": "5ae9ba09-2713-4f3c-9f39-7af8ef8feebd", + "savedPayload": { + "position": { + "x": 23928.680344026052, + "y": 18998.60033352847 + }, + "targetPosition": { + "x": 23933.45111186829, + "y": 18798.35144192306 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "173bf59f-f374-44aa-afc5-8489dd4ccde4", + "savedPayload": { + "position": { + "x": 23933.45111186829, + "y": 18798.35144192306 + }, + "targetPosition": { + "x": 23942.730102379715, + "y": 18398.623076840966 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Begin Top", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin\ny = record.beginRate", + "project": "Foundations", + "id": "b6b5fb81-ac80-42a6-b669-e75a5ac0c0cd", + "savedPayload": { + "position": { + "x": 23742.98811471808, + "y": 18964.905554464825 + }, + "targetPosition": { + "x": 23809.476132679138, + "y": 18776.04635033624 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "7806c8e4-8ed8-4dcf-9b51-9a0222cc082d", + "savedPayload": { + "position": { + "x": 23809.476132679138, + "y": 18776.04635033624 + }, + "targetPosition": { + "x": 23942.730102379715, + "y": 18398.623076840966 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "End Bottom", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.end\ny = record.beginRate * 0.90", + "project": "Foundations", + "id": "219fa89d-9e61-4c30-9d73-4eef57bc6710", + "savedPayload": { + "position": { + "x": 23577.252215692348, + "y": 18875.21596698787 + }, + "targetPosition": { + "x": 23698.86894886236, + "y": 18716.355269717376 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "f27ae8d2-c5ba-48fd-b09e-6c5cf2fc3feb", + "savedPayload": { + "position": { + "x": 23698.86894886236, + "y": 18716.355269717376 + }, + "targetPosition": { + "x": 23942.730102379715, + "y": 18398.623076840966 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "End Top", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.end\ny = record.endRate", + "project": "Foundations", + "id": "25a3253e-4783-486f-84ba-af4db6c9fef3", + "savedPayload": { + "position": { + "x": 23446.280255258185, + "y": 18736.015740620347 + }, + "targetPosition": { + "x": 23611.05602877175, + "y": 18622.826084214463 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "b16d85a0-8d9c-418a-855c-deee9c997fd9", + "savedPayload": { + "position": { + "x": 23611.05602877175, + "y": 18622.826084214463 + }, + "targetPosition": { + "x": 23942.730102379715, + "y": 18398.623076840966 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "983d6f45-c269-4743-8256-1856d0a3fb10", + "savedPayload": { + "position": { + "x": 23942.730102379715, + "y": 18398.623076840966 + }, + "targetPosition": { + "x": 24133.25595994763, + "y": 18047.355371569665 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "polygons": [ + { + "type": "Polygon", + "name": "Closed Base", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.status === 'Closed'", + "project": "Foundations", + "id": "85c3584b-a1f6-44fd-ab3e-cfd79794602a", + "savedPayload": { + "position": { + "x": 23999.36451788512, + "y": 17645.443841556695 + }, + "targetPosition": { + "x": 23780.500974350987, + "y": 17355.154766492793 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.PATINATED_TURQUOISE\",\n \"opacity\": 0.25,\n \"lineWidth\": 10,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 10,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "af2cb361-77d2-4d73-8b3c-b2e4afba626f", + "savedPayload": { + "position": { + "x": 23352.83523475911, + "y": 17882.771313209745 + }, + "targetPosition": { + "x": 23548.740407962723, + "y": 17641.07129882539 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "0937a0a4-2fa2-4038-a3e8-3957ce00a1e1", + "savedPayload": { + "position": { + "x": 23548.740407962723, + "y": 17641.07129882539 + }, + "targetPosition": { + "x": 23780.500974350987, + "y": 17355.154766492793 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin Bottom", + "project": "Foundations", + "id": "f755cf31-464b-41ee-993d-b8d2af025f49", + "savedPayload": { + "position": { + "x": 23436.705380395862, + "y": 17223.34294842282 + }, + "targetPosition": { + "x": 23780.500974350987, + "y": 17355.154766492793 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Bottom", + "id": "173bf59f-f374-44aa-afc5-8489dd4ccde4" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Trigger Stage Objects", + "Plotter Module", + "Foundations", + "6c6cddbc-cd78-445f-9498-8627ac99563d" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "09119fa5-53de-4885-af93-32aacf6445bb" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "a14053c2-6a61-4f8c-be0d-585e226b6bca" + ], + [ + "Begin Bottom", + "Point", + "Foundations", + "ee6913fa-364d-4b80-bad5-35de44ca43fd" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End Bottom", + "project": "Foundations", + "id": "e238ca78-ff21-4aa0-ae2d-a5b01d78a4d0", + "savedPayload": { + "position": { + "x": 23816.43805214128, + "y": 16980.713071572 + }, + "targetPosition": { + "x": 23780.500974350987, + "y": 17355.154766492793 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Bottom", + "id": "f27ae8d2-c5ba-48fd-b09e-6c5cf2fc3feb" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Trigger Stage Objects", + "Plotter Module", + "Foundations", + "6c6cddbc-cd78-445f-9498-8627ac99563d" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "09119fa5-53de-4885-af93-32aacf6445bb" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "a14053c2-6a61-4f8c-be0d-585e226b6bca" + ], + [ + "End Bottom", + "Point", + "Foundations", + "18c413f8-8acc-4172-91a6-d90a0762118c" + ] + ] + } + } + ], + "id": "8228a94b-899c-4ad3-b718-3dbfcba7fcaf", + "savedPayload": { + "position": { + "x": 23822.25642989723, + "y": 18299.03646849585 + }, + "targetPosition": { + "x": 24133.25595994763, + "y": 18047.355371569665 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Open Base", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.status === 'Open'", + "project": "Foundations", + "id": "933db906-37a0-4d45-b9d9-223af2fcf425", + "savedPayload": { + "position": { + "x": 23885.259018316527, + "y": 17459.01853181044 + }, + "targetPosition": { + "x": 23764.61954470302, + "y": 17113.65270309045 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.PATINATED_TURQUOISE\",\n \"opacity\": 0.25,\n \"lineWidth\": 10,\n \"lineDash\": [3,3]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 10,\n \"lineDash\": [3,3]\n }\n}", + "project": "Foundations", + "id": "313b79f3-c30d-4079-8c95-4f63f21bc65e", + "savedPayload": { + "position": { + "x": 23167.858627477122, + "y": 17437.111353853514 + }, + "targetPosition": { + "x": 23440.71350505725, + "y": 17289.194666919273 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "f0621713-e45b-43de-bbbb-f0db335b7d50", + "savedPayload": { + "position": { + "x": 23440.71350505725, + "y": 17289.194666919273 + }, + "targetPosition": { + "x": 23764.61954470302, + "y": 17113.65270309045 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin Bottom", + "project": "Foundations", + "id": "f29fe71d-c659-4489-b1bf-8be4ddee2f11", + "savedPayload": { + "position": { + "x": 23497.294216587867, + "y": 16860.173821721655 + }, + "targetPosition": { + "x": 23764.61954470302, + "y": 17113.65270309045 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Bottom", + "id": "173bf59f-f374-44aa-afc5-8489dd4ccde4" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Trigger Stage Objects", + "Plotter Module", + "Foundations", + "6c6cddbc-cd78-445f-9498-8627ac99563d" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "09119fa5-53de-4885-af93-32aacf6445bb" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "a14053c2-6a61-4f8c-be0d-585e226b6bca" + ], + [ + "Begin Bottom", + "Point", + "Foundations", + "ee6913fa-364d-4b80-bad5-35de44ca43fd" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End Bottom", + "project": "Foundations", + "id": "bdcba266-9829-4d7e-bb8c-5a6627f25e8e", + "savedPayload": { + "position": { + "x": 23940.926794985968, + "y": 16781.876722913898 + }, + "targetPosition": { + "x": 23764.61954470302, + "y": 17113.65270309045 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Bottom", + "id": "f27ae8d2-c5ba-48fd-b09e-6c5cf2fc3feb" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Trigger Stage Objects", + "Plotter Module", + "Foundations", + "6c6cddbc-cd78-445f-9498-8627ac99563d" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "09119fa5-53de-4885-af93-32aacf6445bb" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "a14053c2-6a61-4f8c-be0d-585e226b6bca" + ], + [ + "End Bottom", + "Point", + "Foundations", + "18c413f8-8acc-4172-91a6-d90a0762118c" + ] + ] + } + } + ], + "id": "f0a2f6d3-6122-48d1-83a8-fd1404d27573", + "savedPayload": { + "position": { + "x": 23749.366089627343, + "y": 18160.785938083885 + }, + "targetPosition": { + "x": 24133.25595994763, + "y": 18047.355371569665 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Left Line", + "project": "Foundations", + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n }\n}", + "project": "Foundations", + "id": "3803ddb5-4146-46bb-8248-62e0c6f81739", + "savedPayload": { + "position": { + "x": 23986.102171638053, + "y": 13356.91889001069 + }, + "targetPosition": { + "x": 24214.987695320113, + "y": 13542.37281577128 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "86cae078-7d12-4227-a921-f973c3374bd8", + "savedPayload": { + "position": { + "x": 24214.987695320113, + "y": 13542.37281577128 + }, + "targetPosition": { + "x": 24482.46118802269, + "y": 13759.097286363682 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin Bottom", + "project": "Foundations", + "id": "7fde04bf-b70e-4628-8216-67d837416c50", + "savedPayload": { + "position": { + "x": 24446.631890493958, + "y": 13416.685061340206 + }, + "targetPosition": { + "x": 24482.46118802269, + "y": 13759.097286363682 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Bottom", + "id": "173bf59f-f374-44aa-afc5-8489dd4ccde4" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Trigger Stage Objects", + "Plotter Module", + "Foundations", + "6c6cddbc-cd78-445f-9498-8627ac99563d" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "09119fa5-53de-4885-af93-32aacf6445bb" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "a14053c2-6a61-4f8c-be0d-585e226b6bca" + ], + [ + "Begin Bottom", + "Point", + "Foundations", + "ee6913fa-364d-4b80-bad5-35de44ca43fd" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " Begin Top", + "project": "Foundations", + "id": "e89228b1-3fff-45d3-9e8e-376327b3c434", + "savedPayload": { + "position": { + "x": 24699.234859471657, + "y": 13491.329179329234 + }, + "targetPosition": { + "x": 24482.46118802269, + "y": 13759.097286363682 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Top", + "id": "7806c8e4-8ed8-4dcf-9b51-9a0222cc082d" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Trigger Stage Objects", + "Plotter Module", + "Foundations", + "6c6cddbc-cd78-445f-9498-8627ac99563d" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "09119fa5-53de-4885-af93-32aacf6445bb" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "a14053c2-6a61-4f8c-be0d-585e226b6bca" + ], + [ + "Begin Top", + "Point", + "Foundations", + "38094e81-9ae7-449d-bc9c-125f756b9f04" + ] + ] + } + } + ], + "id": "2f8e4334-128d-4b03-afb9-7e48d1344516", + "savedPayload": { + "position": { + "x": 23735.044806105197, + "y": 18005.574874714894 + }, + "targetPosition": { + "x": 24133.25595994763, + "y": 18047.355371569665 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Right Line", + "project": "Foundations", + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n }\n}", + "project": "Foundations", + "id": "950e971c-9e95-4702-90c0-e38ffb7700ba", + "savedPayload": { + "position": { + "x": 24106.786251654667, + "y": 13318.627031633838 + }, + "targetPosition": { + "x": 24314.531165920915, + "y": 13526.549540767253 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "a299eefa-bdb4-4bb9-a69c-0ed24bdc2191", + "savedPayload": { + "position": { + "x": 24314.531165920915, + "y": 13526.549540767253 + }, + "targetPosition": { + "x": 24543.96853798766, + "y": 13756.207045120675 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " End Bottom", + "project": "Foundations", + "id": "aaf33ab4-5b35-4468-81aa-1e76c9f0564e", + "savedPayload": { + "position": { + "x": 24543.966748376097, + "y": 13430.524301557838 + }, + "targetPosition": { + "x": 24543.96853798766, + "y": 13756.207045120675 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Bottom", + "id": "f27ae8d2-c5ba-48fd-b09e-6c5cf2fc3feb" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Trigger Stage Objects", + "Plotter Module", + "Foundations", + "6c6cddbc-cd78-445f-9498-8627ac99563d" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "09119fa5-53de-4885-af93-32aacf6445bb" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "a14053c2-6a61-4f8c-be0d-585e226b6bca" + ], + [ + "End Bottom", + "Point", + "Foundations", + "18c413f8-8acc-4172-91a6-d90a0762118c" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End Top", + "project": "Foundations", + "id": "cfc93729-f96c-444c-8fdc-fbf2457bdd55", + "savedPayload": { + "position": { + "x": 24774.531639777433, + "y": 13525.602762251081 + }, + "targetPosition": { + "x": 24543.96853798766, + "y": 13756.207045120675 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Top", + "id": "b16d85a0-8d9c-418a-855c-deee9c997fd9" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Trigger Stage Objects", + "Plotter Module", + "Foundations", + "6c6cddbc-cd78-445f-9498-8627ac99563d" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "09119fa5-53de-4885-af93-32aacf6445bb" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "a14053c2-6a61-4f8c-be0d-585e226b6bca" + ], + [ + "End Top", + "Point", + "Foundations", + "185d7e04-fa68-401d-b666-9152e57c3378" + ] + ] + } + } + ], + "id": "51a8074b-a435-4206-a6d6-410930c8a20c", + "savedPayload": { + "position": { + "x": 23781.341114566952, + "y": 17856.481572926874 + }, + "targetPosition": { + "x": 24133.25595994763, + "y": 18047.355371569665 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "images": [ + { + "type": "Image", + "name": "New Image", + "config": "{ \n\"codeName\": \"trigger-stage\",\n\"size\": 25\n}", + "project": "Foundations", + "imagePosition": { + "type": "Image Position", + "name": "Begin Bottom", + "config": "{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }", + "project": "Foundations", + "id": "dcfe39a8-e2e7-4011-b63e-e8f0762b2fa7", + "savedPayload": { + "position": { + "x": 23754.56300786716, + "y": 17580.62576398008 + }, + "targetPosition": { + "x": 23881.215317787482, + "y": 17736.447320414904 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Bottom", + "id": "173bf59f-f374-44aa-afc5-8489dd4ccde4" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Trigger Stage Objects", + "Plotter Module", + "Foundations", + "6c6cddbc-cd78-445f-9498-8627ac99563d" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "09119fa5-53de-4885-af93-32aacf6445bb" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "a14053c2-6a61-4f8c-be0d-585e226b6bca" + ], + [ + "Begin Bottom", + "Point", + "Foundations", + "ee6913fa-364d-4b80-bad5-35de44ca43fd" + ] + ] + } + }, + "id": "b2dca134-7b85-494d-a72c-1b4150b3c1a5", + "savedPayload": { + "position": { + "x": 23881.215317787482, + "y": 17736.447320414904 + }, + "targetPosition": { + "x": 24133.25595994763, + "y": 18047.355371569665 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Image", + "name": "New Image", + "config": "{ \n\"codeName\": \"trigger-stage\",\n\"size\": 25\n}", + "project": "Foundations", + "imagePosition": { + "type": "Image Position", + "name": "End Bottom", + "config": "{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }", + "project": "Foundations", + "id": "97772652-2bf6-457f-9f5a-9bd639cc91f7", + "savedPayload": { + "position": { + "x": 23960.75291801809, + "y": 17471.777063112204 + }, + "targetPosition": { + "x": 24017.9685622498, + "y": 17664.257224998328 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Bottom", + "id": "f27ae8d2-c5ba-48fd-b09e-6c5cf2fc3feb" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Trigger Stage Objects", + "Plotter Module", + "Foundations", + "6c6cddbc-cd78-445f-9498-8627ac99563d" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "09119fa5-53de-4885-af93-32aacf6445bb" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "a14053c2-6a61-4f8c-be0d-585e226b6bca" + ], + [ + "End Bottom", + "Point", + "Foundations", + "18c413f8-8acc-4172-91a6-d90a0762118c" + ] + ] + } + }, + "id": "a4866e21-bbf3-47b8-911b-9095e685d006", + "savedPayload": { + "position": { + "x": 24017.9685622498, + "y": 17664.257224998328 + }, + "targetPosition": { + "x": 24133.25595994763, + "y": 18047.355371569665 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "texts": [], + "id": "1564a8bf-b4f1-411f-a06e-57fc2e1129a6", + "savedPayload": { + "position": { + "x": 24133.25595994763, + "y": 18047.355371569665 + }, + "targetPosition": { + "x": 24588.019134244136, + "y": 18095.032401188688 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "panels": [ + { + "type": "Plotter Panel", + "name": "Trigger Stage Object", + "config": "{ \n\"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Status", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.status", + "project": "Foundations", + "id": "abc49593-7b66-4054-af74-69dc43057674", + "savedPayload": { + "position": { + "x": 24111.18707080933, + "y": 17618.906490525304 + }, + "targetPosition": { + "x": 24235.746778889115, + "y": 17645.543783359226 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "830891a9-b778-4b73-a65a-ed47a2ef58d3", + "savedPayload": { + "position": { + "x": 24235.746778889115, + "y": 17645.543783359226 + }, + "targetPosition": { + "x": 24402.48646553252, + "y": 17677.295672436947 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Exit Type", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.exitType", + "project": "Foundations", + "id": "9b109325-9b98-44b3-8ceb-ff36418ee822", + "savedPayload": { + "position": { + "x": 24196.266827369458, + "y": 17452.425013219105 + }, + "targetPosition": { + "x": 24282.645273604063, + "y": 17544.750113037848 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "c90db13e-bee1-4740-a10b-896919b41b6b", + "savedPayload": { + "position": { + "x": 24282.645273604063, + "y": 17544.750113037848 + }, + "targetPosition": { + "x": 24402.48646553252, + "y": 17677.295672436947 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Begin Rate", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.beginRate", + "project": "Foundations", + "id": "137a8440-073e-45aa-acf5-2e1d6e29a613", + "savedPayload": { + "position": { + "x": 24368.675779302295, + "y": 17372.340435193168 + }, + "targetPosition": { + "x": 24384.29464458677, + "y": 17497.685861489033 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "93b455b0-7feb-4e49-9bf8-713d13d2d789", + "savedPayload": { + "position": { + "x": 24384.29464458677, + "y": 17497.685861489033 + }, + "targetPosition": { + "x": 24402.48646553252, + "y": 17677.295672436947 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "End Rate", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.endRate", + "project": "Foundations", + "id": "7057016d-483d-4b21-8995-c04ed022acdf", + "savedPayload": { + "position": { + "x": 24562.450338879276, + "y": 17416.702673215605 + }, + "targetPosition": { + "x": 24498.291056311627, + "y": 17528.037154567155 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "264a6ee8-40ef-4f94-aecd-cdb548188449", + "savedPayload": { + "position": { + "x": 24498.291056311627, + "y": 17528.037154567155 + }, + "targetPosition": { + "x": 24402.48646553252, + "y": 17677.295672436947 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "b671622c-9692-49c5-847e-e9cc816fb74a", + "savedPayload": { + "position": { + "x": 24402.48646553252, + "y": 17677.295672436947 + }, + "targetPosition": { + "x": 24588.019134244136, + "y": 18095.032401188688 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "f9ff4fcc-89ab-462a-b122-3551ee96f500", + "savedPayload": { + "position": { + "x": 24556.734495999073, + "y": 18072.534296978243 + }, + "targetPosition": { + "x": 24911.25754723305, + "y": 18329.983641905186 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Open Stage Objects", + "config": "{ \n \"codeName\": \"Strategy-Objects\", \n \"icon\": \"trend\"\n}", + "project": "Foundations", + "shapes": { + "type": "Shapes", + "name": "New Shapes", + "project": "Foundations", + "chartPoints": [ + { + "type": "Chart Points", + "name": "New Chart Points", + "project": "Foundations", + "points": [ + { + "type": "Point", + "name": "Begin Bottom", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin\ny = record.beginRate * 1.05", + "project": "Foundations", + "id": "97c6b2c2-1984-4e9d-b489-59f619196fb4", + "savedPayload": { + "position": { + "x": 23723.21434221488, + "y": 18292.892816897736 + }, + "targetPosition": { + "x": 23844.969808894824, + "y": 18133.97743683796 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "931e7c22-b9b5-4326-b4fa-c55bbdb124bb", + "savedPayload": { + "position": { + "x": 23844.969808894824, + "y": 18133.97743683796 + }, + "targetPosition": { + "x": 24087.376439019154, + "y": 17816.03399657524 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Begin Top", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin\ny = record.beginRate", + "project": "Foundations", + "id": "96b0c19b-2e16-4026-9a10-fb0dbc85d351", + "savedPayload": { + "position": { + "x": 23592.748867412603, + "y": 18156.496787634882 + }, + "targetPosition": { + "x": 23757.775556146255, + "y": 18043.08065868172 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "e2a3643d-cdfb-4edf-8f4b-47785d249205", + "savedPayload": { + "position": { + "x": 23757.775556146255, + "y": 18043.08065868172 + }, + "targetPosition": { + "x": 24087.376439019154, + "y": 17816.03399657524 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "End Bottom", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.end\ny = record.beginRate * 1.05", + "project": "Foundations", + "id": "9edee3dd-37cf-4b7b-85c8-7d835f0ea77b", + "savedPayload": { + "position": { + "x": 23511.29234660374, + "y": 17986.54398502659 + }, + "targetPosition": { + "x": 23703.319257577194, + "y": 17929.797673846828 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "43813e3f-b5bc-40b5-bc6a-5fcd00340567", + "savedPayload": { + "position": { + "x": 23703.319257577194, + "y": 17929.797673846828 + }, + "targetPosition": { + "x": 24087.376439019154, + "y": 17816.03399657524 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "End Top", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.end\ny = record.endRate", + "project": "Foundations", + "id": "d28f930d-96b3-46ca-8afc-6bbfc67ada9e", + "savedPayload": { + "position": { + "x": 23487.12862163375, + "y": 17797.25794054416 + }, + "targetPosition": { + "x": 23687.23833433862, + "y": 17802.54728814639 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "3ee19eda-86ad-40cf-94b0-f87b38c1693e", + "savedPayload": { + "position": { + "x": 23687.23833433862, + "y": 17802.54728814639 + }, + "targetPosition": { + "x": 24087.376439019154, + "y": 17816.03399657524 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "b096fcaa-007d-4e63-a42c-562d90a52ba4", + "savedPayload": { + "position": { + "x": 24087.376439019154, + "y": 17816.03399657524 + }, + "targetPosition": { + "x": 24447.90789213024, + "y": 17643.74285788233 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "polygons": [ + { + "type": "Polygon", + "name": "Closed Base", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.status === 'Closed'", + "project": "Foundations", + "id": "bb11585f-e8fe-4186-904f-2340183227d4", + "savedPayload": { + "position": { + "x": 23798.55824477072, + "y": 17481.459638249013 + }, + "targetPosition": { + "x": 23644.598068835126, + "y": 17152.39062606178 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\",\n \"opacity\": 0.25,\n \"lineWidth\": 10,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 10,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "9d006a0e-03ef-42ba-8a50-3c73f18e06c1", + "savedPayload": { + "position": { + "x": 23117.100779442593, + "y": 17579.048647462572 + }, + "targetPosition": { + "x": 23357.921409772218, + "y": 17384.24901125309 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "6d7a5f41-fb6e-4c7a-9edc-956b5f3b9489", + "savedPayload": { + "position": { + "x": 23357.921409772218, + "y": 17384.24901125309 + }, + "targetPosition": { + "x": 23644.598068835126, + "y": 17152.39062606178 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin Bottom", + "project": "Foundations", + "id": "514ab140-ee13-40cf-a8a0-601ee3f861e7", + "savedPayload": { + "position": { + "x": 23335.471907500934, + "y": 16951.83612311378 + }, + "targetPosition": { + "x": 23644.598068835126, + "y": 17152.39062606178 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Bottom", + "id": "931e7c22-b9b5-4326-b4fa-c55bbdb124bb" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Open Stage Objects", + "Plotter Module", + "Foundations", + "8f7cad9f-153d-44e6-bdc2-812bc97e3929" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "d953dd4d-5603-4042-b15b-1e293988be14" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "6977ed19-0d15-49df-adec-e0b6beec8296" + ], + [ + "Begin Bottom", + "Point", + "Foundations", + "3f1ad539-6b21-4cbb-9623-daf242df45bc" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End Bottom", + "project": "Foundations", + "id": "3f7d5bc9-76f3-40fb-8e73-fb4aa85f62bd", + "savedPayload": { + "position": { + "x": 23757.320208373145, + "y": 16793.794935912683 + }, + "targetPosition": { + "x": 23644.598068835126, + "y": 17152.39062606178 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Bottom", + "id": "43813e3f-b5bc-40b5-bc6a-5fcd00340567" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Open Stage Objects", + "Plotter Module", + "Foundations", + "8f7cad9f-153d-44e6-bdc2-812bc97e3929" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "d953dd4d-5603-4042-b15b-1e293988be14" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "6977ed19-0d15-49df-adec-e0b6beec8296" + ], + [ + "End Bottom", + "Point", + "Foundations", + "04304653-9361-433e-8e34-ca08c38ddb21" + ] + ] + } + } + ], + "id": "23c36b0c-d580-47e1-b81c-923115e40ebb", + "savedPayload": { + "position": { + "x": 24048.45167885254, + "y": 17664.624459291736 + }, + "targetPosition": { + "x": 24447.90789213024, + "y": 17643.74285788233 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Open Base", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.status === 'Open'", + "project": "Foundations", + "id": "d2f32658-a3a7-4860-a6c4-76c6809c5196", + "savedPayload": { + "position": { + "x": 23725.6671726152, + "y": 17275.85111828976 + }, + "targetPosition": { + "x": 23679.29654291734, + "y": 16912.88069400229 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\",\n \"opacity\": 0.25,\n \"lineWidth\": 10,\n \"lineDash\": [3,3]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 10,\n \"lineDash\": [3,3]\n }\n}", + "project": "Foundations", + "id": "6f5c37f5-3d87-4700-b51c-19f182560933", + "savedPayload": { + "position": { + "x": 23028.18147618578, + "y": 17105.370573104236 + }, + "targetPosition": { + "x": 23325.987299557386, + "y": 17017.188059085773 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "4961e083-9b5c-48be-a986-5b8a895fe60e", + "savedPayload": { + "position": { + "x": 23325.987299557386, + "y": 17017.188059085773 + }, + "targetPosition": { + "x": 23679.29654291734, + "y": 16912.88069400229 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin Bottom", + "project": "Foundations", + "id": "53881615-32f8-4d47-b7f3-1b003b7fbea4", + "savedPayload": { + "position": { + "x": 23470.57100926535, + "y": 16609.171908068172 + }, + "targetPosition": { + "x": 23679.29654291734, + "y": 16912.88069400229 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Bottom", + "id": "931e7c22-b9b5-4326-b4fa-c55bbdb124bb" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Open Stage Objects", + "Plotter Module", + "Foundations", + "8f7cad9f-153d-44e6-bdc2-812bc97e3929" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "d953dd4d-5603-4042-b15b-1e293988be14" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "6977ed19-0d15-49df-adec-e0b6beec8296" + ], + [ + "Begin Bottom", + "Point", + "Foundations", + "3f1ad539-6b21-4cbb-9623-daf242df45bc" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End Bottom", + "project": "Foundations", + "id": "390f6d10-c257-4373-966e-5d596b848dc0", + "savedPayload": { + "position": { + "x": 23920.638093154656, + "y": 16625.008420531838 + }, + "targetPosition": { + "x": 23679.29654291734, + "y": 16912.88069400229 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Bottom", + "id": "43813e3f-b5bc-40b5-bc6a-5fcd00340567" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Open Stage Objects", + "Plotter Module", + "Foundations", + "8f7cad9f-153d-44e6-bdc2-812bc97e3929" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "d953dd4d-5603-4042-b15b-1e293988be14" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "6977ed19-0d15-49df-adec-e0b6beec8296" + ], + [ + "End Bottom", + "Point", + "Foundations", + "04304653-9361-433e-8e34-ca08c38ddb21" + ] + ] + } + } + ], + "id": "f465341e-bb80-46bf-a181-1378f61ff697", + "savedPayload": { + "position": { + "x": 24070.744924847608, + "y": 17510.19284937067 + }, + "targetPosition": { + "x": 24447.90789213024, + "y": 17643.74285788233 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Left Line", + "project": "Foundations", + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n }\n}", + "project": "Foundations", + "id": "e67a5102-be03-4b0e-8fa4-2a876afdfbfa", + "savedPayload": { + "position": { + "x": 24425.223534711247, + "y": 13550.93519402996 + }, + "targetPosition": { + "x": 24654.109058393307, + "y": 13736.38911979055 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "e487ef76-721a-4916-a27a-080a7140e521", + "savedPayload": { + "position": { + "x": 24654.109058393307, + "y": 13736.38911979055 + }, + "targetPosition": { + "x": 24921.582551095886, + "y": 13953.113590382953 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin Bottom", + "project": "Foundations", + "id": "51120b8b-12fc-48ca-b7ea-c69f1b714f6d", + "savedPayload": { + "position": { + "x": 24885.753253567153, + "y": 13610.701365359477 + }, + "targetPosition": { + "x": 24921.582551095886, + "y": 13953.113590382953 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Bottom", + "id": "931e7c22-b9b5-4326-b4fa-c55bbdb124bb" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Open Stage Objects", + "Plotter Module", + "Foundations", + "8f7cad9f-153d-44e6-bdc2-812bc97e3929" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "d953dd4d-5603-4042-b15b-1e293988be14" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "6977ed19-0d15-49df-adec-e0b6beec8296" + ], + [ + "Begin Bottom", + "Point", + "Foundations", + "3f1ad539-6b21-4cbb-9623-daf242df45bc" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " Begin Top", + "project": "Foundations", + "id": "fc383609-32c0-477c-bc95-9a35ee2c7ad4", + "savedPayload": { + "position": { + "x": 25138.35622254485, + "y": 13685.345483348505 + }, + "targetPosition": { + "x": 24921.582551095886, + "y": 13953.113590382953 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Top", + "id": "e2a3643d-cdfb-4edf-8f4b-47785d249205" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Open Stage Objects", + "Plotter Module", + "Foundations", + "8f7cad9f-153d-44e6-bdc2-812bc97e3929" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "d953dd4d-5603-4042-b15b-1e293988be14" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "6977ed19-0d15-49df-adec-e0b6beec8296" + ], + [ + "Begin Top", + "Point", + "Foundations", + "c4b7fef3-79e2-45a6-96d6-4c9b6abf1514" + ] + ] + } + } + ], + "id": "93c9f804-f808-4bd8-88b9-c97c093ec5df", + "savedPayload": { + "position": { + "x": 24150.54925314219, + "y": 17375.9804277511 + }, + "targetPosition": { + "x": 24447.90789213024, + "y": 17643.74285788233 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Right Line", + "project": "Foundations", + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n }\n}", + "project": "Foundations", + "id": "968dfc28-bb36-4229-8337-ed087166aded", + "savedPayload": { + "position": { + "x": 24545.90761472786, + "y": 13512.643335653109 + }, + "targetPosition": { + "x": 24753.65252899411, + "y": 13720.565844786524 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "f0ea3d07-68a6-4c8d-8701-612882a064df", + "savedPayload": { + "position": { + "x": 24753.65252899411, + "y": 13720.565844786524 + }, + "targetPosition": { + "x": 24983.089901060855, + "y": 13950.223349139946 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " End Bottom", + "project": "Foundations", + "id": "39e0cf60-46d9-4476-8cbf-a97830b15687", + "savedPayload": { + "position": { + "x": 24983.08811144929, + "y": 13624.54060557711 + }, + "targetPosition": { + "x": 24983.089901060855, + "y": 13950.223349139946 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Bottom", + "id": "43813e3f-b5bc-40b5-bc6a-5fcd00340567" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Open Stage Objects", + "Plotter Module", + "Foundations", + "8f7cad9f-153d-44e6-bdc2-812bc97e3929" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "d953dd4d-5603-4042-b15b-1e293988be14" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "6977ed19-0d15-49df-adec-e0b6beec8296" + ], + [ + "End Bottom", + "Point", + "Foundations", + "04304653-9361-433e-8e34-ca08c38ddb21" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End Top", + "project": "Foundations", + "id": "f4968a39-51de-4c1b-b309-886531b4d34c", + "savedPayload": { + "position": { + "x": 25213.653002850628, + "y": 13719.619066270352 + }, + "targetPosition": { + "x": 24983.089901060855, + "y": 13950.223349139946 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Top", + "id": "3ee19eda-86ad-40cf-94b0-f87b38c1693e" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Open Stage Objects", + "Plotter Module", + "Foundations", + "8f7cad9f-153d-44e6-bdc2-812bc97e3929" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "d953dd4d-5603-4042-b15b-1e293988be14" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "6977ed19-0d15-49df-adec-e0b6beec8296" + ], + [ + "End Top", + "Point", + "Foundations", + "bfe5be37-4f1d-4b6b-be9b-1ed24bf51056" + ] + ] + } + } + ], + "id": "f484ad80-9f03-4a7a-9429-e9219e528298", + "savedPayload": { + "position": { + "x": 24275.634933870668, + "y": 17282.567703745026 + }, + "targetPosition": { + "x": 24447.90789213024, + "y": 17643.74285788233 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "images": [ + { + "type": "Image", + "name": "New Image", + "config": "{ \n\"codeName\": \"open-stage\",\n\"size\": 25\n}", + "project": "Foundations", + "imagePosition": { + "type": "Image Position", + "name": "Begin Bottom", + "config": "{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }", + "project": "Foundations", + "id": "8c814b3b-ddab-4a66-a981-af1972555162", + "savedPayload": { + "position": { + "x": 24416.23815059584, + "y": 17043.658500056023 + }, + "targetPosition": { + "x": 24426.98679014004, + "y": 17244.164423374124 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Bottom", + "id": "931e7c22-b9b5-4326-b4fa-c55bbdb124bb" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Open Stage Objects", + "Plotter Module", + "Foundations", + "8f7cad9f-153d-44e6-bdc2-812bc97e3929" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "d953dd4d-5603-4042-b15b-1e293988be14" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "6977ed19-0d15-49df-adec-e0b6beec8296" + ], + [ + "Begin Bottom", + "Point", + "Foundations", + "3f1ad539-6b21-4cbb-9623-daf242df45bc" + ] + ] + } + }, + "id": "a8703347-9e9b-4671-bf7b-3aade6bb9dd6", + "savedPayload": { + "position": { + "x": 24426.98679014004, + "y": 17244.164423374124 + }, + "targetPosition": { + "x": 24447.90789213024, + "y": 17643.74285788233 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Image", + "name": "New Image", + "config": "{ \n\"codeName\": \"open-stage\",\n\"size\": 25\n}", + "project": "Foundations", + "imagePosition": { + "type": "Image Position", + "name": "End Bottom", + "config": "{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }", + "project": "Foundations", + "id": "0f618762-26ed-4351-94bd-6942a0833dcc", + "savedPayload": { + "position": { + "x": 24646.42159021108, + "y": 17076.78984062773 + }, + "targetPosition": { + "x": 24579.859893093224, + "y": 17266.18078550381 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Bottom", + "id": "43813e3f-b5bc-40b5-bc6a-5fcd00340567" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Open Stage Objects", + "Plotter Module", + "Foundations", + "8f7cad9f-153d-44e6-bdc2-812bc97e3929" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "d953dd4d-5603-4042-b15b-1e293988be14" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "6977ed19-0d15-49df-adec-e0b6beec8296" + ], + [ + "End Bottom", + "Point", + "Foundations", + "04304653-9361-433e-8e34-ca08c38ddb21" + ] + ] + } + }, + "id": "1a28ea3c-7218-4cd2-a959-c7ff8eeab9a3", + "savedPayload": { + "position": { + "x": 24579.859893093224, + "y": 17266.18078550381 + }, + "targetPosition": { + "x": 24447.90789213024, + "y": 17643.74285788233 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "texts": [], + "id": "a2ed907d-6490-4baa-97e9-b21c7a54114f", + "savedPayload": { + "position": { + "x": 24447.90789213024, + "y": 17643.74285788233 + }, + "targetPosition": { + "x": 24787.911130835655, + "y": 17949.808668359186 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "panels": [ + { + "type": "Plotter Panel", + "name": "Open Stage Object", + "config": "{ \n\"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Status", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.status", + "project": "Foundations", + "id": "35b2228d-b435-432b-9073-c125556399ab", + "savedPayload": { + "position": { + "x": 24681.990194540936, + "y": 17283.81574926607 + }, + "targetPosition": { + "x": 24766.661995457012, + "y": 17379.281680925225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "66368b58-7062-4771-b54e-38a93786c26f", + "savedPayload": { + "position": { + "x": 24766.661995457012, + "y": 17379.281680925225 + }, + "targetPosition": { + "x": 24883.19287811883, + "y": 17502.472607896965 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Exit Type", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.exitType", + "project": "Foundations", + "id": "3d04b879-8a87-45fe-9839-a3dac570ddf8", + "savedPayload": { + "position": { + "x": 24848.895565352308, + "y": 17199.45446029466 + }, + "targetPosition": { + "x": 24863.86317947833, + "y": 17325.18847838855 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "a7df6e16-a04d-46d2-8b00-4240d839e8c9", + "savedPayload": { + "position": { + "x": 24863.86317947833, + "y": 17325.18847838855 + }, + "targetPosition": { + "x": 24883.19287811883, + "y": 17502.472607896965 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Begin Rate", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.beginRate", + "project": "Foundations", + "id": "3649403e-8dcb-428b-b0a3-24cbdbac87bb", + "savedPayload": { + "position": { + "x": 25035.063907745993, + "y": 17236.2990012054 + }, + "targetPosition": { + "x": 24973.8212847808, + "y": 17346.87997038894 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "f8a74122-d8a7-4a5b-aa44-3c5a35dc67a1", + "savedPayload": { + "position": { + "x": 24973.8212847808, + "y": 17346.87997038894 + }, + "targetPosition": { + "x": 24883.19287811883, + "y": 17502.472607896965 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "End Rate", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.endRate", + "project": "Foundations", + "id": "aba4e6f2-2823-4204-957b-f9c0f1b038eb", + "savedPayload": { + "position": { + "x": 25165.593077309426, + "y": 17386.389207255095 + }, + "targetPosition": { + "x": 25048.21857063295, + "y": 17438.40507491021 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "9b4a1bdc-c707-4017-8542-106075a56fcd", + "savedPayload": { + "position": { + "x": 25048.21857063295, + "y": 17438.40507491021 + }, + "targetPosition": { + "x": 24883.19287811883, + "y": 17502.472607896965 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "680fb7bf-057b-4097-9433-a0002a57a892", + "savedPayload": { + "position": { + "x": 24883.19287811883, + "y": 17502.472607896965 + }, + "targetPosition": { + "x": 24787.911130835655, + "y": 17949.808668359186 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "a0c976cd-efbd-441f-87ba-65b228683c37", + "savedPayload": { + "position": { + "x": 24775.8370858519, + "y": 17913.38373409484 + }, + "targetPosition": { + "x": 24911.25754723305, + "y": 18329.983641905186 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Manage Stage Objects", + "config": "{ \n \"codeName\": \"Strategy-Objects\", \n \"icon\": \"trend\"\n}", + "project": "Foundations", + "shapes": { + "type": "Shapes", + "name": "New Shapes", + "project": "Foundations", + "chartPoints": [ + { + "type": "Chart Points", + "name": "New Chart Points", + "project": "Foundations", + "points": [ + { + "type": "Point", + "name": "Begin Bottom", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin\ny = record.beginRate * 0.95", + "project": "Foundations", + "id": "623118e4-63ac-4e7a-864c-3d84cfc5ff4c", + "savedPayload": { + "position": { + "x": 23964.658556069917, + "y": 17612.538238974015 + }, + "targetPosition": { + "x": 24156.615462353508, + "y": 17555.59846830517 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "7430c11b-4946-4840-9317-1f92bbc1783b", + "savedPayload": { + "position": { + "x": 24156.615462353508, + "y": 17555.59846830517 + }, + "targetPosition": { + "x": 24539.80343229376, + "y": 17440.64492480536 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Begin Top", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin\ny = record.beginRate", + "project": "Foundations", + "id": "6eb8fdcf-40b0-472d-8457-b77ffbe882c4", + "savedPayload": { + "position": { + "x": 23939.218383138923, + "y": 17425.774960329716 + }, + "targetPosition": { + "x": 24139.461827996867, + "y": 17430.821834187478 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "f6ba717e-5e9f-4055-8fb0-54d550940a57", + "savedPayload": { + "position": { + "x": 24139.461827996867, + "y": 17430.821834187478 + }, + "targetPosition": { + "x": 24539.80343229376, + "y": 17440.64492480536 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "End Bottom", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.end\ny = record.beginRate * 0.95", + "project": "Foundations", + "id": "42f477e2-b3a6-4a6e-a06c-895a2964245f", + "savedPayload": { + "position": { + "x": 23973.24158299318, + "y": 17240.4234900507 + }, + "targetPosition": { + "x": 24162.04855458049, + "y": 17307.202203059423 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "d628f5db-768d-4c84-bff8-eca2f0e42e15", + "savedPayload": { + "position": { + "x": 24162.04855458049, + "y": 17307.202203059423 + }, + "targetPosition": { + "x": 24539.80343229376, + "y": 17440.64492480536 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "End Top", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.end\ny = record.endRate", + "project": "Foundations", + "id": "2421d714-45be-4870-a5d0-d4c46d074f0a", + "savedPayload": { + "position": { + "x": 24064.880266470336, + "y": 17072.990781933862 + }, + "targetPosition": { + "x": 24223.672834235516, + "y": 17194.96267797432 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "4f626e27-82b7-40ed-bbeb-241a8c19a997", + "savedPayload": { + "position": { + "x": 24223.672834235516, + "y": 17194.96267797432 + }, + "targetPosition": { + "x": 24539.80343229376, + "y": 17440.64492480536 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "0cc3c9ee-771f-42ec-9dea-19ca63d87f8e", + "savedPayload": { + "position": { + "x": 24539.80343229376, + "y": 17440.64492480536 + }, + "targetPosition": { + "x": 24936.779505421036, + "y": 17504.255368297905 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "polygons": [ + { + "type": "Polygon", + "name": "Closed Base", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.status === 'Closed'", + "project": "Foundations", + "id": "01340928-b918-4ab5-9f06-85b27f1e9bd4", + "savedPayload": { + "position": { + "x": 24390.808705252544, + "y": 16947.103081539262 + }, + "targetPosition": { + "x": 24459.542692580937, + "y": 16590.422014369862 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.25,\n \"lineWidth\": 10,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 10,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "ff73fcec-0dbb-429e-b8cb-9223f7958add", + "savedPayload": { + "position": { + "x": 23781.826201481264, + "y": 16625.306919690705 + }, + "targetPosition": { + "x": 24091.279662216555, + "y": 16609.3723275773 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "277aaaee-b464-4987-93a5-9a58ac7f4e78", + "savedPayload": { + "position": { + "x": 24091.279662216555, + "y": 16609.3723275773 + }, + "targetPosition": { + "x": 24459.542692580937, + "y": 16590.422014369862 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin Bottom", + "project": "Foundations", + "id": "854b612b-bd4a-4b67-a6e6-4cd07382a0b2", + "savedPayload": { + "position": { + "x": 24327.434981246766, + "y": 16246.416500864874 + }, + "targetPosition": { + "x": 24459.542692580937, + "y": 16590.422014369862 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Bottom", + "id": "7430c11b-4946-4840-9317-1f92bbc1783b" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Manage Stage Objects", + "Plotter Module", + "Foundations", + "768a5cc5-72db-4218-9a8b-706c51186b3d" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "dd3a2274-3986-4c89-bab9-265f6fa6b1d1" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "7bff6698-f9c9-4b44-a4ee-193ffd703e40" + ], + [ + "Begin Bottom", + "Point", + "Foundations", + "51020863-6f89-4c73-97fd-fbc7fc03348f" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End Bottom", + "project": "Foundations", + "id": "2cc0570e-3ba6-4073-85c9-e31ad1a0a189", + "savedPayload": { + "position": { + "x": 24761.70224656769, + "y": 16366.521527714081 + }, + "targetPosition": { + "x": 24459.542692580937, + "y": 16590.422014369862 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Bottom", + "id": "d628f5db-768d-4c84-bff8-eca2f0e42e15" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Manage Stage Objects", + "Plotter Module", + "Foundations", + "768a5cc5-72db-4218-9a8b-706c51186b3d" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "dd3a2274-3986-4c89-bab9-265f6fa6b1d1" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "7bff6698-f9c9-4b44-a4ee-193ffd703e40" + ], + [ + "End Bottom", + "Point", + "Foundations", + "d1bf6c44-0b02-4e8a-8877-20210246d2d0" + ] + ] + } + } + ], + "id": "2f3e784b-3ceb-4fc2-93e9-1ae6032475e2", + "savedPayload": { + "position": { + "x": 24607.72330525488, + "y": 17256.76740069434 + }, + "targetPosition": { + "x": 24936.779505421036, + "y": 17504.255368297905 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Open Base", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.status === 'Open'", + "project": "Foundations", + "id": "dc32f327-2501-4bda-a77c-ecaa4f06a9b9", + "savedPayload": { + "position": { + "x": 24579.469721746278, + "y": 17383.643093554576 + }, + "targetPosition": { + "x": 24710.447664262232, + "y": 17174.554095376057 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 0.25,\n \"lineWidth\": 10,\n \"lineDash\": [3,3]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 10,\n \"lineDash\": [3,3]\n }\n}", + "project": "Foundations", + "id": "57b29d2a-a340-45b7-941e-a90dcf72ce9b", + "savedPayload": { + "position": { + "x": 24333.144162086355, + "y": 17039.92113385443 + }, + "targetPosition": { + "x": 24521.698389609093, + "y": 17107.063530484553 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "348a154c-03e9-4e7f-bf77-a5142daa186e", + "savedPayload": { + "position": { + "x": 24521.698389609093, + "y": 17107.063530484553 + }, + "targetPosition": { + "x": 24710.447664262232, + "y": 17174.554095376057 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin Bottom", + "project": "Foundations", + "id": "9b57bf00-d9ec-4e49-a112-a42a0b75d9c7", + "savedPayload": { + "position": { + "x": 24715.234741055, + "y": 16973.551146635913 + }, + "targetPosition": { + "x": 24710.447664262232, + "y": 17174.554095376057 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Bottom", + "id": "7430c11b-4946-4840-9317-1f92bbc1783b" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Manage Stage Objects", + "Plotter Module", + "Foundations", + "768a5cc5-72db-4218-9a8b-706c51186b3d" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "dd3a2274-3986-4c89-bab9-265f6fa6b1d1" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "7bff6698-f9c9-4b44-a4ee-193ffd703e40" + ], + [ + "Begin Bottom", + "Point", + "Foundations", + "51020863-6f89-4c73-97fd-fbc7fc03348f" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End Bottom", + "project": "Foundations", + "id": "66297353-4fbd-4a43-81fb-295445aece78", + "savedPayload": { + "position": { + "x": 24906.895577187057, + "y": 17131.594226787627 + }, + "targetPosition": { + "x": 24710.447664262232, + "y": 17174.554095376057 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Bottom", + "id": "d628f5db-768d-4c84-bff8-eca2f0e42e15" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Manage Stage Objects", + "Plotter Module", + "Foundations", + "768a5cc5-72db-4218-9a8b-706c51186b3d" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "dd3a2274-3986-4c89-bab9-265f6fa6b1d1" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "7bff6698-f9c9-4b44-a4ee-193ffd703e40" + ], + [ + "End Bottom", + "Point", + "Foundations", + "d1bf6c44-0b02-4e8a-8877-20210246d2d0" + ] + ] + } + } + ], + "id": "75e8608a-3265-40b4-99b0-e4ea18b194cd", + "savedPayload": { + "position": { + "x": 24710.447664262232, + "y": 17174.554095376057 + }, + "targetPosition": { + "x": 24936.779505421036, + "y": 17504.255368297905 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Left Line", + "project": "Foundations", + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n }\n}", + "project": "Foundations", + "id": "ba86c758-34f3-440e-9af4-4ffbcdd78795", + "savedPayload": { + "position": { + "x": 24536.976454990883, + "y": 13900.720166766449 + }, + "targetPosition": { + "x": 24765.861978672943, + "y": 14086.174092527039 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "1e9a5ead-a282-4396-be29-b347ee10f8fb", + "savedPayload": { + "position": { + "x": 24765.861978672943, + "y": 14086.174092527039 + }, + "targetPosition": { + "x": 25033.33547137552, + "y": 14302.898563119441 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin Bottom", + "project": "Foundations", + "id": "b648f001-c76d-4a0a-bcdb-acd04f263a3b", + "savedPayload": { + "position": { + "x": 24997.50617384679, + "y": 13960.486338095965 + }, + "targetPosition": { + "x": 25033.33547137552, + "y": 14302.898563119441 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Bottom", + "id": "7430c11b-4946-4840-9317-1f92bbc1783b" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Manage Stage Objects", + "Plotter Module", + "Foundations", + "768a5cc5-72db-4218-9a8b-706c51186b3d" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "dd3a2274-3986-4c89-bab9-265f6fa6b1d1" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "7bff6698-f9c9-4b44-a4ee-193ffd703e40" + ], + [ + "Begin Bottom", + "Point", + "Foundations", + "51020863-6f89-4c73-97fd-fbc7fc03348f" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " Begin Top", + "project": "Foundations", + "id": "24c8b883-bece-4cd9-be85-926674481647", + "savedPayload": { + "position": { + "x": 25250.109142824487, + "y": 14035.130456084993 + }, + "targetPosition": { + "x": 25033.33547137552, + "y": 14302.898563119441 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Top", + "id": "f6ba717e-5e9f-4055-8fb0-54d550940a57" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Manage Stage Objects", + "Plotter Module", + "Foundations", + "768a5cc5-72db-4218-9a8b-706c51186b3d" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "dd3a2274-3986-4c89-bab9-265f6fa6b1d1" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "7bff6698-f9c9-4b44-a4ee-193ffd703e40" + ], + [ + "Begin Top", + "Point", + "Foundations", + "38ed128c-3053-45dd-a069-24e21b798603" + ] + ] + } + } + ], + "id": "2ae621ce-54cf-477f-9ece-bc9bbf22aa1d", + "savedPayload": { + "position": { + "x": 24826.892803391816, + "y": 17110.383101961914 + }, + "targetPosition": { + "x": 24936.779505421036, + "y": 17504.255368297905 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Right Line", + "project": "Foundations", + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n }\n}", + "project": "Foundations", + "id": "5590d51a-5f7c-469a-8a4a-d654390edfac", + "savedPayload": { + "position": { + "x": 24657.660535007497, + "y": 13862.428308389597 + }, + "targetPosition": { + "x": 24865.405449273745, + "y": 14070.350817523013 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "5a4b2671-5a11-454f-9a84-af59ce7c3433", + "savedPayload": { + "position": { + "x": 24865.405449273745, + "y": 14070.350817523013 + }, + "targetPosition": { + "x": 25094.84282134049, + "y": 14300.008321876434 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " End Bottom", + "project": "Foundations", + "id": "88d474c4-9316-4a4d-8cf1-e6f8c3485e43", + "savedPayload": { + "position": { + "x": 25094.841031728927, + "y": 13974.325578313597 + }, + "targetPosition": { + "x": 25094.84282134049, + "y": 14300.008321876434 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Bottom", + "id": "d628f5db-768d-4c84-bff8-eca2f0e42e15" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Manage Stage Objects", + "Plotter Module", + "Foundations", + "768a5cc5-72db-4218-9a8b-706c51186b3d" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "dd3a2274-3986-4c89-bab9-265f6fa6b1d1" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "7bff6698-f9c9-4b44-a4ee-193ffd703e40" + ], + [ + "End Bottom", + "Point", + "Foundations", + "d1bf6c44-0b02-4e8a-8877-20210246d2d0" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End Top", + "project": "Foundations", + "id": "038ce7c1-a973-4d9a-9da5-798eda122cba", + "savedPayload": { + "position": { + "x": 25325.405923130264, + "y": 14069.40403900684 + }, + "targetPosition": { + "x": 25094.84282134049, + "y": 14300.008321876434 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Top", + "id": "4f626e27-82b7-40ed-bbeb-241a8c19a997" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Manage Stage Objects", + "Plotter Module", + "Foundations", + "768a5cc5-72db-4218-9a8b-706c51186b3d" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "dd3a2274-3986-4c89-bab9-265f6fa6b1d1" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "7bff6698-f9c9-4b44-a4ee-193ffd703e40" + ], + [ + "End Top", + "Point", + "Foundations", + "f23b14cc-df91-40a6-b1b2-9876aa8690c9" + ] + ] + } + } + ], + "id": "b0a2ab04-1f23-4cdb-8103-dfa76da3ffde", + "savedPayload": { + "position": { + "x": 25034.399925106536, + "y": 17105.732180285733 + }, + "targetPosition": { + "x": 24936.779505421036, + "y": 17504.255368297905 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "images": [ + { + "type": "Image", + "name": "New Image", + "config": "{ \n\"codeName\": \"manage-stage\",\n\"size\": 25\n}", + "project": "Foundations", + "imagePosition": { + "type": "Image Position", + "name": "Begin Bottom", + "config": "{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }", + "project": "Foundations", + "id": "ceb6ba2b-7bb6-4850-80f8-16295d6f7cd8", + "savedPayload": { + "position": { + "x": 25263.915102783994, + "y": 17000.12548212677 + }, + "targetPosition": { + "x": 25154.80612055932, + "y": 17168.735344443103 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Bottom", + "id": "7430c11b-4946-4840-9317-1f92bbc1783b" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Manage Stage Objects", + "Plotter Module", + "Foundations", + "768a5cc5-72db-4218-9a8b-706c51186b3d" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "dd3a2274-3986-4c89-bab9-265f6fa6b1d1" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "7bff6698-f9c9-4b44-a4ee-193ffd703e40" + ], + [ + "Begin Bottom", + "Point", + "Foundations", + "51020863-6f89-4c73-97fd-fbc7fc03348f" + ] + ] + } + }, + "id": "79621a0c-ad47-44eb-adaf-051d531eb48d", + "savedPayload": { + "position": { + "x": 25154.80612055932, + "y": 17168.735344443103 + }, + "targetPosition": { + "x": 24936.779505421036, + "y": 17504.255368297905 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Image", + "name": "New Image", + "config": "{ \n\"codeName\": \"manage-stage\",\n\"size\": 25\n}", + "project": "Foundations", + "imagePosition": { + "type": "Image Position", + "name": "End Bottom", + "config": "{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }", + "project": "Foundations", + "id": "ca6fe32a-0972-4062-8af3-a1c1a58fd9b3", + "savedPayload": { + "position": { + "x": 25430.896601392236, + "y": 17162.49563444584 + }, + "targetPosition": { + "x": 25265.599691110023, + "y": 17276.470225337453 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Bottom", + "id": "d628f5db-768d-4c84-bff8-eca2f0e42e15" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Manage Stage Objects", + "Plotter Module", + "Foundations", + "768a5cc5-72db-4218-9a8b-706c51186b3d" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "dd3a2274-3986-4c89-bab9-265f6fa6b1d1" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "7bff6698-f9c9-4b44-a4ee-193ffd703e40" + ], + [ + "End Bottom", + "Point", + "Foundations", + "d1bf6c44-0b02-4e8a-8877-20210246d2d0" + ] + ] + } + }, + "id": "9e64b6e8-5d5f-4809-88f0-47f87f8ffaa0", + "savedPayload": { + "position": { + "x": 25265.599691110023, + "y": 17276.470225337453 + }, + "targetPosition": { + "x": 24936.779505421036, + "y": 17504.255368297905 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "texts": [], + "id": "1ad3771f-dad2-4447-a1a5-e3f7e6cb933c", + "savedPayload": { + "position": { + "x": 24936.779505421036, + "y": 17504.255368297905 + }, + "targetPosition": { + "x": 25031.82685622531, + "y": 17951.95460007815 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "panels": [ + { + "type": "Plotter Panel", + "name": "Manage Stage Object", + "config": "{ \n\"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Status", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.status", + "project": "Foundations", + "id": "727b278b-98df-4770-9a63-84ffc0953f8a", + "savedPayload": { + "position": { + "x": 25338.044030128487, + "y": 17351.08555990954 + }, + "targetPosition": { + "x": 25350.043540408034, + "y": 17478.01861285114 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "a4bf1cb0-7a30-490e-b2e2-5d5a6c455bae", + "savedPayload": { + "position": { + "x": 25350.043540408034, + "y": 17478.01861285114 + }, + "targetPosition": { + "x": 25371.976499599674, + "y": 17646.138213209797 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Exit Type", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.exitType", + "project": "Foundations", + "id": "0fb47a88-d31d-4fb4-8f9c-7d59c7d9ee24", + "savedPayload": { + "position": { + "x": 25522.394925760764, + "y": 17380.83662876013 + }, + "targetPosition": { + "x": 25460.50469078065, + "y": 17491.34468099544 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "9e50f0b4-3f83-4a96-9041-e8368ab951ec", + "savedPayload": { + "position": { + "x": 25460.50469078065, + "y": 17491.34468099544 + }, + "targetPosition": { + "x": 25371.976499599674, + "y": 17646.138213209797 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Begin Rate", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.beginRate", + "project": "Foundations", + "id": "7a84ddc6-5cad-461c-a314-9394960a3812", + "savedPayload": { + "position": { + "x": 25651.320128478415, + "y": 17520.173767232667 + }, + "targetPosition": { + "x": 25536.736720673223, + "y": 17573.562685242043 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "8e38eaa4-df98-4517-9711-2dad6cb19d3b", + "savedPayload": { + "position": { + "x": 25536.736720673223, + "y": 17573.562685242043 + }, + "targetPosition": { + "x": 25371.976499599674, + "y": 17646.138213209797 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "End Rate", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.endRate", + "project": "Foundations", + "id": "cd352b42-e4e8-4a4b-aa49-d0d859d83a7a", + "savedPayload": { + "position": { + "x": 25668.82100224933, + "y": 17717.98985087948 + }, + "targetPosition": { + "x": 25543.16902692566, + "y": 17691.37738042553 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "183124a0-fb6b-49a4-b127-bc1fcb32c33e", + "savedPayload": { + "position": { + "x": 25543.16902692566, + "y": 17691.37738042553 + }, + "targetPosition": { + "x": 25371.976499599674, + "y": 17646.138213209797 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "3168525e-3786-40a3-9d7d-e58ec8ddc0b4", + "savedPayload": { + "position": { + "x": 25371.976499599674, + "y": 17646.138213209797 + }, + "targetPosition": { + "x": 25031.82685622531, + "y": 17951.95460007815 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "5484d680-3365-4aba-810a-823d7d2e5efb", + "savedPayload": { + "position": { + "x": 25046.19409222805, + "y": 17913.3686237455 + }, + "targetPosition": { + "x": 24911.25754723305, + "y": 18329.983641905186 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Close Stage Objects", + "config": "{ \n \"codeName\": \"Strategy-Objects\", \n \"icon\": \"trend\"\n}", + "project": "Foundations", + "shapes": { + "type": "Shapes", + "name": "New Shapes", + "project": "Foundations", + "chartPoints": [ + { + "type": "Chart Points", + "name": "New Chart Points", + "project": "Foundations", + "points": [ + { + "type": "Point", + "name": "Begin Bottom", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin\ny = record.beginRate * 1.05", + "project": "Foundations", + "id": "b1e7d2c4-4d3e-4a4b-bed0-b74940af3134", + "savedPayload": { + "position": { + "x": 24579.027378915383, + "y": 17188.751771470772 + }, + "targetPosition": { + "x": 24767.924515241255, + "y": 17255.244359457472 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "bb252acc-c459-47bc-8719-b009231a36f1", + "savedPayload": { + "position": { + "x": 24767.924515241255, + "y": 17255.244359457472 + }, + "targetPosition": { + "x": 25145.273388441714, + "y": 17387.470133071016 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "Begin Top", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin\ny = record.beginRate", + "project": "Foundations", + "id": "614562da-731e-4781-8d22-99b4ee0bdfcb", + "savedPayload": { + "position": { + "x": 24668.48483015697, + "y": 17022.534740565112 + }, + "targetPosition": { + "x": 24827.469030728196, + "y": 17144.266862183893 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "dccce0ff-d13f-4a18-9d73-82aabccfd994", + "savedPayload": { + "position": { + "x": 24827.469030728196, + "y": 17144.266862183893 + }, + "targetPosition": { + "x": 25145.273388441714, + "y": 17387.470133071016 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "End Bottom", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.end\ny = record.beginRate * 1.05", + "project": "Foundations", + "id": "1aa2b299-fe0b-473e-b1a9-e99228abfb61", + "savedPayload": { + "position": { + "x": 24804.978154107182, + "y": 16892.573955596876 + }, + "targetPosition": { + "x": 24918.397160536595, + "y": 17057.511686220463 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "27c48e47-51cd-443b-b6a9-1ec7e2fb8935", + "savedPayload": { + "position": { + "x": 24918.397160536595, + "y": 17057.511686220463 + }, + "targetPosition": { + "x": 25145.273388441714, + "y": 17387.470133071016 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "End Top", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.end\ny = record.endRate", + "project": "Foundations", + "id": "32645fe5-31bd-42c8-ab3f-8249ebb91aca", + "savedPayload": { + "position": { + "x": 24977.79342019185, + "y": 16810.985342906126 + }, + "targetPosition": { + "x": 25034.439773190446, + "y": 17002.87521435399 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "34eb5d18-98c9-4e9e-b806-aa3519eee292", + "savedPayload": { + "position": { + "x": 25034.439773190446, + "y": 17002.87521435399 + }, + "targetPosition": { + "x": 25145.273388441714, + "y": 17387.470133071016 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "0e431366-f8bf-44e7-945c-a452f2cdf2c8", + "savedPayload": { + "position": { + "x": 25145.273388441714, + "y": 17387.470133071016 + }, + "targetPosition": { + "x": 25420.534805331095, + "y": 17677.25746153254 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "polygons": [ + { + "type": "Polygon", + "name": "Closed Base", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.status === 'Closed'", + "project": "Foundations", + "id": "9c151ee6-fe1e-409b-addf-6867dbc4249a", + "savedPayload": { + "position": { + "x": 25183.05272989415, + "y": 16863.332588389698 + }, + "targetPosition": { + "x": 25448.62934481673, + "y": 16615.054560205914 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.25,\n \"lineWidth\": 10,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 10,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "542b2e7d-3539-4d06-9867-da829bf9608f", + "savedPayload": { + "position": { + "x": 24879.989098202437, + "y": 16245.636919578665 + }, + "targetPosition": { + "x": 25139.26628922214, + "y": 16414.051521444515 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "88e858a5-3d18-4a8c-84f1-ef3991a4e3dd", + "savedPayload": { + "position": { + "x": 25139.26628922214, + "y": 16414.051521444515 + }, + "targetPosition": { + "x": 25448.62934481673, + "y": 16615.054560205914 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin Bottom", + "project": "Foundations", + "id": "70db7cdb-2005-479b-93ed-e48c883773ae", + "savedPayload": { + "position": { + "x": 25543.66606853903, + "y": 16259.325165111728 + }, + "targetPosition": { + "x": 25448.62934481673, + "y": 16615.054560205914 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Bottom", + "id": "bb252acc-c459-47bc-8719-b009231a36f1" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Close Stage Objects", + "Plotter Module", + "Foundations", + "de84947f-ec29-4125-a2b3-a3da595d1653" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "2236ae6a-63a0-4031-a6aa-95fd8dbd1e6d" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "ebdc8337-0d63-48c8-940e-83f14c7de8f3" + ], + [ + "Begin Bottom", + "Point", + "Foundations", + "064c3de1-dd16-4010-9267-f588f070aa32" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End Bottom", + "project": "Foundations", + "id": "314339be-858d-4b70-a21c-80f15c8e8c5b", + "savedPayload": { + "position": { + "x": 25823.942171003735, + "y": 16611.259101219715 + }, + "targetPosition": { + "x": 25448.62934481673, + "y": 16615.054560205914 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Bottom", + "id": "27c48e47-51cd-443b-b6a9-1ec7e2fb8935" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Close Stage Objects", + "Plotter Module", + "Foundations", + "de84947f-ec29-4125-a2b3-a3da595d1653" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "2236ae6a-63a0-4031-a6aa-95fd8dbd1e6d" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "ebdc8337-0d63-48c8-940e-83f14c7de8f3" + ], + [ + "End Bottom", + "Point", + "Foundations", + "9ad19ea8-8df3-4601-bfb9-0e858dad9140" + ] + ] + } + } + ], + "id": "ecd0b265-422d-47b0-8beb-f3e2ca65e277", + "savedPayload": { + "position": { + "x": 25277.255323866357, + "y": 17303.633035889976 + }, + "targetPosition": { + "x": 25420.534805331095, + "y": 17677.25746153254 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Open Base", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.status === 'Open'", + "project": "Foundations", + "id": "45995568-462e-4658-b3fc-e57177f2a2e6", + "savedPayload": { + "position": { + "x": 25355.23910867351, + "y": 16729.41564408134 + }, + "targetPosition": { + "x": 25687.129785221852, + "y": 16573.898227904712 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 0.25,\n \"lineWidth\": 10,\n \"lineDash\": [3,3]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 10,\n \"lineDash\": [3,3]\n }\n}", + "project": "Foundations", + "id": "66f52268-b7fa-463c-a434-a632eb410c81", + "savedPayload": { + "position": { + "x": 25302.88882487937, + "y": 16014.282088486274 + }, + "targetPosition": { + "x": 25478.484204918368, + "y": 16270.181712872054 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "b414c278-f346-4180-963c-5eeec9171c1d", + "savedPayload": { + "position": { + "x": 25478.484204918368, + "y": 16270.181712872054 + }, + "targetPosition": { + "x": 25687.129785221852, + "y": 16573.898227904712 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin Bottom", + "project": "Foundations", + "id": "bd7b28bb-5083-4ff4-b3b6-d44776359a11", + "savedPayload": { + "position": { + "x": 25911.025600735327, + "y": 16281.664293263802 + }, + "targetPosition": { + "x": 25687.129785221852, + "y": 16573.898227904712 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Bottom", + "id": "bb252acc-c459-47bc-8719-b009231a36f1" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Close Stage Objects", + "Plotter Module", + "Foundations", + "de84947f-ec29-4125-a2b3-a3da595d1653" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "2236ae6a-63a0-4031-a6aa-95fd8dbd1e6d" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "ebdc8337-0d63-48c8-940e-83f14c7de8f3" + ], + [ + "Begin Bottom", + "Point", + "Foundations", + "064c3de1-dd16-4010-9267-f588f070aa32" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End Bottom", + "project": "Foundations", + "id": "d0a94d31-1f44-4e77-97e5-51d32327919d", + "savedPayload": { + "position": { + "x": 26035.513649466364, + "y": 16714.16962763074 + }, + "targetPosition": { + "x": 25687.129785221852, + "y": 16573.898227904712 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Bottom", + "id": "27c48e47-51cd-443b-b6a9-1ec7e2fb8935" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Close Stage Objects", + "Plotter Module", + "Foundations", + "de84947f-ec29-4125-a2b3-a3da595d1653" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "2236ae6a-63a0-4031-a6aa-95fd8dbd1e6d" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "ebdc8337-0d63-48c8-940e-83f14c7de8f3" + ], + [ + "End Bottom", + "Point", + "Foundations", + "9ad19ea8-8df3-4601-bfb9-0e858dad9140" + ] + ] + } + } + ], + "id": "67fdab45-c30c-40cd-91ce-5d4de47975a3", + "savedPayload": { + "position": { + "x": 25431.009203439935, + "y": 17277.016146406044 + }, + "targetPosition": { + "x": 25420.534805331095, + "y": 17677.25746153254 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Left Line", + "project": "Foundations", + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n }\n}", + "project": "Foundations", + "id": "7e4feee2-8eb3-47c4-9901-611720ea2c39", + "savedPayload": { + "position": { + "x": 25681.158620760234, + "y": 15992.72795421314 + }, + "targetPosition": { + "x": 25792.20031252627, + "y": 16282.683335419093 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "99826985-75ba-4f02-b95b-3ad37a8c5eda", + "savedPayload": { + "position": { + "x": 25792.20031252627, + "y": 16282.683335419093 + }, + "targetPosition": { + "x": 25924.03745707479, + "y": 16626.79146442237 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin Bottom", + "project": "Foundations", + "id": "83a5eca6-54d0-486e-a1c6-b126dd215f3b", + "savedPayload": { + "position": { + "x": 26073.781585544693, + "y": 16290.183334036094 + }, + "targetPosition": { + "x": 25924.03745707479, + "y": 16626.79146442237 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Bottom", + "id": "bb252acc-c459-47bc-8719-b009231a36f1" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Close Stage Objects", + "Plotter Module", + "Foundations", + "de84947f-ec29-4125-a2b3-a3da595d1653" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "2236ae6a-63a0-4031-a6aa-95fd8dbd1e6d" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "ebdc8337-0d63-48c8-940e-83f14c7de8f3" + ], + [ + "Begin Bottom", + "Point", + "Foundations", + "064c3de1-dd16-4010-9267-f588f070aa32" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " Begin Top", + "project": "Foundations", + "id": "2eeeefdc-5b96-426f-a73e-4cec4df68bcb", + "savedPayload": { + "position": { + "x": 26268.04190592016, + "y": 16494.6236549075 + }, + "targetPosition": { + "x": 25924.03745707479, + "y": 16626.79146442237 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Top", + "id": "dccce0ff-d13f-4a18-9d73-82aabccfd994" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Close Stage Objects", + "Plotter Module", + "Foundations", + "de84947f-ec29-4125-a2b3-a3da595d1653" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "2236ae6a-63a0-4031-a6aa-95fd8dbd1e6d" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "ebdc8337-0d63-48c8-940e-83f14c7de8f3" + ], + [ + "Begin Top", + "Point", + "Foundations", + "ce4b9d0e-3e46-4cf2-9ea6-a108f962ba9b" + ] + ] + } + } + ], + "id": "c039ceb1-2c7e-4b0e-943f-b473e45a49d2", + "savedPayload": { + "position": { + "x": 25583.324088321348, + "y": 17311.435349783787 + }, + "targetPosition": { + "x": 25420.534805331095, + "y": 17677.25746153254 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Right Line", + "project": "Foundations", + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 0.25,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\",\n \"opacity\": 0.35,\n \"lineWidth\": 1,\n \"lineDash\": [1,1]\n }\n}", + "project": "Foundations", + "id": "8d1b5689-468e-4ab0-a56c-0167fc1fd0ae", + "savedPayload": { + "position": { + "x": 26139.57760652531, + "y": 16087.661326169724 + }, + "targetPosition": { + "x": 26131.57454819025, + "y": 16397.98612743746 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "ff92ffad-bff0-437d-a1a8-b287f64cff09", + "savedPayload": { + "position": { + "x": 26131.57454819025, + "y": 16397.98612743746 + }, + "targetPosition": { + "x": 26122.03887927066, + "y": 16766.522446256513 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " End Bottom", + "project": "Foundations", + "id": "000360d3-c09c-4354-a286-e32e8d42ec46", + "savedPayload": { + "position": { + "x": 26389.076579522552, + "y": 16512.927787240136 + }, + "targetPosition": { + "x": 26122.03887927066, + "y": 16766.522446256513 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Bottom", + "id": "27c48e47-51cd-443b-b6a9-1ec7e2fb8935" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Close Stage Objects", + "Plotter Module", + "Foundations", + "de84947f-ec29-4125-a2b3-a3da595d1653" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "2236ae6a-63a0-4031-a6aa-95fd8dbd1e6d" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "ebdc8337-0d63-48c8-940e-83f14c7de8f3" + ], + [ + "End Bottom", + "Point", + "Foundations", + "9ad19ea8-8df3-4601-bfb9-0e858dad9140" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End Top", + "project": "Foundations", + "id": "32a1a31d-9c97-4f77-999b-1a1579610b16", + "savedPayload": { + "position": { + "x": 26490.016495813747, + "y": 16775.8072218091 + }, + "targetPosition": { + "x": 26122.03887927066, + "y": 16766.522446256513 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Top", + "id": "34eb5d18-98c9-4e9e-b806-aa3519eee292" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Close Stage Objects", + "Plotter Module", + "Foundations", + "de84947f-ec29-4125-a2b3-a3da595d1653" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "2236ae6a-63a0-4031-a6aa-95fd8dbd1e6d" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "ebdc8337-0d63-48c8-940e-83f14c7de8f3" + ], + [ + "End Top", + "Point", + "Foundations", + "92930f08-af27-4807-a1eb-98fb82c58fb2" + ] + ] + } + } + ], + "id": "da1dbf22-3175-44d7-b5fa-5365e76dce6f", + "savedPayload": { + "position": { + "x": 25710.827259575322, + "y": 17401.52841936709 + }, + "targetPosition": { + "x": 25420.534805331095, + "y": 17677.25746153254 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "images": [ + { + "type": "Image", + "name": "New Image", + "config": "{ \n\"codeName\": \"close-stage\",\n\"size\": 25\n}", + "project": "Foundations", + "imagePosition": { + "type": "Image Position", + "name": "Begin Bottom", + "config": "{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }", + "project": "Foundations", + "id": "a5521821-d239-42ff-9a70-fda1f1a58cb2", + "savedPayload": { + "position": { + "x": 25981.4451842089, + "y": 17461.40162645147 + }, + "targetPosition": { + "x": 25794.129973087576, + "y": 17533.600681451673 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin Bottom", + "id": "bb252acc-c459-47bc-8719-b009231a36f1" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Close Stage Objects", + "Plotter Module", + "Foundations", + "de84947f-ec29-4125-a2b3-a3da595d1653" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "2236ae6a-63a0-4031-a6aa-95fd8dbd1e6d" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "ebdc8337-0d63-48c8-940e-83f14c7de8f3" + ], + [ + "Begin Bottom", + "Point", + "Foundations", + "064c3de1-dd16-4010-9267-f588f070aa32" + ] + ] + } + }, + "id": "8cc27a0e-b14f-4e54-a6fb-1249eec7034f", + "savedPayload": { + "position": { + "x": 25794.129973087576, + "y": 17533.600681451673 + }, + "targetPosition": { + "x": 25420.534805331095, + "y": 17677.25746153254 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Image", + "name": "New Image", + "config": "{ \n\"codeName\": \"close-stage\",\n\"size\": 25\n}", + "project": "Foundations", + "imagePosition": { + "type": "Image Position", + "name": "End Bottom", + "config": "{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }", + "project": "Foundations", + "id": "c85ddfb0-9f2b-4f57-b0ab-422c9cfb799f", + "savedPayload": { + "position": { + "x": 26021.247568304658, + "y": 17690.68759520176 + }, + "targetPosition": { + "x": 25820.510818118775, + "y": 17685.84969042113 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End Bottom", + "id": "27c48e47-51cd-443b-b6a9-1ec7e2fb8935" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Portfolio Stages", + "Plotter", + "Foundations", + "23f6d360-b2ec-462d-ba57-9226d0fc0c5b" + ], + [ + "Close Stage Objects", + "Plotter Module", + "Foundations", + "de84947f-ec29-4125-a2b3-a3da595d1653" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "2236ae6a-63a0-4031-a6aa-95fd8dbd1e6d" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "ebdc8337-0d63-48c8-940e-83f14c7de8f3" + ], + [ + "End Bottom", + "Point", + "Foundations", + "9ad19ea8-8df3-4601-bfb9-0e858dad9140" + ] + ] + } + }, + "id": "2e732b3b-88e3-4f09-b890-3def15385ea7", + "savedPayload": { + "position": { + "x": 25820.510818118775, + "y": 17685.84969042113 + }, + "targetPosition": { + "x": 25420.534805331095, + "y": 17677.25746153254 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "texts": [], + "id": "c4378111-f7fb-4486-8b87-3265a7ec2f11", + "savedPayload": { + "position": { + "x": 25420.534805331095, + "y": 17677.25746153254 + }, + "targetPosition": { + "x": 25234.695599103965, + "y": 18095.101334560542 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "panels": [ + { + "type": "Plotter Panel", + "name": "Close Stage Object", + "config": "{ \n\"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Status", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.status", + "project": "Foundations", + "id": "0a956a04-9d9f-4f6f-a0f4-37dbf84ecb03", + "savedPayload": { + "position": { + "x": 25835.39660052847, + "y": 17788.656234646252 + }, + "targetPosition": { + "x": 25770.926600652165, + "y": 17898.662544175397 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "dbd3aaf8-f296-4d57-86a3-8dfbe517e59c", + "savedPayload": { + "position": { + "x": 25770.926600652165, + "y": 17898.662544175397 + }, + "targetPosition": { + "x": 25689.47571446367, + "y": 18047.651865866053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Exit Type", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.exitType", + "project": "Foundations", + "id": "1b7c4ac8-9b54-4c57-b889-55bba479af90", + "savedPayload": { + "position": { + "x": 25967.224088359177, + "y": 17921.163072347746 + }, + "targetPosition": { + "x": 25852.33849322418, + "y": 17974.465531475293 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "6d5f05e4-2f28-430c-8750-b9bb9474bf92", + "savedPayload": { + "position": { + "x": 25852.33849322418, + "y": 17974.465531475293 + }, + "targetPosition": { + "x": 25689.47571446367, + "y": 18047.651865866053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Begin Rate", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.beginRate", + "project": "Foundations", + "id": "faddb24a-f210-44fe-bd31-fe1607e514e2", + "savedPayload": { + "position": { + "x": 25989.928524960353, + "y": 18109.61004393308 + }, + "targetPosition": { + "x": 25865.740616125273, + "y": 18085.727841082415 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "9bf3d55b-1288-4937-b84a-4130234a5233", + "savedPayload": { + "position": { + "x": 25865.740616125273, + "y": 18085.727841082415 + }, + "targetPosition": { + "x": 25689.47571446367, + "y": 18047.651865866053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "End Rate", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.endRate", + "project": "Foundations", + "id": "4ec326ac-d315-4fc6-8b27-6fd0622e65a6", + "savedPayload": { + "position": { + "x": 25887.732996211642, + "y": 18280.064789242602 + }, + "targetPosition": { + "x": 25801.723842120344, + "y": 18184.683572874885 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "266264ba-328f-49e2-bac0-58984dac8c27", + "savedPayload": { + "position": { + "x": 25801.723842120344, + "y": 18184.683572874885 + }, + "targetPosition": { + "x": 25689.47571446367, + "y": 18047.651865866053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "80a8fb24-c756-410c-bed2-a37784ea90bb", + "savedPayload": { + "position": { + "x": 25689.47571446367, + "y": 18047.651865866053 + }, + "targetPosition": { + "x": 25234.695599103965, + "y": 18095.101334560542 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "9fa4e406-b880-4023-8154-41b5d5718ea5", + "savedPayload": { + "position": { + "x": 25265.49903821348, + "y": 18072.59765476786 + }, + "targetPosition": { + "x": 24911.25754723305, + "y": 18329.983641905186 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "3d61264c-169c-4712-bf51-75649e9b93f7", + "savedPayload": { + "position": { + "x": 24916.262986317583, + "y": 18279.85151122931 + }, + "targetPosition": { + "x": 24916.262986317583, + "y": 18729.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter", + "name": "Exchange Orders", + "config": "{ \n \"codeName\": \"Exchange-Orders\"\n}", + "project": "Foundations", + "modules": [ + { + "type": "Plotter Module", + "name": "Market Buy Orders", + "config": "{ \n \"codeName\": \"Market-Buy-Orders\", \n \"icon\": \"trend\",\n \"useRateAtMousePosition\": true,\n \"ratePropertyName\": \"actualRate\"\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": "Begin", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin\nif (record.actualRate !== 0) {\ny = record.actualRate\n} else {\ny = record.rate\n}\n", + "project": "Foundations", + "id": "50308a6c-0117-47da-86f6-9937a9556a6e", + "savedPayload": { + "position": { + "x": 24273.903245158486, + "y": 18261.50152129295 + }, + "targetPosition": { + "x": 24406.154926924293, + "y": 18079.472697558587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "09060e63-d2ed-4ccd-ad88-affbde3e946e", + "savedPayload": { + "position": { + "x": 24406.154926924293, + "y": 18079.472697558587 + }, + "targetPosition": { + "x": 24538.4066086901, + "y": 17897.443873824224 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "End", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.end\nif (record.actualRate !== 0) {\ny = record.actualRate\n} else {\ny = record.rate\n}", + "project": "Foundations", + "id": "e39a494e-1aba-4243-9bcf-04f4e7e80cb7", + "savedPayload": { + "position": { + "x": 24090.87175577438, + "y": 17850.40606535378 + }, + "targetPosition": { + "x": 24314.63918223224, + "y": 17873.924969589003 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "e83dbdd8-39c1-44ec-b3f7-414388ea0068", + "savedPayload": { + "position": { + "x": 24314.63918223224, + "y": 17873.924969589003 + }, + "targetPosition": { + "x": 24538.4066086901, + "y": 17897.443873824224 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "cf1766b0-f765-4e5f-880a-54cd72f16619", + "savedPayload": { + "position": { + "x": 24538.4066086901, + "y": 17897.443873824224 + }, + "targetPosition": { + "x": 24743.954336659684, + "y": 17805.928129132168 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "polygons": [ + { + "type": "Polygon", + "name": "New Polygon", + "project": "Foundations", + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "fe900ecc-ee0b-4eb6-ae2a-839aacd43aa8", + "savedPayload": { + "position": { + "x": 24122.803284758647, + "y": 17908.326829868587 + }, + "targetPosition": { + "x": 24328.35101272823, + "y": 17816.81108517653 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "dbf69262-66b6-4ec4-8d07-84c08f9fa8b1", + "savedPayload": { + "position": { + "x": 24328.35101272823, + "y": 17816.81108517653 + }, + "targetPosition": { + "x": 24533.898740697816, + "y": 17725.295340484474 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin", + "project": "Foundations", + "id": "f3fe7711-1162-40e8-850e-eb6ffe48c9b1", + "savedPayload": { + "position": { + "x": 24323.843144735947, + "y": 17644.66255183678 + }, + "targetPosition": { + "x": 24533.898740697816, + "y": 17725.295340484474 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin", + "id": "09060e63-d2ed-4ccd-ad88-affbde3e946e" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Market Buy Orders", + "Plotter Module", + "Foundations", + "e00fe7d4-894d-4483-a73a-3cd77943ea80" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "486a0f30-691f-4c40-a18e-a1b0ac336ac1" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "c8f9bc68-22a9-47a7-8b54-f8e1ee93760a" + ], + [ + "Begin", + "Point", + "Foundations", + "5d2c59a6-72ce-4f42-8d14-62e4a7d11d73" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End", + "project": "Foundations", + "id": "ecd52576-2c17-4a49-9afd-065da69c7ace", + "savedPayload": { + "position": { + "x": 24442.38299600576, + "y": 17519.74761251489 + }, + "targetPosition": { + "x": 24533.898740697816, + "y": 17725.295340484474 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End", + "id": "e83dbdd8-39c1-44ec-b3f7-414388ea0068" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Market Buy Orders", + "Plotter Module", + "Foundations", + "e00fe7d4-894d-4483-a73a-3cd77943ea80" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "486a0f30-691f-4c40-a18e-a1b0ac336ac1" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "c8f9bc68-22a9-47a7-8b54-f8e1ee93760a" + ], + [ + "End", + "Point", + "Foundations", + "0e224c82-a863-4953-8e38-42ff372df6cd" + ] + ] + } + } + ], + "id": "551e46fc-9ed0-47e6-90ef-8b22ad97ed76", + "savedPayload": { + "position": { + "x": 24533.898740697816, + "y": 17725.295340484474 + }, + "targetPosition": { + "x": 24743.954336659684, + "y": 17805.928129132168 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "images": [ + { + "type": "Image", + "name": "New Image", + "config": "{ \n\"codeName\": \"bullet-market-buy-order\", \n\"size\": 20\n}", + "project": "Foundations", + "imagePosition": { + "type": "Image Position", + "name": "Begin", + "config": "{ \n\"offsetX\": 10,\n \"offsetY\": 0\n }", + "project": "Foundations", + "id": "83f9e679-cbd2-46e6-9f0c-a6e2d9201413", + "savedPayload": { + "position": { + "x": 24606.6807196216, + "y": 17497.60653717779 + }, + "targetPosition": { + "x": 24652.438591967628, + "y": 17600.380401162583 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin", + "id": "09060e63-d2ed-4ccd-ad88-affbde3e946e" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Market Buy Orders", + "Plotter Module", + "Foundations", + "e00fe7d4-894d-4483-a73a-3cd77943ea80" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "486a0f30-691f-4c40-a18e-a1b0ac336ac1" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "c8f9bc68-22a9-47a7-8b54-f8e1ee93760a" + ], + [ + "Begin", + "Point", + "Foundations", + "5d2c59a6-72ce-4f42-8d14-62e4a7d11d73" + ] + ] + } + }, + "id": "f487d29a-af0a-4c8e-824e-df1611cae272", + "savedPayload": { + "position": { + "x": 24652.438591967628, + "y": 17600.380401162583 + }, + "targetPosition": { + "x": 24743.954336659684, + "y": 17805.928129132168 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "texts": [], + "id": "2f07f99d-3db4-4df5-af13-8cba2937b5ba", + "savedPayload": { + "position": { + "x": 24743.954336659684, + "y": 17805.928129132168 + }, + "targetPosition": { + "x": 25164.065528583425, + "y": 17967.19370642755 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "panels": [ + { + "type": "Plotter Panel", + "name": "Market Buy Order", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Serial Number", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.serialNumber", + "project": "Foundations", + "id": "6fed59dd-ddaa-4e4d-8a42-b0827d8d4898", + "savedPayload": { + "position": { + "x": 23837.444675208444, + "y": 17185.92010056317 + }, + "targetPosition": { + "x": 24177.229209713623, + "y": 17048.708086842293 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "051fbe28-73be-4eb7-b9ea-6d8421890495", + "savedPayload": { + "position": { + "x": 24177.229209713623, + "y": 17048.708086842293 + }, + "targetPosition": { + "x": 24517.013397817245, + "y": 16911.255620079464 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Rate", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.rate", + "project": "Foundations", + "id": "778e5839-7536-46ef-ac98-02cfa904b689", + "savedPayload": { + "position": { + "x": 23784.340835558633, + "y": 16936.698652898434 + }, + "targetPosition": { + "x": 24150.6367633966, + "y": 16924.02436438725 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "d27eb806-ba6c-4a31-944e-45d0deda3f91", + "savedPayload": { + "position": { + "x": 24150.6367633966, + "y": 16924.02436438725 + }, + "targetPosition": { + "x": 24517.013397817245, + "y": 16911.255620079464 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Status", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.status", + "project": "Foundations", + "id": "dcde9756-4ded-4693-a65d-a702d67b17bb", + "savedPayload": { + "position": { + "x": 23819.731624619024, + "y": 16684.87584516967 + }, + "targetPosition": { + "x": 24168.326822915915, + "y": 16798.07920770293 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "78fad560-dcac-426b-80ce-c59fa4f818f5", + "savedPayload": { + "position": { + "x": 24168.326822915915, + "y": 16798.07920770293 + }, + "targetPosition": { + "x": 24517.013397817245, + "y": 16911.255620079464 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Exit Type", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.exitType", + "project": "Foundations", + "id": "5c60b6ab-eba6-4cec-9360-fba75cf5b8bb", + "savedPayload": { + "position": { + "x": 23939.26201744504, + "y": 16459.9961155076 + }, + "targetPosition": { + "x": 24228.09795377016, + "y": 16685.615931910877 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "f957d33f-2eae-4fa3-b8a9-14e948f700f4", + "savedPayload": { + "position": { + "x": 24228.09795377016, + "y": 16685.615931910877 + }, + "targetPosition": { + "x": 24517.013397817245, + "y": 16911.255620079464 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Order Name", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.orderName", + "project": "Foundations", + "id": "c2a43517-7034-4b38-84dd-53bc7c34d611", + "savedPayload": { + "position": { + "x": 24128.496200626407, + "y": 16289.580632575078 + }, + "targetPosition": { + "x": 24322.730793717983, + "y": 16600.395775166806 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "37a5b613-ff21-4dc8-9696-b08de1b2ec4b", + "savedPayload": { + "position": { + "x": 24322.730793717983, + "y": 16600.395775166806 + }, + "targetPosition": { + "x": 24517.013397817245, + "y": 16911.255620079464 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Algorithm Name", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.algorithmName", + "project": "Foundations", + "id": "ecdabd0b-804c-4875-9081-a7836e827ff1", + "savedPayload": { + "position": { + "x": 24364.593803894513, + "y": 16194.186095199988 + }, + "targetPosition": { + "x": 24440.80607745507, + "y": 16552.70006461286 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "83d76f58-5f81-41cf-af89-6ba9b1fcdf47", + "savedPayload": { + "position": { + "x": 24440.80607745507, + "y": 16552.70006461286 + }, + "targetPosition": { + "x": 24517.013397817245, + "y": 16911.255620079464 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Situation Name", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.situationName", + "project": "Foundations", + "id": "d59232ab-0427-4155-9e0a-f32bf518544d", + "savedPayload": { + "position": { + "x": 24618.63921620561, + "y": 16185.320829694665 + }, + "targetPosition": { + "x": 24567.878982380204, + "y": 16548.29317510575 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "290c9025-755d-4147-90d3-9c4e867ef435", + "savedPayload": { + "position": { + "x": 24567.878982380204, + "y": 16548.29317510575 + }, + "targetPosition": { + "x": 24517.013397817245, + "y": 16911.255620079464 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Periods", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.periods", + "project": "Foundations", + "id": "119d1826-8f21-428c-844e-4362c1b46706", + "savedPayload": { + "position": { + "x": 24830.803648062723, + "y": 16267.28022185242 + }, + "targetPosition": { + "x": 24689.061608109623, + "y": 16587.783045963602 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "f82c6df6-1eaf-4c43-b1bb-386eca852765", + "savedPayload": { + "position": { + "x": 24689.061608109623, + "y": 16587.783045963602 + }, + "targetPosition": { + "x": 24517.013397817245, + "y": 16911.255620079464 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "91db3d56-762b-4f29-855a-7b08fd1e50e6", + "savedPayload": { + "position": { + "x": 24880.871352610997, + "y": 17617.478023771913 + }, + "targetPosition": { + "x": 25164.065528583425, + "y": 17967.19370642755 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Panel", + "name": "Market Buy Order Stats", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Percentage Filled", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.percentageFilled", + "project": "Foundations", + "id": "eb4fdd33-265e-4cdd-8bfa-f4c75d4b5b51", + "savedPayload": { + "position": { + "x": 24593.14128387502, + "y": 16454.924692425375 + }, + "targetPosition": { + "x": 24735.801801913116, + "y": 16570.30297820917 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "8e4adb7e-090a-458a-b932-9e88d315afbd", + "savedPayload": { + "position": { + "x": 24735.801801913116, + "y": 16570.30297820917 + }, + "targetPosition": { + "x": 24929.749575818212, + "y": 16727.050251130473 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Actual Rate", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.actualRate", + "project": "Foundations", + "id": "2597550b-6e35-4de3-9ab7-3d9ef3783044", + "savedPayload": { + "position": { + "x": 24874.07706005, + "y": 16306.963177757174 + }, + "targetPosition": { + "x": 24903.476477723307, + "y": 16479.394279890468 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "79beb34d-e372-4dde-ad33-cd1cb59922d3", + "savedPayload": { + "position": { + "x": 24903.476477723307, + "y": 16479.394279890468 + }, + "targetPosition": { + "x": 24929.749575818212, + "y": 16727.050251130473 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Days", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.days", + "project": "Foundations", + "id": "723b7fa5-ef84-4b77-a825-c6f60d4d700d", + "savedPayload": { + "position": { + "x": 25180.211165051034, + "y": 16392.080722287345 + }, + "targetPosition": { + "x": 25065.298263702025, + "y": 16535.05815152123 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "f2f8595c-afd2-4145-ac7e-5e5a9d19d3a5", + "savedPayload": { + "position": { + "x": 25065.298263702025, + "y": 16535.05815152123 + }, + "targetPosition": { + "x": 24929.749575818212, + "y": 16727.050251130473 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "c1ab942c-dbfa-4c32-884e-26b5662a978d", + "savedPayload": { + "position": { + "x": 25093.670019315323, + "y": 17522.73395315974 + }, + "targetPosition": { + "x": 25164.065528583425, + "y": 17967.19370642755 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Panel", + "name": "Market Buy Order Base Asset", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Size", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.sizeInBaseAsset", + "project": "Foundations", + "id": "3c5b4cb7-801e-43b3-9cd1-88abcb97b815", + "savedPayload": { + "position": { + "x": 25142.299616494696, + "y": 17135.987058564642 + }, + "targetPosition": { + "x": 25233.815361186753, + "y": 17341.534786534226 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "c04ae77e-d2a4-4371-b2ae-759d9bd375b3", + "savedPayload": { + "position": { + "x": 25233.815361186753, + "y": 17341.534786534226 + }, + "targetPosition": { + "x": 25325.33110587881, + "y": 17547.08251450381 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Size Filled", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.sizeFilledInBaseAsset", + "project": "Foundations", + "id": "baf053b9-6963-436b-b965-cbdd9494aea6", + "savedPayload": { + "position": { + "x": 25486.596683174197, + "y": 17126.971322580073 + }, + "targetPosition": { + "x": 25405.963894526503, + "y": 17337.026918541942 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "02d84386-23a7-4d36-b0c2-b80af53b9002", + "savedPayload": { + "position": { + "x": 25405.963894526503, + "y": 17337.026918541942 + }, + "targetPosition": { + "x": 25325.33110587881, + "y": 17547.08251450381 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Fees Paid", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.feesPaidInBaseAsset", + "project": "Foundations", + "id": "0f29bf78-5ffa-4c94-a019-35b9650c4e06", + "savedPayload": { + "position": { + "x": 25736.426561817978, + "y": 17364.051025119697 + }, + "targetPosition": { + "x": 25530.878833848394, + "y": 17455.566769811754 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "74b74d8a-37d2-4819-afbf-14fda83ce041", + "savedPayload": { + "position": { + "x": 25530.878833848394, + "y": 17455.566769811754 + }, + "targetPosition": { + "x": 25325.33110587881, + "y": 17547.08251450381 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "c09825ad-c83a-4a51-9771-1ee650aa6db3", + "savedPayload": { + "position": { + "x": 25325.33110587881, + "y": 17547.08251450381 + }, + "targetPosition": { + "x": 25164.065528583425, + "y": 17967.19370642755 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Panel", + "name": "Market Buy Order Quoted Asset", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Size", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.sizeInQuotedAsset", + "project": "Foundations", + "id": "3bc3dbc0-3ee3-420e-994f-e005a2b57234", + "savedPayload": { + "position": { + "x": 25560.819019709506, + "y": 17236.464677539403 + }, + "targetPosition": { + "x": 25537.300115474285, + "y": 17460.232103997263 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "29423bd5-292f-4a55-8047-f0eb1afbaf7a", + "savedPayload": { + "position": { + "x": 25537.300115474285, + "y": 17460.232103997263 + }, + "targetPosition": { + "x": 25513.781211239064, + "y": 17683.999530455123 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Size Filled", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.sizeFilledInQuotedAsset", + "project": "Foundations", + "id": "49811191-5c51-4aff-8176-3150b12bf8bb", + "savedPayload": { + "position": { + "x": 25863.496893894702, + "y": 17400.805354482694 + }, + "targetPosition": { + "x": 25688.639052566883, + "y": 17542.40244246891 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "91817de1-1344-440a-bbba-3d67b5f179e7", + "savedPayload": { + "position": { + "x": 25688.639052566883, + "y": 17542.40244246891 + }, + "targetPosition": { + "x": 25513.781211239064, + "y": 17683.999530455123 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Fees Paid", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.feesPaidInQuotedAsset", + "project": "Foundations", + "id": "3b7b00c4-d9c0-4b5f-8f50-b002d70f3b32", + "savedPayload": { + "position": { + "x": 25961.316064154784, + "y": 17731.037338925566 + }, + "targetPosition": { + "x": 25737.548637696924, + "y": 17707.518434690344 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "6c529e3d-b0e6-4687-b6f3-5f0f318a33db", + "savedPayload": { + "position": { + "x": 25737.548637696924, + "y": 17707.518434690344 + }, + "targetPosition": { + "x": 25513.781211239064, + "y": 17683.999530455123 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "1c6ed5fe-aae1-463a-a26b-e8fb1de568e2", + "savedPayload": { + "position": { + "x": 25513.781211239064, + "y": 17683.999530455123 + }, + "targetPosition": { + "x": 25164.065528583425, + "y": 17967.19370642755 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "93035e01-a0c7-4c58-93be-f8910d3a5737", + "savedPayload": { + "position": { + "x": 25164.065528583425, + "y": 17967.19370642755 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 18411.653459695364 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Market Sell Orders", + "config": "{ \n \"codeName\": \"Market-Sell-Orders\", \n \"icon\": \"trend\",\n \"useRateAtMousePosition\": true,\n \"ratePropertyName\": \"actualRate\"\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": "Begin", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin\nif (record.actualRate !== 0) {\ny = record.actualRate\n} else {\ny = record.rate\n}", + "project": "Foundations", + "id": "d3fbddab-8668-4e09-8116-823177f4892e", + "savedPayload": { + "position": { + "x": 24545.610554479637, + "y": 17725.57628526989 + }, + "targetPosition": { + "x": 24759.598270646045, + "y": 17656.047461535527 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "3bbd651a-e694-41ed-8a09-2bd3caa29db0", + "savedPayload": { + "position": { + "x": 24759.598270646045, + "y": 17656.047461535527 + }, + "targetPosition": { + "x": 24973.585986812453, + "y": 17586.518637801164 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "End", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.end\nif (record.actualRate !== 0) {\ny = record.actualRate\n} else {\ny = record.rate\n}", + "project": "Foundations", + "id": "8cb56f40-343c-4a69-8529-d98bd83a18e0", + "savedPayload": { + "position": { + "x": 24639.17081534763, + "y": 17285.409864939676 + }, + "targetPosition": { + "x": 24806.37840108004, + "y": 17435.96425137042 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "0df9f308-c28b-4aa3-814c-dae8b60fb5ee", + "savedPayload": { + "position": { + "x": 24806.37840108004, + "y": 17435.96425137042 + }, + "targetPosition": { + "x": 24973.585986812453, + "y": 17586.518637801164 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "93508de3-36b3-4c8e-9dad-875f83d4bbef", + "savedPayload": { + "position": { + "x": 24973.585986812453, + "y": 17586.518637801164 + }, + "targetPosition": { + "x": 25193.66919697756, + "y": 17633.29876823516 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "polygons": [ + { + "type": "Polygon", + "name": "New Polygon", + "project": "Foundations", + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "5f63468f-506c-43eb-b235-44a163fa349d", + "savedPayload": { + "position": { + "x": 24630.958993768967, + "y": 17351.03762957945 + }, + "targetPosition": { + "x": 24851.042203934074, + "y": 17397.817760013444 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "0cf434e1-f38d-48c8-ab6d-b883f548e001", + "savedPayload": { + "position": { + "x": 24851.042203934074, + "y": 17397.817760013444 + }, + "targetPosition": { + "x": 25071.12541409918, + "y": 17444.59789044744 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin", + "project": "Foundations", + "id": "f01216cc-b18d-407c-8a57-498da1f7bee2", + "savedPayload": { + "position": { + "x": 24948.5816312208, + "y": 17255.89701265972 + }, + "targetPosition": { + "x": 25071.12541409918, + "y": 17444.59789044744 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin", + "id": "3bbd651a-e694-41ed-8a09-2bd3caa29db0" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Market Sell Orders", + "Plotter Module", + "Foundations", + "a9811005-1b7d-45bb-8003-0e60caab5f09" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "c24bfe41-ef93-4f0a-8c96-843536c85a2f" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "2e23d19b-466f-485b-b61d-ded90fa7b221" + ], + [ + "Begin", + "Point", + "Foundations", + "788a8d38-a7f8-4e9f-aa91-0d73d83967ba" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End", + "project": "Foundations", + "id": "6368ee92-1702-4c13-86e3-4093e7cff14a", + "savedPayload": { + "position": { + "x": 25117.905544533176, + "y": 17224.514680282333 + }, + "targetPosition": { + "x": 25071.12541409918, + "y": 17444.59789044744 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End", + "id": "0df9f308-c28b-4aa3-814c-dae8b60fb5ee" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Market Sell Orders", + "Plotter Module", + "Foundations", + "a9811005-1b7d-45bb-8003-0e60caab5f09" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "c24bfe41-ef93-4f0a-8c96-843536c85a2f" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "2e23d19b-466f-485b-b61d-ded90fa7b221" + ], + [ + "End", + "Point", + "Foundations", + "5c7415c1-6a1d-4838-8587-6883c11724b4" + ] + ] + } + } + ], + "id": "5a7da2e9-63d7-4d20-93dc-0db41672a584", + "savedPayload": { + "position": { + "x": 25071.12541409918, + "y": 17444.59789044744 + }, + "targetPosition": { + "x": 25193.66919697756, + "y": 17633.29876823516 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "images": [ + { + "type": "Image", + "name": "New Image", + "config": "{ \n\"codeName\": \"bullet-market-sell-order\", \n\"size\": 20\n}", + "project": "Foundations", + "imagePosition": { + "type": "Image Position", + "name": "Begin", + "config": "{ \n\"offsetX\": 10,\n \"offsetY\": 0\n }", + "project": "Foundations", + "id": "61ff47ab-435e-40cd-8a7c-59a77c571d37", + "savedPayload": { + "position": { + "x": 25263.839392628553, + "y": 17303.1739529875 + }, + "targetPosition": { + "x": 25240.449327411556, + "y": 17413.215558070053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin", + "id": "3bbd651a-e694-41ed-8a09-2bd3caa29db0" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Market Sell Orders", + "Plotter Module", + "Foundations", + "a9811005-1b7d-45bb-8003-0e60caab5f09" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "c24bfe41-ef93-4f0a-8c96-843536c85a2f" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "2e23d19b-466f-485b-b61d-ded90fa7b221" + ], + [ + "Begin", + "Point", + "Foundations", + "788a8d38-a7f8-4e9f-aa91-0d73d83967ba" + ] + ] + } + }, + "id": "a909a89b-1d29-4d2b-9f5b-5cb3f9b55278", + "savedPayload": { + "position": { + "x": 25240.449327411556, + "y": 17413.215558070053 + }, + "targetPosition": { + "x": 25193.66919697756, + "y": 17633.29876823516 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "texts": [], + "id": "bc5c7860-4eb8-4aa1-ab45-a2d214f84d06", + "savedPayload": { + "position": { + "x": 25193.66919697756, + "y": 17633.29876823516 + }, + "targetPosition": { + "x": 25438.756762734323, + "y": 18010.7005238106 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "panels": [ + { + "type": "Plotter Panel", + "name": "Market Sell Order", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Serial Number", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.serialNumber", + "project": "Foundations", + "id": "39190445-a264-4dd0-8305-d78f6fbbed44", + "savedPayload": { + "position": { + "x": 25239.358918061476, + "y": 17394.86143938819 + }, + "targetPosition": { + "x": 25579.143452566655, + "y": 17257.649425667314 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "360ccaf3-3043-45cd-a275-78c5927265c5", + "savedPayload": { + "position": { + "x": 25579.143452566655, + "y": 17257.649425667314 + }, + "targetPosition": { + "x": 25918.927640670277, + "y": 17120.196958904486 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Rate", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.rate", + "project": "Foundations", + "id": "5a68fa12-5135-4a57-8a6a-11741712abaa", + "savedPayload": { + "position": { + "x": 25186.255078411665, + "y": 17145.639991723456 + }, + "targetPosition": { + "x": 25552.551006249632, + "y": 17132.96570321227 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "1df2ffcc-18c3-41f2-9eec-99ceb12175c2", + "savedPayload": { + "position": { + "x": 25552.551006249632, + "y": 17132.96570321227 + }, + "targetPosition": { + "x": 25918.927640670277, + "y": 17120.196958904486 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Status", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.status", + "project": "Foundations", + "id": "efc2dab7-f477-46c4-8bf4-8b8071612f3a", + "savedPayload": { + "position": { + "x": 25221.645867472056, + "y": 16893.81718399469 + }, + "targetPosition": { + "x": 25570.241065768947, + "y": 17007.02054652795 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "110c627c-6644-4e1e-9434-cd88e1fb473c", + "savedPayload": { + "position": { + "x": 25570.241065768947, + "y": 17007.02054652795 + }, + "targetPosition": { + "x": 25918.927640670277, + "y": 17120.196958904486 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Exit Type", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.exitType", + "project": "Foundations", + "id": "a266e217-807d-45d2-baef-540109c88d6a", + "savedPayload": { + "position": { + "x": 25341.17626029807, + "y": 16668.937454332623 + }, + "targetPosition": { + "x": 25630.012196623193, + "y": 16894.5572707359 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "36eb4058-385e-4842-848d-93a8f3225180", + "savedPayload": { + "position": { + "x": 25630.012196623193, + "y": 16894.5572707359 + }, + "targetPosition": { + "x": 25918.927640670277, + "y": 17120.196958904486 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Order Name", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.orderName", + "project": "Foundations", + "id": "91ecdda0-c025-4754-923c-c8fdf769a8d2", + "savedPayload": { + "position": { + "x": 25530.41044347944, + "y": 16498.5219714001 + }, + "targetPosition": { + "x": 25724.645036571015, + "y": 16809.337113991827 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "0180a3f5-49c0-4425-a37c-33ddf3145fc3", + "savedPayload": { + "position": { + "x": 25724.645036571015, + "y": 16809.337113991827 + }, + "targetPosition": { + "x": 25918.927640670277, + "y": 17120.196958904486 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Algorithm Name", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.algorithmName", + "project": "Foundations", + "id": "97900d0e-0265-4372-ac65-db0a9ba5e883", + "savedPayload": { + "position": { + "x": 25766.508046747545, + "y": 16403.127434025006 + }, + "targetPosition": { + "x": 25842.7203203081, + "y": 16761.641403437883 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "aa1471eb-3f6b-48b2-bcda-361d306f91a5", + "savedPayload": { + "position": { + "x": 25842.7203203081, + "y": 16761.641403437883 + }, + "targetPosition": { + "x": 25918.927640670277, + "y": 17120.196958904486 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Situation Name", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.situationName", + "project": "Foundations", + "id": "08af860e-bd72-45d7-8403-19840373b3de", + "savedPayload": { + "position": { + "x": 26020.553459058643, + "y": 16394.262168519683 + }, + "targetPosition": { + "x": 25969.793225233236, + "y": 16757.234513930773 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "6f741d19-bf23-4357-b617-77918f4f3ea2", + "savedPayload": { + "position": { + "x": 25969.793225233236, + "y": 16757.234513930773 + }, + "targetPosition": { + "x": 25918.927640670277, + "y": 17120.196958904486 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Periods", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.periods", + "project": "Foundations", + "id": "2ac7d9fd-c3fd-4ba5-a15a-2dcd4ac4ecd9", + "savedPayload": { + "position": { + "x": 26232.717890915756, + "y": 16476.22156067744 + }, + "targetPosition": { + "x": 26090.975850962655, + "y": 16796.724384788624 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "029ddf36-ab43-4996-94ac-b1fab2cccc53", + "savedPayload": { + "position": { + "x": 26090.975850962655, + "y": 16796.724384788624 + }, + "targetPosition": { + "x": 25918.927640670277, + "y": 17120.196958904486 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "2ea54c27-9848-4127-8230-28f2db90156a", + "savedPayload": { + "position": { + "x": 25415.205582425, + "y": 17561.31723317104 + }, + "targetPosition": { + "x": 25438.756762734323, + "y": 18010.7005238106 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Panel", + "name": "Market Sell Order Stats", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Percentage Filled", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.percentageFilled", + "project": "Foundations", + "id": "f04b4e77-1219-4522-946b-e4350a0095c7", + "savedPayload": { + "position": { + "x": 25661.744945593135, + "y": 16988.178590236315 + }, + "targetPosition": { + "x": 25804.405463631232, + "y": 17103.55687602011 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "5f4ff486-f983-4e3e-ad65-84ed431cb32d", + "savedPayload": { + "position": { + "x": 25804.405463631232, + "y": 17103.55687602011 + }, + "targetPosition": { + "x": 25998.35323753633, + "y": 17260.304148941414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Actual Rate", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.actualRate", + "project": "Foundations", + "id": "8f90dcca-3596-495f-b65b-491e170d04e8", + "savedPayload": { + "position": { + "x": 25942.680721768116, + "y": 16840.217075568115 + }, + "targetPosition": { + "x": 25972.080139441423, + "y": 17012.64817770141 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "bdaae96b-6620-460e-a1b4-68a1616b2eeb", + "savedPayload": { + "position": { + "x": 25972.080139441423, + "y": 17012.64817770141 + }, + "targetPosition": { + "x": 25998.35323753633, + "y": 17260.304148941414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Days", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.days", + "project": "Foundations", + "id": "4aee478f-7636-4637-814b-9ef7375a7ed8", + "savedPayload": { + "position": { + "x": 26248.81482676915, + "y": 16925.334620098285 + }, + "targetPosition": { + "x": 26133.90192542014, + "y": 17068.31204933217 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "d8123703-a1f2-4a64-9ba9-5df7961ec91c", + "savedPayload": { + "position": { + "x": 26133.90192542014, + "y": 17068.31204933217 + }, + "targetPosition": { + "x": 25998.35323753633, + "y": 17260.304148941414 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "84306bfb-6d08-47cd-bbd3-d323376277a3", + "savedPayload": { + "position": { + "x": 25643.05248761712, + "y": 17609.747587925835 + }, + "targetPosition": { + "x": 25438.756762734323, + "y": 18010.7005238106 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Panel", + "name": "Market Sell Order Base Asset", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Size", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.sizeInBaseAsset", + "project": "Foundations", + "id": "3d47abd8-a9cf-46f9-836a-fe0f447cba33", + "savedPayload": { + "position": { + "x": 25909.718779177754, + "y": 17325.446537723623 + }, + "targetPosition": { + "x": 25862.93864874376, + "y": 17545.52974788873 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "a87ba22c-2168-4b52-9b92-b446e87b7b62", + "savedPayload": { + "position": { + "x": 25862.93864874376, + "y": 17545.52974788873 + }, + "targetPosition": { + "x": 25816.158518309763, + "y": 17765.612958053836 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Size Filled", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.sizeFilledInBaseAsset", + "project": "Foundations", + "id": "dfec54b9-ca8d-4acc-bf7f-6dd1a1ecc5e3", + "savedPayload": { + "position": { + "x": 26193.560273885203, + "y": 17520.525392297077 + }, + "targetPosition": { + "x": 26004.859396097483, + "y": 17643.069175175457 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "4c6afe56-4196-428a-aeb0-08078542b82c", + "savedPayload": { + "position": { + "x": 26004.859396097483, + "y": 17643.069175175457 + }, + "targetPosition": { + "x": 25816.158518309763, + "y": 17765.612958053836 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Fees Paid", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.feesPaidInBaseAsset", + "project": "Foundations", + "id": "50846e48-881b-48fe-89cb-0c7dbb8e6b0a", + "savedPayload": { + "position": { + "x": 26256.324938639977, + "y": 17859.173218921827 + }, + "targetPosition": { + "x": 26036.24172847487, + "y": 17812.393088487832 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "42dc9afa-1659-46e3-a335-6315573ef8de", + "savedPayload": { + "position": { + "x": 26036.24172847487, + "y": 17812.393088487832 + }, + "targetPosition": { + "x": 25816.158518309763, + "y": 17765.612958053836 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "a5c81b71-8ba4-4d20-9f90-7f4f596dabec", + "savedPayload": { + "position": { + "x": 25816.158518309763, + "y": 17765.612958053836 + }, + "targetPosition": { + "x": 25438.756762734323, + "y": 18010.7005238106 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Panel", + "name": "Market Sell Order Quoted Asset", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Size", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.sizeInQuotedAsset", + "project": "Foundations", + "id": "438bbee0-6264-4c99-8c49-ebaef543548b", + "savedPayload": { + "position": { + "x": 26189.24882623537, + "y": 17652.73417203645 + }, + "targetPosition": { + "x": 26038.694439804625, + "y": 17819.941757768862 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "e75ffc80-ea9b-4488-b595-462d4f4cb8f7", + "savedPayload": { + "position": { + "x": 26038.694439804625, + "y": 17819.941757768862 + }, + "targetPosition": { + "x": 25888.14005337388, + "y": 17987.149343501274 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Size Filled", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.sizeFilledInQuotedAsset", + "project": "Foundations", + "id": "a6d3b22e-b10e-4949-aaae-caf7f1e61441", + "savedPayload": { + "position": { + "x": 26337.523344013436, + "y": 17963.59816319195 + }, + "targetPosition": { + "x": 26112.83169869366, + "y": 17975.373753346612 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "255ebe56-799e-46c4-87e8-08234644cc3e", + "savedPayload": { + "position": { + "x": 26112.83169869366, + "y": 17975.373753346612 + }, + "targetPosition": { + "x": 25888.14005337388, + "y": 17987.149343501274 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Fees Paid", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.feesPaidInQuotedAsset", + "project": "Foundations", + "id": "82a3c950-4475-4bab-8b8a-1b7c967501db", + "savedPayload": { + "position": { + "x": 26222.555224838707, + "y": 18288.258116362762 + }, + "targetPosition": { + "x": 26055.347639106294, + "y": 18137.703729932018 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "84a130ab-3085-49cf-86f7-aaa49d3f2278", + "savedPayload": { + "position": { + "x": 26055.347639106294, + "y": 18137.703729932018 + }, + "targetPosition": { + "x": 25888.14005337388, + "y": 17987.149343501274 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "f85beb80-f114-4877-a287-cbc7978f381e", + "savedPayload": { + "position": { + "x": 25888.14005337388, + "y": 17987.149343501274 + }, + "targetPosition": { + "x": 25438.756762734323, + "y": 18010.7005238106 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "7204c8f3-8e59-4036-97ce-b34019f87783", + "savedPayload": { + "position": { + "x": 25438.756762734323, + "y": 18010.7005238106 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 18411.653459695364 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Limit Buy Orders", + "config": "{\n \"codeName\": \"Market-Buy-Orders\",\n \"icon\": \"trend\",\n \"useRateAtMousePosition\": true,\n \"ratePropertyName\": \"actualRate\"\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": "Begin", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin\nif (record.actualRate !== 0) {\ny = record.actualRate\n} else {\ny = record.rate\n}", + "project": "Foundations", + "id": "0072b888-4226-4662-964d-c2bbde29d3c4", + "savedPayload": { + "position": { + "x": 24702.42114812653, + "y": 17264.976323973235 + }, + "targetPosition": { + "x": 25034.269679429366, + "y": 17326.480813826834 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "01982e1d-203b-4d25-baf7-d299dae31935", + "savedPayload": { + "position": { + "x": 25034.269679429366, + "y": 17326.480813826834 + }, + "targetPosition": { + "x": 25366.118210732202, + "y": 17387.985303680434 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "End", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.end\nif (record.actualRate !== 0) {\ny = record.actualRate\n} else {\ny = record.rate\n}", + "project": "Foundations", + "id": "78e10d0f-1c1d-4bf9-9051-1ef0f161b2d0", + "savedPayload": { + "position": { + "x": 24852.844183952184, + "y": 16949.60787105756 + }, + "targetPosition": { + "x": 25109.481197342193, + "y": 17168.796587368997 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "4a96271a-5d94-4027-9241-ad07fd9eec06", + "savedPayload": { + "position": { + "x": 25109.481197342193, + "y": 17168.796587368997 + }, + "targetPosition": { + "x": 25366.118210732202, + "y": 17387.985303680434 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "74bf1dea-2ac4-4e63-88ca-2dbe438d9dd9", + "savedPayload": { + "position": { + "x": 25366.118210732202, + "y": 17387.985303680434 + }, + "targetPosition": { + "x": 25670.74074420028, + "y": 17533.282798853234 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "polygons": [ + { + "type": "Polygon", + "name": "Status Open", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.status === 'Open'", + "project": "Foundations", + "id": "d8e4095f-f317-4cf1-8281-c046057066aa", + "savedPayload": { + "position": { + "x": 25129.82577061136, + "y": 17161.522237283072 + }, + "targetPosition": { + "x": 25444.909164554167, + "y": 17282.471420254613 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [2,2]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "ffe991b0-d002-4d2a-8d44-3f7f24f70358", + "savedPayload": { + "position": { + "x": 24920.335640570713, + "y": 16857.68015629597 + }, + "targetPosition": { + "x": 25182.62240256244, + "y": 17070.07578827529 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "b00164cd-5989-4cb1-bdbb-caad49ca580e", + "savedPayload": { + "position": { + "x": 25182.62240256244, + "y": 17070.07578827529 + }, + "targetPosition": { + "x": 25444.909164554167, + "y": 17282.471420254613 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin", + "project": "Foundations", + "id": "d394409a-18e0-4d0a-a623-008301044758", + "savedPayload": { + "position": { + "x": 25261.093490236595, + "y": 16999.420103573033 + }, + "targetPosition": { + "x": 25444.909164554167, + "y": 17282.471420254613 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin", + "id": "01982e1d-203b-4d25-baf7-d299dae31935" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Limit Buy Orders", + "Plotter Module", + "Foundations", + "7e3120c7-a0c9-483c-ada9-8c53deb10f33" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "3ea3861e-f37d-4d78-a45e-9b5fa738aefd" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "8901df44-b813-47f3-8ded-4e1f6c68ae8b" + ], + [ + "Begin", + "Point", + "Foundations", + "491e71de-b648-48aa-b493-67ed00359e73" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End", + "project": "Foundations", + "id": "7556bf11-db8d-44f4-903f-925568548635", + "savedPayload": { + "position": { + "x": 25357.557736832066, + "y": 16956.47145388205 + }, + "targetPosition": { + "x": 25444.909164554167, + "y": 17282.471420254613 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End", + "id": "4a96271a-5d94-4027-9241-ad07fd9eec06" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Limit Buy Orders", + "Plotter Module", + "Foundations", + "7e3120c7-a0c9-483c-ada9-8c53deb10f33" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "3ea3861e-f37d-4d78-a45e-9b5fa738aefd" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "8901df44-b813-47f3-8ded-4e1f6c68ae8b" + ], + [ + "End", + "Point", + "Foundations", + "38fccc9b-d822-4598-a156-95c734ec3d6b" + ] + ] + } + } + ], + "id": "ac3c3f35-bb05-4e2c-999e-07c54c8de4c5", + "savedPayload": { + "position": { + "x": 25444.909164554167, + "y": 17282.471420254613 + }, + "targetPosition": { + "x": 25670.74074420028, + "y": 17533.282798853234 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Status Closed Cancel Event", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.status === 'Closed' && record.exitType === 'Cancel Event'", + "project": "Foundations", + "id": "c4a20666-b2e7-49fe-9f14-447add17c303", + "savedPayload": { + "position": { + "x": 25313.267078992234, + "y": 16982.821626312983 + }, + "targetPosition": { + "x": 25558.08092920888, + "y": 17215.141295609625 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [4,4]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "781d6056-6fc4-4105-a1e1-6b9957050475", + "savedPayload": { + "position": { + "x": 25235.99876603365, + "y": 16621.9397445628 + }, + "targetPosition": { + "x": 25397.039847621265, + "y": 16918.54052008621 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "d54fce8e-0a62-4f23-a348-739bd06d2a97", + "savedPayload": { + "position": { + "x": 25397.039847621265, + "y": 16918.54052008621 + }, + "targetPosition": { + "x": 25558.08092920888, + "y": 17215.141295609625 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin", + "project": "Foundations", + "id": "31492e4a-496e-4d53-8fb7-05a0a9a4e6d9", + "savedPayload": { + "position": { + "x": 25496.57643935528, + "y": 16883.29276430679 + }, + "targetPosition": { + "x": 25558.08092920888, + "y": 17215.141295609625 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin", + "id": "01982e1d-203b-4d25-baf7-d299dae31935" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Limit Buy Orders", + "Plotter Module", + "Foundations", + "7e3120c7-a0c9-483c-ada9-8c53deb10f33" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "3ea3861e-f37d-4d78-a45e-9b5fa738aefd" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "8901df44-b813-47f3-8ded-4e1f6c68ae8b" + ], + [ + "Begin", + "Point", + "Foundations", + "491e71de-b648-48aa-b493-67ed00359e73" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End", + "project": "Foundations", + "id": "0b1a9712-12fe-487d-9812-e72f6a72113c", + "savedPayload": { + "position": { + "x": 25602.13351908315, + "y": 16880.528654895963 + }, + "targetPosition": { + "x": 25558.08092920888, + "y": 17215.141295609625 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End", + "id": "4a96271a-5d94-4027-9241-ad07fd9eec06" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Limit Buy Orders", + "Plotter Module", + "Foundations", + "7e3120c7-a0c9-483c-ada9-8c53deb10f33" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "3ea3861e-f37d-4d78-a45e-9b5fa738aefd" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "8901df44-b813-47f3-8ded-4e1f6c68ae8b" + ], + [ + "End", + "Point", + "Foundations", + "38fccc9b-d822-4598-a156-95c734ec3d6b" + ] + ] + } + } + ], + "id": "922ec096-a4c7-458a-9980-c44e3364dfb8", + "savedPayload": { + "position": { + "x": 25558.08092920888, + "y": 17215.141295609625 + }, + "targetPosition": { + "x": 25670.74074420028, + "y": 17533.282798853234 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Status Closed Filled", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.status === 'Closed' && record.exitType === 'Filled'", + "project": "Foundations", + "id": "59f47585-09e3-41b9-a51c-c2a2111ea9e8", + "savedPayload": { + "position": { + "x": 25551.130512394193, + "y": 16887.923738919188 + }, + "targetPosition": { + "x": 25688.404129432274, + "y": 17196.245330873564 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "5d92b2eb-9362-4eb0-982b-51c0c076ce86", + "savedPayload": { + "position": { + "x": 25617.84741672661, + "y": 16524.943051499977 + }, + "targetPosition": { + "x": 25653.125773079442, + "y": 16860.59419118677 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "501547ef-d456-4c86-a68a-823cd3e2f261", + "savedPayload": { + "position": { + "x": 25653.125773079442, + "y": 16860.59419118677 + }, + "targetPosition": { + "x": 25688.404129432274, + "y": 17196.245330873564 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin", + "project": "Foundations", + "id": "4773b291-4486-4bea-a12e-684b31e04505", + "savedPayload": { + "position": { + "x": 25758.574325083267, + "y": 16866.120515625906 + }, + "targetPosition": { + "x": 25688.404129432274, + "y": 17196.245330873564 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin", + "id": "01982e1d-203b-4d25-baf7-d299dae31935" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Limit Buy Orders", + "Plotter Module", + "Foundations", + "7e3120c7-a0c9-483c-ada9-8c53deb10f33" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "3ea3861e-f37d-4d78-a45e-9b5fa738aefd" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "8901df44-b813-47f3-8ded-4e1f6c68ae8b" + ], + [ + "Begin", + "Point", + "Foundations", + "491e71de-b648-48aa-b493-67ed00359e73" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End", + "project": "Foundations", + "id": "3e8a4c26-d54c-4259-a4fa-b345f91d474c", + "savedPayload": { + "position": { + "x": 25857.154129432274, + "y": 16903.961757096316 + }, + "targetPosition": { + "x": 25688.404129432274, + "y": 17196.245330873564 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End", + "id": "4a96271a-5d94-4027-9241-ad07fd9eec06" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Limit Buy Orders", + "Plotter Module", + "Foundations", + "7e3120c7-a0c9-483c-ada9-8c53deb10f33" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "3ea3861e-f37d-4d78-a45e-9b5fa738aefd" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "8901df44-b813-47f3-8ded-4e1f6c68ae8b" + ], + [ + "End", + "Point", + "Foundations", + "38fccc9b-d822-4598-a156-95c734ec3d6b" + ] + ] + } + } + ], + "id": "491567ff-b836-4450-bc7c-3ba4dddd6992", + "savedPayload": { + "position": { + "x": 25688.404129432274, + "y": 17196.245330873564 + }, + "targetPosition": { + "x": 25670.74074420028, + "y": 17533.282798853234 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "images": [ + { + "type": "Image", + "name": "Status Closed Cancel Event", + "config": "{ \n\"codeName\": \"bullet-cancelled-order\", \n\"size\": 10\n}", + "project": "Foundations", + "imageCondition": { + "type": "Image Condition", + "name": "New Image Condition", + "code": "record.status === 'Closed' && record.exitType === 'Cancel Event'", + "project": "Foundations", + "id": "04784ea0-aab7-49a5-9e62-34e51b238d29", + "savedPayload": { + "position": { + "x": 25846.79048429988, + "y": 17062.735999733737 + }, + "targetPosition": { + "x": 25816.03823937308, + "y": 17228.660265385155 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "imagePosition": { + "type": "Image Position", + "name": "End", + "config": "{ \n\"offsetX\": -5,\n \"offsetY\": 0\n }", + "project": "Foundations", + "id": "bb64ff6e-ab5f-4f59-90f2-1ffb7b04d2d6", + "savedPayload": { + "position": { + "x": 25925.6325975288, + "y": 17100.34175869015 + }, + "targetPosition": { + "x": 25816.03823937308, + "y": 17228.660265385155 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End", + "id": "4a96271a-5d94-4027-9241-ad07fd9eec06" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Limit Buy Orders", + "Plotter Module", + "Foundations", + "7e3120c7-a0c9-483c-ada9-8c53deb10f33" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "3ea3861e-f37d-4d78-a45e-9b5fa738aefd" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "8901df44-b813-47f3-8ded-4e1f6c68ae8b" + ], + [ + "End", + "Point", + "Foundations", + "38fccc9b-d822-4598-a156-95c734ec3d6b" + ] + ] + } + }, + "id": "6ab35e7c-4be2-47e0-b13a-aad57de1951a", + "savedPayload": { + "position": { + "x": 25816.03823937308, + "y": 17228.660265385155 + }, + "targetPosition": { + "x": 25670.74074420028, + "y": 17533.282798853234 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Image", + "name": "Starting Point", + "config": "{ \n\"codeName\": \"bullet-limit-buy-order\", \n\"size\": 20\n}", + "project": "Foundations", + "imagePosition": { + "type": "Image Position", + "name": "Begin", + "config": "{ \n\"offsetX\": 10,\n \"offsetY\": 0\n }", + "project": "Foundations", + "id": "8290d9ea-a693-4a54-9682-102fe35a0f85", + "savedPayload": { + "position": { + "x": 26046.95781209821, + "y": 17194.53542938406 + }, + "targetPosition": { + "x": 25921.5521227989, + "y": 17307.45121920712 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin", + "id": "01982e1d-203b-4d25-baf7-d299dae31935" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Limit Buy Orders", + "Plotter Module", + "Foundations", + "7e3120c7-a0c9-483c-ada9-8c53deb10f33" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "3ea3861e-f37d-4d78-a45e-9b5fa738aefd" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "8901df44-b813-47f3-8ded-4e1f6c68ae8b" + ], + [ + "Begin", + "Point", + "Foundations", + "491e71de-b648-48aa-b493-67ed00359e73" + ] + ] + } + }, + "id": "725902ee-71dc-4c57-97ab-3d6ef84c30fa", + "savedPayload": { + "position": { + "x": 25921.5521227989, + "y": 17307.45121920712 + }, + "targetPosition": { + "x": 25670.74074420028, + "y": 17533.282798853234 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Image", + "name": "Status Closed Filled", + "config": "{ \n\"codeName\": \"bullet-limit-buy-order-filled\", \n\"size\": 20\n}", + "project": "Foundations", + "imageCondition": { + "type": "Image Condition", + "name": "New Image Condition", + "code": "record.status === 'Closed' && record.exitType === 'Filled'", + "project": "Foundations", + "id": "64bd2838-cd91-4271-ab35-bddb4befc557", + "savedPayload": { + "position": { + "x": 26127.953541773855, + "y": 17325.04193138077 + }, + "targetPosition": { + "x": 25988.88224744389, + "y": 17420.622983861835 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "imagePosition": { + "type": "Image Position", + "name": "End", + "config": "{ \n\"offsetX\": -10,\n \"offsetY\": 0\n }", + "project": "Foundations", + "id": "8ed33d3d-90ff-45e1-bece-338c6fe4dc67", + "savedPayload": { + "position": { + "x": 26157.112047511353, + "y": 17407.38301145776 + }, + "targetPosition": { + "x": 25988.88224744389, + "y": 17420.622983861835 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End", + "id": "4a96271a-5d94-4027-9241-ad07fd9eec06" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Limit Buy Orders", + "Plotter Module", + "Foundations", + "7e3120c7-a0c9-483c-ada9-8c53deb10f33" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "3ea3861e-f37d-4d78-a45e-9b5fa738aefd" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "8901df44-b813-47f3-8ded-4e1f6c68ae8b" + ], + [ + "End", + "Point", + "Foundations", + "38fccc9b-d822-4598-a156-95c734ec3d6b" + ] + ] + } + }, + "id": "4813e846-1bb3-42a2-933d-6576e91cc08b", + "savedPayload": { + "position": { + "x": 25988.88224744389, + "y": 17420.622983861835 + }, + "targetPosition": { + "x": 25670.74074420028, + "y": 17533.282798853234 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "texts": [], + "id": "95488e7d-afdc-4935-a308-52682cb66544", + "savedPayload": { + "position": { + "x": 25670.74074420028, + "y": 17533.282798853234 + }, + "targetPosition": { + "x": 25635.413973736293, + "y": 18207.35773481257 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 4, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "panels": [ + { + "type": "Plotter Panel", + "name": "Limit Buy Order", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Serial Number", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.serialNumber", + "project": "Foundations", + "id": "734d0a5c-8343-4dc9-9091-f0f5cfc1bf92", + "savedPayload": { + "position": { + "x": 25808.566356899184, + "y": 16859.68821278242 + }, + "targetPosition": { + "x": 25999.82479547672, + "y": 17113.34791779708 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "d7824735-d109-4208-9b47-1ca43c0b294a", + "savedPayload": { + "position": { + "x": 25999.82479547672, + "y": 17113.34791779708 + }, + "targetPosition": { + "x": 26279.97239979802, + "y": 17475.664449905464 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Rate", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.rate", + "project": "Foundations", + "id": "ed9d97c0-59a6-4595-9c53-70f80f190135", + "savedPayload": { + "position": { + "x": 26050.194811139496, + "y": 16733.444266794602 + }, + "targetPosition": { + "x": 26143.070305686735, + "y": 17037.48283356639 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "30c9af0b-dffe-4622-9b24-542dbb46047b", + "savedPayload": { + "position": { + "x": 26143.070305686735, + "y": 17037.48283356639 + }, + "targetPosition": { + "x": 26279.97239979802, + "y": 17475.664449905464 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Status", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.status", + "project": "Foundations", + "id": "78698b65-352b-4181-8997-2f372ab9a0cc", + "savedPayload": { + "position": { + "x": 26319.176976985946, + "y": 16699.12041764456 + }, + "targetPosition": { + "x": 26302.621105072278, + "y": 17016.727380594355 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "5e074c19-ba57-4716-aa1b-f527d77b01b2", + "savedPayload": { + "position": { + "x": 26302.621105072278, + "y": 17016.727380594355 + }, + "targetPosition": { + "x": 26279.97239979802, + "y": 17475.664449905464 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Exit Type", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.exitType", + "project": "Foundations", + "id": "ac0d3a7c-f3ce-4773-b04c-b307528a6966", + "savedPayload": { + "position": { + "x": 26583.436433642135, + "y": 16759.21542389151 + }, + "targetPosition": { + "x": 26458.98897574639, + "y": 17052.234152623685 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "37ab8e3e-06f8-4d2a-9d88-9f15cc76aeab", + "savedPayload": { + "position": { + "x": 26458.98897574639, + "y": 17052.234152623685 + }, + "targetPosition": { + "x": 26279.97239979802, + "y": 17475.664449905464 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Order Name", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.orderName", + "project": "Foundations", + "id": "21ee68f1-9165-4d0f-a904-96b433bed98a", + "savedPayload": { + "position": { + "x": 26810.548657819636, + "y": 16906.5554575233 + }, + "targetPosition": { + "x": 26593.60859792219, + "y": 17139.001457940136 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "71bc0b0d-04c2-4eae-8fb2-27ad7e620f44", + "savedPayload": { + "position": { + "x": 26593.60859792219, + "y": 17139.001457940136 + }, + "targetPosition": { + "x": 26279.97239979802, + "y": 17475.664449905464 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Algorithm Name", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.algorithmName", + "project": "Foundations", + "id": "d9e01022-3103-4394-bf34-51a70f9ee41c", + "savedPayload": { + "position": { + "x": 26973.693292066895, + "y": 17122.53300949783 + }, + "targetPosition": { + "x": 26689.971034727372, + "y": 17266.74783639288 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "ca781c70-55f2-49eb-a3c2-8bf0c08e9dae", + "savedPayload": { + "position": { + "x": 26689.971034727372, + "y": 17266.74783639288 + }, + "targetPosition": { + "x": 26279.97239979802, + "y": 17475.664449905464 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Situation Name", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.situationName", + "project": "Foundations", + "id": "f1e90850-baf1-4bb6-a66b-f322a57733fe", + "savedPayload": { + "position": { + "x": 27052.467076284334, + "y": 17381.37596039271 + }, + "targetPosition": { + "x": 26737.114576753193, + "y": 17419.676594332723 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "d3e019ad-b730-4c9d-89a8-9e482bb880e3", + "savedPayload": { + "position": { + "x": 26737.114576753193, + "y": 17419.676594332723 + }, + "targetPosition": { + "x": 26279.97239979802, + "y": 17475.664449905464 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Periods", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.periods", + "project": "Foundations", + "id": "7e39b1d4-1284-4d37-baf8-b55eddacfdfd", + "savedPayload": { + "position": { + "x": 27034.14369948208, + "y": 17661.6622996032 + }, + "targetPosition": { + "x": 26723.88926478417, + "y": 17589.256865288906 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "082f597e-5829-4e2f-82b3-2e2b08dfc73b", + "savedPayload": { + "position": { + "x": 26723.88926478417, + "y": 17589.256865288906 + }, + "targetPosition": { + "x": 26279.97239979802, + "y": 17475.664449905464 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "99a381cf-56c6-443c-a132-8e3ef8e31410", + "savedPayload": { + "position": { + "x": 25880.501539493056, + "y": 17829.95597923713 + }, + "targetPosition": { + "x": 25635.413973736293, + "y": 18207.35773481257 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Panel", + "name": "Limit Buy Order Stats", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Percentage Filled", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.percentageFilled", + "project": "Foundations", + "id": "bc6e70b0-06b3-40f6-8622-878e1c470a78", + "savedPayload": { + "position": { + "x": 26184.789952502673, + "y": 17408.372005273617 + }, + "targetPosition": { + "x": 26327.45047054077, + "y": 17523.75029105741 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "2d3fb889-c00d-4e97-b776-2adbea92d12a", + "savedPayload": { + "position": { + "x": 26327.45047054077, + "y": 17523.75029105741 + }, + "targetPosition": { + "x": 26521.398244445867, + "y": 17680.497563978715 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Actual Rate", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.actualRate", + "project": "Foundations", + "id": "077c4694-6f3a-4239-88b3-2a121af54b3e", + "savedPayload": { + "position": { + "x": 26465.725728677655, + "y": 17260.410490605413 + }, + "targetPosition": { + "x": 26495.12514635096, + "y": 17432.84159273871 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "d35bb15c-0d02-49ed-9eb0-86c465f4fe78", + "savedPayload": { + "position": { + "x": 26495.12514635096, + "y": 17432.84159273871 + }, + "targetPosition": { + "x": 26521.398244445867, + "y": 17680.497563978715 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Days", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.days", + "project": "Foundations", + "id": "a12fd0cc-303a-4225-9136-c0a86c256c9a", + "savedPayload": { + "position": { + "x": 26771.85983367869, + "y": 17345.528035135583 + }, + "targetPosition": { + "x": 26656.94693232968, + "y": 17488.50546436947 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "a1168086-9afb-409b-83ab-ddb5006a63f1", + "savedPayload": { + "position": { + "x": 26656.94693232968, + "y": 17488.50546436947 + }, + "targetPosition": { + "x": 26521.398244445867, + "y": 17680.497563978715 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "96b3dc99-0766-4cca-9221-4f500212fe4a", + "savedPayload": { + "position": { + "x": 26036.366909621058, + "y": 18003.062009929774 + }, + "targetPosition": { + "x": 25635.413973736293, + "y": 18207.35773481257 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Panel", + "name": "Limit Buy Order Base Asset", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Size", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.sizeInBaseAsset", + "project": "Foundations", + "id": "3a303f26-a40f-4e0a-a617-0892da29da5a", + "savedPayload": { + "position": { + "x": 27143.472987860678, + "y": 17523.04631136966 + }, + "targetPosition": { + "x": 26907.97385272677, + "y": 17735.057736585964 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "17aad79c-5798-4c5c-8581-ed50caf3e480", + "savedPayload": { + "position": { + "x": 26907.97385272677, + "y": 17735.057736585964 + }, + "targetPosition": { + "x": 26568.64658169544, + "y": 18040.820576135597 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Size Filled", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.sizeFilledInBaseAsset", + "project": "Foundations", + "id": "bc05d50f-9c72-45d4-9f8c-53de9a839e19", + "savedPayload": { + "position": { + "x": 27341.552551814955, + "y": 18080.982748434482 + }, + "targetPosition": { + "x": 27023.805519038964, + "y": 18064.555586046044 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "cf5e1385-c5e0-4861-a551-596b7b9128c3", + "savedPayload": { + "position": { + "x": 27023.805519038964, + "y": 18064.555586046044 + }, + "targetPosition": { + "x": 26568.64658169544, + "y": 18040.820576135597 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Fees Paid", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.feesPaidInBaseAsset", + "project": "Foundations", + "id": "19a77257-5a4f-4df0-bc1a-7b260b82003c", + "savedPayload": { + "position": { + "x": 27086.624377917597, + "y": 18615.901612163692 + }, + "targetPosition": { + "x": 26874.099623750448, + "y": 18380.00762370844 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "49e2c6f5-cc62-4633-9e1a-08074d56d53e", + "savedPayload": { + "position": { + "x": 26874.099623750448, + "y": 18380.00762370844 + }, + "targetPosition": { + "x": 26568.64658169544, + "y": 18040.820576135597 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "9ad574aa-a7cc-4b75-87eb-b667b5d02b06", + "savedPayload": { + "position": { + "x": 26084.79726437585, + "y": 18230.908915121894 + }, + "targetPosition": { + "x": 25635.413973736293, + "y": 18207.35773481257 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Panel", + "name": "Limit Buy Order Quoted Asset", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Size", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.sizeInQuotedAsset", + "project": "Foundations", + "id": "813c2ad0-7e3c-422a-8ec3-aae4d5f33929", + "savedPayload": { + "position": { + "x": 27224.951230847735, + "y": 18192.39476561335 + }, + "targetPosition": { + "x": 26913.129382163286, + "y": 18258.66369760086 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "9e6a4167-9420-496e-a4f5-43bd42a7a34e", + "savedPayload": { + "position": { + "x": 26913.129382163286, + "y": 18258.66369760086 + }, + "targetPosition": { + "x": 26467.21967142654, + "y": 18353.62112216989 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Size Filled", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.sizeFilledInQuotedAsset", + "project": "Foundations", + "id": "e860fa57-dc3f-460a-ba5c-f46663edf3c0", + "savedPayload": { + "position": { + "x": 27116.573268728174, + "y": 18775.1328251409 + }, + "targetPosition": { + "x": 26849.974003186086, + "y": 18602.1108580679 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "d0920d8a-96ac-4478-b19b-d291fdd36a19", + "savedPayload": { + "position": { + "x": 26849.974003186086, + "y": 18602.1108580679 + }, + "targetPosition": { + "x": 26467.21967142654, + "y": 18353.62112216989 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Fees Paid", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.feesPaidInQuotedAsset", + "project": "Foundations", + "id": "bad709f7-2ce4-457f-85cd-46788712140a", + "savedPayload": { + "position": { + "x": 26628.169468753702, + "y": 19110.97412708272 + }, + "targetPosition": { + "x": 26562.00347322968, + "y": 18799.673612529677 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "1e7919ce-a999-4e51-9d37-7cc2a9bb4efd", + "savedPayload": { + "position": { + "x": 26562.00347322968, + "y": 18799.673612529677 + }, + "targetPosition": { + "x": 26467.21967142654, + "y": 18353.62112216989 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "1e14fdbf-56ef-4dc3-8f82-e81ff2dd6887", + "savedPayload": { + "position": { + "x": 26012.815729311733, + "y": 18452.445300569332 + }, + "targetPosition": { + "x": 25635.413973736293, + "y": 18207.35773481257 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "87d308b1-e21c-4d99-8eb6-2b944501e74a", + "savedPayload": { + "position": { + "x": 25635.413973736293, + "y": 18207.35773481257 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 18411.653459695364 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Module", + "name": "Limit Sell Orders", + "config": "{ \n \"codeName\": \"Market-Sell-Orders\", \n \"icon\": \"trend\",\n \"useRateAtMousePosition\": true,\n \"ratePropertyName\": \"actualRate\"\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": "Begin", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.begin\nif (record.actualRate !== 0) {\ny = record.actualRate\n} else {\ny = record.rate\n}", + "project": "Foundations", + "id": "e538de1f-4395-46c6-8fb1-caf0e08ea780", + "savedPayload": { + "position": { + "x": 25478.03163489708, + "y": 17171.246969023305 + }, + "targetPosition": { + "x": 25710.351304193722, + "y": 17416.060819239952 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "7e6f65b7-1584-4dcd-8c8e-c6a8ef2f64ee", + "savedPayload": { + "position": { + "x": 25710.351304193722, + "y": 17416.060819239952 + }, + "targetPosition": { + "x": 25942.670973490363, + "y": 17660.8746694566 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Point", + "name": "End", + "project": "Foundations", + "pointFormula": { + "type": "Point Formula", + "name": "New Point Formula", + "code": "x = record.end\nif (record.actualRate !== 0) {\ny = record.actualRate\n} else {\ny = record.rate\n}", + "project": "Foundations", + "id": "7c28c383-89db-49b2-b73a-babca859cfca", + "savedPayload": { + "position": { + "x": 25785.095352887627, + "y": 17004.52497318817 + }, + "targetPosition": { + "x": 25863.883163188995, + "y": 17332.699821322385 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "9edec51c-5580-433d-b55c-0490045373b2", + "savedPayload": { + "position": { + "x": 25863.883163188995, + "y": 17332.699821322385 + }, + "targetPosition": { + "x": 25942.670973490363, + "y": 17660.8746694566 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "7620a1ac-5491-4547-a912-1d43d1b57471", + "savedPayload": { + "position": { + "x": 25942.670973490363, + "y": 17660.8746694566 + }, + "targetPosition": { + "x": 26103.71205507798, + "y": 17957.475444980013 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "polygons": [ + { + "type": "Polygon", + "name": "Status Open", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.status === 'Open'", + "project": "Foundations", + "id": "975904e5-b7e0-4816-9190-977468df1a38", + "savedPayload": { + "position": { + "x": 25884.618024407577, + "y": 17338.77298861164 + }, + "targetPosition": { + "x": 26068.433698725148, + "y": 17621.82430529322 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [2,2]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "993a373e-1a10-4cb5-8818-65c1f5cbf8e5", + "savedPayload": { + "position": { + "x": 25893.730843280948, + "y": 16969.824372548097 + }, + "targetPosition": { + "x": 25981.082271003048, + "y": 17295.82433892066 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "54cf559b-09a4-4804-8dd4-8fdca121593e", + "savedPayload": { + "position": { + "x": 25981.082271003048, + "y": 17295.82433892066 + }, + "targetPosition": { + "x": 26068.433698725148, + "y": 17621.82430529322 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin", + "project": "Foundations", + "id": "0a853157-d4f8-4955-80b8-509b4e9870d6", + "savedPayload": { + "position": { + "x": 26086.097083957142, + "y": 17284.78683731355 + }, + "targetPosition": { + "x": 26068.433698725148, + "y": 17621.82430529322 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin", + "id": "7e6f65b7-1584-4dcd-8c8e-c6a8ef2f64ee" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Limit Sell Orders", + "Plotter Module", + "Foundations", + "fb243322-ec2a-4f03-bb77-e97e4699d1c6" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "42719bff-262a-4401-9611-761f0db1e790" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "045c78e6-ddff-4981-b497-31d6d19f9ef1" + ], + [ + "Begin", + "Point", + "Foundations", + "d8a8ba4d-ceac-43f7-9cac-b15d3c577e0a" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End", + "project": "Foundations", + "id": "e3b425a3-89bb-4dba-b72c-04f9a8400579", + "savedPayload": { + "position": { + "x": 26189.382881696685, + "y": 17306.740911350415 + }, + "targetPosition": { + "x": 26068.433698725148, + "y": 17621.82430529322 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End", + "id": "9edec51c-5580-433d-b55c-0490045373b2" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Limit Sell Orders", + "Plotter Module", + "Foundations", + "fb243322-ec2a-4f03-bb77-e97e4699d1c6" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "42719bff-262a-4401-9611-761f0db1e790" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "045c78e6-ddff-4981-b497-31d6d19f9ef1" + ], + [ + "End", + "Point", + "Foundations", + "a7c33161-bd93-4a7d-9d79-d6e6c3f3b292" + ] + ] + } + } + ], + "id": "6f0e5328-b762-487d-a8f3-22c09fdd0f6f", + "savedPayload": { + "position": { + "x": 26068.433698725148, + "y": 17621.82430529322 + }, + "targetPosition": { + "x": 26103.71205507798, + "y": 17957.475444980013 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Status Closed Cancel Event", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.status === 'Closed' && record.exitType === 'Cancel Event'", + "project": "Foundations", + "id": "889e2423-8200-490d-9932-5a648d3bb16d", + "savedPayload": { + "position": { + "x": 26138.062744061954, + "y": 17302.02525315916 + }, + "targetPosition": { + "x": 26199.567233915554, + "y": 17633.873784461997 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [4,4]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "5c964012-435a-4e79-af31-6916c16f69fe", + "savedPayload": { + "position": { + "x": 26287.672413664088, + "y": 16964.648503034674 + }, + "targetPosition": { + "x": 26243.61982378982, + "y": 17299.261143748336 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "e4cfbbfa-ed7e-429a-8008-a0f2e9e5d4fc", + "savedPayload": { + "position": { + "x": 26243.61982378982, + "y": 17299.261143748336 + }, + "targetPosition": { + "x": 26199.567233915554, + "y": 17633.873784461997 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin", + "project": "Foundations", + "id": "132f667e-4c8c-4b61-9650-f846755370a2", + "savedPayload": { + "position": { + "x": 26344.864729088353, + "y": 17329.25125099392 + }, + "targetPosition": { + "x": 26199.567233915554, + "y": 17633.873784461997 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin", + "id": "7e6f65b7-1584-4dcd-8c8e-c6a8ef2f64ee" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Limit Sell Orders", + "Plotter Module", + "Foundations", + "fb243322-ec2a-4f03-bb77-e97e4699d1c6" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "42719bff-262a-4401-9611-761f0db1e790" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "045c78e6-ddff-4981-b497-31d6d19f9ef1" + ], + [ + "Begin", + "Point", + "Foundations", + "d8a8ba4d-ceac-43f7-9cac-b15d3c577e0a" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End", + "project": "Foundations", + "id": "db67af3a-fa77-4135-a5ac-d617626ba053", + "savedPayload": { + "position": { + "x": 26431.886903212195, + "y": 17389.05993424535 + }, + "targetPosition": { + "x": 26199.567233915554, + "y": 17633.873784461997 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End", + "id": "9edec51c-5580-433d-b55c-0490045373b2" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Limit Sell Orders", + "Plotter Module", + "Foundations", + "fb243322-ec2a-4f03-bb77-e97e4699d1c6" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "42719bff-262a-4401-9611-761f0db1e790" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "045c78e6-ddff-4981-b497-31d6d19f9ef1" + ], + [ + "End", + "Point", + "Foundations", + "a7c33161-bd93-4a7d-9d79-d6e6c3f3b292" + ] + ] + } + } + ], + "id": "950bfd37-c5c6-4526-929b-8728fe9a1055", + "savedPayload": { + "position": { + "x": 26199.567233915554, + "y": 17633.873784461997 + }, + "targetPosition": { + "x": 26103.71205507798, + "y": 17957.475444980013 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Polygon", + "name": "Status Closed Filled", + "project": "Foundations", + "polygonCondition": { + "type": "Polygon Condition", + "name": "New Polygon Condition", + "code": "record.status === 'Closed' && record.exitType === 'Filled'", + "project": "Foundations", + "id": "4169ce30-a73e-4925-b7ba-5a929edf7dd4", + "savedPayload": { + "position": { + "x": 26386.277882708295, + "y": 17365.063867740628 + }, + "targetPosition": { + "x": 26316.1076870573, + "y": 17695.188682988286 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonBorder": { + "type": "Polygon Border", + "name": "New Polygon Border", + "project": "Foundations", + "style": { + "type": "Style", + "name": "New Style", + "config": "{\n \"default\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0]\n },\n \"atMousePosition\": {\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 1,\n \"lineWidth\": 3,\n \"lineDash\": [0,0]\n }\n}", + "project": "Foundations", + "id": "0d133068-610a-400e-8a18-60aae70b52c3", + "savedPayload": { + "position": { + "x": 26653.6076870573, + "y": 17110.62153543379 + }, + "targetPosition": { + "x": 26484.8576870573, + "y": 17402.90510921104 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "styleConditions": [], + "id": "01895f8e-bb17-40ce-9ce7-0ff460589dc2", + "savedPayload": { + "position": { + "x": 26484.8576870573, + "y": 17402.90510921104 + }, + "targetPosition": { + "x": 26316.1076870573, + "y": 17695.188682988286 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "polygonVertexes": [ + { + "type": "Polygon Vertex", + "name": " Begin", + "project": "Foundations", + "id": "fd34ba50-b765-496e-bd65-a254ae73da9d", + "savedPayload": { + "position": { + "x": 26566.919065655922, + "y": 17469.357103342172 + }, + "targetPosition": { + "x": 26316.1076870573, + "y": 17695.188682988286 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin", + "id": "7e6f65b7-1584-4dcd-8c8e-c6a8ef2f64ee" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Limit Sell Orders", + "Plotter Module", + "Foundations", + "fb243322-ec2a-4f03-bb77-e97e4699d1c6" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "42719bff-262a-4401-9611-761f0db1e790" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "045c78e6-ddff-4981-b497-31d6d19f9ef1" + ], + [ + "Begin", + "Point", + "Foundations", + "d8a8ba4d-ceac-43f7-9cac-b15d3c577e0a" + ] + ] + } + }, + { + "type": "Polygon Vertex", + "name": " End", + "project": "Foundations", + "id": "fb2b48f2-3304-4a28-83fe-5411106c57a0", + "savedPayload": { + "position": { + "x": 26624.429279011678, + "y": 17557.915065950205 + }, + "targetPosition": { + "x": 26316.1076870573, + "y": 17695.188682988286 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End", + "id": "9edec51c-5580-433d-b55c-0490045373b2" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Limit Sell Orders", + "Plotter Module", + "Foundations", + "fb243322-ec2a-4f03-bb77-e97e4699d1c6" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "42719bff-262a-4401-9611-761f0db1e790" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "045c78e6-ddff-4981-b497-31d6d19f9ef1" + ], + [ + "End", + "Point", + "Foundations", + "a7c33161-bd93-4a7d-9d79-d6e6c3f3b292" + ] + ] + } + } + ], + "id": "061913f9-0103-45a4-a491-9ce613ae6d6f", + "savedPayload": { + "position": { + "x": 26316.1076870573, + "y": 17695.188682988286 + }, + "targetPosition": { + "x": 26103.71205507798, + "y": 17957.475444980013 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "images": [ + { + "type": "Image", + "name": "Status Closed Cancel Event", + "config": "{ \n\"codeName\": \"bullet-cancelled-order\", \n\"size\": 10\n}", + "project": "Foundations", + "imageCondition": { + "type": "Image Condition", + "name": "New Image Condition", + "code": "record.status === 'Closed' && record.exitType === 'Cancel Event'", + "project": "Foundations", + "id": "d28e2407-4685-4610-8851-60ccc6eb9432", + "savedPayload": { + "position": { + "x": 26522.719755709717, + "y": 17680.274528744074 + }, + "targetPosition": { + "x": 26400.312830601393, + "y": 17796.434363392396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "imagePosition": { + "type": "Image Position", + "name": "End", + "config": "{ \n\"offsetX\": -5,\n \"offsetY\": 0\n }", + "project": "Foundations", + "id": "0048a165-610c-4c2a-9878-5cd48c0ab47c", + "savedPayload": { + "position": { + "x": 26564.4002546685, + "y": 17757.040458241714 + }, + "targetPosition": { + "x": 26400.312830601393, + "y": 17796.434363392396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End", + "id": "9edec51c-5580-433d-b55c-0490045373b2" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Limit Sell Orders", + "Plotter Module", + "Foundations", + "fb243322-ec2a-4f03-bb77-e97e4699d1c6" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "42719bff-262a-4401-9611-761f0db1e790" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "045c78e6-ddff-4981-b497-31d6d19f9ef1" + ], + [ + "End", + "Point", + "Foundations", + "a7c33161-bd93-4a7d-9d79-d6e6c3f3b292" + ] + ] + } + }, + "id": "152cd024-1496-431d-8d48-9b806850e16d", + "savedPayload": { + "position": { + "x": 26400.312830601393, + "y": 17796.434363392396 + }, + "targetPosition": { + "x": 26103.71205507798, + "y": 17957.475444980013 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Image", + "name": "Starting Point", + "config": "{ \n\"codeName\": \"bullet-limit-sell-order\", \n\"size\": 20\n}", + "project": "Foundations", + "imagePosition": { + "type": "Image Position", + "name": "Begin", + "config": "{ \n\"offsetX\": 10,\n \"offsetY\": 0\n }", + "project": "Foundations", + "id": "e9525d2a-a804-4770-beaf-51aea1cf6825", + "savedPayload": { + "position": { + "x": 26607.18876460817, + "y": 17904.557910450763 + }, + "targetPosition": { + "x": 26439.363194764774, + "y": 17922.19708862718 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "Begin", + "id": "7e6f65b7-1584-4dcd-8c8e-c6a8ef2f64ee" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Limit Sell Orders", + "Plotter Module", + "Foundations", + "fb243322-ec2a-4f03-bb77-e97e4699d1c6" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "42719bff-262a-4401-9611-761f0db1e790" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "045c78e6-ddff-4981-b497-31d6d19f9ef1" + ], + [ + "Begin", + "Point", + "Foundations", + "d8a8ba4d-ceac-43f7-9cac-b15d3c577e0a" + ] + ] + } + }, + "id": "809ce2b6-4480-4176-b49c-de4b8b96613c", + "savedPayload": { + "position": { + "x": 26439.363194764774, + "y": 17922.19708862718 + }, + "targetPosition": { + "x": 26103.71205507798, + "y": 17957.475444980013 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Image", + "name": "Status Closed Filled", + "config": "{ \n\"codeName\": \"bullet-limit-sell-order-filled\", \n\"size\": 20\n}", + "project": "Foundations", + "imageCondition": { + "type": "Image Condition", + "name": "New Image Condition", + "code": "record.status === 'Closed' && record.exitType === 'Filled'", + "project": "Foundations", + "id": "541130f5-8306-465d-bd6e-b989050883fd", + "savedPayload": { + "position": { + "x": 26596.00588918562, + "y": 18057.74798384454 + }, + "targetPosition": { + "x": 26427.313715595996, + "y": 18053.330623817586 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "imagePosition": { + "type": "Image Position", + "name": "End", + "config": "{ \n\"offsetX\": -10,\n \"offsetY\": 0\n }", + "project": "Foundations", + "id": "7d13d255-1b61-499e-b2f9-0e4733e748f6", + "savedPayload": { + "position": { + "x": 26571.196743330747, + "y": 18141.502256613403 + }, + "targetPosition": { + "x": 26427.313715595996, + "y": 18053.330623817586 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Point", + "name": "End", + "id": "9edec51c-5580-433d-b55c-0490045373b2" + }, + "referenceParentCombinedNodePath": [ + [ + "Masters", + "Portfolio Mine", + "Portfolio-Management", + "6a54eece-4582-4cda-a854-1cd805e00fed" + ], + [ + "Exchange Orders", + "Plotter", + "Foundations", + "93c15cbf-185a-4b59-b55f-847f437bb841" + ], + [ + "Limit Sell Orders", + "Plotter Module", + "Foundations", + "fb243322-ec2a-4f03-bb77-e97e4699d1c6" + ], + [ + "New Shapes", + "Shapes", + "Foundations", + "42719bff-262a-4401-9611-761f0db1e790" + ], + [ + "New Chart Points", + "Chart Points", + "Foundations", + "045c78e6-ddff-4981-b497-31d6d19f9ef1" + ], + [ + "End", + "Point", + "Foundations", + "a7c33161-bd93-4a7d-9d79-d6e6c3f3b292" + ] + ] + } + }, + "id": "3dfc2a90-00ca-4143-87a8-a91c454469de", + "savedPayload": { + "position": { + "x": 26427.313715595996, + "y": 18053.330623817586 + }, + "targetPosition": { + "x": 26103.71205507798, + "y": 17957.475444980013 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "texts": [], + "id": "7a8f9702-8ffa-4067-8674-71d81e56dfa2", + "savedPayload": { + "position": { + "x": 26103.71205507798, + "y": 17957.475444980013 + }, + "targetPosition": { + "x": 25678.92079111934, + "y": 18482.048968963467 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 4, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "panels": [ + { + "type": "Plotter Panel", + "name": "Limit Sell Order", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Serial Number", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.serialNumber", + "project": "Foundations", + "id": "ebc84d6f-c17b-4e10-b098-db01b1187309", + "savedPayload": { + "position": { + "x": 25578.925774958552, + "y": 19285.601809852644 + }, + "targetPosition": { + "x": 25918.71030946373, + "y": 19148.389796131767 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "ca53e17d-8593-41bb-ac60-65363cbbc390", + "savedPayload": { + "position": { + "x": 25918.71030946373, + "y": 19148.389796131767 + }, + "targetPosition": { + "x": 26258.494497567353, + "y": 19010.93732936894 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Rate", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.rate", + "project": "Foundations", + "id": "c56f42e4-9e8e-4d18-9015-42372499431d", + "savedPayload": { + "position": { + "x": 25525.82193530874, + "y": 19036.38036218791 + }, + "targetPosition": { + "x": 25892.11786314671, + "y": 19023.706073676723 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "0c6746a3-0680-4290-bb8a-50603f6892bf", + "savedPayload": { + "position": { + "x": 25892.11786314671, + "y": 19023.706073676723 + }, + "targetPosition": { + "x": 26258.494497567353, + "y": 19010.93732936894 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Status", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.status", + "project": "Foundations", + "id": "ccfb6922-7e32-4d8e-b76f-a39f2e23de08", + "savedPayload": { + "position": { + "x": 25561.212724369132, + "y": 18784.557554459145 + }, + "targetPosition": { + "x": 25909.807922666023, + "y": 18897.760916992404 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "8c3c5de7-1676-450b-99a8-41a52b4144de", + "savedPayload": { + "position": { + "x": 25909.807922666023, + "y": 18897.760916992404 + }, + "targetPosition": { + "x": 26258.494497567353, + "y": 19010.93732936894 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Exit Type", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.exitType", + "project": "Foundations", + "id": "b9ef779b-5b09-4176-aa13-010258ba8f11", + "savedPayload": { + "position": { + "x": 25680.743117195147, + "y": 18559.677824797076 + }, + "targetPosition": { + "x": 25969.57905352027, + "y": 18785.29764120035 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "48ad6a46-c6fe-4fd9-b4e9-3564cc06b305", + "savedPayload": { + "position": { + "x": 25969.57905352027, + "y": 18785.29764120035 + }, + "targetPosition": { + "x": 26258.494497567353, + "y": 19010.93732936894 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Order Name", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.orderName", + "project": "Foundations", + "id": "ea2b36ab-30d4-4bdf-a6ba-bc9bc938880d", + "savedPayload": { + "position": { + "x": 25869.977300376515, + "y": 18389.26234186455 + }, + "targetPosition": { + "x": 26064.21189346809, + "y": 18700.07748445628 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "c7648946-0370-429f-91d5-61f5648ad0c9", + "savedPayload": { + "position": { + "x": 26064.21189346809, + "y": 18700.07748445628 + }, + "targetPosition": { + "x": 26258.494497567353, + "y": 19010.93732936894 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Algorithm Name", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.algorithmName", + "project": "Foundations", + "id": "1c11c80f-b8e9-4496-9243-990b9169f34d", + "savedPayload": { + "position": { + "x": 26106.07490364462, + "y": 18293.86780448946 + }, + "targetPosition": { + "x": 26182.287177205177, + "y": 18652.381773902336 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "f9cea9e7-fe42-4bbf-a84c-2fbe22f375f5", + "savedPayload": { + "position": { + "x": 26182.287177205177, + "y": 18652.381773902336 + }, + "targetPosition": { + "x": 26258.494497567353, + "y": 19010.93732936894 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Situation Name", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.situationName", + "project": "Foundations", + "id": "25e47794-2660-4559-b19e-fb4dcb110b07", + "savedPayload": { + "position": { + "x": 26360.12031595572, + "y": 18285.002538984136 + }, + "targetPosition": { + "x": 26309.36008213031, + "y": 18647.974884395226 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "f41714d5-3c24-4e5c-804f-c04f72a59a88", + "savedPayload": { + "position": { + "x": 26309.36008213031, + "y": 18647.974884395226 + }, + "targetPosition": { + "x": 26258.494497567353, + "y": 19010.93732936894 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Periods", + "config": "{\n \"valueDecimals\": 0\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.periods", + "project": "Foundations", + "id": "b09b5c55-f228-4153-ab4e-559a42920723", + "savedPayload": { + "position": { + "x": 26572.28474781283, + "y": 18366.961931141894 + }, + "targetPosition": { + "x": 26430.54270785973, + "y": 18687.464755253077 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "34f92d95-546c-46b7-9d8d-5ab97740f12c", + "savedPayload": { + "position": { + "x": 26430.54270785973, + "y": 18687.464755253077 + }, + "targetPosition": { + "x": 26258.494497567353, + "y": 19010.93732936894 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "56622d37-ad39-4af0-bafb-1bd6571602fa", + "savedPayload": { + "position": { + "x": 26099.03198304308, + "y": 18320.783391668083 + }, + "targetPosition": { + "x": 25678.92079111934, + "y": 18482.048968963467 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Panel", + "name": "Limit Sell Order Stats", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Percentage Filled", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.percentageFilled", + "project": "Foundations", + "id": "a6eaa141-a063-44dc-808a-e9bdd12bf775", + "savedPayload": { + "position": { + "x": 26961.1179785076, + "y": 18247.10217708488 + }, + "targetPosition": { + "x": 26833.47522174016, + "y": 18340.504036059916 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "a2022025-515a-460a-bde6-2731d747b50a", + "savedPayload": { + "position": { + "x": 26833.47522174016, + "y": 18340.504036059916 + }, + "targetPosition": { + "x": 26621.84120978937, + "y": 18495.63000065743 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Actual Rate", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.actualRate", + "project": "Foundations", + "id": "6be27cb2-50f5-4da9-817a-8a249b76d332", + "savedPayload": { + "position": { + "x": 27037.12645253403, + "y": 18560.57913642084 + }, + "targetPosition": { + "x": 26880.637001324794, + "y": 18536.376057166784 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "8504b138-7310-4104-856f-b92aae954b96", + "savedPayload": { + "position": { + "x": 26880.637001324794, + "y": 18536.376057166784 + }, + "targetPosition": { + "x": 26621.84120978937, + "y": 18495.63000065743 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Days", + "config": "{\n \"valueDecimals\": 2\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.days", + "project": "Foundations", + "id": "4f82f96c-4c7e-4662-b54f-8181737da583", + "savedPayload": { + "position": { + "x": 26866.92663399728, + "y": 18837.1734271832 + }, + "targetPosition": { + "x": 26774.971973967436, + "y": 18708.228570863397 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "d1993feb-559b-471c-a327-9cf3cc2a304b", + "savedPayload": { + "position": { + "x": 26774.971973967436, + "y": 18708.228570863397 + }, + "targetPosition": { + "x": 26621.84120978937, + "y": 18495.63000065743 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 1, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "0038bb5d-086c-4ecf-9183-1a07baed9418", + "savedPayload": { + "position": { + "x": 26123.380544387153, + "y": 18552.44447823157 + }, + "targetPosition": { + "x": 25678.92079111934, + "y": 18482.048968963467 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Panel", + "name": "Limit Sell Order Base Asset", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Size", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.sizeInBaseAsset", + "project": "Foundations", + "id": "0874ac69-9c79-4dc4-8fc8-9766781af7ed", + "savedPayload": { + "position": { + "x": 27259.1642249201, + "y": 18715.923119787258 + }, + "targetPosition": { + "x": 26942.739498334275, + "y": 18748.780101438464 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "68cff4a6-2c4d-4c09-be3e-787d0bb3d05b", + "savedPayload": { + "position": { + "x": 26942.739498334275, + "y": 18748.780101438464 + }, + "targetPosition": { + "x": 26489.407582627788, + "y": 18796.222307744094 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Size Filled", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.sizeFilledInBaseAsset", + "project": "Foundations", + "id": "7210b365-e8fb-4fc9-80fd-e84cbad91fb5", + "savedPayload": { + "position": { + "x": 27090.802724630463, + "y": 19283.529854153127 + }, + "targetPosition": { + "x": 26843.85499475374, + "y": 19083.42942584912 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "099cd44e-7217-40f8-8b68-0ca0ea538156", + "savedPayload": { + "position": { + "x": 26843.85499475374, + "y": 19083.42942584912 + }, + "targetPosition": { + "x": 26489.407582627788, + "y": 18796.222307744094 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Fees Paid", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.feesPaidInBaseAsset", + "project": "Foundations", + "id": "c629fc9a-b329-47c0-ade4-3b6cd5353c58", + "savedPayload": { + "position": { + "x": 26570.22078539273, + "y": 19566.33772367536 + }, + "targetPosition": { + "x": 26537.08662784684, + "y": 19250.223269082322 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "e983d92e-2fc4-40c5-b334-318388bff63d", + "savedPayload": { + "position": { + "x": 26537.08662784684, + "y": 19250.223269082322 + }, + "targetPosition": { + "x": 26489.407582627788, + "y": 18796.222307744094 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "05a6be06-9cff-4c4b-ad76-eacace70f943", + "savedPayload": { + "position": { + "x": 26028.63647377498, + "y": 18765.243144935896 + }, + "targetPosition": { + "x": 25678.92079111934, + "y": 18482.048968963467 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Plotter Panel", + "name": "Limit Sell Order Quoted Asset", + "config": "{ \n \"codeName\": \"\"\n}", + "project": "Foundations", + "panelData": [ + { + "type": "Panel Data", + "name": "Size", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.sizeInQuotedAsset", + "project": "Foundations", + "id": "b29bb640-1314-4b95-82bf-849500c31b13", + "savedPayload": { + "position": { + "x": 26930.641921443068, + "y": 19304.103852372824 + }, + "targetPosition": { + "x": 26640.436744815757, + "y": 19174.923384250756 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "05f34a03-119f-49dc-a552-8f32d9a351f3", + "savedPayload": { + "position": { + "x": 26640.436744815757, + "y": 19174.923384250756 + }, + "targetPosition": { + "x": 26223.576830084643, + "y": 18989.464407979347 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Size Filled", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.sizeFilledInQuotedAsset", + "project": "Foundations", + "id": "3c3d2e56-8352-4ca0-90fb-86db5406b750", + "savedPayload": { + "position": { + "x": 26500.924421426364, + "y": 19711.969668892478 + }, + "targetPosition": { + "x": 26386.831080349315, + "y": 19414.938971297805 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "d8f1ecf7-beeb-4b09-9d88-69c536653b0e", + "savedPayload": { + "position": { + "x": 26386.831080349315, + "y": 19414.938971297805 + }, + "targetPosition": { + "x": 26223.576830084643, + "y": 18989.464407979347 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Panel Data", + "name": "Fees Paid", + "config": "{\n \"valueDecimals\": 10\n}", + "project": "Foundations", + "dataFormula": { + "type": "Data Formula", + "name": "New Data Formula", + "code": "record.feesPaidInQuotedAsset", + "project": "Foundations", + "id": "dc6d68db-ff3b-4ff9-9601-6f66264bdd66", + "savedPayload": { + "position": { + "x": 25908.9600968275, + "y": 19697.108173477904 + }, + "targetPosition": { + "x": 26038.228042396597, + "y": 19406.23342218428 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "d3dbff35-5423-404f-b82e-a6d3b60e02fb", + "savedPayload": { + "position": { + "x": 26038.228042396597, + "y": 19406.23342218428 + }, + "targetPosition": { + "x": 26223.576830084643, + "y": 18989.464407979347 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "30f418b6-2f34-424d-9abb-ce4045b62e1d", + "savedPayload": { + "position": { + "x": 25840.186368414725, + "y": 18902.160160887208 + }, + "targetPosition": { + "x": 25678.92079111934, + "y": 18482.048968963467 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "911175ef-0faa-402d-b2c3-30e4b374f28d", + "savedPayload": { + "position": { + "x": 25678.92079111934, + "y": 18482.048968963467 + }, + "targetPosition": { + "x": 25234.461037851528, + "y": 18411.653459695364 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "d58dacc0-8c54-46f4-992b-bfde7afc99fa", + "savedPayload": { + "position": { + "x": 25234.461037851528, + "y": 18411.653459695364 + }, + "targetPosition": { + "x": 24916.262986317583, + "y": 18729.85151122931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "0d676c5a-0aac-4a77-abc3-7b77a95ba7b1", + "savedPayload": { + "position": { + "x": 24916.262986317583, + "y": 18729.85151122931 + }, + "targetPosition": { + "x": 24916.262986317583, + "y": 18729.85151122931 + }, + "floatingObject": { + "isPinned": true, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 4, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } +} \ No newline at end of file diff --git a/Projects/Portfolio-Management/Plugins/Portfolio-Systems/BB-Top-Bounce-BTC-USDT.json b/Projects/Portfolio-Management/Plugins/Portfolio-Systems/BB-Top-Bounce-BTC-USDT.json new file mode 100644 index 000000000..b24fe62e7 --- /dev/null +++ b/Projects/Portfolio-Management/Plugins/Portfolio-Systems/BB-Top-Bounce-BTC-USDT.json @@ -0,0 +1 @@ +{"type":"Portfolio System","name":"BB Top Bounce","config":"{ \n\"codeName\": \"\"\n}","project":"Foundations","portfolioStrategies":[{"type":"Portfolio Strategy","name":"S1 - 3H Down","project":"Foundations","triggerStage":{"type":"Trigger Stage","name":"New Trigger Stage","project":"Foundations","triggerOn":{"type":"Trigger On Event","name":"New Trigger On Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"Previous Breakup","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.previous.close > chart.at01hs.bollingerBand.previous.movingAverage + chart.at01hs.bollingerBand.previous.deviation","project":"Foundations","id":"99948a6e-e866-4339-86ba-eac367226312","savedPayload":{"position":{"x":30780.386277758334,"y":30051.498744389715},"targetPosition":{"x":31072.097253877637,"y":30121.53235354649},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f0534c68-ab47-4370-b1fd-b3be4c1c262f","savedPayload":{"position":{"x":31072.097253877637,"y":30121.53235354649},"targetPosition":{"x":31363.80822999694,"y":30191.565962703262},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Close In","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage + chart.at01hs.bollingerBand.deviation","project":"Foundations","id":"d3bd1690-1f94-484b-ac3c-7be2c7be85ed","savedPayload":{"position":{"x":30878.398033371974,"y":29838.894811327777},"targetPosition":{"x":31121.103131684456,"y":30015.23038701552},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e2d7334d-cf52-44d9-a20e-5be201ca6799","savedPayload":{"position":{"x":31121.103131684456,"y":30015.23038701552},"targetPosition":{"x":31363.80822999694,"y":30191.565962703262},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Red Candle","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.candle.open","project":"Foundations","id":"d1fa707f-eb75-4b1c-8117-688b9b94e539","savedPayload":{"position":{"x":31050.30909116737,"y":29679.98186409081},"targetPosition":{"x":31207.058660582155,"y":29935.773913397035},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fb71bcfb-2a40-4e8a-b8e8-b492128350a0","savedPayload":{"position":{"x":31207.058660582155,"y":29935.773913397035},"targetPosition":{"x":31363.80822999694,"y":30191.565962703262},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"3H Down","code":"chart.at03hs.bollingerChannel.direction * chart.atAnyTimeFrame.externalSignal.timestamp > chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at03hs.bollingerChannel.direction === \"Down\"","project":"Foundations","id":"8c8c5128-b88b-44a5-8e36-d5c61127404f","savedPayload":{"position":{"x":31269.9475509728,"y":29598.95295834618},"targetPosition":{"x":31316.87789048487,"y":29895.25946052472},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"22246178-a8f9-4ec8-b55b-36cf7a24fbff","savedPayload":{"position":{"x":31316.87789048487,"y":29895.25946052472},"targetPosition":{"x":31363.80822999694,"y":30191.565962703262},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"3H Medium, Steep or Extreme","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at03hs.bollingerSubChannel.slope === \"Medium\" || chart.at03hs.bollingerSubChannel.slope === \"Steep\" || chart.at03hs.bollingerSubChannel.slope === \"Extreme\" ","project":"Foundations","id":"bf8df41c-c62f-4cd6-840e-1dd538359c3b","savedPayload":{"position":{"x":31503.875448310486,"y":29608.144010464657},"targetPosition":{"x":31433.841839153712,"y":29899.85498658396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9dba774d-1afa-40dd-b5ec-8f4029824473","savedPayload":{"position":{"x":31433.841839153712,"y":29899.85498658396},"targetPosition":{"x":31363.80822999694,"y":30191.565962703262},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"24H Gentle","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at24hs.bollingerSubChannel.slope === \"Gentle\"","project":"Foundations","id":"c4428437-7308-46f3-884e-22d2aac8d1a0","savedPayload":{"position":{"x":31716.479381372425,"y":29706.155766078296},"targetPosition":{"x":31540.143805684682,"y":29948.86086439078},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7766453d-73ca-46f7-a39c-00f4f11af05e","savedPayload":{"position":{"x":31540.143805684682,"y":29948.86086439078},"targetPosition":{"x":31363.80822999694,"y":30191.565962703262},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Filter 1: 08H Deviation > 200 < 1500","code":"chart.at24hs.bollingerBand.deviation < chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"if (chart.at08hs.bollingerBand.deviation < 200 || chart.at08hs.bollingerBand.deviation > 1500) {false} else {true}","project":"Foundations","id":"eac9b2d4-4364-4116-9d99-e92b8bbce5e7","savedPayload":{"position":{"x":31875.392328609392,"y":29878.066823873694},"targetPosition":{"x":31619.600279303166,"y":30034.816393288478},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"40cb1853-f93e-4023-8d45-708376281bde","savedPayload":{"position":{"x":31619.600279303166,"y":30034.816393288478},"targetPosition":{"x":31363.80822999694,"y":30191.565962703262},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8d558598-60b5-4104-9a84-1773b125c509","savedPayload":{"position":{"x":31363.80822999694,"y":30191.565962703262},"targetPosition":{"x":31410.73856950901,"y":30487.872464881802},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"3afd4ef5-2175-48fa-844f-e4e4ed775b26","savedPayload":{"position":{"x":31410.73856950901,"y":30487.872464881802},"targetPosition":{"x":31457.66890902108,"y":30784.178967060343},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"triggerOff":{"type":"Trigger Off Event","name":"New Trigger Off Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close< chart.at01hs.bollingerBand.movingAverage","project":"Foundations","id":"0fb11814-5ba2-4c23-86b0-e6f8c01363e6","savedPayload":{"position":{"x":31810.340060396564,"y":30298.76877043537},"targetPosition":{"x":31722.172272552692,"y":30420.121319591613},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"32415e55-51cb-44cf-a0d9-9de73b946da8","savedPayload":{"position":{"x":31722.172272552692,"y":30420.121319591613},"targetPosition":{"x":31634.00448470882,"y":30541.473868747857},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"317dd29a-db32-4f10-bee0-325b7a7c816c","savedPayload":{"position":{"x":31634.00448470882,"y":30541.473868747857},"targetPosition":{"x":31545.83669686495,"y":30662.8264179041},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"547d578f-4568-4b1f-965d-1d598b7b67bb","savedPayload":{"position":{"x":31545.83669686495,"y":30662.8264179041},"targetPosition":{"x":31457.66890902108,"y":30784.178967060343},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"takePosition":{"type":"Take Position Event","name":"New Take Position Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"Previous Breakup","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.previous.close > chart.at01hs.bollingerBand.previous.movingAverage + chart.at01hs.bollingerBand.previous.deviation","project":"Foundations","id":"903651ac-50d3-44ea-aae2-0b6bbe43b989","savedPayload":{"position":{"x":32190.349131691713,"y":30106.8963357976},"targetPosition":{"x":32120.31552253494,"y":30398.6073119169},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4c4c6084-bebe-46ce-a12f-68924568c81d","savedPayload":{"position":{"x":32120.31552253494,"y":30398.6073119169},"targetPosition":{"x":32050.281913378167,"y":30690.318288036204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Close In","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage + chart.at01hs.bollingerBand.deviation","project":"Foundations","id":"b16e3f56-5a3f-4af9-a9d1-ff3bbf9ca0b8","savedPayload":{"position":{"x":32402.953064753652,"y":30204.90809141124},"targetPosition":{"x":32226.61748906591,"y":30447.61318972372},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c4e1f247-db57-4488-81e9-c7602562b8f3","savedPayload":{"position":{"x":32226.61748906591,"y":30447.61318972372},"targetPosition":{"x":32050.281913378167,"y":30690.318288036204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Red Candle","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.candle.open","project":"Foundations","id":"34452811-c161-4b33-8335-bc996a8638ad","savedPayload":{"position":{"x":32561.86601199062,"y":30376.819149206636},"targetPosition":{"x":32306.073962684393,"y":30533.56871862142},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"db35b110-1991-4e3d-a1bd-04b0d1bad669","savedPayload":{"position":{"x":32306.073962684393,"y":30533.56871862142},"targetPosition":{"x":32050.281913378167,"y":30690.318288036204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"3H Down","code":"chart.at03hs.bollingerChannel.direction * chart.atAnyTimeFrame.externalSignal.timestamp > chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at03hs.bollingerChannel.direction === \"Down\"","project":"Foundations","id":"8fcf0aed-cd6b-4df9-8ec4-4511fcde66d8","savedPayload":{"position":{"x":32642.894917735255,"y":30596.457609012064},"targetPosition":{"x":32346.58841555671,"y":30643.387948524134},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"48bd56ea-0d5a-404d-a887-061493bebbcf","savedPayload":{"position":{"x":32346.58841555671,"y":30643.387948524134},"targetPosition":{"x":32050.281913378167,"y":30690.318288036204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"3H Medium, Steep or Extreme","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at03hs.bollingerSubChannel.slope === \"Medium\" || chart.at03hs.bollingerSubChannel.slope === \"Steep\" || chart.at03hs.bollingerSubChannel.slope === \"Extreme\" ","project":"Foundations","id":"40b36ec9-ebf1-43fe-8003-f0d130b7cb36","savedPayload":{"position":{"x":32633.70386561678,"y":30830.38550634975},"targetPosition":{"x":32341.992889497473,"y":30760.351897192977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6c90a754-52bd-47cf-a3b5-95ad037bbb62","savedPayload":{"position":{"x":32341.992889497473,"y":30760.351897192977},"targetPosition":{"x":32050.281913378167,"y":30690.318288036204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"24H Gentle","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at24hs.bollingerSubChannel.slope === \"Gentle\"","project":"Foundations","id":"3f28257c-cc33-4c59-b40b-85bc88821f96","savedPayload":{"position":{"x":32535.69211000314,"y":31042.98943941169},"targetPosition":{"x":32292.987011690653,"y":30866.653863723946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fc2fb509-2854-4359-aa1e-b32a2174bd35","savedPayload":{"position":{"x":32292.987011690653,"y":30866.653863723946},"targetPosition":{"x":32050.281913378167,"y":30690.318288036204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Filter 1: 08H Deviation > 200 < 1500","code":"chart.at24hs.bollingerBand.deviation < chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"if (chart.at08hs.bollingerBand.deviation < 200 || chart.at08hs.bollingerBand.deviation > 1500) {false} else {true}","project":"Foundations","id":"5226a3d7-c8f8-41bd-9b45-f6238576628f","savedPayload":{"position":{"x":32363.78105220774,"y":31201.902386648657},"targetPosition":{"x":32207.031482792954,"y":30946.11033734243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0b38876e-bcad-4cec-90e2-c2e358723d29","savedPayload":{"position":{"x":32207.031482792954,"y":30946.11033734243},"targetPosition":{"x":32050.281913378167,"y":30690.318288036204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"46e2ecf6-82ae-435d-a3a0-d5e2903404fd","savedPayload":{"position":{"x":32050.281913378167,"y":30690.318288036204},"targetPosition":{"x":31753.975411199623,"y":30737.248627548273},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"93418d2a-3047-4f80-aa59-0c6fdb35ad43","savedPayload":{"position":{"x":31753.97541119962,"y":30737.248627548273},"targetPosition":{"x":31457.66890902108,"y":30784.178967060343},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"1055a2cc-e93a-4dd8-a992-f56553527ddd","savedPayload":{"position":{"x":31457.66890902108,"y":30784.178967060343},"targetPosition":{"x":31281.333333333336,"y":31026.884065372826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"openStage":{"type":"Open Stage","name":"New Open Stage","project":"Foundations","initialTargets":{"type":"Initial Targets","name":"New Initial Targets","project":"Foundations","targetRate":{"type":"Target Rate","name":"New Target Rate","project":"Foundations","formula":{"type":"Formula","name":"My Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value","project":"Foundations","id":"e0c6286e-4947-427a-aea3-a793fb1acf75","savedPayload":{"position":{"x":25208.1159289551,"y":26984.1566926808},"targetPosition":{"x":25137.713820195168,"y":27314.867788902367},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fff26070-c80f-4e78-bb0f-71e16d943698","savedPayload":{"position":{"x":25137.713820195168,"y":27314.867788902367},"targetPosition":{"x":25051.84286456281,"y":27715.70975720181},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"targetSizeInBaseAsset":{"type":"Target Size In Base Asset","name":"New Target Size In Base Asset","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value","project":"Foundations","id":"f2dd66ad-27a6-4859-aeb9-bd7316555b99","savedPayload":{"position":{"x":25762.047191664547,"y":27485.1825352315},"targetPosition":{"x":25441.296709254348,"y":27589.29370622187},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b5e86b74-5db2-4019-85c6-ea397d675f50","savedPayload":{"position":{"x":25441.296709254348,"y":27589.29370622187},"targetPosition":{"x":25051.84286456281,"y":27715.70975720181},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f7416bc8-8652-4670-965b-9b1f1f3da0ad","savedPayload":{"position":{"x":31649.019879175714,"y":30358.707243238732},"targetPosition":{"x":31548.650288221877,"y":30470.178967060343},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"openExecution":{"type":"Open Execution","name":"New Open Execution","project":"Foundations","executionAlgorithms":[{"type":"Execution Algorithm","name":"New Execution Algorithm","config":"{\n\"percentageOfStageTargetSize\": 100 \n}","project":"Foundations","marketBuyOrders":[],"marketSellOrders":[{"type":"Market Sell Order","name":"Quick Entry","config":"{\n\"percentageOfAlgorithmSize\": 100\n}","project":"Foundations","createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"true","project":"Foundations","id":"0d3863ca-6912-4fea-8b35-0889324ea7f5","savedPayload":{"position":{"x":27133.559767145067,"y":28455.38395573134},"targetPosition":{"x":26803.81655712345,"y":28385.434039460313},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5b5e9ad8-778b-42ae-aa7f-c303e129df7f","savedPayload":{"position":{"x":26803.81655712345,"y":28385.434039460313},"targetPosition":{"x":26474.29393217162,"y":28315.54373946447},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"1fbcc4bd-145e-43ac-8e1a-721435920b4a","savedPayload":{"position":{"x":26474.29393217162,"y":28315.54373946447},"targetPosition":{"x":26144.644592289987,"y":28245.642086124964},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"8548a589-0711-4acc-aba9-6a77970c7b8f","savedPayload":{"position":{"x":26144.644592289987,"y":28245.642086124964},"targetPosition":{"x":25815.41574184932,"y":28175.85517371363},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"70c7f73b-a1a6-467c-a0eb-a284133ac599","savedPayload":{"position":{"x":25815.41574184932,"y":28175.85517371363},"targetPosition":{"x":25485.534343125473,"y":28105.968960681916},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market Order","name":"Market Sell Order #1","id":"8e404329-d41f-41e0-ad5a-c84ee1fa2604"}}}],"limitBuyOrders":[],"limitSellOrders":[],"id":"09d1d3b2-8917-4792-b2a4-4902156c05b2","savedPayload":{"position":{"x":25485.534343125473,"y":28105.968960681916},"targetPosition":{"x":25155.62869615011,"y":28036.119806959665},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}}],"id":"fe61959d-43e7-4440-9932-9a09846e9b1b","savedPayload":{"position":{"x":31842.094568442022,"y":30532.55247430567},"targetPosition":{"x":31548.650288221877,"y":30470.178967060343},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"e35699bc-1fe9-4cdc-b029-6361f0ce8592","savedPayload":{"position":{"x":31566.65028822188,"y":30934.178967060343},"targetPosition":{"x":31281.333333333336,"y":31026.884065372826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"manageStage":{"type":"Manage Stage","name":"Standard Run","project":"Foundations","managedStopLoss":{"type":"Managed Stop Loss","name":"New Managed Stop Loss","project":"Foundations","phases":[{"type":"Phase","name":"New Phase","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.03","project":"Foundations","id":"853852d1-d2fa-4e32-a891-e98ca52a556e","savedPayload":{"position":{"x":32376.482296305396,"y":30794.102967286995},"targetPosition":{"x":32153.538848662174,"y":30994.842149194654},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","name":"New Next Phase Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.candle.previous.close < portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97","project":"Foundations","id":"3bdebe73-3546-43f3-b644-73ec62086c66","savedPayload":{"position":{"x":26256.45323720447,"y":28224.574515708206},"targetPosition":{"x":26095.83786036117,"y":28276.643733481294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"36615e86-2c8e-4182-ab3e-5c263c44fcb1","savedPayload":{"position":{"x":26095.83786036117,"y":28276.643733481294},"targetPosition":{"x":25928.153071634522,"y":28331.004379016907},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6aae47da-70b4-4fd3-b2da-65a1d645b915","savedPayload":{"position":{"x":25928.153071634522,"y":28331.004379016907},"targetPosition":{"x":25721.35369492555,"y":28398.088627341524},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"18261801-3d1b-4dfe-872c-019fff59db4d","savedPayload":{"position":{"x":32438.855803550723,"y":31087.547247507136},"targetPosition":{"x":32153.538848662174,"y":30994.842149194654},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"fdeb890a-e7d8-4ef6-ab49-3a88aee6e82c","savedPayload":{"position":{"x":32153.538848662174,"y":30994.842149194654},"targetPosition":{"x":31860.09456844203,"y":31057.21565643998},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"New Phase","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.bollingerBand.movingAverage * 1.02 < portfolioEngine.portfolioCurrent.position.stopLoss.value) {chart.at01hs.bollingerBand.movingAverage * 1.02} else {portfolioEngine.portfolioCurrent.position.stopLoss.value}","project":"Foundations","id":"0e9e87f6-4636-4f1f-8091-d1c3090ee345","savedPayload":{"position":{"x":32740.427409102464,"y":30870.095134704},"targetPosition":{"x":32446.98312888232,"y":30932.468641949326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[],"announcements":[],"id":"0464ed08-0432-4da6-b407-fbf1fbc65bd9","savedPayload":{"position":{"x":32446.98312888232,"y":30932.468641949326},"targetPosition":{"x":32153.538848662174,"y":30994.842149194654},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a9042fd2-0f05-4208-91b7-81e00b6493fb","savedPayload":{"position":{"x":31860.09456844203,"y":31057.21565643998},"targetPosition":{"x":31566.650288221885,"y":31119.58916368531},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"managedTakeProfit":{"type":"Managed Take Profit","name":"New Managed Take Profit","project":"Foundations","phases":[{"type":"Phase","name":"Initial","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.95","project":"Foundations","id":"f191391f-f798-4819-b46b-8ae9538ff71f","savedPayload":{"position":{"x":32261.572932257346,"y":31503.102551726417},"targetPosition":{"x":31968.1286520372,"y":31565.476058971744},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","name":"New Next Phase Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"1H EMA7 < entryTargetRate","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < portfolioEngine.portfolioCurrent.position.entryTargetRate.value","project":"Foundations","id":"65b73feb-09e0-491d-99fd-30f331acac97","savedPayload":{"position":{"x":31907.465469902883,"y":32722.998529189117},"targetPosition":{"x":31845.091962657556,"y":32429.554248968976},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fa12e6f8-f9d6-4eb7-9e3b-1e0f17581548","savedPayload":{"position":{"x":31845.091962657556,"y":32429.554248968976},"targetPosition":{"x":31782.71845541223,"y":32136.109968748835},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"positionPeriods > 2","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"portfolioEngine.portfolioCurrent.position.positionCounters.periods.value > 2","project":"Foundations","id":"2eff0ccd-bf54-4456-aff5-9f46cf1469ff","savedPayload":{"position":{"x":31336.831560125785,"y":32537.58833256415},"targetPosition":{"x":31559.775007769007,"y":32336.849150656493},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a4af8e92-a505-48fd-8080-8a715cd856dc","savedPayload":{"position":{"x":31559.775007769007,"y":32336.849150656493},"targetPosition":{"x":31782.71845541223,"y":32136.109968748835},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ef07d7e4-53c0-4746-a1a2-4b4856cba9df","savedPayload":{"position":{"x":31782.71845541223,"y":32136.109968748835},"targetPosition":{"x":31875.423553724715,"y":31850.79301386029},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"2484f7be-38df-4139-94b4-d753e6d50eed","savedPayload":{"position":{"x":31875.423553724715,"y":31850.79301386029},"targetPosition":{"x":31968.1286520372,"y":31565.476058971744},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"977b23fa-f70b-4ae6-8b8b-62ca894ca11c","savedPayload":{"position":{"x":31968.1286520372,"y":31565.476058971744},"targetPosition":{"x":31767.389470129543,"y":31342.532611328526},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"Manage: 3% Below ema7","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.base7EMA.ema7 * 0.97 < portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97) {chart.at01hs.base7EMA.ema7 * 0.97} else {portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97}","project":"Foundations","id":"aadae3ad-5cf1-4417-baad-c6e8b0ab8f31","savedPayload":{"position":{"x":32391.81128158808,"y":31587.680324707304},"targetPosition":{"x":32168.86783394486,"y":31788.419506614962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","name":"New Next Phase Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 conv ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"bfc7fa92-c54c-43e7-8a6d-f89572d1fee2","savedPayload":{"position":{"x":27396.159684485443,"y":29462.24536140314},"targetPosition":{"x":27037.180684110703,"y":29201.79651866058},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5ea229bf-a68c-40f9-a6ac-8bae8171ecda","savedPayload":{"position":{"x":27037.180684110703,"y":29201.79651866058},"targetPosition":{"x":26678.13599189461,"y":28941.629260364767},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"585c2f06-93d7-403f-ab70-0aab9c936f72","savedPayload":{"position":{"x":26678.13599189461,"y":28941.629260364767},"targetPosition":{"x":26318.87895323529,"y":28681.33348852864},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"cddeb772-d0f7-4ba8-b303-b623746f3f6e","savedPayload":{"position":{"x":32369.607015852518,"y":32011.36295425818},"targetPosition":{"x":32168.86783394486,"y":31788.419506614962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[{"type":"Move To Phase Event","name":"Move to Run","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 > chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"4862beb3-990c-43ba-a21b-93ce1227d060","savedPayload":{"position":{"x":24904.844811642135,"y":30006.082996397163},"targetPosition":{"x":24835.04359285655,"y":29676.145953078027},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"dc6ade59-03df-4aa5-a892-5e225a38cb35","savedPayload":{"position":{"x":24835.04359285655,"y":29676.145953078027},"targetPosition":{"x":24764.759594136216,"y":29345.705834285305},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 div ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema21 - chart.at01hs.base7EMA.ema14 > chart.at01hs.base7EMA.previous.ema21 - chart.at01hs.base7EMA.previous.ema14","project":"Foundations","id":"54428b89-eb5f-4844-9fec-b049f074b3c8","savedPayload":{"position":{"x":24556.58106230635,"y":29987.67953427854},"targetPosition":{"x":24660.68438254107,"y":29666.91752333298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"81b0626e-e4c7-40dc-ae8d-ec5603067461","savedPayload":{"position":{"x":24660.68438254107,"y":29666.91752333298},"targetPosition":{"x":24764.759594136216,"y":29345.705834285305},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema7 < positionRate","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.99","project":"Foundations","id":"05867691-257f-4795-b70f-180ef26713fd","savedPayload":{"position":{"x":24263.659098692806,"y":29798.122521392797},"targetPosition":{"x":24514.18669436439,"y":29572.067101216984},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2d354bdf-7142-4921-aec4-60a295569584","savedPayload":{"position":{"x":24514.18669436439,"y":29572.067101216984},"targetPosition":{"x":24764.759594136216,"y":29345.705834285305},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema7 < ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.ema14","project":"Foundations","id":"74adc18a-fcb8-47ad-a447-1595f16cc7f6","savedPayload":{"position":{"x":24105.188485704806,"y":29487.294594178704},"targetPosition":{"x":24434.98874543937,"y":29416.532125462407},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8c760094-3830-48d3-a97c-a9dee27f3c7e","savedPayload":{"position":{"x":24434.98874543937,"y":29416.532125462407},"targetPosition":{"x":24764.759594136216,"y":29345.705834285305},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 < ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 < chart.at01hs.base7EMA.ema21 ","project":"Foundations","id":"45a3f428-25a5-4cf2-a13f-08bf3bbc4972","savedPayload":{"position":{"x":24123.541508445123,"y":29139.177357956767},"targetPosition":{"x":24444.154897336986,"y":29242.30186262787},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6106746d-8995-425e-8dd9-009894a5dd07","savedPayload":{"position":{"x":24444.154897336986,"y":29242.30186262787},"targetPosition":{"x":24764.759594136216,"y":29345.705834285305},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"61a873ab-dc8f-4023-93cd-a861bd965858","savedPayload":{"position":{"x":24764.759594136216,"y":29345.705834285305},"targetPosition":{"x":25026.123499795925,"y":29109.685164277478},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"aa98a93e-c928-4900-854a-97b3750182d2","savedPayload":{"position":{"x":31945.924386301638,"y":31989.15868852262},"targetPosition":{"x":32168.86783394486,"y":31788.419506614962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Run","id":"83f85765-e13b-406a-bd56-7fd820eebc16"}}}],"announcements":[],"id":"e3b43a25-cbb0-4ebc-ac2f-148a56d7d934","savedPayload":{"position":{"x":32168.86783394486,"y":31788.419506614962},"targetPosition":{"x":31968.1286520372,"y":31565.476058971744},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"Close: BB Lower Band","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.deviation < portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97) {chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.standardDeviation * 2} else {portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97}","project":"Foundations","id":"e603a735-7a74-4654-b0bb-50bee2d1e307","savedPayload":{"position":{"x":32592.55046349574,"y":31810.623772350522},"targetPosition":{"x":32369.607015852518,"y":32011.36295425818},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[{"type":"Move To Phase Event","name":"Move to Run","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 > chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"12b3cadf-b8f9-4f43-8799-40c1509f8d07","savedPayload":{"position":{"x":27824.404836084388,"y":28886.524680065922},"targetPosition":{"x":27419.354023853557,"y":29066.616653801022},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d45aa91c-a153-4311-8403-8e4492ffcc95","savedPayload":{"position":{"x":27419.354023853557,"y":29066.616653801022},"targetPosition":{"x":27014.15668783785,"y":29246.882512879973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 div ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema21 - chart.at01hs.base7EMA.ema14 > chart.at01hs.base7EMA.previous.ema21 - chart.at01hs.base7EMA.previous.ema14","project":"Foundations","id":"47191a8e-485b-4f11-be05-c1b6253da95e","savedPayload":{"position":{"x":27896.27601529829,"y":29339.393382849754},"targetPosition":{"x":27455.328761362696,"y":29293.1294628858},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0a6eff46-6a7b-4a29-81a4-93a751a056bf","savedPayload":{"position":{"x":27455.328761362696,"y":29293.1294628858},"targetPosition":{"x":27014.15668783785,"y":29246.882512879973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema7 < ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.ema14","project":"Foundations","id":"e9cfe84c-e144-4e95-88ce-8bfdffd42f89","savedPayload":{"position":{"x":27731.83127958228,"y":29767.96938631562},"targetPosition":{"x":27373.09391744293,"y":29507.46629146253},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9dfa9604-bc08-4df3-980d-2f8b06185031","savedPayload":{"position":{"x":27373.09391744293,"y":29507.46629146253},"targetPosition":{"x":27014.15668783785,"y":29246.882512879973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 < ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 < chart.at01hs.base7EMA.ema21 ","project":"Foundations","id":"8c332bfe-ab0c-4905-9440-86091b7040b1","savedPayload":{"position":{"x":27375.208425137833,"y":30056.856719732692},"targetPosition":{"x":27194.719804996566,"y":29651.932741319448},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e358399e-001d-4d07-83e4-2bf9d65ed1bd","savedPayload":{"position":{"x":27194.719804996566,"y":29651.932741319448},"targetPosition":{"x":27014.15668783785,"y":29246.882512879973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"previous ema7 div previous ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7 > chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7","project":"Foundations","id":"51ec782d-f54f-46b5-b45a-9db5cf7a380e","savedPayload":{"position":{"x":26922.5991092236,"y":30128.57805275751},"targetPosition":{"x":26968.2603785561,"y":29687.799464979318},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c64c6aff-2525-4e58-9e27-ac7a8b3dc8cb","savedPayload":{"position":{"x":26968.2603785561,"y":29687.799464979318},"targetPosition":{"x":27014.15668783785,"y":29246.882512879973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"08f82342-86ce-4222-b954-968397dd2d33","savedPayload":{"position":{"x":27014.15668783785,"y":29246.882512879973},"targetPosition":{"x":26655.14598525303,"y":28986.333990302774},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"170cad22-eef5-48c3-b5d9-fae484dab493","savedPayload":{"position":{"x":32570.346197760176,"y":32234.3064019014},"targetPosition":{"x":32369.607015852518,"y":32011.36295425818},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Run","id":"83f85765-e13b-406a-bd56-7fd820eebc16"}}},{"type":"Move To Phase Event","name":"Cancel Close","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 > chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"0320d330-7d8e-4577-8ea3-debcdf5c4971","savedPayload":{"position":{"x":24986.637741533123,"y":30501.234533003983},"targetPosition":{"x":25090.740561062354,"y":30180.413391220325},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6611a627-dfaf-4248-8aaa-e27fb7ac7141","savedPayload":{"position":{"x":25090.740561062354,"y":30180.413391220325},"targetPosition":{"x":25194.350976285372,"y":29859.192098549123},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"prev.ema7 div prev.ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7 > chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7","project":"Foundations","id":"51f5f720-c0df-4209-a32f-80f67688004d","savedPayload":{"position":{"x":24535.300879597387,"y":29998.630941126503},"targetPosition":{"x":24864.507573535695,"y":29929.113373042725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"62ebc71f-7dab-4090-9f0e-c557cbbf5045","savedPayload":{"position":{"x":24864.507573535695,"y":29929.113373042725},"targetPosition":{"x":25194.350976285372,"y":29859.192098549123},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"9cfa9122-1b64-4a37-877f-1c722493562a","savedPayload":{"position":{"x":25194.350976285372,"y":29859.192098549123},"targetPosition":{"x":25455.54747854176,"y":29623.036044432884},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"73f3e391-cceb-4d27-932f-7b3c76d63b24","savedPayload":{"position":{"x":32146.663568209296,"y":32212.10213616584},"targetPosition":{"x":32369.607015852518,"y":32011.36295425818},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Manage: 3% Below ema7","id":"e3b43a25-cbb0-4ebc-ac2f-148a56d7d934"}}}],"announcements":[],"id":"913c2adb-a405-40e1-b661-300ec59c4ea0","savedPayload":{"position":{"x":32369.607015852518,"y":32011.36295425818},"targetPosition":{"x":32168.86783394486,"y":31788.419506614962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"Run","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.base7EMA.ema7 * 0.8 < portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97) {chart.at01hs.base7EMA.ema7 * 0.8} else {portfolioEngine.portfolioCurrent.position.takeProfit.value}","project":"Foundations","id":"be65b94d-3942-43c3-96aa-354447d5d591","savedPayload":{"position":{"x":25711.079746970987,"y":28792.147734862236},"targetPosition":{"x":25276.640329487287,"y":28884.1427648174},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[{"type":"Move To Phase Event","name":"Cancel Run","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 conv ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"fb87ce68-53e9-4553-a0d4-c996920c9b7a","savedPayload":{"position":{"x":27271.218360095154,"y":30810.205830708393},"targetPosition":{"x":26912.62502865668,"y":30549.66691388678},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1c9f9e96-a31d-42dc-a72f-ee8c25057426","savedPayload":{"position":{"x":26912.62502865668,"y":30549.66691388678},"targetPosition":{"x":26553.863142998773,"y":30289.03803396057},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"prev.ema7 conv prev.ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7 < chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7","project":"Foundations","id":"2d8cbbda-0c6c-4f48-ab1a-4f3ee6cb46d1","savedPayload":{"position":{"x":26452.83670017986,"y":31149.123084938306},"targetPosition":{"x":26498.965789110254,"y":30708.23438478572},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e4719fbb-2730-46bf-9593-75e9544d860c","savedPayload":{"position":{"x":26498.965789110254,"y":30708.23438478572},"targetPosition":{"x":26553.863142998773,"y":30289.03803396057},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"60819e62-c36a-4cf6-86ea-09aa1046f1b7","savedPayload":{"position":{"x":26553.863142998773,"y":30289.03803396057},"targetPosition":{"x":26373.25523520219,"y":29883.734464230038},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"297f0537-a281-46ab-89a4-9aab36495673","savedPayload":{"position":{"x":25367.576701991013,"y":29312.204201772533},"targetPosition":{"x":25276.640329487287,"y":28884.1427648174},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Manage: 3% Below ema7","id":"e3b43a25-cbb0-4ebc-ac2f-148a56d7d934"}}}],"announcements":[],"id":"83f85765-e13b-406a-bd56-7fd820eebc16","savedPayload":{"position":{"x":32570.346197760176,"y":32234.3064019014},"targetPosition":{"x":32369.607015852518,"y":32011.36295425818},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"cf907f3e-a01a-4ffb-9e3b-23ea0d8f34d1","savedPayload":{"position":{"x":31767.389470129543,"y":31342.532611328526},"targetPosition":{"x":31566.650288221885,"y":31119.58916368531},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"3f7a5501-fa20-4b3b-b038-2297cb2fd04e","savedPayload":{"position":{"x":31566.65028822188,"y":31119.58916368531},"targetPosition":{"x":31281.333333333336,"y":31026.884065372826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"closeStage":{"type":"Close Stage","project":"Foundations","initialTargets":{"type":"Initial Targets","name":"New Initial Targets","project":"Foundations","targetRate":{"type":"Target Rate","name":"New Target Rate","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value","project":"Foundations","id":"b8a7ff2a-dc3b-43e0-9226-b8e6f532c476","savedPayload":{"position":{"x":32328.44568353482,"y":31328.893078647452},"targetPosition":{"x":32030.08911492434,"y":31360.25161762775},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2bc75a78-2139-4752-82be-2f5a8a7928fd","savedPayload":{"position":{"x":32030.08911492434,"y":31360.25161762775},"targetPosition":{"x":31731.73254631386,"y":31391.610156608047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"targetSizeInQuotedAsset":{"type":"Target Size In Quoted Asset","name":"New Target Size In Quoted Asset","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.sizeFilled.value - portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.feesPaid.value","project":"Foundations","id":"a56977af-ba08-4617-a417-4edb66c5ca2f","savedPayload":{"position":{"x":32084.403697689344,"y":31877.020353233012},"targetPosition":{"x":31908.0681220016,"y":31634.31525492053},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"28601045-4302-4e44-9f9c-6f789094a474","savedPayload":{"position":{"x":31908.0681220016,"y":31634.31525492053},"targetPosition":{"x":31731.73254631386,"y":31391.610156608047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"1a05ddeb-09bf-4284-bc2a-bfee83eee2c7","savedPayload":{"position":{"x":31731.73254631386,"y":31391.610156608047},"targetPosition":{"x":31457.66890902108,"y":31269.58916368531},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"closeExecution":{"type":"Close Execution","project":"Foundations","executionAlgorithms":[{"type":"Execution Algorithm","name":"New Execution Algorithm","config":"{\n\"percentageOfStageTargetSize\": 100 \n}","project":"Foundations","marketBuyOrders":[{"type":"Market Buy Order","name":"Quick Exit","config":"{\n\"percentageOfAlgorithmSize\": 100,\n\"spawnMultipleOrders\": false\n}","project":"Foundations","createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"true","project":"Foundations","id":"b862adde-91b6-4146-a860-7fe3c44f43d4","savedPayload":{"position":{"x":31677.17868188316,"y":33358.085143958684},"targetPosition":{"x":31645.820142902863,"y":33059.7285753482},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9568610b-062b-4f5c-95b7-8ff55754334d","savedPayload":{"position":{"x":31645.820142902863,"y":33059.7285753482},"targetPosition":{"x":31614.461603922566,"y":32761.372006737714},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"76be967f-7051-4fa8-9f3c-255c8cf12d77","savedPayload":{"position":{"x":31614.461603922566,"y":32761.372006737714},"targetPosition":{"x":31583.10306494227,"y":32463.015438127233},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"3c2ba6d3-e215-4a9f-9b48-9c9340086dda","savedPayload":{"position":{"x":31583.10306494227,"y":32463.015438127233},"targetPosition":{"x":31551.74452596197,"y":32164.658869516752},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"69200cc2-ab70-45f4-ae63-29cb1bd73d0a","savedPayload":{"position":{"x":31551.74452596197,"y":32164.658869516752},"targetPosition":{"x":31520.385986981673,"y":31866.30230090627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market Order","name":"Market Buy Order #1","id":"7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3"}}}],"marketSellOrders":[],"limitBuyOrders":[],"limitSellOrders":[],"id":"47778ccf-4a59-4ce1-93f2-110cdd8e900b","savedPayload":{"position":{"x":31520.385986981673,"y":31866.30230090627},"targetPosition":{"x":31489.027448001376,"y":31567.94573229579},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d6ffda9f-f303-48be-8de2-d6d68c3e76c8","savedPayload":{"position":{"x":31489.027448001376,"y":31567.94573229579},"targetPosition":{"x":31457.66890902108,"y":31269.58916368531},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"3b34675d-60d7-44ef-9ef7-c434fe9ca560","savedPayload":{"position":{"x":31457.66890902108,"y":31269.58916368531},"targetPosition":{"x":31281.333333333336,"y":31026.884065372826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"77e56192-a0b0-4786-afdb-8e59ba757ccf","savedPayload":{"position":{"x":31281.333333333336,"y":31026.884065372826},"targetPosition":{"x":30981.333333333336,"y":31026.884065372826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Portfolio Strategy","name":"S3 - 2H Down","project":"Foundations","triggerStage":{"type":"Trigger Stage","name":"New Trigger Stage","project":"Foundations","triggerOn":{"type":"Trigger On Event","name":"New Trigger On Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"Previous Breakup","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.previous.close > chart.at01hs.bollingerBand.previous.movingAverage + chart.at01hs.bollingerBand.previous.deviation","project":"Foundations","id":"0c6d7b91-4bbf-4e27-850c-6348ffea4055","savedPayload":{"position":{"x":31489.77186986784,"y":30221.26536696679},"targetPosition":{"x":31666.107445555583,"y":30463.97046527927},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9c8b0541-0125-4ed1-8bcb-2d8a539bcc85","savedPayload":{"position":{"x":31666.107445555583,"y":30463.97046527927},"targetPosition":{"x":31842.443021243325,"y":30706.675563591754},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Close In","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage + chart.at01hs.bollingerBand.deviation","project":"Foundations","id":"b09863b6-7ea3-4929-8b3c-f99409fb1bf1","savedPayload":{"position":{"x":31657.03282461836,"y":30136.041653814664},"targetPosition":{"x":31749.737922930843,"y":30421.35860870321},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"26835b4a-83a2-4209-84a0-e38c74ff993a","savedPayload":{"position":{"x":31749.737922930843,"y":30421.35860870321},"targetPosition":{"x":31842.443021243325,"y":30706.675563591754},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Red Candle","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.candle.open","project":"Foundations","id":"2fc1bc08-9def-4a37-abc3-dbac24a2c360","savedPayload":{"position":{"x":31842.443021243325,"y":30106.675563591754},"targetPosition":{"x":31842.443021243325,"y":30406.675563591754},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1fa5642c-48f4-492b-81d3-5d752decd8af","savedPayload":{"position":{"x":31842.443021243325,"y":30406.675563591754},"targetPosition":{"x":31842.443021243325,"y":30706.675563591754},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"2H Down","code":"chart.at02hs.bollingerBand.direction === \"Up\"","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at02hs.bollingerChannel.direction === \"Down\"","project":"Foundations","id":"07c23ae8-6440-4b6e-aabe-67afdba80c7c","savedPayload":{"position":{"x":32027.85321786829,"y":30136.041653814664},"targetPosition":{"x":31935.148119555808,"y":30421.35860870321},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c14a9e3b-6d84-44c9-8273-1a37850087b4","savedPayload":{"position":{"x":31935.148119555808,"y":30421.35860870321},"targetPosition":{"x":31842.443021243325,"y":30706.675563591754},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"4H Up","code":"chart.at02hs.bollingerBand.direction === \"Up\"","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at04hs.bollingerChannel.direction === \"Up\"","project":"Foundations","id":"57d558fd-ecfa-429a-9304-88f41b32b44c","savedPayload":{"position":{"x":32195.11417261881,"y":30221.26536696679},"targetPosition":{"x":32018.778596931068,"y":30463.97046527927},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ab49ca45-333d-4ed9-99a1-a3ca632cbbb2","savedPayload":{"position":{"x":32018.778596931068,"y":30463.97046527927},"targetPosition":{"x":31842.443021243325,"y":30706.675563591754},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"4H NOT Side","code":"chart.at04hs.bollingerSubChannel.slope === \"Side\"","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at04hs.bollingerSubChannel.slope != \"Side\"","project":"Foundations","id":"261d9835-4d23-4b58-946d-b9324d920273","savedPayload":{"position":{"x":32327.85321786829,"y":30354.00441221627},"targetPosition":{"x":32085.148119555808,"y":30530.33998790401},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4d450dc4-bfbb-4779-b070-cac385b809c7","savedPayload":{"position":{"x":32085.148119555808,"y":30530.33998790401},"targetPosition":{"x":31842.443021243325,"y":30706.675563591754},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H RSI > 60","code":"chart.at24hs.rsi14.value < chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.rsi14.value > 60","project":"Foundations","id":"c0afd580-e4b8-4c7c-ac4c-7370e5a79a98","savedPayload":{"position":{"x":32413.076931020416,"y":30521.26536696679},"targetPosition":{"x":32127.75997613187,"y":30613.97046527927},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"95207d90-4af8-4b5a-8321-0076e8b8929d","savedPayload":{"position":{"x":32127.75997613187,"y":30613.97046527927},"targetPosition":{"x":31842.443021243325,"y":30706.675563591754},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Filter 1: 08H Deviation > 200 < 1500","code":"chart.at24hs.bollingerBand.deviation < chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"if (chart.at08hs.bollingerBand.deviation < 200 || chart.at08hs.bollingerBand.deviation > 1500) {false} else {true}","project":"Foundations","id":"92ef2b33-6bd1-4ab7-91a4-ddb3e035ed08","savedPayload":{"position":{"x":32442.443021243325,"y":30706.675563591754},"targetPosition":{"x":32142.443021243325,"y":30706.675563591754},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3ac7ebe1-3f6f-4e35-a8a2-f39aa509c849","savedPayload":{"position":{"x":32142.443021243325,"y":30706.675563591754},"targetPosition":{"x":31842.443021243325,"y":30706.675563591754},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Filter 3: 02H Down && 4H Side && 1H Medium, Steep or Extreme","code":"chart.at24hs.bollingerChannel.direction === \"Up\"","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"if (chart.at02hs.bollingerChannel.direction === \"Down\" && chart.at12hs.bollingerChannel.direction === \"Down\" && chart.at04hs.bollingerSubChannel.slope === \"Side\" && (chart.at01hs.bollingerSubChannel.slope === \"Medium\" || chart.at01hs.bollingerSubChannel.slope === \"Steep\" || chart.at01hs.bollingerSubChannel.slope === \"Extreme\")) {false} else {true}","project":"Foundations","id":"6ef3aec8-78cb-4942-bcfd-ff860b2b7971","savedPayload":{"position":{"x":32413.076931020416,"y":30892.08576021672},"targetPosition":{"x":32127.75997613187,"y":30799.380661904237},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5af02e84-f067-45ee-8d7e-44966254e430","savedPayload":{"position":{"x":32127.75997613187,"y":30799.380661904237},"targetPosition":{"x":31842.443021243325,"y":30706.675563591754},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"20017afc-2e99-4596-9a1d-41b8b8ee7999","savedPayload":{"position":{"x":31842.443021243325,"y":30706.675563591754},"targetPosition":{"x":31666.107445555583,"y":30949.380661904237},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"e6080867-291e-4dc7-b00f-582656e25e80","savedPayload":{"position":{"x":31666.107445555583,"y":30949.380661904237},"targetPosition":{"x":31489.77186986784,"y":31192.08576021672},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"triggerOff":{"type":"Trigger Off Event","name":"New Trigger Off Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close< chart.at01hs.bollingerBand.movingAverage","project":"Foundations","id":"890f22bb-d291-4fdd-b444-5afbea478f13","savedPayload":{"position":{"x":25962.35909532137,"y":28324.470953434735},"targetPosition":{"x":25636.57898625212,"y":28375.364985403918},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ef921c85-8bd3-49cc-aeaa-2556181fec27","savedPayload":{"position":{"x":25636.57898625212,"y":28375.364985403918},"targetPosition":{"x":25310.61264618807,"y":28427.443166736353},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d4217f36-b6e4-45dc-979d-5ad1e74d0b85","savedPayload":{"position":{"x":25310.61264618807,"y":28427.443166736353},"targetPosition":{"x":24948.562035178606,"y":28484.76741246823},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"92cd971f-1315-425e-883c-4adefb12883e","savedPayload":{"position":{"x":31637.925120957112,"y":31168.620590460687},"targetPosition":{"x":31489.77186986784,"y":31192.08576021672},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"takePosition":{"type":"Take Position Event","name":"New Take Position Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"Previous Breakup","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.previous.close > chart.at01hs.bollingerBand.previous.movingAverage + chart.at01hs.bollingerBand.previous.deviation","project":"Foundations","id":"f5611889-2d66-4b5a-84ca-1bd444e56cb0","savedPayload":{"position":{"x":25718.12774206195,"y":28556.093329249365},"targetPosition":{"x":25452.09317780324,"y":28750.116579263093},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"96fdbdfc-c7d9-4e54-972c-de01d3f58a76","savedPayload":{"position":{"x":25452.09317780324,"y":28750.116579263093},"targetPosition":{"x":25186.036024760186,"y":28943.81771139131},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Close In","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage + chart.at01hs.bollingerBand.deviation","project":"Foundations","id":"ccd315a6-ae1c-4fcf-b6d4-deac89aef390","savedPayload":{"position":{"x":25810.530744019103,"y":28737.827895894538},"targetPosition":{"x":25499.03950538092,"y":28842.5330686484},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"382fb23e-b4bc-4792-a492-328fa6201f6c","savedPayload":{"position":{"x":25499.03950538092,"y":28842.5330686484},"targetPosition":{"x":25186.036024760186,"y":28943.81771139131},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Red Candle","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.candle.open","project":"Foundations","id":"cbc7b7f8-b6f1-4752-9259-6372178089e4","savedPayload":{"position":{"x":25846.729211700767,"y":28944.215643757692},"targetPosition":{"x":25516.889378256026,"y":28944.626024248013},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"74975af2-4802-47bc-8251-97981c77dc4a","savedPayload":{"position":{"x":25516.889378256026,"y":28944.626024248013},"targetPosition":{"x":25186.036024760186,"y":28943.81771139131},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"2H Down","code":"chart.at02hs.bollingerBand.direction === \"Up\"","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at02hs.bollingerChannel.direction === \"Down\"","project":"Foundations","id":"b7bdf1ce-16a5-4fc0-a87b-f8815615ef99","savedPayload":{"position":{"x":25811.126047979422,"y":29144.959429141258},"targetPosition":{"x":25499.09385162832,"y":29046.153782464382},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a1e09269-19e5-4dff-8aeb-66d8bf6bd96d","savedPayload":{"position":{"x":25499.09385162832,"y":29046.153782464382},"targetPosition":{"x":25186.036024760186,"y":28943.81771139131},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"4H Up","code":"chart.at02hs.bollingerBand.direction === \"Up\"","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at04hs.bollingerChannel.direction === \"Up\"","project":"Foundations","id":"c516d181-ad48-49cd-a298-fddb6e91de94","savedPayload":{"position":{"x":25719.5712387554,"y":29332.011749995363},"targetPosition":{"x":25453.416931203697,"y":29138.842898097326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d57a06c7-d40b-4488-93fe-f7441dd299c6","savedPayload":{"position":{"x":25453.416931203697,"y":29138.842898097326},"targetPosition":{"x":25186.036024760186,"y":28943.81771139131},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"4H NOT Side","code":"chart.at04hs.bollingerSubChannel.slope === \"Side\"","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at04hs.bollingerSubChannel.slope != \"Side\"","project":"Foundations","id":"9fabe671-7d14-43b5-ba69-831f4f2a066f","savedPayload":{"position":{"x":25574.21114508112,"y":29474.200315277143},"targetPosition":{"x":25379.59276127861,"y":29210.62024264063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"177c777c-ff05-4dc0-8b6b-d663b7329938","savedPayload":{"position":{"x":25379.59276127861,"y":29210.62024264063},"targetPosition":{"x":25186.036024760186,"y":28943.81771139131},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H RSI > 60","code":"chart.at24hs.rsi14.value < chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.rsi14.value > 60","project":"Foundations","id":"e48e0eea-8553-4baa-ab82-de8e822619b3","savedPayload":{"position":{"x":25390.16254154186,"y":29567.9512816984},"targetPosition":{"x":25287.325175777063,"y":29255.92697946779},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ee231079-650d-4046-8e5b-ad3a82e09efa","savedPayload":{"position":{"x":25287.325175777063,"y":29255.92697946779},"targetPosition":{"x":25186.036024760186,"y":28943.81771139131},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Filter 1: 08H Deviation > 200 < 1500","code":"chart.at24hs.bollingerBand.deviation < chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"if (chart.at08hs.bollingerBand.deviation < 200 || chart.at08hs.bollingerBand.deviation > 1500) {false} else {true}","project":"Foundations","id":"241ea7c4-ec8c-4f74-994f-27cdc3cc5084","savedPayload":{"position":{"x":25188.582265210272,"y":29603.031105942588},"targetPosition":{"x":25185.652087523507,"y":29274.328648954608},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b1bb2780-2f92-47da-9ea5-39d0397e7144","savedPayload":{"position":{"x":25185.652087523507,"y":29274.328648954608},"targetPosition":{"x":25186.036024760186,"y":28943.81771139131},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Filter 3: 02H Down && 4H Side && 1H Medium, Steep or Extreme","code":"chart.at24hs.bollingerChannel.direction === \"Up\"","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"if (chart.at02hs.bollingerChannel.direction === \"Down\" && chart.at12hs.bollingerChannel.direction === \"Down\" && chart.at04hs.bollingerSubChannel.slope === \"Side\" && (chart.at01hs.bollingerSubChannel.slope === \"Medium\" || chart.at01hs.bollingerSubChannel.slope === \"Steep\" || chart.at01hs.bollingerSubChannel.slope === \"Extreme\")) {false} else {true}","project":"Foundations","id":"35f95b09-f037-43ba-96f9-fa9d7d677bea","savedPayload":{"position":{"x":24985.125074028503,"y":29568.131577314067},"targetPosition":{"x":25082.140352477705,"y":29254.490688041842},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6d92e5f1-7164-4f38-9a56-07334aee23fd","savedPayload":{"position":{"x":25082.140352477705,"y":29254.490688041842},"targetPosition":{"x":25186.036024760186,"y":28943.81771139131},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2f0018b8-a386-4eb2-8cf8-b61c00af7639","savedPayload":{"position":{"x":25186.036024760186,"y":28943.81771139131},"targetPosition":{"x":24889.618142603576,"y":28728.74429747551},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"a937976d-4084-4184-a913-910b75ed6659","savedPayload":{"position":{"x":31732.476968180323,"y":31368.421335904462},"targetPosition":{"x":31489.77186986784,"y":31192.08576021672},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"def5d0af-b5ee-43f9-9ea0-0b73cd37d82e","savedPayload":{"position":{"x":31489.77186986784,"y":31192.08576021672},"targetPosition":{"x":31193.4653676893,"y":31239.01609972879},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"openStage":{"type":"Open Stage","name":"New Open Stage","project":"Foundations","initialTargets":{"type":"Initial Targets","name":"New Initial Targets","project":"Foundations","targetRate":{"type":"Target Rate","name":"New Target Rate","project":"Foundations","formula":{"type":"Formula","name":"My Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value","project":"Foundations","id":"0b0e860d-f3c3-4372-9873-4a9dd4e9d100","savedPayload":{"position":{"x":22431.445804370174,"y":27050.03547149791},"targetPosition":{"x":22510.635302525414,"y":27257.396346693953},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d340cdb1-a381-4206-a857-07ae5d92ad04","savedPayload":{"position":{"x":22510.635302525414,"y":27257.396346693953},"targetPosition":{"x":22668.929394331164,"y":27671.137760506223},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"targetSizeInBaseAsset":{"type":"Target Size In Base Asset","name":"New Target Size In Base Asset","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value","project":"Foundations","id":"f3292c7f-4273-4130-a41d-8d8d16133ff3","savedPayload":{"position":{"x":23086.293918145442,"y":27153.979668841806},"targetPosition":{"x":22947.343167347717,"y":27326.680449879663},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"459ba766-3c86-4b1c-81ee-467a438ff57d","savedPayload":{"position":{"x":22947.343167347717,"y":27326.680449879663},"targetPosition":{"x":22668.929394331164,"y":27671.137760506223},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"4dcaba6c-a6cc-4893-858b-0c21fb1b3849","savedPayload":{"position":{"x":31610.561755158997,"y":31367.36285621421},"targetPosition":{"x":31460.76732494581,"y":31375.213249650653},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"openExecution":{"type":"Open Execution","name":"New Open Execution","project":"Foundations","executionAlgorithms":[{"type":"Execution Algorithm","name":"New Execution Algorithm","config":"{\n\"percentageOfStageTargetSize\": 100 \n}","project":"Foundations","marketBuyOrders":[],"marketSellOrders":[{"type":"Market Sell Order","name":"Quick Entry","config":"{\n\"percentageOfAlgorithmSize\": 100\n}","project":"Foundations","createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"true","project":"Foundations","id":"c9114021-830b-42a4-a360-4c2bbf1cbe60","savedPayload":{"position":{"x":25815.27796277978,"y":30870.21416538181},"targetPosition":{"x":25637.084171050992,"y":30595.690950443968},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1cda8d70-96d1-4f9d-a532-047fc4a3179c","savedPayload":{"position":{"x":25637.084171050992,"y":30595.690950443968},"targetPosition":{"x":25458.17426941292,"y":30320.05625276125},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"43a8d235-6498-4bf5-9a01-4ffe21dec3a1","savedPayload":{"position":{"x":25458.17426941292,"y":30320.05625276125},"targetPosition":{"x":25279.85596332875,"y":30043.363382412077},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"d085a3ab-b86b-4fae-a802-e45d30212b12","savedPayload":{"position":{"x":25279.85596332875,"y":30043.363382412077},"targetPosition":{"x":25100.16381395838,"y":29767.06083041019},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5f38bb78-6259-4ceb-a80e-9acd18e3daa2","savedPayload":{"position":{"x":25100.16381395838,"y":29767.06083041019},"targetPosition":{"x":24921.53954764839,"y":29492.235107845365},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market Order","name":"Market Sell Order #1","id":"8e404329-d41f-41e0-ad5a-c84ee1fa2604"}}}],"limitBuyOrders":[],"limitSellOrders":[],"id":"e2222c7e-1bd3-4a7c-9774-48cd1cc16d3d","savedPayload":{"position":{"x":24921.53954764839,"y":29492.235107845365},"targetPosition":{"x":24740.69628039575,"y":29213.727246319177},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}}],"id":"759388ff-86bc-41f0-9ec7-9964e904e630","savedPayload":{"position":{"x":31542.463180198065,"y":31501.013834842466},"targetPosition":{"x":31460.76732494581,"y":31375.213249650653},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"69a1d5f7-b453-489d-bf1b-b25c2bdcaa48","savedPayload":{"position":{"x":31460.76732494581,"y":31375.213249650653},"targetPosition":{"x":31193.4653676893,"y":31239.01609972879},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"manageStage":{"type":"Manage Stage","name":"Slow Run","project":"Foundations","managedStopLoss":{"type":"Managed Stop Loss","name":"New Managed Stop Loss","project":"Foundations","phases":[{"type":"Phase","name":"New Phase","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.03","project":"Foundations","id":"d86eeec2-43f3-453c-8d05-2ef2723a241b","savedPayload":{"position":{"x":25176.792125398388,"y":29473.281162553867},"targetPosition":{"x":24883.683567313048,"y":29622.419881376823},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","name":"New Next Phase Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.candle.previous.close < portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97","project":"Foundations","id":"f903c817-fc50-48ab-abd4-9b58953e95b7","savedPayload":{"position":{"x":25902.39459991396,"y":29033.416553186238},"targetPosition":{"x":25738.391699993546,"y":29041.783933980565},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"abd14bc4-e08a-4804-a38d-379dc8869915","savedPayload":{"position":{"x":25738.391699993546,"y":29041.783933980565},"targetPosition":{"x":25560.20117804534,"y":29050.95570069545},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"3e9ec975-1cfd-4629-86c2-01a2b7cee8fc","savedPayload":{"position":{"x":25560.20117804534,"y":29050.95570069545},"targetPosition":{"x":25346.204356333415,"y":29061.90617071568},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"86e1e0cc-e723-4488-97cc-e5df9ff768b4","savedPayload":{"position":{"x":24866.634123397424,"y":29951.433347203863},"targetPosition":{"x":24883.683567313048,"y":29622.419881376823},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"9bf160d5-af24-47b8-a457-59da431e3fe3","savedPayload":{"position":{"x":24884.026903085047,"y":29622.641110811623},"targetPosition":{"x":24548.304795102624,"y":29404.07335422634},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"New Phase","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.bollingerBand.movingAverage * 1.02 < portfolioEngine.portfolioCurrent.position.stopLoss.value) {chart.at01hs.bollingerBand.movingAverage * 1.02} else {portfolioEngine.portfolioCurrent.position.stopLoss.value}","project":"Foundations","id":"c57b9aaa-edc1-4a24-a2f9-1eeb3eed3d5c","savedPayload":{"position":{"x":25435.924655480638,"y":29981.362382422245},"targetPosition":{"x":25159.70960692026,"y":29801.872115526465},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[],"announcements":[],"id":"22d1ba82-cecd-4ebf-a9b0-c02a2dcc4385","savedPayload":{"position":{"x":25159.70960692026,"y":29801.872115526465},"targetPosition":{"x":24883.683567313048,"y":29622.419881376823},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f41b282c-06b8-4a86-9c94-18173ce77526","savedPayload":{"position":{"x":31455.463102802976,"y":31588.013912237555},"targetPosition":{"x":31329.662517611163,"y":31506.3180569853},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"managedTakeProfit":{"type":"Managed Take Profit","name":"New Managed Take Profit","project":"Foundations","phases":[{"type":"Phase","name":"New Phase","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.95","project":"Foundations","id":"db43ceff-373d-42f3-9109-71257f48d0bb","savedPayload":{"position":{"x":24511.461177690537,"y":30131.662313778346},"targetPosition":{"x":24235.335047955246,"y":29952.654529540778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","name":"New Next Phase Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"1H EMA7 < entryTargetRate","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < portfolioEngine.portfolioCurrent.position.entryTargetRate.value","project":"Foundations","id":"b85e0a3d-dddf-4c06-8265-09a128565a72","savedPayload":{"position":{"x":25606.567556112343,"y":30862.84196389796},"targetPosition":{"x":25427.459856101697,"y":30586.723744925548},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a8c6c9e7-c45b-4e14-8f6e-5bffa6f7b0f0","savedPayload":{"position":{"x":25427.459856101697,"y":30586.723744925548},"targetPosition":{"x":25248.104817623316,"y":30311.0404057551},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"positionPeriods > 2","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"portfolioEngine.portfolioCurrent.position.positionCounters.periods.value > 2","project":"Foundations","id":"25f76ae7-93a2-47ab-be49-bf91a4ab8b37","savedPayload":{"position":{"x":24950.497205906155,"y":30897.79101027456},"targetPosition":{"x":25099.088669371537,"y":30604.40999208815},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0f943c1c-645b-455a-a11d-e67435b5b68b","savedPayload":{"position":{"x":25099.088669371537,"y":30604.40999208815},"targetPosition":{"x":25248.104817623316,"y":30311.0404057551},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"89136673-be89-4f40-82cf-78a32f735291","savedPayload":{"position":{"x":25248.104817623316,"y":30311.0404057551},"targetPosition":{"x":25229.702586976506,"y":29966.0267395482},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"3b4bb3aa-6317-41b7-bb90-39e703fbc836","savedPayload":{"position":{"x":23942.069452370954,"y":30101.820252099787},"targetPosition":{"x":24235.335047955246,"y":29952.654529540778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"0d840032-5e32-4356-96af-434e6524664d","savedPayload":{"position":{"x":24235.335047955246,"y":29952.654529540778},"targetPosition":{"x":24256.12002490551,"y":29552.808661097646},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"Manage: 3% Below ema7","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.base7EMA.ema7 * 0.97 < portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97) {chart.at01hs.base7EMA.ema7 * 0.97} else {portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97}","project":"Foundations","id":"214e21c2-bdab-4d05-91b2-02f327d177b8","savedPayload":{"position":{"x":24494.434775209535,"y":30459.8552714733},"targetPosition":{"x":24218.32229680881,"y":30280.83927307622},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","name":"New Next Phase Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 conv ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"401d2bc0-0193-42de-8a65-df43242eb516","savedPayload":{"position":{"x":23049.860507401445,"y":30488.129013738842},"targetPosition":{"x":23343.33207159927,"y":30337.740702569936},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b023b429-024c-46eb-86f8-6e4e23be3b3c","savedPayload":{"position":{"x":23343.33207159927,"y":30337.740702569936},"targetPosition":{"x":23637.808974683117,"y":30187.072125345294},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ee7cd341-d632-47d6-9ddf-4462e6961461","savedPayload":{"position":{"x":23637.808974683117,"y":30187.072125345294},"targetPosition":{"x":23945.463320614384,"y":30030.071241252168},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"5c96f85d-f36d-496f-8c82-68bdbde4456f","savedPayload":{"position":{"x":23924.989173800393,"y":30430.076273215338},"targetPosition":{"x":24218.32229680881,"y":30280.83927307622},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"241d29a5-2372-4c0b-9dd1-9c74e98d8593","savedPayload":{"position":{"x":24218.32229680881,"y":30280.83927307622},"targetPosition":{"x":24235.335047955246,"y":29952.654529540778},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"Close: BB Lower Band","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.deviation < \nportfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97) \n{chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.standardDeviation * 2} else \n{portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97}","project":"Foundations","id":"54a1a04f-b59d-40d9-91d6-9716c0198983","savedPayload":{"position":{"x":24421.84406777817,"y":30853.191347701613},"targetPosition":{"x":24201.30584504686,"y":30608.97825118956},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[{"type":"Move To Phase Event","name":"Move to Run","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 > chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"23d9abaa-63cc-4aef-abaf-7b493213cd29","savedPayload":{"position":{"x":24794.69308248825,"y":31324.080069063253},"targetPosition":{"x":24517.814817233615,"y":31144.109858092597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"28be9fea-5e5c-4c99-b4a4-6c01a831d9ce","savedPayload":{"position":{"x":24517.814817233615,"y":31144.109858092597},"targetPosition":{"x":24242.667020843037,"y":30965.322129223627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 div ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema21 - chart.at01hs.base7EMA.ema14 > chart.at01hs.base7EMA.previous.ema21 - chart.at01hs.base7EMA.previous.ema14","project":"Foundations","id":"c59f1c98-a4e9-40c1-8690-6543baa7a966","savedPayload":{"position":{"x":24540.35827062194,"y":31550.974216975395},"targetPosition":{"x":24390.951250093785,"y":31257.287314486137},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c24d0f99-6491-40b3-94d9-49f91d354f3c","savedPayload":{"position":{"x":24390.951250093785,"y":31257.287314486137},"targetPosition":{"x":24242.667020843037,"y":30965.322129223627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema7 < ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.ema14","project":"Foundations","id":"d6b4d297-a5fa-4561-acb0-b8d3b891912e","savedPayload":{"position":{"x":24208.895626944388,"y":31624.01610866189},"targetPosition":{"x":24225.072871771394,"y":31294.23224533906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c3f66d39-dc88-4049-895a-378f492a7d35","savedPayload":{"position":{"x":24225.072871771394,"y":31294.23224533906},"targetPosition":{"x":24242.667020843037,"y":30965.322129223627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 < ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 < chart.at01hs.base7EMA.ema21 ","project":"Foundations","id":"e9ac7090-a4d5-409d-9432-0d422f60e6e1","savedPayload":{"position":{"x":23883.340531582995,"y":31515.688850701757},"targetPosition":{"x":24063.166708844292,"y":31240.545867176093},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a05e64ed-4262-42f1-b9dc-cc14f8b27c2d","savedPayload":{"position":{"x":24063.166708844292,"y":31240.545867176093},"targetPosition":{"x":24242.667020843037,"y":30965.322129223627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"previous ema7 div previous ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7 > chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7","project":"Foundations","id":"cb158763-cb2f-494b-88ab-dafeb3825ca4","savedPayload":{"position":{"x":23656.704013092647,"y":31263.768527310116},"targetPosition":{"x":23949.798314490516,"y":31114.891468978567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"386bbe6b-9082-47e7-b750-e0e9d16a7030","savedPayload":{"position":{"x":23949.798314490516,"y":31114.891468978567},"targetPosition":{"x":24242.667020843037,"y":30965.322129223627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"32813be2-a6cd-4e5d-9a58-87eae5b3b5e9","savedPayload":{"position":{"x":24242.667020843037,"y":30965.322129223627},"targetPosition":{"x":24260.619763680188,"y":30620.1023030926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"264bdd5b-5246-4a3f-bd09-5c50baf57963","savedPayload":{"position":{"x":24235.168667693055,"y":31023.165589945114},"targetPosition":{"x":24201.30584504686,"y":30608.97825118956},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Manage: 3% Below ema7","id":"241d29a5-2372-4c0b-9dd1-9c74e98d8593"}}},{"type":"Move To Phase Event","name":"Cancel Close","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 > chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"308d9cf6-beba-4d14-9b90-bb11409e3835","savedPayload":{"position":{"x":23233.349159772777,"y":31099.445184480428},"targetPosition":{"x":23476.50822797865,"y":30880.386223181653},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a787ffbe-ea25-41cb-a719-de115285eead","savedPayload":{"position":{"x":23476.50822797865,"y":30880.386223181653},"targetPosition":{"x":23720.254003603186,"y":30660.01995881678},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d4b41076-5b23-498d-bc3e-1ccf277a1a43","savedPayload":{"position":{"x":23720.254003603186,"y":30660.01995881678},"targetPosition":{"x":23977.046284028904,"y":30428.798800582335},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"7cb4214c-3e3e-4a70-ad14-6ae2a568f24c","savedPayload":{"position":{"x":23956.388542329696,"y":30828.912766299094},"targetPosition":{"x":24201.30584504686,"y":30608.97825118956},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Manage: 3% Below ema7","id":"241d29a5-2372-4c0b-9dd1-9c74e98d8593"}}}],"announcements":[],"id":"592ad0d7-d583-4827-8ae6-48f6ad25c1a3","savedPayload":{"position":{"x":24201.30584504686,"y":30608.97825118956},"targetPosition":{"x":24218.32229680881,"y":30280.83927307622},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"Run","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.base7EMA.ema7 * 0.8 < \nportfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97) \n{chart.at01hs.base7EMA.ema7 * 0.8} else \n{portfolioEngine.portfolioCurrent.position.takeProfit.value}","project":"Foundations","id":"580ecace-0d6d-4632-ad8d-e6dc86df51c8","savedPayload":{"position":{"x":24447.405787603835,"y":31095.602317053803},"targetPosition":{"x":24171.552721541557,"y":30916.03885322299},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[{"type":"Move To Phase Event","name":"Cancel Run","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 conv ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"bf6a5ecf-f5c8-4d13-a15c-1b567422bee0","savedPayload":{"position":{"x":13577.805752547116,"y":26525.22671237997},"targetPosition":{"x":13411.408662966634,"y":26151.280457013687},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ca87de8b-af92-4d83-af59-7c71f17e1be4","savedPayload":{"position":{"x":13411.408662966634,"y":26151.280457013687},"targetPosition":{"x":13244.906719756145,"y":25777.1247201925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"prev.ema7 conv prev.ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7 < chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7","project":"Foundations","id":"d626af7e-c8bb-4e17-95e5-ba5abda158d8","savedPayload":{"position":{"x":12764.007233155098,"y":26439.691569327268},"targetPosition":{"x":13004.42766168718,"y":26108.486899243035},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"98a76d2a-1ec4-413c-85b2-59865c6e1187","savedPayload":{"position":{"x":13004.42766168718,"y":26108.486899243035},"targetPosition":{"x":13244.906719756145,"y":25777.1247201925},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"9406f175-4d00-436d-ab9e-27081d36611b","savedPayload":{"position":{"x":13244.906719756145,"y":25777.1247201925},"targetPosition":{"x":13287.452200650645,"y":25369.59276106218},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"aef3e320-bbaf-42e5-8083-21157428bfaf","savedPayload":{"position":{"x":23992.475762595386,"y":31192.271209791143},"targetPosition":{"x":24171.552721541557,"y":30916.03885322299},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Manage: 3% Below ema7","id":"241d29a5-2372-4c0b-9dd1-9c74e98d8593"}}}],"announcements":[],"id":"9b594083-3fb0-4dfa-ba4b-1b1ada8687fe","savedPayload":{"position":{"x":24171.552721541557,"y":30916.03885322299},"targetPosition":{"x":24201.30584504686,"y":30608.97825118956},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"80d81cb5-6a3a-4eff-ad9f-5590450c7366","savedPayload":{"position":{"x":31321.81212417472,"y":31656.112487198487},"targetPosition":{"x":31329.662517611163,"y":31506.3180569853},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"3ea826ac-fe6b-4b8c-a0dc-f830202e8306","savedPayload":{"position":{"x":31329.662517611163,"y":31506.3180569853},"targetPosition":{"x":31193.4653676893,"y":31239.01609972879},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"closeStage":{"type":"Close Stage","project":"Foundations","initialTargets":{"type":"Initial Targets","name":"New Initial Targets","project":"Foundations","targetRate":{"type":"Target Rate","name":"New Target Rate","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value","project":"Foundations","id":"b4e3481e-02c3-4b1a-b0fc-b45ea73bb669","savedPayload":{"position":{"x":31720.332989915,"y":32192.988964486394},"targetPosition":{"x":31487.18920147791,"y":32004.192847171442},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ba7855bc-df15-4472-bab3-6f7e54becbe2","savedPayload":{"position":{"x":31487.18920147791,"y":32004.192847171442},"targetPosition":{"x":31254.04541304082,"y":31815.39672985649},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"targetSizeInQuotedAsset":{"type":"Target Size In Quoted Asset","name":"New Target Size In Quoted Asset","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.sizeFilled.value - portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.feesPaid.value","project":"Foundations","id":"395f39ec-ec09-4bb6-9f12-e8ee9b7597a8","savedPayload":{"position":{"x":31160.184734016682,"y":32408.00973421357},"targetPosition":{"x":31207.115073528752,"y":32111.70323203503},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b8c905c4-1526-48e8-9ad9-e946f7e5fcd8","savedPayload":{"position":{"x":31207.115073528752,"y":32111.70323203503},"targetPosition":{"x":31254.04541304082,"y":31815.39672985649},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"fab71da1-214c-48e3-af1c-07502a6faabb","savedPayload":{"position":{"x":31254.04541304082,"y":31815.39672985649},"targetPosition":{"x":31146.53502817723,"y":31535.32260190733},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"closeExecution":{"type":"Close Execution","project":"Foundations","executionAlgorithms":[{"type":"Execution Algorithm","name":"New Execution Algorithm","config":"{\n\"percentageOfStageTargetSize\": 100 \n}","project":"Foundations","marketBuyOrders":[{"type":"Market Buy Order","name":"Quick Exit","config":"{\n\"percentageOfAlgorithmSize\": 100,\n\"spawnMultipleOrders\": false\n}","project":"Foundations","createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"true","project":"Foundations","id":"e4c80caa-13c7-489e-a47c-294c01bd2703","savedPayload":{"position":{"x":21476.991974895667,"y":29500.044822673262},"targetPosition":{"x":21436.416189347598,"y":29307.86529079981},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"cbe12b3f-1a4a-4700-906f-fceb0606fcfe","savedPayload":{"position":{"x":21436.416189347598,"y":29307.86529079981},"targetPosition":{"x":21395.734858211777,"y":29115.01181176481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ddb0a9e7-a6eb-4607-968a-2f42ac3a8d60","savedPayload":{"position":{"x":21395.734858211777,"y":29115.01181176481},"targetPosition":{"x":21346.206437213477,"y":28880.477271244206},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"4018e1b8-c111-492f-b1c8-3b86633fb347","savedPayload":{"position":{"x":22994.965735175523,"y":30372.023418535813},"targetPosition":{"x":23202.003330403757,"y":30116.209387322073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"9d2f1590-9146-49cd-9e1f-d6b5baeecf4b","savedPayload":{"position":{"x":23202.003330403757,"y":30116.209387322073},"targetPosition":{"x":23408.308897278002,"y":29861.264339630485},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market Order","name":"Market Buy Order #1","id":"7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3"}}}],"marketSellOrders":[],"limitBuyOrders":[],"limitSellOrders":[],"id":"4a3fc4cf-8739-472e-a5f0-93b022eed042","savedPayload":{"position":{"x":23408.308897278002,"y":29861.264339630485},"targetPosition":{"x":23665.143387392807,"y":29543.90650282646},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"06f7907c-2767-4a2f-881d-46c6b8b207ce","savedPayload":{"position":{"x":30957.738910862277,"y":31768.46639034442},"targetPosition":{"x":31146.53502817723,"y":31535.32260190733},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"b81728f5-c26c-47a9-b659-456150614134","savedPayload":{"position":{"x":31146.53502817723,"y":31535.32260190733},"targetPosition":{"x":31193.4653676893,"y":31239.01609972879},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"4af71378-a61f-4d1d-a1cd-6933897ef3bd","savedPayload":{"position":{"x":31193.4653676893,"y":31239.01609972879},"targetPosition":{"x":30981.333333333336,"y":31026.884065372826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Portfolio Strategy","name":"S8 - 4H Up","project":"Foundations","triggerStage":{"type":"Trigger Stage","name":"New Trigger Stage","project":"Foundations","triggerOn":{"type":"Trigger On Event","name":"New Trigger On Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"Previous Breakup","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.previous.close > chart.at01hs.bollingerBand.previous.movingAverage + chart.at01hs.bollingerBand.previous.deviation","project":"Foundations","id":"0b8368d3-b1b1-413b-bbeb-95641a85b80f","savedPayload":{"position":{"x":32080.154259461156,"y":30493.316358018084},"targetPosition":{"x":32022.479473276664,"y":30939.60507514924},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6034fcd2-8d4d-48b8-a392-18535fa70a53","savedPayload":{"position":{"x":32022.479473276664,"y":30939.60507514924},"targetPosition":{"x":31964.80468709217,"y":31385.893792280396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Close In","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage + chart.at01hs.bollingerBand.deviation","project":"Foundations","id":"5e94af5d-2be9-4ae9-ae44-2867f755a827","savedPayload":{"position":{"x":32326.949914023335,"y":30561.969745652932},"targetPosition":{"x":32145.877300557753,"y":30973.931768966664},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f811cfed-9f3e-4211-84da-066b038d0b33","savedPayload":{"position":{"x":32145.877300557753,"y":30973.931768966664},"targetPosition":{"x":31964.80468709217,"y":31385.893792280396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Red Candle","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.candle.open","project":"Foundations","id":"9d5052c6-8411-4f18-ace8-17f021dfd5e2","savedPayload":{"position":{"x":32544.406716060144,"y":30697.37255948056},"targetPosition":{"x":32254.605701576158,"y":31041.633175880477},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d4f2d1aa-32fd-4345-8291-3da0a9bf3fc5","savedPayload":{"position":{"x":32254.605701576158,"y":31041.633175880477},"targetPosition":{"x":31964.80468709217,"y":31385.893792280396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"4H Up","code":"chart.at03hs.bollingerChannel.direction * chart.atAnyTimeFrame.externalSignal.timestamp > chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at04hs.bollingerChannel.direction === \"Up\"","project":"Foundations","id":"3347b5df-6552-43dd-8265-43bb7d87df98","savedPayload":{"position":{"x":32714.90760873596,"y":30888.555268796183},"targetPosition":{"x":32339.856147914066,"y":31137.22453053829},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7a4b6d88-b433-435d-a683-6eb73780f27b","savedPayload":{"position":{"x":32339.856147914066,"y":31137.22453053829},"targetPosition":{"x":31964.80468709217,"y":31385.893792280396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"24H Down","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at24hs.bollingerChannel.direction === \"Down\"","project":"Foundations","id":"3bf685d6-ac1f-4bab-a7f1-8450ee657948","savedPayload":{"position":{"x":32824.63962373404,"y":31120.029387498413},"targetPosition":{"x":32394.722155413107,"y":31252.961589889404},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"22eebcad-ee09-4e3b-897e-9495bb82784d","savedPayload":{"position":{"x":32394.722155413107,"y":31252.961589889404},"targetPosition":{"x":31964.80468709217,"y":31385.893792280396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"4H Side or 1H Extreme or Side","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at04hs.bollingerSubChannel.slope === \"Side\" || (chart.at04hs.bollingerSubChannel.slope === \"Gentle\" && (chart.at01hs.bollingerSubChannel.slope === \"Extreme\" || chart.at01hs.bollingerSubChannel.slope === \"Side\"))","project":"Foundations","id":"d5a69ea3-5ae1-4e4b-b858-8844f20f6369","savedPayload":{"position":{"x":32864.71292580066,"y":31373.04225911959},"targetPosition":{"x":32414.758806446418,"y":31379.468025699993},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"54ac9a91-76eb-4d28-9d75-bcad0008c481","savedPayload":{"position":{"x":32414.758806446418,"y":31379.468025699993},"targetPosition":{"x":31964.80468709217,"y":31385.893792280396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Filter 1: 08H Deviation > 200 < 1500","code":"chart.at24hs.bollingerBand.deviation < chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"if (chart.at08hs.bollingerBand.deviation < 200 || chart.at08hs.bollingerBand.deviation > 1500) {false} else {true}","project":"Foundations","id":"e84f9d0b-15fc-4656-a2ed-392304b44df3","savedPayload":{"position":{"x":32831.88101432749,"y":31627.096285526437},"targetPosition":{"x":32398.342850709832,"y":31506.495038903417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"658b7720-b18e-42d0-9cb3-7f5c71928409","savedPayload":{"position":{"x":32398.342850709832,"y":31506.495038903417},"targetPosition":{"x":31964.80468709217,"y":31385.893792280396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Filter 3: 02H Down && 4H Side && 1H Medium, Steep or Extreme","code":"chart.at24hs.bollingerChannel.direction === \"Up\"","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"if (chart.at02hs.bollingerChannel.direction === \"Down\" && chart.at12hs.bollingerChannel.direction === \"Down\" && chart.at04hs.bollingerSubChannel.slope === \"Side\" && (chart.at01hs.bollingerSubChannel.slope === \"Medium\" || chart.at01hs.bollingerSubChannel.slope === \"Steep\" || chart.at01hs.bollingerSubChannel.slope === \"Extreme\")) {false} else {true}","project":"Foundations","id":"84b0abb3-cf34-491e-9436-4fdb07ee4977","savedPayload":{"position":{"x":32728.80373552319,"y":31861.609520416954},"targetPosition":{"x":32346.80421130768,"y":31623.751656348675},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f39b86b4-5a2a-470c-8503-0ee11eab51f6","savedPayload":{"position":{"x":32346.80421130768,"y":31623.751656348675},"targetPosition":{"x":31964.80468709217,"y":31385.893792280396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Filter 4: 02H Up && 02H Gentle && 3H Side","code":"chart.at02hs.percentageBandwidth.movingAverage > chart.at24hs.bollingerSubChannel.slope + chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"if (chart.at02hs.bollingerChannel.direction === \"Up\" && chart.at02hs.bollingerSubChannel.slope === \"Gentle\" && chart.at03hs.bollingerSubChannel.slope === \"Side\") {false} else {true}","project":"Foundations","id":"3bde8f4f-c2e3-413b-8df1-37aeb20a85f9","savedPayload":{"position":{"x":32563.8317974923,"y":32057.583096204216},"targetPosition":{"x":32264.318242292236,"y":31721.738444242306},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"04fd8c8d-8074-4932-b3e1-56357c7829ea","savedPayload":{"position":{"x":32264.318242292236,"y":31721.738444242306},"targetPosition":{"x":31964.80468709217,"y":31385.893792280396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Filter 2: 02H, 03H, 04H, 06H, all Up && 2H Steep && 1H, 6H NOT Gentle","code":"chart.at24hs.bollingerChannel.direction + chart.at24hs.bollingerBand.slope > chart.at01hs.rsi14.value","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"if (chart.at02hs.bollingerSubChannel.direction === \"Up\" && chart.at03hs.bollingerSubChannel.direction === \"Up\" && chart.at04hs.bollingerSubChannel.direction === \"Up\" && chart.at06hs.bollingerSubChannel.direction === \"Up\" && chart.at02hs.bollingerSubChannel.slope === \"Steep\" && chart.at01hs.bollingerSubChannel.slope != \"Gentle\" && chart.at06hs.bollingerSubChannel.slope != \"Gentle\") {false} else {true}","project":"Foundations","id":"cf1a034f-093e-422f-ba6f-ec4c3ce091d2","savedPayload":{"position":{"x":32350.330245528192,"y":32199.140399277676},"targetPosition":{"x":32157.56746631018,"y":31792.517095779036},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"69c8d1ca-52b4-4eed-a65b-7a8a870bb46d","savedPayload":{"position":{"x":32157.56746631018,"y":31792.517095779036},"targetPosition":{"x":31964.80468709217,"y":31385.893792280396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"64643171-239b-49ac-adc7-0124075eb96e","savedPayload":{"position":{"x":31964.80468709217,"y":31385.893792280396},"targetPosition":{"x":31520.34493382436,"y":31456.2893015485},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"9c8b28ef-af88-416c-9262-20efbf357408","savedPayload":{"position":{"x":31520.34493382436,"y":31456.2893015485},"targetPosition":{"x":31224.03843164582,"y":31503.21964106057},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"triggerOff":{"type":"Trigger Off Event","name":"New Trigger Off Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close< chart.at01hs.bollingerBand.movingAverage","project":"Foundations","id":"09286632-34ad-4ea0-9f01-32bd89b20900","savedPayload":{"position":{"x":25067.81835211366,"y":29931.520078422385},"targetPosition":{"x":24814.694185336477,"y":29747.25455069745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f75343e2-3c65-413b-85de-8e88a1f91e09","savedPayload":{"position":{"x":24814.694185336477,"y":29747.25455069745},"targetPosition":{"x":24560.585215758867,"y":29562.77321596926},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"68074fb6-7ca9-43a7-a83c-abcd0c55148c","savedPayload":{"position":{"x":24560.585215758867,"y":29562.77321596926},"targetPosition":{"x":24271.639935702246,"y":29353.793308505694},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"07f812fb-602f-4713-871d-648faa64a6ce","savedPayload":{"position":{"x":31345.39098080206,"y":31591.38742890444},"targetPosition":{"x":31224.03843164582,"y":31503.21964106057},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"takePosition":{"type":"Take Position Event","name":"New Take Position Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"Previous Breakup","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.previous.close > chart.at01hs.bollingerBand.previous.movingAverage + chart.at01hs.bollingerBand.previous.deviation","project":"Foundations","id":"07c87bc6-f04b-4a08-88c3-82df8036a971","savedPayload":{"position":{"x":32233.941714688313,"y":32359.335468875906},"targetPosition":{"x":31787.652997557154,"y":32301.660682691414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9a120c5b-3fda-4ff3-89af-621d53b2e075","savedPayload":{"position":{"x":31787.652997557154,"y":32301.660682691414},"targetPosition":{"x":31341.364280425994,"y":32243.98589650692},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Close In","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage + chart.at01hs.bollingerBand.deviation","project":"Foundations","id":"d054b93f-3378-49e9-9e18-73373b1ec935","savedPayload":{"position":{"x":32165.28832705346,"y":32606.131123438085},"targetPosition":{"x":31753.326303739726,"y":32425.058509972503},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"cbc32f34-4189-4526-a323-9291e672495c","savedPayload":{"position":{"x":31753.326303739726,"y":32425.058509972503},"targetPosition":{"x":31341.364280425994,"y":32243.98589650692},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Red Candle","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.candle.open","project":"Foundations","id":"562f3238-94f0-41af-8d61-f9984bc8bd0b","savedPayload":{"position":{"x":32029.88551322584,"y":32823.587925474894},"targetPosition":{"x":31685.624896825917,"y":32533.786910990908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d5b4549d-92bd-4c3e-af81-884899aae8d9","savedPayload":{"position":{"x":31685.624896825917,"y":32533.786910990908},"targetPosition":{"x":31341.364280425994,"y":32243.98589650692},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"4H Up","code":"chart.at03hs.bollingerChannel.direction * chart.atAnyTimeFrame.externalSignal.timestamp > chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at04hs.bollingerChannel.direction === \"Up\"","project":"Foundations","id":"ce7a4a64-743a-443d-a825-b02c25d4b55a","savedPayload":{"position":{"x":31838.702803910208,"y":32994.08881815071},"targetPosition":{"x":31590.0335421681,"y":32619.037357328816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4b992367-9f3a-4ce3-b389-2fc84c8cca16","savedPayload":{"position":{"x":31590.0335421681,"y":32619.037357328816},"targetPosition":{"x":31341.364280425994,"y":32243.98589650692},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"24H Down","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at24hs.bollingerChannel.direction === \"Down\"","project":"Foundations","id":"a1c10e9c-19b9-4805-b441-ce3ec64b23a1","savedPayload":{"position":{"x":31607.228685207978,"y":33103.82083314879},"targetPosition":{"x":31474.296482816986,"y":32673.903364827856},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f5f2b1bb-f847-4994-a1ab-5252c7c685c6","savedPayload":{"position":{"x":31474.296482816986,"y":32673.903364827856},"targetPosition":{"x":31341.364280425994,"y":32243.98589650692},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"4H Side or 1H Extreme or Side","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at04hs.bollingerSubChannel.slope === \"Side\" || (chart.at04hs.bollingerSubChannel.slope === \"Gentle\" && (chart.at01hs.bollingerSubChannel.slope === \"Extreme\" || chart.at01hs.bollingerSubChannel.slope === \"Side\"))","project":"Foundations","id":"3d26867a-7ffc-4b17-a226-c2cf2d02a1ae","savedPayload":{"position":{"x":31354.2158135868,"y":33143.894135215414},"targetPosition":{"x":31347.790047006398,"y":32693.940015861168},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a96f6aed-5ba0-458e-b073-a14a7030a4ce","savedPayload":{"position":{"x":31347.790047006398,"y":32693.940015861168},"targetPosition":{"x":31341.364280425994,"y":32243.98589650692},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Filter 1: 08H Deviation > 200 < 1500","code":"chart.at24hs.bollingerBand.deviation < chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"if (chart.at08hs.bollingerBand.deviation < 200 || chart.at08hs.bollingerBand.deviation > 1500) {false} else {true}","project":"Foundations","id":"f674d92e-8b5b-4a88-9c97-c0499fea9f41","savedPayload":{"position":{"x":31100.161787179946,"y":33111.06222374224},"targetPosition":{"x":31220.76303380297,"y":32677.524060124582},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b0663ef7-ad0e-44eb-8448-87c92b066de1","savedPayload":{"position":{"x":31220.76303380297,"y":32677.524060124582},"targetPosition":{"x":31341.364280425994,"y":32243.98589650692},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Filter 3: 02H Down && 4H Side && 1H Medium, Steep or Extreme","code":"chart.at24hs.bollingerChannel.direction === \"Up\"","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"if (chart.at02hs.bollingerChannel.direction === \"Down\" && chart.at12hs.bollingerChannel.direction === \"Down\" && chart.at04hs.bollingerSubChannel.slope === \"Side\" && (chart.at01hs.bollingerSubChannel.slope === \"Medium\" || chart.at01hs.bollingerSubChannel.slope === \"Steep\" || chart.at01hs.bollingerSubChannel.slope === \"Extreme\")) {false} else {true}","project":"Foundations","id":"6337812b-5df1-428e-9d36-f7935dde3ca7","savedPayload":{"position":{"x":30865.648552289444,"y":33007.98494493794},"targetPosition":{"x":31103.50641635772,"y":32625.98542072243},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"cda16118-0ec1-4313-bb27-be56055bb89a","savedPayload":{"position":{"x":31103.50641635772,"y":32625.98542072243},"targetPosition":{"x":31341.364280425994,"y":32243.98589650692},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Filter 4: 02H Up && 02H Gentle && 3H Side","code":"chart.at02hs.percentageBandwidth.movingAverage > chart.at24hs.bollingerSubChannel.slope + chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"if (chart.at02hs.bollingerChannel.direction === \"Up\" && chart.at02hs.bollingerSubChannel.slope === \"Gentle\" && chart.at03hs.bollingerSubChannel.slope === \"Side\") {false} else {true}","project":"Foundations","id":"d467380e-37f7-4d69-8384-c766fa7511ef","savedPayload":{"position":{"x":30669.674976502174,"y":32843.01300690705},"targetPosition":{"x":31005.519628464084,"y":32543.499451706986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"90afdd8d-1565-42b1-abbb-e88eb2e359db","savedPayload":{"position":{"x":31005.519628464084,"y":32543.499451706986},"targetPosition":{"x":31341.364280425994,"y":32243.98589650692},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Filter 2: 02H, 03H, 04H, 06H, all Up && 2H Steep && 1H, 6H NOT Gentle","code":"chart.at24hs.bollingerChannel.direction + chart.at24hs.bollingerBand.slope > chart.at01hs.rsi14.value","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"if (chart.at02hs.bollingerSubChannel.direction === \"Up\" && chart.at03hs.bollingerSubChannel.direction === \"Up\" && chart.at04hs.bollingerSubChannel.direction === \"Up\" && chart.at06hs.bollingerSubChannel.direction === \"Up\" && chart.at02hs.bollingerSubChannel.slope === \"Steep\" && chart.at01hs.bollingerSubChannel.slope != \"Gentle\" && chart.at06hs.bollingerSubChannel.slope != \"Gentle\") {false} else {true}","project":"Foundations","id":"051149b3-b815-4eb2-952c-88317a972764","savedPayload":{"position":{"x":30528.117673428707,"y":32629.51145494294},"targetPosition":{"x":30934.74097692735,"y":32436.74867572493},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ac3a3676-3fc0-4eed-97c8-51fe93a65256","savedPayload":{"position":{"x":30934.74097692735,"y":32436.74867572493},"targetPosition":{"x":31341.364280425994,"y":32243.98589650692},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"3583b309-fa26-4e63-bfb2-055d5bad14b7","savedPayload":{"position":{"x":31341.364280425994,"y":32243.98589650692},"targetPosition":{"x":31270.968771157888,"y":31799.52614323911},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"e86cdca6-99e9-487f-b824-af95cf635d1f","savedPayload":{"position":{"x":31270.968771157888,"y":31799.52614323911},"targetPosition":{"x":31224.03843164582,"y":31503.21964106057},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"fa8dc2de-7299-4e00-82a7-deb31393b442","savedPayload":{"position":{"x":31224.03843164582,"y":31503.21964106057},"targetPosition":{"x":30981.333333333336,"y":31326.884065372826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"openStage":{"type":"Open Stage","name":"New Open Stage","project":"Foundations","initialTargets":{"type":"Initial Targets","name":"New Initial Targets","project":"Foundations","targetRate":{"type":"Target Rate","name":"New Target Rate","project":"Foundations","formula":{"type":"Formula","name":"My Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value","project":"Foundations","id":"e7d607dd-f2cf-441a-92a3-f4c77906e441","savedPayload":{"position":{"x":22191.368710941046,"y":24804.660588743463},"targetPosition":{"x":22270.558209096285,"y":25012.021463939505},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"8b5ce9d5-7f3a-4f8f-b859-dafed2c1ca15","savedPayload":{"position":{"x":22270.558209096285,"y":25012.021463939505},"targetPosition":{"x":22428.852300902035,"y":25425.762877751775},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"targetSizeInBaseAsset":{"type":"Target Size In Base Asset","name":"New Target Size In Base Asset","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value","project":"Foundations","id":"fdeba1ec-5b1a-4da6-b453-cbab79be9f77","savedPayload":{"position":{"x":22846.216824716314,"y":24908.60478608736},"targetPosition":{"x":22707.26607391859,"y":25081.305567125215},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"5844b9d1-3453-43e1-a6e9-a5693229f091","savedPayload":{"position":{"x":22707.26607391859,"y":25081.305567125215},"targetPosition":{"x":22428.852300902035,"y":25425.762877751775},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"cd9456f4-3829-4345-9f57-3a24a4713d8c","savedPayload":{"position":{"x":31185.510155467433,"y":31712.5706112152},"targetPosition":{"x":31074.038431645822,"y":31612.20102026137},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"openExecution":{"type":"Open Execution","name":"New Open Execution","project":"Foundations","executionAlgorithms":[{"type":"Execution Algorithm","name":"New Execution Algorithm","config":"{\n\"percentageOfStageTargetSize\": 100 \n}","project":"Foundations","marketBuyOrders":[],"marketSellOrders":[{"type":"Market Sell Order","name":"Quick Entry","config":"{\n\"percentageOfAlgorithmSize\": 100\n}","project":"Foundations","createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"true","project":"Foundations","id":"a8698e14-e989-4d7f-875a-58a5406336ce","savedPayload":{"position":{"x":23247.273503084565,"y":31553.735963736945},"targetPosition":{"x":23312.329935390757,"y":31247.320787798053},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"886857cf-a060-4f90-b596-697e2daf6184","savedPayload":{"position":{"x":23312.329935390757,"y":31247.320787798053},"targetPosition":{"x":23377.256574179883,"y":30941.34212246263},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0928e6d5-5b3c-4a7e-9633-5aa6fb46a459","savedPayload":{"position":{"x":23377.256574179883,"y":30941.34212246263},"targetPosition":{"x":23442.438140865746,"y":30634.98218267796},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"758c7111-856e-459e-bc44-4395e5430752","savedPayload":{"position":{"x":23442.438140865746,"y":30634.98218267796},"targetPosition":{"x":23507.727174057734,"y":30328.08783101991},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"4dc48a16-7a46-421f-9583-8573686526ab","savedPayload":{"position":{"x":23507.727174057734,"y":30328.08783101991},"targetPosition":{"x":23572.90783339359,"y":30020.91814610552},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market Order","name":"Market Sell Order #1","id":"8e404329-d41f-41e0-ad5a-c84ee1fa2604"}}}],"limitBuyOrders":[],"limitSellOrders":[],"id":"047b28d0-c4d4-4926-954d-af602e9e9915","savedPayload":{"position":{"x":23572.90783339359,"y":30020.91814610552},"targetPosition":{"x":23639.484000986155,"y":29704.793743763665},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}}],"id":"25b80432-bad3-4069-9c87-e550f1480a1f","savedPayload":{"position":{"x":31042.85167802316,"y":31758.923160371443},"targetPosition":{"x":31074.038431645822,"y":31612.20102026137},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"d991ee3c-6598-4e8c-9510-78528130856d","savedPayload":{"position":{"x":31074.03843164582,"y":31612.20102026137},"targetPosition":{"x":30981.333333333336,"y":31326.884065372826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"manageStage":{"type":"Manage Stage","name":"Controlled Run","project":"Foundations","managedStopLoss":{"type":"Managed Stop Loss","name":"New Managed Stop Loss","project":"Foundations","phases":[{"type":"Phase","name":"New Phase","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.03","project":"Foundations","id":"ca59d229-8ed9-4468-84f2-fa6d2c673209","savedPayload":{"position":{"x":23673.116603473667,"y":30323.109909260427},"targetPosition":{"x":23462.44957882119,"y":30088.756508394603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","name":"New Next Phase Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.candle.previous.close < portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97","project":"Foundations","id":"98e5e81b-f937-43cc-b7aa-6e85e44f47da","savedPayload":{"position":{"x":24409.210718244314,"y":30891.64551473406},"targetPosition":{"x":24176.319758956764,"y":30681.84471145674},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3cd19ef8-b808-45cf-b4a1-441b5995c7b8","savedPayload":{"position":{"x":24176.319758956764,"y":30681.84471145674},"targetPosition":{"x":23943.16946460145,"y":30471.692056088636},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e33ab866-419b-4032-943e-2964584f8655","savedPayload":{"position":{"x":23943.16946460145,"y":30471.692056088636},"targetPosition":{"x":23695.4593543573,"y":30248.251620653748},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"fa02c41e-d7f1-4f72-ad59-314b44addb3e","savedPayload":{"position":{"x":23364.674326908775,"y":30388.060744137307},"targetPosition":{"x":23462.44957882119,"y":30088.756508394603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"b9595e4d-8c34-418f-90a7-431394b8edb6","savedPayload":{"position":{"x":23462.418561029423,"y":30088.603812041663},"targetPosition":{"x":23381.342443805104,"y":29704.363202004934},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"New Phase","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.bollingerBand.movingAverage * 1.02 < portfolioEngine.portfolioCurrent.position.stopLoss.value) {chart.at01hs.bollingerBand.movingAverage * 1.02} else {portfolioEngine.portfolioCurrent.position.stopLoss.value}","project":"Foundations","id":"6938be43-dc74-4576-8b0a-8b18bd34792e","savedPayload":{"position":{"x":23592.595909846586,"y":30703.544970458264},"targetPosition":{"x":23527.668743897113,"y":30396.69830438302},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[],"announcements":[],"id":"6cefcdbc-918c-4abe-99f9-5a99c391d79b","savedPayload":{"position":{"x":23527.668743897113,"y":30396.69830438302},"targetPosition":{"x":23462.44957882119,"y":30088.756508394603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"901eb16f-14dd-4fd2-81c1-b4713a1b34e0","savedPayload":{"position":{"x":30919.814988643513,"y":31758.923160371443},"targetPosition":{"x":30888.62823502085,"y":31612.20102026137},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"managedTakeProfit":{"type":"Managed Take Profit","name":"New Managed Take Profit","project":"Foundations","phases":[{"type":"Phase","name":"New Phase","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.95","project":"Foundations","id":"0cceca6d-8f5f-4350-8b7f-ec6db32521c2","savedPayload":{"position":{"x":22858.017125489023,"y":30177.9616166879},"targetPosition":{"x":22792.47163801895,"y":29870.585375011266},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","name":"New Next Phase Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"1H EMA7 < entryTargetRate","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < portfolioEngine.portfolioCurrent.position.entryTargetRate.value","project":"Foundations","id":"1addcc51-a16b-4985-92f6-e76e87b7b318","savedPayload":{"position":{"x":22982.657022815718,"y":30999.476956470586},"targetPosition":{"x":23047.680795624474,"y":30692.275299375193},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4e7b259b-db2b-4e52-a9db-c23dedf3f214","savedPayload":{"position":{"x":23047.680795624474,"y":30692.275299375193},"targetPosition":{"x":23112.708747118573,"y":30385.10029720932},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"positionPeriods > 2","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"portfolioEngine.portfolioCurrent.position.positionCounters.periods.value > 2","project":"Foundations","id":"ca0cc08d-9284-42ab-87a7-6d955299c4b9","savedPayload":{"position":{"x":22516.06161147373,"y":30580.24862137907},"targetPosition":{"x":22814.230682239664,"y":30482.658835068163},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"90b48244-0763-424b-8bc4-d2a93970e171","savedPayload":{"position":{"x":22814.230682239664,"y":30482.658835068163},"targetPosition":{"x":23112.708747118573,"y":30385.10029720932},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8152e6ad-9c73-48d3-aa81-d2a046876913","savedPayload":{"position":{"x":23112.708747118573,"y":30385.10029720932},"targetPosition":{"x":23335.411987135973,"y":30137.094380426417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"6b25f9d9-b3bb-4426-9f19-460186077662","savedPayload":{"position":{"x":22493.795051326808,"y":29773.51659339766},"targetPosition":{"x":22792.47163801895,"y":29870.585375011266},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"2c1f29b4-9e38-4e72-a32a-e1e48cc6af9e","savedPayload":{"position":{"x":22792.47163801895,"y":29870.585375011266},"targetPosition":{"x":23084.11425810258,"y":29607.612308984186},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"Manage: 3% Below ema7","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.base7EMA.ema7 * 0.97 < portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97) {chart.at01hs.base7EMA.ema7 * 0.97} else {portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97}","project":"Foundations","id":"0199babe-dfd7-4f18-b9d7-3b73ade997fd","savedPayload":{"position":{"x":22769.49988391271,"y":30314.34148076047},"targetPosition":{"x":22559.329571162405,"y":30080.782939624936},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","name":"New Next Phase Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 conv ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"89e97633-9b3e-42ba-9cf6-bf29d6383a72","savedPayload":{"position":{"x":14115.662139171072,"y":24876.750923262895},"targetPosition":{"x":13956.031440844956,"y":24518.757749917888},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"971da4c6-325b-4c78-a025-95dbd138bbc4","savedPayload":{"position":{"x":13956.031440844956,"y":24518.757749917888},"targetPosition":{"x":13796.085979401774,"y":24160.723286367254},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2af1c651-e988-4ae0-92a3-d0918b8a1cfe","savedPayload":{"position":{"x":13796.085979401774,"y":24160.723286367254},"targetPosition":{"x":13635.906075393767,"y":23802.605179335456},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"4e18019c-6173-4b68-b709-174bc220cd55","savedPayload":{"position":{"x":22383.6049221066,"y":30372.51902252475},"targetPosition":{"x":22559.329571162405,"y":30080.782939624936},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[{"type":"Move To Phase Event","name":"Move to Run","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 > chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"a8860a5a-66b5-41f0-8a6c-dac7bf971c9d","savedPayload":{"position":{"x":21800.4959981833,"y":29510.721137863882},"targetPosition":{"x":22101.864586589192,"y":29423.322341897838},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"690aeb6d-75ec-45c9-b321-9d943d84df5f","savedPayload":{"position":{"x":22101.864586589192,"y":29423.322341897838},"targetPosition":{"x":22403.36662094993,"y":29335.57187179449},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 div ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema21 - chart.at01hs.base7EMA.ema14 > chart.at01hs.base7EMA.previous.ema21 - chart.at01hs.base7EMA.previous.ema14","project":"Foundations","id":"d691ad30-4129-48d1-9b75-2b2337e409d2","savedPayload":{"position":{"x":21783.774455914703,"y":29232.518954690146},"targetPosition":{"x":22093.51834424176,"y":29284.079128152283},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"30880b5e-f66a-4d5a-b112-14bcc8bb9ac9","savedPayload":{"position":{"x":22093.51834424176,"y":29284.079128152283},"targetPosition":{"x":22403.36662094993,"y":29335.57187179449},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema7 < positionRate","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.99","project":"Foundations","id":"8d66b5bd-521c-4d19-9fc0-baa4fb54ad84","savedPayload":{"position":{"x":21889.57100798176,"y":28974.135236955502},"targetPosition":{"x":22146.402722463645,"y":29154.822073215895},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c4298d6d-c635-49fe-a517-0dc19531c919","savedPayload":{"position":{"x":22146.402722463645,"y":29154.822073215895},"targetPosition":{"x":22403.36662094993,"y":29335.57187179449},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema7 < ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.ema14","project":"Foundations","id":"67b51901-a5fe-4fad-aad4-fc4d756b09cc","savedPayload":{"position":{"x":22097.082971770764,"y":28787.302449889612},"targetPosition":{"x":22250.19828273038,"y":29061.37131769363},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b051770c-7c9c-4636-86c8-d3b419f9a8bd","savedPayload":{"position":{"x":22250.19828273038,"y":29061.37131769363},"targetPosition":{"x":22403.36662094993,"y":29335.57187179449},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 < ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 < chart.at01hs.base7EMA.ema21 ","project":"Foundations","id":"8d54874e-6c21-434a-80fa-492bf2a9be2b","savedPayload":{"position":{"x":22365.066873984124,"y":28709.126942367955},"targetPosition":{"x":22384.2877084135,"y":29022.31138231948},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9aa25c88-a620-42f1-b1e8-403c5c8718b1","savedPayload":{"position":{"x":22384.2877084135,"y":29022.31138231948},"targetPosition":{"x":22403.36662094993,"y":29335.57187179449},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Down && NOT Side","code":"chart.atAnyTimeFrame.externalSignal.timestamp > chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.bollingerSubChannel.direction === \"Down\" && chart.at01hs.bollingerSubChannel.slope != \"Side\"","project":"Foundations","id":"e8c97495-8098-4209-a220-6c399baba0f3","savedPayload":{"position":{"x":22640.014045314205,"y":28755.049730447106},"targetPosition":{"x":22521.91976493581,"y":29045.240084712903},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f39ad55a-1988-4ac8-9d5c-99054f951179","savedPayload":{"position":{"x":22521.91976493581,"y":29045.240084712903},"targetPosition":{"x":22403.36662094993,"y":29335.57187179449},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"abaf1d9b-b5f9-4f8f-9a59-10936c3ea7b1","savedPayload":{"position":{"x":22403.36662094993,"y":29335.57187179449},"targetPosition":{"x":22626.353564746776,"y":29583.049381950164},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"f9636b68-93f0-4100-8046-1d62eed73501","savedPayload":{"position":{"x":22348.95548398331,"y":29847.56015774858},"targetPosition":{"x":22559.329571162405,"y":30080.782939624936},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Run","id":"274cc7b8-9ab0-4f9a-9302-3357cfcac9da"}}}],"announcements":[],"id":"b1d129c5-5f5e-4b1a-a2d6-b79561d2a6ce","savedPayload":{"position":{"x":22559.329571162405,"y":30080.782939624936},"targetPosition":{"x":22792.369049899884,"y":29870.67938548189},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"Close: BB Lower Band","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.deviation < \nportfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97) \n{chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.standardDeviation * 2} else \n{portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97}","project":"Foundations","id":"640cd6a8-a447-43ca-84f9-7dc5e6c8c826","savedPayload":{"position":{"x":22296.510851818974,"y":30584.116320020206},"targetPosition":{"x":22312.406823785255,"y":30269.945692454363},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[{"type":"Move To Phase Event","name":"Move to Run","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 > chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"9502bdd5-310a-4048-81ca-1eb0afe3c99d","savedPayload":{"position":{"x":22356.284065548985,"y":31159.517880827225},"targetPosition":{"x":22291.220872564125,"y":30852.606882940032},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"cb42b9eb-16cb-4bb4-af70-570fc4d1cd29","savedPayload":{"position":{"x":22291.220872564125,"y":30852.606882940032},"targetPosition":{"x":22226.071405609837,"y":30545.319889247236},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 div ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema21 - chart.at01hs.base7EMA.ema14 > chart.at01hs.base7EMA.previous.ema21 - chart.at01hs.base7EMA.previous.ema14","project":"Foundations","id":"da7a29f2-93be-4ce8-aeb0-f286b5710891","savedPayload":{"position":{"x":22032.161985131348,"y":31142.51146471459},"targetPosition":{"x":22129.05264623111,"y":30844.0988214323},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b4748a9d-7f41-4ce0-92ea-267488fd2e02","savedPayload":{"position":{"x":22129.05264623111,"y":30844.0988214323},"targetPosition":{"x":22226.071405609837,"y":30545.319889247236},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema7 < ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.ema14","project":"Foundations","id":"792355fa-6601-4a41-b673-b814127b3524","savedPayload":{"position":{"x":21759.60254184213,"y":30965.551957362666},"targetPosition":{"x":21992.710931898582,"y":30755.583214327584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4cd7afea-ce88-4111-b74e-dc48e34bcee5","savedPayload":{"position":{"x":21992.710931898582,"y":30755.583214327584},"targetPosition":{"x":22226.071405609837,"y":30545.319889247236},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 < ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 < chart.at01hs.base7EMA.ema21 ","project":"Foundations","id":"835d94b1-7b62-43bc-bbda-34184c5a5410","savedPayload":{"position":{"x":21611.995095517937,"y":30676.09936599256},"targetPosition":{"x":21918.870735843608,"y":30610.80073161841},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"66c6c8dc-f8b2-4534-aeb1-5f7aea412564","savedPayload":{"position":{"x":21918.870735843608,"y":30610.80073161841},"targetPosition":{"x":22226.071405609837,"y":30545.319889247236},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Down && NOT Side or Gentle","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.bollingerSubChannel.direction === \"Down\" && chart.at01hs.bollingerSubChannel.slope != \"Side\" && chart.at01hs.bollingerSubChannel.slope != \"Gentle\"","project":"Foundations","id":"4734e468-3fd1-4b7e-8361-66dea0f1d3c1","savedPayload":{"position":{"x":21628.83004948367,"y":30352.12061944759},"targetPosition":{"x":21927.27529483352,"y":30448.75825813591},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b9f90ab7-e386-4fa3-a326-d99ce319edcd","savedPayload":{"position":{"x":21927.27529483352,"y":30448.75825813591},"targetPosition":{"x":22226.071405609837,"y":30545.319889247236},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"26ef5972-8cc4-4b0d-92a4-b7da565b84b4","savedPayload":{"position":{"x":22226.071405609837,"y":30545.319889247236},"targetPosition":{"x":22473.742058990916,"y":30322.177583331475},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"9be98459-d007-4f66-94ac-cc7b6c6ad81c","savedPayload":{"position":{"x":22014.83227738025,"y":30556.263815035993},"targetPosition":{"x":22312.406823785255,"y":30269.945692454363},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Run","id":"274cc7b8-9ab0-4f9a-9302-3357cfcac9da"}}},{"type":"Move To Phase Event","name":"Cancel Close","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 div ema14","code":"chart.atAnyTimeFrame.externalSignal.timestamp > chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 > chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"c959c1b6-aec3-4db7-a572-477f1ea2c132","savedPayload":{"position":{"x":21484.175531030647,"y":30398.030250213968},"targetPosition":{"x":21717.771336964768,"y":30188.19823997753},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"31460537-bb42-499a-9645-fca83618f4a5","savedPayload":{"position":{"x":21717.771336964768,"y":30188.19823997753},"targetPosition":{"x":21951.470699718488,"y":29978.48782934199},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"prev.ema7 div prev.ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7 > chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7","project":"Foundations","id":"b3e36006-93f4-4852-a7a7-d612a7e7ec27","savedPayload":{"position":{"x":21324.20251008735,"y":29945.86761445176},"targetPosition":{"x":21637.668606321782,"y":29962.14183892447},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b8fe60bd-1dbd-458d-bdfd-1accfdab0b7c","savedPayload":{"position":{"x":21637.668606321782,"y":29962.14183892447},"targetPosition":{"x":21951.470699718488,"y":29978.48782934199},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema7 < ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.ema14","project":"Foundations","id":"6b79a9e3-796e-4db6-8a5c-0bc0bd875f45","savedPayload":{"position":{"x":21530.903794173122,"y":29512.51894006884},"targetPosition":{"x":21741.092924363158,"y":29745.41281317341},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1d09d25e-54eb-4d39-bea6-44f8492a2d10","savedPayload":{"position":{"x":21741.092924363158,"y":29745.41281317341},"targetPosition":{"x":21951.470699718488,"y":29978.48782934199},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f3ce7cba-7352-4634-a05d-07399ba679f2","savedPayload":{"position":{"x":21951.470699718488,"y":29978.48782934199},"targetPosition":{"x":22284.327532743187,"y":29995.964174543988},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"23ebc628-449c-43d8-97a2-28c23bb4dda7","savedPayload":{"position":{"x":21998.46015021557,"y":30253.353472632836},"targetPosition":{"x":22312.406823785255,"y":30269.945692454363},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Manage: 3% Below ema7","id":"b1d129c5-5f5e-4b1a-a2d6-b79561d2a6ce"}}}],"announcements":[],"id":"0995a46a-7564-4e4a-bdf9-d1dd437c75c6","savedPayload":{"position":{"x":22312.406823785255,"y":30269.945692454363},"targetPosition":{"x":22559.329571162405,"y":30080.782939624936},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"Run","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.base7EMA.ema7 * 0.8 < \nportfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97) \n{chart.at01hs.base7EMA.ema7 * 0.8} else \n{portfolioEngine.portfolioCurrent.position.takeProfit.value}","project":"Foundations","id":"12d58077-9b90-44f6-9d1d-5247aad7b0a4","savedPayload":{"position":{"x":22520.91732510771,"y":30680.37093066553},"targetPosition":{"x":22430.37971302096,"y":30249.00490060001},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[{"type":"Move To Phase Event","name":"Cancel Run","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 conv ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"af3238a0-9671-4ef7-90d8-802f9255d298","savedPayload":{"position":{"x":13354.292004397583,"y":25896.693400056123},"targetPosition":{"x":13108.71034767227,"y":25590.79262065231},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2191cdaf-d396-458b-80e3-d67c69976c29","savedPayload":{"position":{"x":13108.71034767227,"y":25590.79262065231},"targetPosition":{"x":12866.51395254684,"y":25289.332639546526},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"prev.ema7 conv prev.ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7 < chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7","project":"Foundations","id":"fa54d65e-9ed1-42f1-bcfe-c774607c7ae3","savedPayload":{"position":{"x":12782.111144394752,"y":26070.725647120613},"targetPosition":{"x":12824.337019628867,"y":25680.147489318122},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"de06b55c-392c-4032-b8a9-b1810881be63","savedPayload":{"position":{"x":12824.337019628867,"y":25680.147489318122},"targetPosition":{"x":12866.51395254684,"y":25289.332639546526},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Up || Side, Gentle or Medium","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.bollingerSubChannel.direction === \"Up\" || chart.at01hs.bollingerSubChannel.slope === \"Side\" || chart.at01hs.bollingerSubChannel.slope === \"Gentle\" || chart.at01hs.bollingerSubChannel.slope === \"Medium\"","project":"Foundations","id":"4eca07e4-a6af-46c8-8099-fd4599755539","savedPayload":{"position":{"x":12254.676482244722,"y":25784.49282795439},"targetPosition":{"x":12560.573582928533,"y":25537.003902091943},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a6ee99c3-005b-4b96-be05-579230e6af8b","savedPayload":{"position":{"x":12560.573582928533,"y":25537.003902091943},"targetPosition":{"x":12866.51395254684,"y":25289.332639546526},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"9fb58e58-feea-47c1-b7a6-0da4777ff32f","savedPayload":{"position":{"x":12866.51395254684,"y":25289.332639546526},"targetPosition":{"x":12916.56669937713,"y":24881.905241308137},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"3ca96593-db50-40f0-a191-bfdffe79fdf8","savedPayload":{"position":{"x":22006.260498415588,"y":30339.025041752495},"targetPosition":{"x":22430.37971302096,"y":30249.00490060001},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Manage: 3% Below ema7","id":"b1d129c5-5f5e-4b1a-a2d6-b79561d2a6ce"}}}],"announcements":[],"id":"274cc7b8-9ab0-4f9a-9302-3357cfcac9da","savedPayload":{"position":{"x":22095.05062231648,"y":30461.311473588226},"targetPosition":{"x":22312.406823785255,"y":30269.945692454363},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"5969717f-fd1e-4579-a80b-5e66723412a9","savedPayload":{"position":{"x":30777.15651119924,"y":31712.5706112152},"targetPosition":{"x":30888.62823502085,"y":31612.20102026137},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"455d4f49-eb65-49f8-a6d5-2bdd44e8bbac","savedPayload":{"position":{"x":30888.628235020853,"y":31612.20102026137},"targetPosition":{"x":30981.333333333336,"y":31326.884065372826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"closeStage":{"type":"Close Stage","project":"Foundations","initialTargets":{"type":"Initial Targets","name":"New Initial Targets","project":"Foundations","targetRate":{"type":"Target Rate","name":"New Target Rate","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value","project":"Foundations","id":"27a608d6-178f-4b7e-adb3-6d516e255821","savedPayload":{"position":{"x":30679.32432005871,"y":32373.99641557431},"targetPosition":{"x":30647.965781078412,"y":32075.63984696383},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f8ba5789-fde1-408f-9c16-5220cab0d132","savedPayload":{"position":{"x":30647.965781078412,"y":32075.63984696383},"targetPosition":{"x":30616.607242098115,"y":31777.28327835335},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"targetSizeInQuotedAsset":{"type":"Target Size In Quoted Asset","name":"New Target Size In Quoted Asset","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.sizeFilled.value - portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.feesPaid.value","project":"Foundations","id":"a84d1dbe-fb5a-4b4d-9135-7182197a7b43","savedPayload":{"position":{"x":30131.19704547315,"y":32129.954429728834},"targetPosition":{"x":30373.90214378563,"y":31953.61885404109},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"df57e26e-cfa4-4b93-b2f1-cf099b22b8a8","savedPayload":{"position":{"x":30373.90214378563,"y":31953.61885404109},"targetPosition":{"x":30616.607242098115,"y":31777.28327835335},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"fa5dae3c-efab-4936-bbee-8a07d9593055","savedPayload":{"position":{"x":30616.607242098115,"y":31777.28327835335},"targetPosition":{"x":30738.628235020853,"y":31503.21964106057},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"closeExecution":{"type":"Close Execution","project":"Foundations","executionAlgorithms":[{"type":"Execution Algorithm","name":"New Execution Algorithm","config":"{\n\"percentageOfStageTargetSize\": 100 \n}","project":"Foundations","marketBuyOrders":[{"type":"Market Buy Order","name":"Quick Exit","config":"{\n\"percentageOfAlgorithmSize\": 100,\n\"spawnMultipleOrders\": false\n}","project":"Foundations","createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"true","project":"Foundations","id":"9d763bcb-8be6-41e4-875a-2c7842cc6909","savedPayload":{"position":{"x":21778.89091621992,"y":27959.069218015626},"targetPosition":{"x":21738.31513067185,"y":27766.889686142174},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"88b2ba31-76a8-43ee-8c4b-3b6e1e187a82","savedPayload":{"position":{"x":21738.31513067185,"y":27766.889686142174},"targetPosition":{"x":21697.63379953603,"y":27574.036207107172},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2b1f9c91-7bb6-40ad-a43a-c52b0287ed9e","savedPayload":{"position":{"x":21697.63379953603,"y":27574.036207107172},"targetPosition":{"x":21648.10537853773,"y":27339.50166658657},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"a1de1b80-9a70-460b-8d8d-7a3846687b70","savedPayload":{"position":{"x":21664.172120175408,"y":29310.36695347481},"targetPosition":{"x":21975.84520370357,"y":29277.637127163936},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"ef6e7305-d840-4fa6-8aee-da60b33bef83","savedPayload":{"position":{"x":21975.84520370357,"y":29277.637127163936},"targetPosition":{"x":22287.96867166171,"y":29244.84860497567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market Order","name":"Market Buy Order #1","id":"7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3"}}}],"marketSellOrders":[],"limitBuyOrders":[],"limitSellOrders":[],"id":"06078431-e8b2-4116-99fa-7362a18d6ebd","savedPayload":{"position":{"x":22287.96867166171,"y":29244.84860497567},"targetPosition":{"x":22690.58410871738,"y":29202.443733235843},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"29750ebf-e23e-4d96-b8c3-02c5d5f1ade7","savedPayload":{"position":{"x":30440.271666410372,"y":31534.578180040866},"targetPosition":{"x":30738.628235020853,"y":31503.21964106057},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"d40a7e65-760d-4c56-8aac-d17111607cf9","savedPayload":{"position":{"x":30738.628235020853,"y":31503.21964106057},"targetPosition":{"x":30981.333333333336,"y":31326.884065372826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"a1b63f90-0ec5-4eb4-a51e-88852cc95049","savedPayload":{"position":{"x":30981.333333333336,"y":31326.884065372826},"targetPosition":{"x":30981.333333333336,"y":31026.884065372826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Portfolio Strategy","name":"S4 - 8H Up","project":"Foundations","triggerStage":{"type":"Trigger Stage","name":"New Trigger Stage","project":"Foundations","triggerOn":{"type":"Trigger On Event","name":"New Trigger On Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"Previous Breakup","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.previous.close > chart.at01hs.bollingerBand.previous.movingAverage + chart.at01hs.bollingerBand.previous.deviation","project":"Foundations","id":"565db073-2544-4f1e-8ffd-450fb4e10feb","savedPayload":{"position":{"x":31798.96437864743,"y":31552.47801120037},"targetPosition":{"x":31550.25310688092,"y":31720.23588224159},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1f26cf4a-76fc-4186-9b3b-9010f9f3da7c","savedPayload":{"position":{"x":31550.25310688092,"y":31720.23588224159},"targetPosition":{"x":31301.541835114407,"y":31887.993753282815},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Close In","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage + chart.at01hs.bollingerBand.deviation","project":"Foundations","id":"f288ec4c-d242-4138-a291-4e97fcec4e8e","savedPayload":{"position":{"x":31883.719270880003,"y":31742.840615923018},"targetPosition":{"x":31592.630552997205,"y":31815.417184602917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"eb5bf914-8163-453a-afa5-95f22ba39ead","savedPayload":{"position":{"x":31592.630552997205,"y":31815.417184602917},"targetPosition":{"x":31301.541835114407,"y":31887.993753282815},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Red Candle","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.candle.open","project":"Foundations","id":"0638ff08-302c-488f-8a8b-be0cd0454e49","savedPayload":{"position":{"x":31898.25497233537,"y":31950.71083124341},"targetPosition":{"x":31599.89840372489,"y":31919.352292263113},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0c8e03c5-c1b2-4aaf-bddc-874c50cfbbba","savedPayload":{"position":{"x":31599.89840372489,"y":31919.352292263113},"targetPosition":{"x":31301.541835114407,"y":31887.993753282815},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"8H Up","code":"chart.at03hs.bollingerChannel.direction * chart.atAnyTimeFrame.externalSignal.timestamp > chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at08hs.bollingerChannel.direction === \"Up\"","project":"Foundations","id":"77dbd8ad-81fc-4394-93d4-e84e931970f7","savedPayload":{"position":{"x":31840.818262893907,"y":32151.016441356263},"targetPosition":{"x":31571.180049004157,"y":32019.50509731954},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"78fae417-cc69-4a59-8edf-5d2e7102b50f","savedPayload":{"position":{"x":31571.180049004157,"y":32019.50509731954},"targetPosition":{"x":31301.541835114407,"y":31887.993753282815},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"12H Down","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at12hs.bollingerChannel.direction === \"Down\"","project":"Foundations","id":"f513cfb2-d7b3-442b-8d72-8bedb02e7ddf","savedPayload":{"position":{"x":31718.336857389808,"y":32319.597633486006},"targetPosition":{"x":31509.939346252107,"y":32103.79569338441},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4ab49bb6-b9d3-44a1-8fa5-6d5f7b9d3b3f","savedPayload":{"position":{"x":31509.939346252107,"y":32103.79569338441},"targetPosition":{"x":31301.541835114407,"y":31887.993753282815},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"24H Down","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at24hs.bollingerChannel.direction === \"Down\"","project":"Foundations","id":"09bdc89a-fa30-46cc-9da0-aa16844e829b","savedPayload":{"position":{"x":31545.583820959884,"y":32436.121027868376},"targetPosition":{"x":31423.562828037146,"y":32162.057390575595},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2aae14ee-14b3-4c94-9394-d64432517632","savedPayload":{"position":{"x":31423.562828037146,"y":32162.057390575595},"targetPosition":{"x":31301.541835114407,"y":31887.993753282815},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H NOT Extreme","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.bollingerSubChannel.slope != \"Extreme\"","project":"Foundations","id":"a2059ed1-a903-483c-a5b1-a44203fb670f","savedPayload":{"position":{"x":31343.395719360884,"y":32486.53218343871},"targetPosition":{"x":31322.468777237646,"y":32187.262968360763},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2ca6efe4-43ac-45a1-ba84-5215d33f32a6","savedPayload":{"position":{"x":31322.468777237646,"y":32187.262968360763},"targetPosition":{"x":31301.541835114407,"y":31887.993753282815},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Deviation > 40","code":"chart.at24hs.bollingerBand.deviation < chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.bollingerBand.deviation > 25","project":"Foundations","id":"3b0663ea-9168-4101-bd49-a4fa14473dc7","savedPayload":{"position":{"x":31136.159421624205,"y":32464.750770845803},"targetPosition":{"x":31218.850628369306,"y":32176.37226206431},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6f3289e9-c257-4953-ae25-664416db52a7","savedPayload":{"position":{"x":31218.850628369306,"y":32176.37226206431},"targetPosition":{"x":31301.541835114407,"y":31887.993753282815},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"977e6e41-dca1-4b42-9e82-3e2eeae3c220","savedPayload":{"position":{"x":31301.541835114407,"y":31887.993753282815},"targetPosition":{"x":31058.836736801924,"y":31711.658177595073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"260de0f8-58ff-477f-aadb-f61a4043e3a8","savedPayload":{"position":{"x":31058.836736801924,"y":31711.658177595073},"targetPosition":{"x":30816.13163848944,"y":31535.32260190733},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"triggerOff":{"type":"Trigger Off Event","name":"New Trigger Off Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close< chart.at01hs.bollingerBand.movingAverage","project":"Foundations","id":"a2b6bf13-42e1-428f-9691-42be919fa8c1","savedPayload":{"position":{"x":23357.415778560513,"y":30662.186886836032},"targetPosition":{"x":23306.134925300612,"y":30331.634978975955},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"05892d30-611b-4f6e-93ae-3f484b208fe5","savedPayload":{"position":{"x":23306.134925300612,"y":30331.634978975955},"targetPosition":{"x":23253.366560207003,"y":30002.137625870884},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f6bb3530-fc04-47bb-b335-1f90463c6a04","savedPayload":{"position":{"x":23253.366560207003,"y":30002.137625870884},"targetPosition":{"x":23195.86126987285,"y":29636.742384624427},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"3046ad00-d3de-4458-80db-287144ff86fa","savedPayload":{"position":{"x":30839.596808245475,"y":31683.475852996602},"targetPosition":{"x":30816.13163848944,"y":31535.32260190733},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"takePosition":{"type":"Take Position Event","name":"New Take Position Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"Previous Breakup","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.previous.close > chart.at01hs.bollingerBand.previous.movingAverage + chart.at01hs.bollingerBand.previous.deviation","project":"Foundations","id":"3847310d-3d70-43f6-85a1-8a62eec1d4d3","savedPayload":{"position":{"x":23083.483906744437,"y":30450.200420153968},"targetPosition":{"x":22909.93107002641,"y":30163.970189771877},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"680fec1e-3d4c-4b3b-82a6-0f45a34f9776","savedPayload":{"position":{"x":22909.93107002641,"y":30163.970189771877},"targetPosition":{"x":22735.923609640315,"y":29879.302717253508},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Close In","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage + chart.at01hs.bollingerBand.deviation","project":"Foundations","id":"ffbb6568-c112-46de-8097-fbf993a8232f","savedPayload":{"position":{"x":22839.660166971174,"y":30538.63455278817},"targetPosition":{"x":22788.357486843433,"y":30209.29243804163},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f0830878-6dd9-4657-a0b5-906ff9296559","savedPayload":{"position":{"x":22788.357486843433,"y":30209.29243804163},"targetPosition":{"x":22735.923609640315,"y":29879.302717253508},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Red Candle","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.candle.open","project":"Foundations","id":"d7a8fc7d-57a2-4340-bb12-627c667324e6","savedPayload":{"position":{"x":22578.977461346723,"y":30528.431806162043},"targetPosition":{"x":22658.209521468874,"y":30203.625095536583},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e841acd3-9785-49f5-be08-5aa63d3df039","savedPayload":{"position":{"x":22658.209521468874,"y":30203.625095536583},"targetPosition":{"x":22735.923609640315,"y":29879.302717253508},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"8H Up","code":"chart.at03hs.bollingerChannel.direction * chart.atAnyTimeFrame.externalSignal.timestamp > chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at08hs.bollingerChannel.direction === \"Up\"","project":"Foundations","id":"60872ff6-a88d-4e3c-9069-4337d9e77653","savedPayload":{"position":{"x":22344.24417841617,"y":30420.257990801598},"targetPosition":{"x":22540.732408675303,"y":30148.797851933436},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"969eebbc-1e68-4dc7-bb42-5fd1e92648b3","savedPayload":{"position":{"x":22540.732408675303,"y":30148.797851933436},"targetPosition":{"x":22735.923609640315,"y":29879.302717253508},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"12H Down","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at12hs.bollingerChannel.direction === \"Down\"","project":"Foundations","id":"e1f6e5b8-70b1-44b9-b127-099a28b39e5f","savedPayload":{"position":{"x":22165.787334847,"y":30228.45019209478},"targetPosition":{"x":22451.068027223733,"y":30053.219695124062},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1d87e62c-73ff-434b-ac60-e7afa7035b78","savedPayload":{"position":{"x":22451.068027223733,"y":30053.219695124062},"targetPosition":{"x":22735.923609640315,"y":29879.302717253508},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"24H Down","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at24hs.bollingerChannel.direction === \"Down\"","project":"Foundations","id":"4dbcbf0e-b029-40db-9b3e-422ccb1d1642","savedPayload":{"position":{"x":22075.901209745392,"y":29982.907166674442},"targetPosition":{"x":22405.52247000038,"y":29931.397276376047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ed71b78d-b409-451d-9e23-72fde4c6ac59","savedPayload":{"position":{"x":22405.52247000038,"y":29931.397276376047},"targetPosition":{"x":22735.923609640315,"y":29879.302717253508},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Deviation > 40","code":"chart.at24hs.bollingerBand.deviation < chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.bollingerBand.deviation > 25","project":"Foundations","id":"ca95ffdd-a14f-4985-84b7-2a482eb8091d","savedPayload":{"position":{"x":22085.039007657833,"y":29722.95256864543},"targetPosition":{"x":22409.897735379145,"y":29800.81234832308},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"80a35c8a-7650-442f-82de-b9acb0c09988","savedPayload":{"position":{"x":22409.897735379145,"y":29800.81234832308},"targetPosition":{"x":22735.923609640315,"y":29879.302717253508},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"22a72082-528a-440b-8e3f-374d612c4d51","savedPayload":{"position":{"x":22735.923609640315,"y":29879.302717253508},"targetPosition":{"x":22953.598148508252,"y":29579.01366250016},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"c9d98dc4-e354-4357-99c8-eaa829f874d7","savedPayload":{"position":{"x":30639.7960628017,"y":31778.027700219813},"targetPosition":{"x":30816.13163848944,"y":31535.32260190733},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"0bf02e1f-d661-437b-85b0-b31e57707199","savedPayload":{"position":{"x":30816.13163848944,"y":31535.32260190733},"targetPosition":{"x":30769.201298977372,"y":31239.01609972879},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"openStage":{"type":"Open Stage","name":"New Open Stage","project":"Foundations","initialTargets":{"type":"Initial Targets","name":"New Initial Targets","project":"Foundations","targetRate":{"type":"Target Rate","name":"New Target Rate","project":"Foundations","formula":{"type":"Formula","name":"My Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value","project":"Foundations","id":"f8f5fc79-31b1-49c6-bdd9-2d72883b2364","savedPayload":{"position":{"x":23155.96913512745,"y":30201.2531769482},"targetPosition":{"x":22974.33880657832,"y":29920.60012380535},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0dc0c256-7b9c-4e5c-bd09-c9d57ad86247","savedPayload":{"position":{"x":22974.33880657832,"y":29920.60012380535},"targetPosition":{"x":22751.508147326796,"y":29576.320750395775},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"targetSizeInBaseAsset":{"type":"Target Size In Base Asset","name":"New Target Size In Base Asset","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value","project":"Foundations","id":"fc05ff9a-1f89-477c-9b23-5050bb7416b3","savedPayload":{"position":{"x":22414.036626827685,"y":30239.302926314238},"targetPosition":{"x":22565.917749073302,"y":29940.763708930055},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"afb3ab65-a8a8-4926-bd7a-a309e73c76b4","savedPayload":{"position":{"x":22565.917749073302,"y":29940.763708930055},"targetPosition":{"x":22751.508147326796,"y":29576.320750395775},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"80228bad-3498-456e-bdc6-8f8eb5868134","savedPayload":{"position":{"x":30640.85454249195,"y":31656.112487198487},"targetPosition":{"x":30633.00414905551,"y":31506.3180569853},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"openExecution":{"type":"Open Execution","name":"New Open Execution","project":"Foundations","executionAlgorithms":[{"type":"Execution Algorithm","name":"New Execution Algorithm","config":"{\n\"percentageOfStageTargetSize\": 100 \n}","project":"Foundations","marketBuyOrders":[],"marketSellOrders":[{"type":"Market Sell Order","name":"Quick Entry","config":"{\n\"percentageOfAlgorithmSize\": 100\n}","project":"Foundations","createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"true","project":"Foundations","id":"251e2560-de9e-4446-a6ad-ecb5545a59ee","savedPayload":{"position":{"x":20772.85535841166,"y":30517.545203856855},"targetPosition":{"x":21053.17814251271,"y":30336.108380983547},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f36b38fb-f877-45a3-a632-f20bd3f9c671","savedPayload":{"position":{"x":21053.17814251271,"y":30336.108380983547},"targetPosition":{"x":21333.141445384477,"y":30154.078092997202},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"14d0b5a0-d880-4f3a-8eb9-3357b8bfc0b6","savedPayload":{"position":{"x":21333.141445384477,"y":30154.078092997202},"targetPosition":{"x":21613.33100741346,"y":29971.793448072967},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"4c7accf9-edb5-403b-97cb-0ba11ba6c45c","savedPayload":{"position":{"x":21613.33100741346,"y":29971.793448072967},"targetPosition":{"x":21893.335004807523,"y":29789.64148022498},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"b44ca915-083c-4363-8172-c21805201845","savedPayload":{"position":{"x":21893.335004807523,"y":29789.64148022498},"targetPosition":{"x":22173.441086055103,"y":29607.696443605717},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market Order","name":"Market Sell Order #1","id":"8e404329-d41f-41e0-ad5a-c84ee1fa2604"}}}],"limitBuyOrders":[],"limitSellOrders":[],"id":"4164d2ed-edce-40e4-b22e-2dd6c5ef036a","savedPayload":{"position":{"x":22173.441086055103,"y":29607.696443605717},"targetPosition":{"x":22454.630522435928,"y":29424.665644314584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}}],"id":"1670ca81-e7fa-4070-8534-0dd96fccc054","savedPayload":{"position":{"x":30507.203563863695,"y":31588.013912237555},"targetPosition":{"x":30633.00414905551,"y":31506.3180569853},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"1b95c0aa-9a01-4f10-8534-9932d3d95d7c","savedPayload":{"position":{"x":30633.00414905551,"y":31506.3180569853},"targetPosition":{"x":30769.201298977372,"y":31239.01609972879},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"manageStage":{"type":"Manage Stage","name":"Slow Run","project":"Foundations","managedStopLoss":{"type":"Managed Stop Loss","name":"New Managed Stop Loss","project":"Foundations","phases":[{"type":"Phase","name":"New Phase","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.03","project":"Foundations","id":"5d268024-2d96-4094-b50f-b0a3cbf1b4f0","savedPayload":{"position":{"x":22023.522613662517,"y":29902.334282369062},"targetPosition":{"x":22040.524427398494,"y":29567.796004822776},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","name":"New Next Phase Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.candle.previous.close < portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97","project":"Foundations","id":"2dbdfc22-50a8-4adc-94f0-92cdc036fe2f","savedPayload":{"position":{"x":22637.90960145966,"y":30602.308561674552},"targetPosition":{"x":22629.266070192767,"y":30434.645486089918},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7104f775-64e7-4d98-b7d8-39f6ef3d3055","savedPayload":{"position":{"x":22629.266070192767,"y":30434.645486089918},"targetPosition":{"x":22620.205818397193,"y":30257.52896274403},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"93c8c267-8c57-42eb-834c-1e5a22489094","savedPayload":{"position":{"x":22620.205818397193,"y":30257.52896274403},"targetPosition":{"x":22609.013839200958,"y":30041.003834215953},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"f3c1082e-25bb-4e2e-9db4-7920c77050b6","savedPayload":{"position":{"x":21741.4677451352,"y":29719.055355154058},"targetPosition":{"x":22040.524427398494,"y":29567.796004822776},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"968b9847-e19a-4d7a-9744-ccf0f098e40a","savedPayload":{"position":{"x":22040.524427398494,"y":29567.796004822776},"targetPosition":{"x":22260.429338164875,"y":29229.842430263758},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"New Phase","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.bollingerBand.movingAverage * 1.02 < portfolioEngine.portfolioCurrent.position.stopLoss.value) {chart.at01hs.bollingerBand.movingAverage * 1.02} else {portfolioEngine.portfolioCurrent.position.stopLoss.value}","project":"Foundations","id":"53f5b5c3-ba67-453c-9c9f-4ce573a45cf7","savedPayload":{"position":{"x":21675.954370072148,"y":30129.233583981433},"targetPosition":{"x":21858.06418588439,"y":29848.694983769485},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[],"announcements":[],"id":"9f500e15-05a0-49f2-acb6-22dc52e3a776","savedPayload":{"position":{"x":21858.06418588439,"y":29848.694983769485},"targetPosition":{"x":22040.480416354443,"y":29567.86209416118},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"48f10387-f326-4021-ae7e-bf0c89f12f0e","savedPayload":{"position":{"x":30420.203486468607,"y":31501.013834842466},"targetPosition":{"x":30501.899341720862,"y":31375.213249650653},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"managedTakeProfit":{"type":"Managed Take Profit","name":"New Managed Take Profit","project":"Foundations","phases":[{"type":"Phase","name":"New Phase","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.95","project":"Foundations","id":"be152b44-4a9c-4b16-9075-c727f4321c38","savedPayload":{"position":{"x":21524.49134765459,"y":29192.702370125764},"targetPosition":{"x":21706.343309799486,"y":28911.989470087923},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","name":"New Next Phase Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"1H EMA7 < entryTargetRate","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < portfolioEngine.portfolioCurrent.position.entryTargetRate.value","project":"Foundations","id":"ad245a3c-c7dc-490b-8680-1ff6b9ef33c1","savedPayload":{"position":{"x":21622.237502529864,"y":29930.87019762455},"targetPosition":{"x":21762.990983511354,"y":29839.41875939162},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"cdfff198-ce34-4a75-b7f9-ed8dee0ccc70","savedPayload":{"position":{"x":21762.990983511354,"y":29839.41875939162},"targetPosition":{"x":21919.528983191103,"y":29742.8699979913},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"positionPeriods > 2","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"portfolioEngine.portfolioCurrent.position.positionCounters.periods.value > 2","project":"Foundations","id":"0633fc97-d2d0-405b-bed4-d390d30bb43c","savedPayload":{"position":{"x":21602.90431448479,"y":29588.900249831742},"targetPosition":{"x":21753.673589030815,"y":29664.51911610047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8bb34027-c362-4abc-b722-e5b844113302","savedPayload":{"position":{"x":21753.673589030815,"y":29664.51911610047},"targetPosition":{"x":21919.528983191103,"y":29742.8699979913},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"3ee8f724-793b-444f-a773-de0d2d113be6","savedPayload":{"position":{"x":21919.528983191103,"y":29742.8699979913},"targetPosition":{"x":22135.60298705455,"y":29730.979565224814},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"113a609b-5d12-46d3-a15e-0f23f3d0b70f","savedPayload":{"position":{"x":21554.895839520417,"y":28613.849169787696},"targetPosition":{"x":21706.343309799486,"y":28911.989470087923},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"e256ad15-0e95-442a-8675-b24d7fe36118","savedPayload":{"position":{"x":21706.343309799486,"y":28911.989470087923},"targetPosition":{"x":22109.16853711246,"y":28932.796953483135},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"Manage: 3% Below ema7","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.base7EMA.ema7 * 0.97 < \nportfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97) \n{chart.at01hs.base7EMA.ema7 * 0.97} else \n{portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97}","project":"Foundations","id":"d2f712ac-98dc-41dc-b29e-260334b7cd69","savedPayload":{"position":{"x":21354.567831985176,"y":29228.915459089105},"targetPosition":{"x":21372.942616864868,"y":28894.78204965966},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","name":"New Next Phase Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 conv ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"629a5ecb-7ade-4453-89bb-1d1c5d5f96d9","savedPayload":{"position":{"x":10453.60155619742,"y":25229.864462512603},"targetPosition":{"x":10307.361416782911,"y":24918.11433690435},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c9b1b192-1698-44a7-a0f5-20d21088f280","savedPayload":{"position":{"x":10307.361416782911,"y":24918.11433690435},"targetPosition":{"x":10165.217173458666,"y":24599.252762878932},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0402e263-ac5c-4546-be68-8f33fdbf8666","savedPayload":{"position":{"x":10165.217173458666,"y":24599.252762878932},"targetPosition":{"x":10022.415261378097,"y":24276.085021223887},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"1fc1bb7a-a52b-4ce2-b17b-95194de42c8a","savedPayload":{"position":{"x":21015.280144787128,"y":28974.504707821463},"targetPosition":{"x":21372.942616864868,"y":28894.78204965966},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[{"type":"Move To Phase Event","name":"Move to Run","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 > chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"a0b6604b-8744-468d-8eb8-37266a7790bb","savedPayload":{"position":{"x":21249.568338472003,"y":27868.74295385625},"targetPosition":{"x":21529.79946610333,"y":28051.44758735344},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f7a6659c-b0db-4966-875f-4f3c22448e5f","savedPayload":{"position":{"x":21529.79946610333,"y":28051.44758735344},"targetPosition":{"x":21810.340806720607,"y":28233.843350896073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 div ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema21 - chart.at01hs.base7EMA.ema14 > chart.at01hs.base7EMA.previous.ema21 - chart.at01hs.base7EMA.previous.ema14","project":"Foundations","id":"bba2d293-88c4-492f-94af-1b9619f740fd","savedPayload":{"position":{"x":21506.691622493596,"y":27637.14988503699},"targetPosition":{"x":21658.427756019806,"y":27935.53132184296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"20aebaee-eb59-4c3f-8c59-39349e032515","savedPayload":{"position":{"x":21658.427756019806,"y":27935.53132184296},"targetPosition":{"x":21810.340806720607,"y":28233.843350896073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema7 < positionRate","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.99","project":"Foundations","id":"8419c8f8-b2b3-4d98-99e8-2506e40bdb02","savedPayload":{"position":{"x":21844.692583521362,"y":27565.10307135371},"targetPosition":{"x":21827.471314386257,"y":27899.5081663808},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0d40d31a-b3d2-4213-9ec0-16dfad84800c","savedPayload":{"position":{"x":21827.471314386257,"y":27899.5081663808},"targetPosition":{"x":21810.340806720607,"y":28233.843350896073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema7 < ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.ema14","project":"Foundations","id":"1f20f276-1067-413d-9855-d5a8c3bf4dd5","savedPayload":{"position":{"x":22173.721050935503,"y":27671.8889153591},"targetPosition":{"x":21992.060764274465,"y":27952.912625181358},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5a699f92-494e-4078-b641-1c9c57ffc366","savedPayload":{"position":{"x":21992.060764274465,"y":27952.912625181358},"targetPosition":{"x":21810.340806720607,"y":28233.843350896073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 < ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 < chart.at01hs.base7EMA.ema21 ","project":"Foundations","id":"8522cf28-0d47-4049-a2d0-f859792cc083","savedPayload":{"position":{"x":22405.049334620922,"y":27928.81813885733},"targetPosition":{"x":22107.8014973517,"y":28081.43197100932},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0c5c7d7b-590f-4902-b44d-8609741d2b0c","savedPayload":{"position":{"x":22107.8014973517,"y":28081.43197100932},"targetPosition":{"x":21810.340806720607,"y":28233.843350896073},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"aa9bda47-780e-48ec-97bf-52f713be6d1c","savedPayload":{"position":{"x":21810.340806720607,"y":28233.843350896073},"targetPosition":{"x":21792.596918262774,"y":28582.81041447272},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"0905efc2-d8c9-4b8b-b09f-de915fca26e4","savedPayload":{"position":{"x":21389.189988580438,"y":28560.50146118718},"targetPosition":{"x":21372.942616864868,"y":28894.78204965966},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Run","id":"dc4b92b2-3855-4cc7-84f5-20cc259c1634"}}}],"announcements":[],"id":"e6304ea5-e683-49c1-8e84-e2bc119565fa","savedPayload":{"position":{"x":21372.942616864868,"y":28894.78204965966},"targetPosition":{"x":21706.56714185621,"y":28912.001608687795},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"Close: BB Lower Band","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.deviation < \nportfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97) \n{chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.standardDeviation * 2} else \n{portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97}","project":"Foundations","id":"73870f3c-4fc8-464c-be6a-f5e397ee044e","savedPayload":{"position":{"x":20796.07400425535,"y":29077.67660118154},"targetPosition":{"x":21044.53855880237,"y":28853.25043777685},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[{"type":"Move To Phase Event","name":"Move to Run","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 > chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"bc212a30-b2e9-435c-84a8-e505019c0570","savedPayload":{"position":{"x":20576.395660017766,"y":29227.982897935064},"targetPosition":{"x":20756.809039460775,"y":28948.129975974385},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"19c71956-4d1e-4355-826e-5bc25d09fdc3","savedPayload":{"position":{"x":20756.809039460775,"y":28948.129975974385},"targetPosition":{"x":20941.146022561206,"y":28667.176917223413},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 div ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema21 - chart.at01hs.base7EMA.ema14 > chart.at01hs.base7EMA.previous.ema21 - chart.at01hs.base7EMA.previous.ema14","project":"Foundations","id":"31e8935e-497f-47eb-9466-900faced609c","savedPayload":{"position":{"x":20344.75843988485,"y":28970.639200194935},"targetPosition":{"x":20640.91626996725,"y":28819.379344518937},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"506df2ab-b891-4709-84e6-b773c8743abf","savedPayload":{"position":{"x":20640.91626996725,"y":28819.379344518937},"targetPosition":{"x":20941.146022561206,"y":28667.176917223413},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema7 < ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.ema14","project":"Foundations","id":"c1e44382-1537-453b-9f6c-52ef913228aa","savedPayload":{"position":{"x":20272.81646057698,"y":28632.47033329303},"targetPosition":{"x":20604.942628057353,"y":28650.198893790744},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"928db494-0024-4ed4-a407-84087efb0704","savedPayload":{"position":{"x":20604.942628057353,"y":28650.198893790744},"targetPosition":{"x":20941.146022561206,"y":28667.176917223413},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 < ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 < chart.at01hs.base7EMA.ema21 ","project":"Foundations","id":"8bae0609-ccff-480d-b382-b56f22ec8dc4","savedPayload":{"position":{"x":20379.771418652923,"y":28303.222026239062},"targetPosition":{"x":20658.46167178845,"y":28485.501454025813},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"98ac2a8f-4541-46de-8e01-f9709d6b195f","savedPayload":{"position":{"x":20658.46167178845,"y":28485.501454025813},"targetPosition":{"x":20941.146022561206,"y":28667.176917223413},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"previous ema7 div previous ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7 > chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7","project":"Foundations","id":"a5a3a569-6a05-4fd0-8c15-22d5e5d1b148","savedPayload":{"position":{"x":20636.94976527986,"y":28071.558930140032},"targetPosition":{"x":20787.12278775582,"y":28369.618613567953},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2adc3c50-f284-4fb1-9f79-b077a54b5046","savedPayload":{"position":{"x":20787.12278775582,"y":28369.618613567953},"targetPosition":{"x":20941.146022561206,"y":28667.176917223413},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c91df057-7904-431b-b997-8fbb2afada1f","savedPayload":{"position":{"x":20941.146022561206,"y":28667.176917223413},"targetPosition":{"x":21290.454487521125,"y":28685.223863685555},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"8196d5fe-af67-4302-84d1-f95279fb2075","savedPayload":{"position":{"x":20617.22737020544,"y":28870.585846431095},"targetPosition":{"x":21044.53855880237,"y":28853.25043777685},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Run","id":"dc4b92b2-3855-4cc7-84f5-20cc259c1634"}}},{"type":"Move To Phase Event","name":"Cancel Close","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 > chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"60d1211f-6279-4c80-abe5-e727a70aea22","savedPayload":{"position":{"x":20355.857971581783,"y":28205.99094336359},"targetPosition":{"x":20672.865051370667,"y":28308.366521343538},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6659d86a-2e52-48b2-bcc4-5f5b43b3907e","savedPayload":{"position":{"x":20672.865051370667,"y":28308.366521343538},"targetPosition":{"x":20991.546911033547,"y":28412.388878975704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"prev.ema7 div prev.ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7 > chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7","project":"Foundations","id":"5ce2e13e-4b4f-424b-b4ee-1741c013690b","savedPayload":{"position":{"x":20850.984242840732,"y":27758.431203196757},"targetPosition":{"x":20921.82295158036,"y":28085.22604031449},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"38aa2600-90dc-4c6b-be17-a08ee9c829b3","savedPayload":{"position":{"x":20921.82295158036,"y":28085.22604031449},"targetPosition":{"x":20991.546911033547,"y":28412.388878975704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"fd092801-0b6b-4f09-bbb3-b16fe1144ae3","savedPayload":{"position":{"x":20991.546911033547,"y":28412.388878975704},"targetPosition":{"x":21225.932715946525,"y":28672.95990711847},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"4b4f5de5-723c-4d6e-b26e-50ee87671f48","savedPayload":{"position":{"x":20820.908708982064,"y":28604.216441727207},"targetPosition":{"x":21044.53855880237,"y":28853.25043777685},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Manage: 3% Below ema7","id":"e6304ea5-e683-49c1-8e84-e2bc119565fa"}}}],"announcements":[],"id":"ad2a51aa-b179-457e-9704-5c9b1a8db72e","savedPayload":{"position":{"x":21044.53855880237,"y":28853.25043777685},"targetPosition":{"x":21372.942616864868,"y":28894.78204965966},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"Run","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.base7EMA.ema7 * 0.8 < \nportfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97) \n{chart.at01hs.base7EMA.ema7 * 0.8} else \n{portfolioEngine.portfolioCurrent.position.takeProfit.value}","project":"Foundations","id":"d29e9a58-79bb-445f-b51a-e5b86937aa8c","savedPayload":{"position":{"x":20866.13727371649,"y":29206.32430694055},"targetPosition":{"x":21106.086300829094,"y":28835.436490968103},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[{"type":"Move To Phase Event","name":"Cancel Run","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 conv ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"59efd870-0af2-4d5c-a78c-281b71f00497","savedPayload":{"position":{"x":14011.077640555639,"y":27458.582694800287},"targetPosition":{"x":13844.680550975158,"y":27084.636439434005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"31c9eb9e-6567-4866-b3de-cf7ac4fa0126","savedPayload":{"position":{"x":13844.680550975158,"y":27084.636439434005},"targetPosition":{"x":13678.178607764668,"y":26710.48070261282},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"prev.ema7 conv prev.ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7 < chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7","project":"Foundations","id":"0dd58774-bae1-48f4-bb2a-ff3af03d885b","savedPayload":{"position":{"x":13197.279121163621,"y":27373.047551747586},"targetPosition":{"x":13437.699549695702,"y":27041.842881663353},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f8894b26-93ec-450a-9cbf-2462e442a7bc","savedPayload":{"position":{"x":13437.699549695702,"y":27041.842881663353},"targetPosition":{"x":13678.178607764668,"y":26710.48070261282},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a1141841-95d0-4c98-b77e-16eb893e6b19","savedPayload":{"position":{"x":13678.178607764668,"y":26710.48070261282},"targetPosition":{"x":13720.724088659168,"y":26302.9487434825},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"5a854197-4f85-4f31-bf5e-c9acff5a60cc","savedPayload":{"position":{"x":20739.650685069268,"y":28598.371529052725},"targetPosition":{"x":21106.086300829094,"y":28835.436490968103},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Manage: 3% Below ema7","id":"e6304ea5-e683-49c1-8e84-e2bc119565fa"}}}],"announcements":[],"id":"dc4b92b2-3855-4cc7-84f5-20cc259c1634","savedPayload":{"position":{"x":20733.79745819037,"y":28827.37212442147},"targetPosition":{"x":21044.53855880237,"y":28853.25043777685},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6b48bcff-79c4-4705-82ac-3666914c8628","savedPayload":{"position":{"x":30352.104911507675,"y":31367.36285621421},"targetPosition":{"x":30501.899341720862,"y":31375.213249650653},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"657399d3-c55b-46b6-8ef6-bf1ed183c48f","savedPayload":{"position":{"x":30501.899341720862,"y":31375.213249650653},"targetPosition":{"x":30769.201298977372,"y":31239.01609972879},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"closeStage":{"type":"Close Stage","project":"Foundations","initialTargets":{"type":"Initial Targets","name":"New Initial Targets","project":"Foundations","targetRate":{"type":"Target Rate","name":"New Target Rate","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value","project":"Foundations","id":"c6b77baa-76fc-47b1-b051-2f3ff3406f57","savedPayload":{"position":{"x":29815.228434219767,"y":31765.88372195449},"targetPosition":{"x":30004.02455153472,"y":31532.7399335174},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c377d2d0-923e-48bc-8d52-dabd2aa3cddd","savedPayload":{"position":{"x":30004.02455153472,"y":31532.7399335174},"targetPosition":{"x":30192.820668849672,"y":31299.59614508031},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"targetSizeInQuotedAsset":{"type":"Target Size In Quoted Asset","name":"New Target Size In Quoted Asset","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.sizeFilled.value - portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.feesPaid.value","project":"Foundations","id":"1a506022-94a8-4002-a4e9-fb5be6bb08f7","savedPayload":{"position":{"x":29600.20766449259,"y":31205.735466056172},"targetPosition":{"x":29896.51416667113,"y":31252.665805568242},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a763470c-36d8-4f0a-bf43-d4bf56fdc8f2","savedPayload":{"position":{"x":29896.51416667113,"y":31252.665805568242},"targetPosition":{"x":30192.820668849672,"y":31299.59614508031},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"acf03a63-b313-4815-8b9e-f0076133d831","savedPayload":{"position":{"x":30192.820668849672,"y":31299.59614508031},"targetPosition":{"x":30472.89479679883,"y":31192.08576021672},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"closeExecution":{"type":"Close Execution","project":"Foundations","executionAlgorithms":[{"type":"Execution Algorithm","name":"New Execution Algorithm","config":"{\n\"percentageOfStageTargetSize\": 100 \n}","project":"Foundations","marketBuyOrders":[{"type":"Market Buy Order","name":"Quick Exit","config":"{\n\"percentageOfAlgorithmSize\": 100,\n\"spawnMultipleOrders\": false\n}","project":"Foundations","createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"true","project":"Foundations","id":"0dea584c-fc00-490a-9ed3-a9ea73f8fa82","savedPayload":{"position":{"x":23048.89091621992,"y":28116.319218015626},"targetPosition":{"x":23008.31513067185,"y":27924.139686142174},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f38d1558-0d76-4dbb-8376-23fad6c5b7b0","savedPayload":{"position":{"x":23008.31513067185,"y":27924.139686142174},"targetPosition":{"x":22967.63379953603,"y":27731.286207107172},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c4f496ed-74ae-4538-b71d-062ec523fb02","savedPayload":{"position":{"x":22967.63379953603,"y":27731.286207107172},"targetPosition":{"x":22918.10537853773,"y":27496.75166658657},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"1b0a6e1c-0fe1-4852-9830-5827fd04f468","savedPayload":{"position":{"x":21280.94549561933,"y":27654.342756929036},"targetPosition":{"x":21540.85857309729,"y":27864.648076363104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"fa11a0a2-17b9-43be-a734-a5643da1dbb1","savedPayload":{"position":{"x":21540.85857309729,"y":27864.648076363104},"targetPosition":{"x":21800.17996850212,"y":28074.45302951141},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market Order","name":"Market Buy Order #1","id":"7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3"}}}],"marketSellOrders":[],"limitBuyOrders":[],"limitSellOrders":[],"id":"8313a81f-a159-437e-b0a6-516dd5cfd3c8","savedPayload":{"position":{"x":21800.17996850212,"y":28074.45302951141},"targetPosition":{"x":22118.208661731023,"y":28331.849234284673},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e8a01f89-65e9-4758-a6b4-b5fad0ef7297","savedPayload":{"position":{"x":30239.75100836174,"y":31003.289642901767},"targetPosition":{"x":30472.89479679883,"y":31192.08576021672},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"80f7f0a4-4572-4bea-b440-b5bd1fec32c1","savedPayload":{"position":{"x":30472.89479679883,"y":31192.08576021672},"targetPosition":{"x":30769.201298977372,"y":31239.01609972879},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"b27aa9de-ced9-4e53-941c-499bab212f80","savedPayload":{"position":{"x":30769.201298977372,"y":31239.01609972879},"targetPosition":{"x":30981.333333333336,"y":31026.884065372826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Portfolio Strategy","name":"S6 - 2H Up","project":"Foundations","triggerStage":{"type":"Trigger Stage","name":"New Trigger Stage","project":"Foundations","triggerOn":{"type":"Trigger On Event","name":"New Trigger On Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"Previous Breakup","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.previous.close > chart.at01hs.bollingerBand.previous.movingAverage + chart.at01hs.bollingerBand.previous.deviation","project":"Foundations","id":"873a72fd-cc23-4965-ae29-5b2b70d85cb9","savedPayload":{"position":{"x":31517.393312257213,"y":32104.431036072547},"targetPosition":{"x":31069.85845934149,"y":32057.393227602104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"087962b5-2546-4472-b71c-b161f0013b1c","savedPayload":{"position":{"x":31069.85845934149,"y":32057.393227602104},"targetPosition":{"x":30622.323606425765,"y":32010.35541913166},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Close In","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage + chart.at01hs.bollingerBand.deviation","project":"Foundations","id":"c72459a6-49d5-4021-b6e3-4a8c374b6b4b","savedPayload":{"position":{"x":31462.545990273247,"y":32332.88657372243},"targetPosition":{"x":31042.434798349506,"y":32171.620996427046},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"48333f2b-d8c7-4a92-bf5d-b8c9a8de4196","savedPayload":{"position":{"x":31042.434798349506,"y":32171.620996427046},"targetPosition":{"x":30622.323606425765,"y":32010.35541913166},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Red Candle","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.candle.open","project":"Foundations","id":"8488937e-9b92-4562-b89c-a4d6c6dd8ee2","savedPayload":{"position":{"x":31350.438901363217,"y":32539.36214619489},"targetPosition":{"x":30986.38125389449,"y":32274.858782663276},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ec9b3ba8-d6a4-4cb0-8679-a8daa868e549","savedPayload":{"position":{"x":30986.38125389449,"y":32274.858782663276},"targetPosition":{"x":30622.323606425765,"y":32010.35541913166},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"02H Up","code":"chart.at03hs.bollingerChannel.direction * chart.atAnyTimeFrame.externalSignal.timestamp > chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at02hs.bollingerChannel.direction === \"Up\"","project":"Foundations","id":"ade6a251-d161-467d-8e94-45cfdadf536b","savedPayload":{"position":{"x":31188.711958370623,"y":32709.78678444294},"targetPosition":{"x":30905.517782398194,"y":32360.0711017873},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7499f60b-762e-4b37-a66d-2872755620c4","savedPayload":{"position":{"x":30905.517782398194,"y":32360.0711017873},"targetPosition":{"x":30622.323606425765,"y":32010.35541913166},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"04H Down","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at04hs.bollingerChannel.direction === \"Down\"","project":"Foundations","id":"3beea11e-ff4a-4e39-97d0-97563dacfb09","savedPayload":{"position":{"x":30988.386585193985,"y":32832.54633101},"targetPosition":{"x":30805.355095809875,"y":32421.450875070834},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9e0650fa-cd1b-4770-81b2-06d677c73510","savedPayload":{"position":{"x":30805.355095809875,"y":32421.450875070834},"targetPosition":{"x":30622.323606425765,"y":32010.35541913166},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"01H Med, Steep o Extreme","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.bollingerSubChannel.slope === \"Medium\" || chart.at01hs.bollingerSubChannel.slope === \"Steep\" || chart.at01hs.bollingerSubChannel.slope === \"Extreme\"","project":"Foundations","id":"276b36c3-c0ca-45d6-a659-c40dac406f46","savedPayload":{"position":{"x":30763.11462496197,"y":32899.27492566728},"targetPosition":{"x":30692.719115693868,"y":32454.815172399474},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"904385e8-8b04-4c0c-9961-98b10184e976","savedPayload":{"position":{"x":30692.719115693868,"y":32454.815172399474},"targetPosition":{"x":30622.323606425765,"y":32010.35541913166},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"6H Down","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at06hs.bollingerChannel.direction === \"Down\"","project":"Foundations","id":"a49fbb15-05db-4a21-b59b-662a6d84c999","savedPayload":{"position":{"x":30528.24798948488,"y":32905.425124963105},"targetPosition":{"x":30575.285797955323,"y":32457.890272047385},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"89591bf6-dabe-4ba6-b2d8-4580a2c75b0a","savedPayload":{"position":{"x":30575.285797955323,"y":32457.890272047385},"targetPosition":{"x":30622.323606425765,"y":32010.35541913166},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"2H Side or Medium","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at02hs.bollingerSubChannel.slope === \"Side\" || chart.at02hs.bollingerSubChannel.slope === \"Medium\"","project":"Foundations","id":"bb0016e9-0b74-4595-b450-209487362f00","savedPayload":{"position":{"x":30299.792451834997,"y":32850.57780297914},"targetPosition":{"x":30461.05802913038,"y":32430.466611055403},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ad9f8e37-16b5-4245-9492-0192ef168849","savedPayload":{"position":{"x":30461.05802913038,"y":32430.466611055403},"targetPosition":{"x":30622.323606425765,"y":32010.35541913166},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Filter 1: 08H Deviation > 200 < 1500","code":"chart.at24hs.bollingerBand.deviation < chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"if (chart.at08hs.bollingerBand.deviation < 200 || chart.at08hs.bollingerBand.deviation > 1500) {false} else {true}","project":"Foundations","id":"1e3c7245-5582-4af5-9527-5dddf151b976","savedPayload":{"position":{"x":30093.316879362537,"y":32738.470714069113},"targetPosition":{"x":30357.82024289415,"y":32374.413066600388},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"440d6ea0-2ee2-408a-a556-18d4c53dda17","savedPayload":{"position":{"x":30357.82024289415,"y":32374.413066600388},"targetPosition":{"x":30622.323606425765,"y":32010.35541913166},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Filter 4: 02H Up && 02H Gentle && 3H Side","code":"chart.at02hs.percentageBandwidth.movingAverage > chart.at24hs.bollingerSubChannel.slope + chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"if (chart.at02hs.bollingerChannel.direction === \"Up\" && chart.at02hs.bollingerSubChannel.slope === \"Gentle\" && chart.at03hs.bollingerSubChannel.slope === \"Side\") {false} else {true}","project":"Foundations","id":"d4189ed6-4d0f-45ea-b1ae-dbdb8f2e0e2c","savedPayload":{"position":{"x":29922.89224111449,"y":32576.743771076515},"targetPosition":{"x":30272.607923770127,"y":32293.549595104087},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"01875e5f-f718-4047-baa4-c91930dd6c86","savedPayload":{"position":{"x":30272.607923770127,"y":32293.549595104087},"targetPosition":{"x":30622.323606425765,"y":32010.35541913166},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"4H NOT Steep","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at04hs.bollingerSubChannel.slope != \"Steep\"","project":"Foundations","id":"350d4a04-700f-4f33-960e-d267e00cec51","savedPayload":{"position":{"x":29800.13269454742,"y":32376.41839789988},"targetPosition":{"x":30211.228150486593,"y":32193.38690851577},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"bda747f3-188e-4ed0-82bf-b600a9a9c3f5","savedPayload":{"position":{"x":30211.228150486593,"y":32193.38690851577},"targetPosition":{"x":30622.323606425765,"y":32010.35541913166},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7ec2e400-1608-44b5-8ae4-ac4f815e76f5","savedPayload":{"position":{"x":30622.323606425765,"y":32010.35541913166},"targetPosition":{"x":30551.928097157663,"y":31565.89566586385},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"0499e109-2786-4159-b79a-c6c24ebac150","savedPayload":{"position":{"x":30551.928097157663,"y":31565.89566586385},"targetPosition":{"x":30504.997757645593,"y":31269.58916368531},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"triggerOff":{"type":"Trigger Off Event","name":"New Trigger Off Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close< chart.at01hs.bollingerBand.movingAverage","project":"Foundations","id":"3ed33d07-ff92-4ecc-81cd-8d9318f5a3a2","savedPayload":{"position":{"x":21739.16462799864,"y":29745.29892190647},"targetPosition":{"x":21925.780496336014,"y":29487.769112316848},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"40eeff59-ef6d-456b-9662-2590ba1f90b8","savedPayload":{"position":{"x":21925.780496336014,"y":29487.769112316848},"targetPosition":{"x":22109.962118289757,"y":29231.522897734467},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"208d89cb-60a9-461f-a8d2-a9d185ca3c5a","savedPayload":{"position":{"x":22109.962118289757,"y":29231.522897734467},"targetPosition":{"x":22321.522085273817,"y":28942.2002990794},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"77ac2dcd-e4a4-4a8f-8c71-d8a30fa7a508","savedPayload":{"position":{"x":30416.82996980172,"y":31390.94171284155},"targetPosition":{"x":30504.997757645593,"y":31269.58916368531},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"takePosition":{"type":"Take Position Event","name":"New Take Position Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"Previous Breakup","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.previous.close > chart.at01hs.bollingerBand.previous.movingAverage + chart.at01hs.bollingerBand.previous.deviation","project":"Foundations","id":"0c4f8301-8084-4276-a901-5e8137867ea0","savedPayload":{"position":{"x":21634.948861137975,"y":29760.903369622225},"targetPosition":{"x":21684.228563624336,"y":29289.674433497566},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c407af9c-fe4a-4d5a-9446-25fc7284ee5c","savedPayload":{"position":{"x":21684.228563624336,"y":29289.674433497566},"targetPosition":{"x":21733.573345724264,"y":28818.26907304481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Close In","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage + chart.at01hs.bollingerBand.deviation","project":"Foundations","id":"6f84e4e1-1174-4eea-b92a-fdb64cdded61","savedPayload":{"position":{"x":21393.9605621454,"y":29703.59255983495},"targetPosition":{"x":21563.672383331672,"y":29261.160747607813},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"56b51e70-1cfd-403a-809d-ee19347ca315","savedPayload":{"position":{"x":21563.672383331672,"y":29261.160747607813},"targetPosition":{"x":21733.573345724264,"y":28818.26907304481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Red Candle","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.candle.open","project":"Foundations","id":"f3b540af-68c9-4345-9826-faf0d9e6e04c","savedPayload":{"position":{"x":21176.66858733496,"y":29584.97793706081},"targetPosition":{"x":21455.14589305297,"y":29201.619451565326},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f4cdcc47-9a5d-4999-9c11-8fd1c19a5424","savedPayload":{"position":{"x":21455.14589305297,"y":29201.619451565326},"targetPosition":{"x":21733.573345724264,"y":28818.26907304481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"02H Up","code":"chart.at03hs.bollingerChannel.direction * chart.atAnyTimeFrame.externalSignal.timestamp > chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at02hs.bollingerChannel.direction === \"Up\"","project":"Foundations","id":"0f3ff1d1-ff82-42da-a526-aff486cbc0bb","savedPayload":{"position":{"x":20997.36848958105,"y":29414.792111211747},"targetPosition":{"x":21365.543241199466,"y":29116.46240210002},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0835043e-d8e1-424e-a530-1def860228eb","savedPayload":{"position":{"x":21365.543241199466,"y":29116.46240210002},"targetPosition":{"x":21733.573345724264,"y":28818.26907304481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"04H Down","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at04hs.bollingerChannel.direction === \"Down\"","project":"Foundations","id":"54f8e8ae-578f-461d-9ed2-9f352395dd19","savedPayload":{"position":{"x":20867.787815090574,"y":29203.806634011882},"targetPosition":{"x":21300.609338797087,"y":29011.11052940972},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"feb6ba85-a9c1-40af-9e6b-00bd4ef1480b","savedPayload":{"position":{"x":21300.609338797087,"y":29011.11052940972},"targetPosition":{"x":21733.573345724264,"y":28818.26907304481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"01H Med, Steep o Extreme","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.bollingerSubChannel.slope === \"Medium\" || chart.at01hs.bollingerSubChannel.slope === \"Steep\" || chart.at01hs.bollingerSubChannel.slope === \"Extreme\"","project":"Foundations","id":"949100cd-882b-4c11-b010-dbbfd5fff6f5","savedPayload":{"position":{"x":20797.22768981526,"y":28966.815621661284},"targetPosition":{"x":21265.326012751724,"y":28892.515512882186},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d3f463af-4e6d-493b-bc8f-e4c66ffc8567","savedPayload":{"position":{"x":21265.326012751724,"y":28892.515512882186},"targetPosition":{"x":21733.573345724264,"y":28818.26907304481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"6H Down","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at06hs.bollingerChannel.direction === \"Down\"","project":"Foundations","id":"b6856a8d-7a24-4a5f-a449-de2d32fe63be","savedPayload":{"position":{"x":20790.85238583451,"y":28719.78074374098},"targetPosition":{"x":21262.359071149767,"y":28769.137101575943},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"37a6e660-f28f-4bd2-99ea-3c2f46d2a36c","savedPayload":{"position":{"x":21262.359071149767,"y":28769.137101575943},"targetPosition":{"x":21733.573345724264,"y":28818.26907304481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"2H Side or Medium","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at02hs.bollingerSubChannel.slope === \"Side\" || chart.at02hs.bollingerSubChannel.slope === \"Medium\"","project":"Foundations","id":"08d54285-d07e-4cec-8f13-a2f268a569a2","savedPayload":{"position":{"x":20848.726621543217,"y":28479.37889063121},"targetPosition":{"x":21291.14524294497,"y":28648.86110273814},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e0208159-e2c5-4fa4-8658-714af9cc91bd","savedPayload":{"position":{"x":21291.14524294497,"y":28648.86110273814},"targetPosition":{"x":21733.573345724264,"y":28818.26907304481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Filter 1: 08H Deviation > 200 < 1500","code":"chart.at24hs.bollingerBand.deviation < chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"if (chart.at08hs.bollingerBand.deviation < 200 || chart.at08hs.bollingerBand.deviation > 1500) {false} else {true}","project":"Foundations","id":"36e3a366-1402-4953-8283-9a4131d304b2","savedPayload":{"position":{"x":20966.492232080163,"y":28262.075774322322},"targetPosition":{"x":21350.253204922195,"y":28540.440189099092},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d4dc8ef4-ba98-4843-9ef5-16a649541da1","savedPayload":{"position":{"x":21350.253204922195,"y":28540.440189099092},"targetPosition":{"x":21733.573345724264,"y":28818.26907304481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Filter 4: 02H Up && 02H Gentle && 3H Side","code":"chart.at02hs.percentageBandwidth.movingAverage > chart.at24hs.bollingerSubChannel.slope + chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"if (chart.at02hs.bollingerChannel.direction === \"Up\" && chart.at02hs.bollingerSubChannel.slope === \"Gentle\" && chart.at03hs.bollingerSubChannel.slope === \"Side\") {false} else {true}","project":"Foundations","id":"f24fcdcf-8844-4f08-a9f2-3b56471a6dde","savedPayload":{"position":{"x":21136.735751593846,"y":28082.243873507294},"targetPosition":{"x":21435.16142401014,"y":28450.302707937},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2f6a17d7-7a2e-4aa2-b120-d22cb0898194","savedPayload":{"position":{"x":21435.16142401014,"y":28450.302707937},"targetPosition":{"x":21733.573345724264,"y":28818.26907304481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"4H NOT Steep","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at04hs.bollingerSubChannel.slope != \"Steep\"","project":"Foundations","id":"5e74fc74-6684-4675-ba35-4ce3fee27b2a","savedPayload":{"position":{"x":21347.41590679852,"y":27953.07896977722},"targetPosition":{"x":21540.444262603007,"y":28385.713347082077},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"cc3b8326-99cd-431c-8b27-c85322f6413f","savedPayload":{"position":{"x":21540.444262603007,"y":28385.713347082077},"targetPosition":{"x":21733.573345724264,"y":28818.26907304481},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e5d2fd0e-f202-44e7-bf4c-32d3a203528e","savedPayload":{"position":{"x":21733.573345724264,"y":28818.26907304481},"targetPosition":{"x":22201.739900101948,"y":28743.791163006666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"08776dac-4836-413b-ad45-fdfa781b031c","savedPayload":{"position":{"x":30208.691255467053,"y":31316.519503197378},"targetPosition":{"x":30504.997757645593,"y":31269.58916368531},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"5724bd17-a57c-4ec4-9389-170c4255a2d5","savedPayload":{"position":{"x":30504.997757645593,"y":31269.58916368531},"targetPosition":{"x":30681.333333333336,"y":31026.884065372826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"openStage":{"type":"Open Stage","name":"New Open Stage","project":"Foundations","initialTargets":{"type":"Initial Targets","name":"New Initial Targets","project":"Foundations","targetRate":{"type":"Target Rate","name":"New Target Rate","project":"Foundations","formula":{"type":"Formula","name":"My Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value","project":"Foundations","id":"a71b344d-8e76-4a30-9e8f-bcec9a1dde5f","savedPayload":{"position":{"x":21914.094544061732,"y":29312.63269124664},"targetPosition":{"x":21980.15303542718,"y":29002.731411057415},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5bc478bd-5433-458e-aae2-fd9926628d7c","savedPayload":{"position":{"x":21980.15303542718,"y":29002.731411057415},"targetPosition":{"x":22065.42144688491,"y":28604.414353565204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"targetSizeInBaseAsset":{"type":"Target Size In Base Asset","name":"New Target Size In Base Asset","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value","project":"Foundations","id":"68e2c2b7-d7e0-45e1-8a3e-a8244aad2661","savedPayload":{"position":{"x":21379.785908933467,"y":28827.25963654911},"targetPosition":{"x":21679.70827955272,"y":28729.75233590346},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c49d20d7-1771-4c3e-af23-7a28193d3241","savedPayload":{"position":{"x":21679.70827955272,"y":28729.75233590346},"targetPosition":{"x":22065.42144688491,"y":28604.414353565204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"664dc863-9fc1-48ab-bd68-a34297f47da8","savedPayload":{"position":{"x":30295.646787490958,"y":31231.06088750692},"targetPosition":{"x":30396.016378444787,"y":31119.58916368531},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"openExecution":{"type":"Open Execution","name":"New Open Execution","project":"Foundations","executionAlgorithms":[{"type":"Execution Algorithm","name":"New Execution Algorithm","config":"{\n\"percentageOfStageTargetSize\": 100 \n}","project":"Foundations","marketBuyOrders":[],"marketSellOrders":[{"type":"Market Sell Order","name":"Quick Entry","config":"{\n\"percentageOfAlgorithmSize\": 100\n}","project":"Foundations","createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"true","project":"Foundations","id":"30d7a26c-2936-49a6-b98d-4438ce18bc90","savedPayload":{"position":{"x":20105.875637223387,"y":27910.23232046031},"targetPosition":{"x":20414.64261427768,"y":27975.65582247312},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e991cc1d-9eee-41c5-82e3-4839b8efc76a","savedPayload":{"position":{"x":20414.64261427768,"y":27975.65582247312},"targetPosition":{"x":20723.630876468742,"y":28041.108378331504},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"eb5f0809-efce-4847-9222-338f44ff79f8","savedPayload":{"position":{"x":20723.630876468742,"y":28041.108378331504},"targetPosition":{"x":21032.66939428596,"y":28106.551851255317},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"be27c682-b993-408f-827b-e407c80bb3ef","savedPayload":{"position":{"x":21032.66939428596,"y":28106.551851255317},"targetPosition":{"x":21341.558467404346,"y":28171.937294198062},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"17db69f2-c7ad-47ec-ad5e-1fff5d2d431e","savedPayload":{"position":{"x":21341.558467404346,"y":28171.937294198062},"targetPosition":{"x":21650.64768042324,"y":28237.283166628928},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market Order","name":"Market Sell Order #1","id":"8e404329-d41f-41e0-ad5a-c84ee1fa2604"}}}],"limitBuyOrders":[],"limitSellOrders":[],"id":"87120599-bb06-4e3d-879a-bb234393d074","savedPayload":{"position":{"x":21650.64768042324,"y":28237.283166628928},"targetPosition":{"x":21968.230795668278,"y":28304.189622197002},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}}],"id":"7472854b-e09a-414c-b02a-36cf74c318d2","savedPayload":{"position":{"x":30249.294238334718,"y":31088.402410062645},"targetPosition":{"x":30396.016378444787,"y":31119.58916368531},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"bd075559-4607-490b-bcd6-efdc54a5010a","savedPayload":{"position":{"x":30396.01637844479,"y":31119.58916368531},"targetPosition":{"x":30681.333333333336,"y":31026.884065372826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"manageStage":{"type":"Manage Stage","name":"New Manage Stage","project":"Foundations","managedStopLoss":{"type":"Managed Stop Loss","name":"New Managed Stop Loss","project":"Foundations","phases":[{"type":"Phase","name":"New Phase","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.03","project":"Foundations","id":"7fdf974e-fda6-4d8c-89b9-27d07cf1d1dc","savedPayload":{"position":{"x":21347.307410229198,"y":28338.67912790567},"targetPosition":{"x":21582.427943195486,"y":28126.456644592145},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","name":"New Next Phase Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.candle.previous.close < portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97","project":"Foundations","id":"c2a3eae6-8f54-4697-83b5-a4250a61e707","savedPayload":{"position":{"x":21095.12785210916,"y":28921.213347223318},"targetPosition":{"x":21244.665848780518,"y":28872.425895597713},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"008bcd0e-5d78-4d73-846c-404ba758c324","savedPayload":{"position":{"x":21244.665848780518,"y":28872.425895597713},"targetPosition":{"x":21415.088809173747,"y":28816.714175979556},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"509f7658-04d9-4bfc-9834-a6a40839c6bb","savedPayload":{"position":{"x":21415.088809173747,"y":28816.714175979556},"targetPosition":{"x":21614.446950016074,"y":28751.566879013575},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"b6412415-9393-4222-84c0-3010a793e7b3","savedPayload":{"position":{"x":21281.184216241887,"y":28027.67697182778},"targetPosition":{"x":21582.427943195486,"y":28126.456644592145},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"1b7b1c18-8632-40da-91c1-ca78dc524027","savedPayload":{"position":{"x":21582.427943195486,"y":28126.456644592145},"targetPosition":{"x":21967.993663448546,"y":28044.91734607536},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"New Phase","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.bollingerBand.movingAverage * 1.02 < portfolioEngine.portfolioCurrent.position.stopLoss.value) {chart.at01hs.bollingerBand.movingAverage * 1.02} else {portfolioEngine.portfolioCurrent.position.stopLoss.value}","project":"Foundations","id":"a32cdd1e-19ce-4bcc-b7c9-52a9e9466dbf","savedPayload":{"position":{"x":20962.802865869282,"y":28257.835742404553},"targetPosition":{"x":21272.700573841594,"y":28192.191547805443},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[],"announcements":[],"id":"291bbfda-c1d5-49f6-966b-3f7704ffbda8","savedPayload":{"position":{"x":21272.700573841594,"y":28192.191547805443},"targetPosition":{"x":21582.427943195486,"y":28126.456644592145},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"bbb0aab4-c6e3-47f8-b737-9e6fcafcfba1","savedPayload":{"position":{"x":30249.294238334718,"y":30965.365720683007},"targetPosition":{"x":30396.016378444787,"y":30934.178967060343},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"managedTakeProfit":{"type":"Managed Take Profit","name":"New Managed Take Profit","project":"Foundations","phases":[{"type":"Phase","name":"New Phase","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.95","project":"Foundations","id":"f65bed6b-e9c5-48aa-ae59-a8beb0c8fdcc","savedPayload":{"position":{"x":21500.74581413937,"y":27356.124259652912},"targetPosition":{"x":21802.409781029954,"y":27452.494091831417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","name":"New Next Phase Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"1H EMA7 < entryTargetRate","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < portfolioEngine.portfolioCurrent.position.entryTargetRate.value","project":"Foundations","id":"a9133dde-603b-4e92-9278-fd6e3e8e8889","savedPayload":{"position":{"x":21134.454175629035,"y":27710.74411202514},"targetPosition":{"x":21289.171686435773,"y":27743.156107640694},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5d40017f-c899-4a2e-9425-fef134a4f4ca","savedPayload":{"position":{"x":21289.171686435773,"y":27743.156107640694},"targetPosition":{"x":21469.603411950626,"y":27789.185834523756},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"positionPeriods > 2","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"portfolioEngine.portfolioCurrent.position.positionCounters.periods.value > 2","project":"Foundations","id":"b74b392c-ddfc-4021-9dfe-c3d385d4dba6","savedPayload":{"position":{"x":21354.621414736972,"y":27465.579652467015},"targetPosition":{"x":21403.764220137302,"y":27615.903786082104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"052730c4-33a8-4ee9-80c6-3fb61118d2bf","savedPayload":{"position":{"x":21403.764220137302,"y":27615.903786082104},"targetPosition":{"x":21469.603411950626,"y":27789.185834523756},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d75acbba-54eb-4a90-b76e-8649c08cbec0","savedPayload":{"position":{"x":21469.603411950626,"y":27789.185834523756},"targetPosition":{"x":21625.386902565497,"y":27928.41711602908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"c2f90327-7f61-4d94-84f9-fcd82b5aa44d","savedPayload":{"position":{"x":21737.71033284805,"y":27142.604317871017},"targetPosition":{"x":21802.409781029954,"y":27452.494091831417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"48071c89-de62-467f-a472-10557ba6277f","savedPayload":{"position":{"x":21802.409781029954,"y":27452.494091831417},"targetPosition":{"x":22066.10368680447,"y":27744.95159525686},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"Manage: 3% Below ema7","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.base7EMA.ema7 * 0.97 < \nportfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97) \n{chart.at01hs.base7EMA.ema7 * 0.97} else \n{portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97}","project":"Foundations","id":"34d1cb14-5351-42d4-8827-b2b0aa013b99","savedPayload":{"position":{"x":21355.13840743402,"y":27429.658617389934},"targetPosition":{"x":21590.430627883976,"y":27217.52110448406},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","name":"New Next Phase Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 conv ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"6f6150fc-3a6a-4686-a350-ff141bc83623","savedPayload":{"position":{"x":9332.095625148795,"y":25098.122618657013},"targetPosition":{"x":9185.855485734286,"y":24786.37249304876},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3ef9a345-0c46-428c-94f3-80decc872e23","savedPayload":{"position":{"x":9185.855485734286,"y":24786.37249304876},"targetPosition":{"x":9043.711242410041,"y":24467.51091902334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d34694ed-b6c6-4fca-ae8d-95e3f30a4888","savedPayload":{"position":{"x":9043.711242410041,"y":24467.51091902334},"targetPosition":{"x":8900.909330329472,"y":24144.343177368297},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"0be8dfdf-f4ff-4616-b788-c04b3c64eb1b","savedPayload":{"position":{"x":21449.761568465892,"y":27053.208083888567},"targetPosition":{"x":21590.430627883976,"y":27217.52110448406},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[{"type":"Move To Phase Event","name":"Move to Run","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 > chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"45b5b7a2-8cc1-47f8-99c5-8042c7925a89","savedPayload":{"position":{"x":22206.06666947217,"y":26455.14068983899},"targetPosition":{"x":22271.61156554174,"y":26764.51196364915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9bb86da8-d8fa-4b5c-b6a5-952327938371","savedPayload":{"position":{"x":22271.61156554174,"y":26764.51196364915},"targetPosition":{"x":22337.19637819632,"y":27074.308062012606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 div ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema21 - chart.at01hs.base7EMA.ema14 > chart.at01hs.base7EMA.previous.ema21 - chart.at01hs.base7EMA.previous.ema14","project":"Foundations","id":"05f551c5-32a7-4986-8753-5ac0bd0d4acc","savedPayload":{"position":{"x":22532.658208956214,"y":26472.18921478487},"targetPosition":{"x":22434.997886218003,"y":26773.015981764845},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9ba9b517-a809-4b01-848f-5bb31ab1f92c","savedPayload":{"position":{"x":22434.997886218003,"y":26773.015981764845},"targetPosition":{"x":22337.19637819632,"y":27074.308062012606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema7 < positionRate","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.99","project":"Foundations","id":"c7001aa3-f176-40e4-a6d7-2744966363cd","savedPayload":{"position":{"x":22807.268829889676,"y":26650.338402314643},"targetPosition":{"x":22572.333058543736,"y":26862.16318901464},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"094200d6-3761-4dd0-8073-083d14bbeb71","savedPayload":{"position":{"x":22572.333058543736,"y":26862.16318901464},"targetPosition":{"x":22337.19637819632,"y":27074.308062012606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema7 < ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.ema14","project":"Foundations","id":"aaee1ab9-d92b-4f01-afc1-654347d9511a","savedPayload":{"position":{"x":22955.96603449198,"y":26941.80581750584},"targetPosition":{"x":22646.738457105133,"y":27007.94561996129},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9143d8e3-b435-49f2-907e-a874e794d32a","savedPayload":{"position":{"x":22646.738457105133,"y":27007.94561996129},"targetPosition":{"x":22337.19637819632,"y":27074.308062012606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 < ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 < chart.at01hs.base7EMA.ema21 ","project":"Foundations","id":"9e27b341-5396-4a81-b483-13c9e497f3c4","savedPayload":{"position":{"x":22938.84530672236,"y":27267.893676569205},"targetPosition":{"x":22638.19069443062,"y":27171.07787370833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"77518efa-2184-4602-8f5a-f3e106c6845c","savedPayload":{"position":{"x":22638.19069443062,"y":27171.07787370833},"targetPosition":{"x":22337.19637819632,"y":27074.308062012606},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"9d8fbd63-29f2-41f9-85f1-92643ff12c6d","savedPayload":{"position":{"x":22337.19637819632,"y":27074.308062012606},"targetPosition":{"x":22088.63351548631,"y":27298.792700105165},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"a92424e5-ab90-424c-85cc-b8697bcb6009","savedPayload":{"position":{"x":21825.9269285822,"y":27005.58351069304},"targetPosition":{"x":21590.430627883976,"y":27217.52110448406},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Run","id":"8aff2c3b-ecf9-4df8-84ea-ffd6ba9c9612"}}}],"announcements":[],"id":"58effb7e-0927-4c47-8745-58895dead2ea","savedPayload":{"position":{"x":21590.430627883976,"y":27217.52110448406},"targetPosition":{"x":21802.238387623565,"y":27452.305921825653},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"Close: BB Lower Band","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.deviation < \nportfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97) \n{chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.standardDeviation * 2} else \n{portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97}","project":"Foundations","id":"49b3a850-8a9e-41c7-8b5f-e5f3a21ce83d","savedPayload":{"position":{"x":21045.549986521488,"y":26948.798781581703},"targetPosition":{"x":21361.459732741343,"y":26965.451329150754},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[{"type":"Move To Phase Event","name":"Move to Run","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 > chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"c6bc7845-b742-4bd0-a28e-f76bafd9ae16","savedPayload":{"position":{"x":26001.267990027678,"y":25244.31373025501},"targetPosition":{"x":26010.2046061456,"y":25598.971825374014},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0dea846d-7054-4651-9c26-e34941dd4128","savedPayload":{"position":{"x":26010.2046061456,"y":25598.971825374014},"targetPosition":{"x":26019.307271332276,"y":25953.728900255453},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 div ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema21 - chart.at01hs.base7EMA.ema14 > chart.at01hs.base7EMA.previous.ema21 - chart.at01hs.base7EMA.previous.ema14","project":"Foundations","id":"9ef393ca-8c24-4089-a87e-8ce151f2b828","savedPayload":{"position":{"x":26273.744243164183,"y":25291.115939949268},"targetPosition":{"x":26146.56102193197,"y":25622.30022406397},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6be2982e-d239-488c-aa26-68e9b2a7af09","savedPayload":{"position":{"x":26146.56102193197,"y":25622.30022406397},"targetPosition":{"x":26019.307271332276,"y":25953.728900255453},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema7 < ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.ema14","project":"Foundations","id":"69018aba-59d9-4f07-a2d5-d93c75981c93","savedPayload":{"position":{"x":26508.018377843735,"y":25438.907159200935},"targetPosition":{"x":26263.809040048378,"y":25696.20540255042},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6ce688b0-0234-4ad1-8afa-540325306d5c","savedPayload":{"position":{"x":26263.809040048378,"y":25696.20540255042},"targetPosition":{"x":26019.307271332276,"y":25953.728900255453},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 < ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 < chart.at01hs.base7EMA.ema21 ","project":"Foundations","id":"b882f3e8-28e5-49f8-90a1-c27ac4723c90","savedPayload":{"position":{"x":26667.905227237585,"y":25664.895486524576},"targetPosition":{"x":26343.76609854959,"y":25809.187894124676},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d21fc9d4-bec7-4df6-9083-203e877f30de","savedPayload":{"position":{"x":26343.76609854959,"y":25809.187894124676},"targetPosition":{"x":26019.307271332276,"y":25953.728900255453},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"previous ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7 > chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7","project":"Foundations","id":"2d8c394e-6772-4d45-a052-a5c04202637c","savedPayload":{"position":{"x":26728.99118523806,"y":25935.010829759623},"targetPosition":{"x":26374.26203064862,"y":25944.32855856532},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"577a9703-74fb-4ea1-9e6d-1a6083c6ac29","savedPayload":{"position":{"x":26374.26203064862,"y":25944.32855856532},"targetPosition":{"x":26019.307271332276,"y":25953.728900255453},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"previous ema14 div ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.ema21 - chart.at01hs.base7EMA.previous.ema14 > chart.at01hs.base7EMA.previous.previous.ema21 - chart.at01hs.base7EMA.previous.previous.ema14","project":"Foundations","id":"af2fed7e-8530-49cb-8d8c-818c0dfd3865","savedPayload":{"position":{"x":26682.10685700491,"y":26207.402772895177},"targetPosition":{"x":26350.81483851846,"y":26080.493103265027},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8b902eb1-aaaf-41e5-abab-95f7673e1ff5","savedPayload":{"position":{"x":26350.81483851846,"y":26080.493103265027},"targetPosition":{"x":26019.307271332276,"y":25953.728900255453},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"2 previous ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7 > chart.at01hs.base7EMA.previous.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.previous.ema7","project":"Foundations","id":"2a5efff2-2a04-4585-813e-e3ac2ffb8b95","savedPayload":{"position":{"x":26534.554705543233,"y":26441.542057956336},"targetPosition":{"x":26276.92563134039,"y":26197.56560704921},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"081cec88-c2c1-49f8-88c1-760fc50e7f91","savedPayload":{"position":{"x":26276.92563134039,"y":26197.56560704921},"targetPosition":{"x":26019.307271332276,"y":25953.728900255453},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7abbde01-e871-4b28-973e-51ca5f3f1c4d","savedPayload":{"position":{"x":26019.307271332276,"y":25953.728900255453},"targetPosition":{"x":25684.898670463277,"y":26102.800361691458},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"276723b8-0d32-49d8-b9b3-bd29368160f7","savedPayload":{"position":{"x":21229.292052961584,"y":26789.823431375116},"targetPosition":{"x":21361.459732741343,"y":26965.451329150754},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Run","id":"8aff2c3b-ecf9-4df8-84ea-ffd6ba9c9612"}}},{"type":"Move To Phase Event","name":"Cancel Close","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 > chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"16b5e57d-57f9-401a-9134-4dd112797d48","savedPayload":{"position":{"x":26448.473337734315,"y":26486.056666710683},"targetPosition":{"x":26124.372146759175,"y":26630.09788968072},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f2bb1dbc-702a-413a-9421-9ac5309fe6f0","savedPayload":{"position":{"x":26124.372146759175,"y":26630.09788968072},"targetPosition":{"x":25800.19493247178,"y":26774.227752798346},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"prev.ema7 div prev.ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7 > chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7","project":"Foundations","id":"f73c271b-afa2-45ee-91d4-6aee3b3a8be9","savedPayload":{"position":{"x":26462.665244368087,"y":27028.24172325721},"targetPosition":{"x":26131.496975370865,"y":26901.24501606071},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"feaca6ce-0573-401a-909a-4e25687ce708","savedPayload":{"position":{"x":26131.496975370865,"y":26901.24501606071},"targetPosition":{"x":25800.19493247178,"y":26774.227752798346},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"2 prev.ema7 div 2 prev.ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7 > chart.at01hs.base7EMA.previous.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.previous.ema7","project":"Foundations","id":"a9c93bde-d56d-42e9-a447-b29a02885149","savedPayload":{"position":{"x":26089.225623573453,"y":27421.973922848825},"targetPosition":{"x":25944.688743057064,"y":27098.12812727149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"72e2d105-feba-47a0-8eaf-6c83296a3863","savedPayload":{"position":{"x":25944.688743057064,"y":27098.12812727149},"targetPosition":{"x":25800.19493247178,"y":26774.227752798346},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ab94fcaf-55b6-4be2-a44a-b399dda60644","savedPayload":{"position":{"x":25800.19493247178,"y":26774.227752798346},"targetPosition":{"x":25458.18006078057,"y":26643.093211778512},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"07ca2734-a819-49f7-99f7-f19f58e5ffba","savedPayload":{"position":{"x":21378.640992639463,"y":26648.45262567362},"targetPosition":{"x":21361.459732741343,"y":26965.451329150754},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Manage: 3% Below ema7","id":"58effb7e-0927-4c47-8745-58895dead2ea"}}}],"announcements":[],"id":"e1d12230-902a-46bf-bb48-1fafbd162e1e","savedPayload":{"position":{"x":21361.459732741343,"y":26965.451329150754},"targetPosition":{"x":21590.430627883976,"y":27217.52110448406},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"Run","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.base7EMA.ema7 * 0.8 < \nportfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97) \n{chart.at01hs.base7EMA.ema7 * 0.8} else \n{portfolioEngine.portfolioCurrent.position.takeProfit.value}","project":"Foundations","id":"b53c2ea8-9341-416a-bef3-0b7fb86530d5","savedPayload":{"position":{"x":20988.436259618316,"y":27126.065657365703},"targetPosition":{"x":21420.953215579717,"y":27035.25268036515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[{"type":"Move To Phase Event","name":"Cancel Run","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 conv ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"de39a349-8739-4e13-ba9d-91acedf7c835","savedPayload":{"position":{"x":12889.571709507014,"y":27326.840850944696},"targetPosition":{"x":12723.174619926533,"y":26952.894595578415},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b8a44bb5-4965-4d76-8a55-6f0274d84b0c","savedPayload":{"position":{"x":12723.174619926533,"y":26952.894595578415},"targetPosition":{"x":12556.672676716043,"y":26578.738858757228},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"prev.ema7 conv prev.ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7 < chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7","project":"Foundations","id":"4529e123-22d2-40a3-a751-9069e69fa624","savedPayload":{"position":{"x":12075.773190114996,"y":27241.305707891996},"targetPosition":{"x":12316.193618647078,"y":26910.101037807763},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c94daca3-f53c-42b6-970c-586d9b605b04","savedPayload":{"position":{"x":12316.193618647078,"y":26910.101037807763},"targetPosition":{"x":12556.672676716043,"y":26578.738858757228},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0a283745-7a51-45ab-b781-538c6e1f6a8a","savedPayload":{"position":{"x":12556.672676716043,"y":26578.738858757228},"targetPosition":{"x":12599.218157610543,"y":26171.206899626908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"be4359e1-bbfa-404c-b1ab-e073d8b4b173","savedPayload":{"position":{"x":21331.535372830804,"y":26612.00836250028},"targetPosition":{"x":21420.953215579717,"y":27035.25268036515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Manage: 3% Below ema7","id":"58effb7e-0927-4c47-8745-58895dead2ea"}}}],"announcements":[],"id":"8aff2c3b-ecf9-4df8-84ea-ffd6ba9c9612","savedPayload":{"position":{"x":21130.195560316908,"y":26714.671079900952},"targetPosition":{"x":21361.459732741343,"y":26965.451329150754},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c97bbced-498a-49dd-847a-a52170294ea9","savedPayload":{"position":{"x":30295.646787490958,"y":30822.707243238732},"targetPosition":{"x":30396.016378444787,"y":30934.178967060343},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"f9453ecf-918d-4816-a43e-216a4af33d75","savedPayload":{"position":{"x":30396.01637844479,"y":30934.178967060343},"targetPosition":{"x":30681.333333333336,"y":31026.884065372826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"closeStage":{"type":"Close Stage","project":"Foundations","initialTargets":{"type":"Initial Targets","name":"New Initial Targets","project":"Foundations","targetRate":{"type":"Target Rate","name":"New Target Rate","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value","project":"Foundations","id":"1e5d1117-4259-439f-aa97-5ad6987f5b35","savedPayload":{"position":{"x":29634.22098313185,"y":30724.8750520982},"targetPosition":{"x":29932.57755174233,"y":30693.516513117902},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"555c2937-bb8c-4e4f-8efb-1f74b41add4d","savedPayload":{"position":{"x":29932.57755174233,"y":30693.516513117902},"targetPosition":{"x":30230.934120352813,"y":30662.157974137604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"targetSizeInQuotedAsset":{"type":"Target Size In Quoted Asset","name":"New Target Size In Quoted Asset","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.sizeFilled.value - portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.feesPaid.value","project":"Foundations","id":"d227d443-eed5-4c57-adbf-65a8d31b9c3f","savedPayload":{"position":{"x":29878.262968977328,"y":30176.74777751264},"targetPosition":{"x":30054.59854466507,"y":30419.45287582512},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"94937102-d124-4024-af99-1577576890ac","savedPayload":{"position":{"x":30054.59854466507,"y":30419.45287582512},"targetPosition":{"x":30230.934120352813,"y":30662.157974137604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"81cd8c47-9c13-4bdd-ab07-9c1348056ad3","savedPayload":{"position":{"x":30230.934120352813,"y":30662.157974137604},"targetPosition":{"x":30504.997757645593,"y":30784.178967060343},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"closeExecution":{"type":"Close Execution","project":"Foundations","executionAlgorithms":[{"type":"Execution Algorithm","name":"New Execution Algorithm","config":"{\n\"percentageOfStageTargetSize\": 100 \n}","project":"Foundations","marketBuyOrders":[{"type":"Market Buy Order","name":"Quick Exit","config":"{\n\"percentageOfAlgorithmSize\": 100,\n\"spawnMultipleOrders\": false\n}","project":"Foundations","createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"true","project":"Foundations","id":"ca77ac04-3397-4da0-9908-21dd15e0d527","savedPayload":{"position":{"x":23301.89091621992,"y":27912.319218015626},"targetPosition":{"x":23261.31513067185,"y":27720.139686142174},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1b473e40-9a22-4299-943b-19fedb465b85","savedPayload":{"position":{"x":23261.31513067185,"y":27720.139686142174},"targetPosition":{"x":23220.63379953603,"y":27527.286207107172},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"234da5ed-12c9-44e8-9e76-8e8e148ef107","savedPayload":{"position":{"x":23220.63379953603,"y":27527.286207107172},"targetPosition":{"x":23171.10537853773,"y":27292.75166658657},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"c5524985-3594-49e6-8aa6-f9c8d25e9b10","savedPayload":{"position":{"x":30379.563601724403,"y":29590.75269261842},"targetPosition":{"x":30410.9221407047,"y":29889.1092612289},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"02335883-dc89-4b10-ada2-1d4a849161b8","savedPayload":{"position":{"x":30410.9221407047,"y":29889.1092612289},"targetPosition":{"x":30442.280679684998,"y":30187.46582983938},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market Order","name":"Market Buy Order #1","id":"7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3"}}}],"marketSellOrders":[],"limitBuyOrders":[],"limitSellOrders":[],"id":"9da04e66-35a4-4332-96db-d2bfffd18118","savedPayload":{"position":{"x":30442.280679684998,"y":30187.46582983938},"targetPosition":{"x":30473.639218665296,"y":30485.82239844986},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"19cddff0-8db1-42fe-9969-d8262cc85c25","savedPayload":{"position":{"x":30473.639218665296,"y":30485.82239844986},"targetPosition":{"x":30504.997757645593,"y":30784.178967060343},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"e5956042-1714-4ea3-8e87-52b3d0a2d2b8","savedPayload":{"position":{"x":30504.997757645593,"y":30784.178967060343},"targetPosition":{"x":30681.333333333336,"y":31026.884065372826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f1ca0dbb-65e8-4c60-84f0-89596e22e9be","savedPayload":{"position":{"x":30681.333333333336,"y":31026.884065372826},"targetPosition":{"x":30981.333333333336,"y":31026.884065372826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Portfolio Strategy","name":"S7 - 3H Down","project":"Foundations","triggerStage":{"type":"Trigger Stage","name":"New Trigger Stage","project":"Foundations","triggerOn":{"type":"Trigger On Event","name":"New Trigger On Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"Previous Breakup","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.previous.close > chart.at01hs.bollingerBand.previous.movingAverage + chart.at01hs.bollingerBand.previous.deviation","project":"Foundations","id":"b7ef7546-2729-499d-88db-7c958392fb0e","savedPayload":{"position":{"x":30455.739387505793,"y":31844.51511068692},"targetPosition":{"x":30287.98151646457,"y":31595.80383892041},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"40201dbd-8fbe-41aa-acd3-c0cea3fff9de","savedPayload":{"position":{"x":30287.98151646457,"y":31595.80383892041},"targetPosition":{"x":30120.223645423346,"y":31347.092567153897},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Close In","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage + chart.at01hs.bollingerBand.deviation","project":"Foundations","id":"6dc11e45-63d6-4246-9a9a-294a45931b14","savedPayload":{"position":{"x":30265.376782783143,"y":31929.270002919493},"targetPosition":{"x":30192.800214103245,"y":31638.181285036695},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2dbb8f61-68b4-4835-a6f7-6d7c0c2248ee","savedPayload":{"position":{"x":30192.800214103245,"y":31638.181285036695},"targetPosition":{"x":30120.223645423346,"y":31347.092567153897},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Red Candle","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.candle.open","project":"Foundations","id":"391ae861-6932-4481-bc4f-15a284dafe80","savedPayload":{"position":{"x":30057.50656746275,"y":31943.80570437486},"targetPosition":{"x":30088.86510644305,"y":31645.44913576438},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"52613d30-4103-4272-b871-e3785881dcd8","savedPayload":{"position":{"x":30088.86510644305,"y":31645.44913576438},"targetPosition":{"x":30120.223645423346,"y":31347.092567153897},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"3H Down","code":"chart.at03hs.bollingerChannel.direction * chart.atAnyTimeFrame.externalSignal.timestamp > chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at03hs.bollingerChannel.direction === \"Down\"","project":"Foundations","id":"7bf0cb68-72c5-4df6-891e-ee3b08bdc439","savedPayload":{"position":{"x":29857.200957349898,"y":31886.368994933397},"targetPosition":{"x":29988.712301386622,"y":31616.730781043647},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5bab5664-c7aa-4e60-aecd-30db721958b0","savedPayload":{"position":{"x":29988.712301386622,"y":31616.730781043647},"targetPosition":{"x":30120.223645423346,"y":31347.092567153897},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"6H Down","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at06hs.bollingerChannel.direction === \"Down\"","project":"Foundations","id":"3d771526-7fc9-4c67-b4b4-50e2df038870","savedPayload":{"position":{"x":29688.619765220155,"y":31763.887589429298},"targetPosition":{"x":29904.42170532175,"y":31555.490078291597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1298f042-2f23-4fc7-8359-5bdd3f7e7da1","savedPayload":{"position":{"x":29904.42170532175,"y":31555.490078291597},"targetPosition":{"x":30120.223645423346,"y":31347.092567153897},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"6H Side or Gentle","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at06hs.bollingerSubChannel.slope === \"Side\" || chart.at06hs.bollingerSubChannel.slope === \"Gentle\"","project":"Foundations","id":"9e520195-93e0-4d66-b312-eb2c90921b3c","savedPayload":{"position":{"x":29572.096370837786,"y":31591.134552999374},"targetPosition":{"x":29846.160008130566,"y":31469.113560076636},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"16707f87-40dc-44ae-a7f8-2df9dc07d53c","savedPayload":{"position":{"x":29846.160008130566,"y":31469.113560076636},"targetPosition":{"x":30120.223645423346,"y":31347.092567153897},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"2H Side","code":"chart.at02hs.bollingerSubChannel.slope > chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at02hs.bollingerSubChannel.slope === \"Side\"","project":"Foundations","id":"8143bcc8-af0f-45ef-bbde-1f67fa30b819","savedPayload":{"position":{"x":29521.68521526745,"y":31388.946451400374},"targetPosition":{"x":29820.9544303454,"y":31368.019509277136},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0f2efdf7-69dc-4d15-9bf4-6f714894d100","savedPayload":{"position":{"x":29820.9544303454,"y":31368.019509277136},"targetPosition":{"x":30120.223645423346,"y":31347.092567153897},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Filter 1: 08H Deviation > 200 < 1500","code":"chart.at24hs.bollingerBand.deviation < chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"if (chart.at08hs.bollingerBand.deviation < 200 || chart.at08hs.bollingerBand.deviation > 1500) {false} else {true}","project":"Foundations","id":"10f38b80-2f33-4ad0-b849-019b27b36921","savedPayload":{"position":{"x":29543.466627860358,"y":31181.710153663695},"targetPosition":{"x":29831.845136641852,"y":31264.401360408796},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"080177f0-9708-4e76-b021-f4857ee42930","savedPayload":{"position":{"x":29831.845136641852,"y":31264.401360408796},"targetPosition":{"x":30120.223645423346,"y":31347.092567153897},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"5dd3ebf8-bbcd-4978-8d28-0f4ecfe80ba4","savedPayload":{"position":{"x":30120.223645423346,"y":31347.092567153897},"targetPosition":{"x":30296.55922111109,"y":31104.387468841414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"b4791836-6c85-4279-b75c-ba308154012c","savedPayload":{"position":{"x":30296.55922111109,"y":31104.387468841414},"targetPosition":{"x":30472.89479679883,"y":30861.68237052893},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"triggerOff":{"type":"Trigger Off Event","name":"New Trigger Off Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close< chart.at01hs.bollingerBand.movingAverage","project":"Foundations","id":"81a9ee22-bb7d-4a2b-b3ca-7df88b5cfcd1","savedPayload":{"position":{"x":23811.23269688571,"y":25979.380792498392},"targetPosition":{"x":23812.805727305342,"y":26298.666220508087},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"78d25152-3354-4e6c-8118-e621e2eab4e0","savedPayload":{"position":{"x":23812.805727305342,"y":26298.666220508087},"targetPosition":{"x":23825.090929885137,"y":26634.686397642603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"1067e774-8e02-44c0-a86a-43c62a2e1a69","savedPayload":{"position":{"x":23825.090929885137,"y":26634.686397642603},"targetPosition":{"x":23825.377387733515,"y":26993.769762660908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"26a5deff-364b-4f52-b2f2-24eb39f8a9aa","savedPayload":{"position":{"x":30324.74154570956,"y":30885.147540284965},"targetPosition":{"x":30472.89479679883,"y":30861.68237052893},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"takePosition":{"type":"Take Position Event","name":"New Take Position Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"Previous Breakup","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.previous.close > chart.at01hs.bollingerBand.previous.movingAverage + chart.at01hs.bollingerBand.previous.deviation","project":"Foundations","id":"7ca3641e-2701-4ae6-aebf-419045fa3ef7","savedPayload":{"position":{"x":29490.062056640825,"y":30844.526961235893},"targetPosition":{"x":29738.77332840734,"y":30676.76909019467},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"50506cba-6ce7-47ee-a28f-50cae0a62f61","savedPayload":{"position":{"x":29738.77332840734,"y":30676.76909019467},"targetPosition":{"x":29987.484600173855,"y":30509.011219153446},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Close In","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage + chart.at01hs.bollingerBand.deviation","project":"Foundations","id":"b0bf87ab-9049-4c24-918b-b7bc805db2a8","savedPayload":{"position":{"x":29405.30716440826,"y":30654.164356513244},"targetPosition":{"x":29696.395882291057,"y":30581.587787833345},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"56da2b2c-74c3-4328-b75c-4990aef44ca0","savedPayload":{"position":{"x":29696.395882291057,"y":30581.587787833345},"targetPosition":{"x":29987.484600173855,"y":30509.011219153446},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Red Candle","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.candle.open","project":"Foundations","id":"0ed3b727-9493-4064-8404-d2d48e9213ad","savedPayload":{"position":{"x":29390.771462952885,"y":30446.29414119285},"targetPosition":{"x":29689.12803156337,"y":30477.65268017315},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f6f8fad9-0588-4d7c-81a8-5738f0d6c7e6","savedPayload":{"position":{"x":29689.12803156337,"y":30477.65268017315},"targetPosition":{"x":29987.484600173855,"y":30509.011219153446},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"3H Down","code":"chart.at03hs.bollingerChannel.direction * chart.atAnyTimeFrame.externalSignal.timestamp > chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at03hs.bollingerChannel.direction === \"Down\"","project":"Foundations","id":"5fe7a35e-a56c-4ad4-854d-5b13ca036669","savedPayload":{"position":{"x":29448.20817239435,"y":30245.98853108},"targetPosition":{"x":29717.8463862841,"y":30377.499875116722},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1b64fa95-a27a-4e68-9ae1-fa8358e23f41","savedPayload":{"position":{"x":29717.8463862841,"y":30377.499875116722},"targetPosition":{"x":29987.484600173855,"y":30509.011219153446},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"6H Down","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at06hs.bollingerChannel.direction === \"Down\"","project":"Foundations","id":"23e2569a-2867-4ebe-aa2b-21254ab0c096","savedPayload":{"position":{"x":29570.689577898454,"y":30077.407338950256},"targetPosition":{"x":29779.087089036155,"y":30293.20927905185},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4f6a6ace-3508-4a78-953a-a9944f9b9077","savedPayload":{"position":{"x":29779.087089036155,"y":30293.20927905185},"targetPosition":{"x":29987.484600173855,"y":30509.011219153446},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"6H Side or Gentle","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at06hs.bollingerSubChannel.slope === \"Side\" || chart.at06hs.bollingerSubChannel.slope === \"Gentle\"","project":"Foundations","id":"565a511b-5264-4cfd-ad94-c8b316f5e19c","savedPayload":{"position":{"x":29743.44261432837,"y":29960.883944567886},"targetPosition":{"x":29865.463607251113,"y":30234.947581860666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5e3a86fa-9e96-47ef-b87b-3324c9edf8a3","savedPayload":{"position":{"x":29865.463607251113,"y":30234.947581860666},"targetPosition":{"x":29987.484600173855,"y":30509.011219153446},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"2H Side","code":"chart.at02hs.bollingerSubChannel.slope > chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at02hs.bollingerSubChannel.slope === \"Side\"","project":"Foundations","id":"ef7ba943-87cb-4149-8ab2-a562a34fa524","savedPayload":{"position":{"x":29945.63071592738,"y":29910.47278899755},"targetPosition":{"x":29966.557658050617,"y":30209.7420040755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e624d8a7-586a-4198-a528-b6ee474245dd","savedPayload":{"position":{"x":29966.557658050617,"y":30209.7420040755},"targetPosition":{"x":29987.484600173855,"y":30509.011219153446},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Filter 1: 08H Deviation > 200 < 1500","code":"chart.at24hs.bollingerBand.deviation < chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"if (chart.at08hs.bollingerBand.deviation < 200 || chart.at08hs.bollingerBand.deviation > 1500) {false} else {true}","project":"Foundations","id":"9992327b-1059-4396-8766-514b6384a81b","savedPayload":{"position":{"x":30152.86701366405,"y":29932.25420159046},"targetPosition":{"x":30070.175806918953,"y":30220.632710371952},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0701df03-b97b-4d03-89a7-a9fb764d1d21","savedPayload":{"position":{"x":30070.175806918953,"y":30220.632710371952},"targetPosition":{"x":29987.484600173855,"y":30509.011219153446},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b72964a4-f423-4930-a40d-ced67854d28e","savedPayload":{"position":{"x":29987.484600173855,"y":30509.011219153446},"targetPosition":{"x":30230.18969848634,"y":30685.34679484119},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"51e2b55b-66ca-45c9-9cfd-ec82ac5ce3d6","savedPayload":{"position":{"x":30230.18969848635,"y":30685.34679484119},"targetPosition":{"x":30472.89479679883,"y":30861.68237052893},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"adc2c73c-702f-46ce-90ad-dbbc7f75ad3d","savedPayload":{"position":{"x":30472.89479679883,"y":30861.68237052893},"targetPosition":{"x":30769.201298977372,"y":30814.752031016862},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"openStage":{"type":"Open Stage","name":"New Open Stage","project":"Foundations","initialTargets":{"type":"Initial Targets","name":"New Initial Targets","project":"Foundations","targetRate":{"type":"Target Rate","name":"New Target Rate","project":"Foundations","formula":{"type":"Formula","name":"My Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value","project":"Foundations","id":"61dd007d-fb60-4d69-9873-e38ecc1c542b","savedPayload":{"position":{"x":21502.50290091427,"y":27826.521257936154},"targetPosition":{"x":21780.29098867261,"y":27646.20127072402},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2d95e2e3-ccf3-42a4-a5be-38a235d1256b","savedPayload":{"position":{"x":21780.29098867261,"y":27646.20127072402},"targetPosition":{"x":22123.687133421987,"y":27424.18025354555},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"targetSizeInBaseAsset":{"type":"Target Size In Base Asset","name":"New Target Size In Base Asset","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value","project":"Foundations","id":"21ee0d72-fc9c-40b9-93fc-3dee8beedc3a","savedPayload":{"position":{"x":21465.427203258794,"y":27088.78861455588},"targetPosition":{"x":21760.270697507054,"y":27239.00997836206},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6c55293c-d34d-4093-b1a2-81e64345c73b","savedPayload":{"position":{"x":21760.270697507054,"y":27239.00997836206},"targetPosition":{"x":22123.687133421987,"y":27424.18025354555},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"08a3f81a-a5a3-4a15-ad14-d3d09724eba9","savedPayload":{"position":{"x":30352.104911507675,"y":30686.40527453144},"targetPosition":{"x":30501.899341720862,"y":30678.554881095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"openExecution":{"type":"Open Execution","name":"New Open Execution","project":"Foundations","executionAlgorithms":[{"type":"Execution Algorithm","name":"New Execution Algorithm","config":"{\n\"percentageOfStageTargetSize\": 100 \n}","project":"Foundations","marketBuyOrders":[],"marketSellOrders":[{"type":"Market Sell Order","name":"Quick Entry","config":"{\n\"percentageOfAlgorithmSize\": 100\n}","project":"Foundations","createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"true","project":"Foundations","id":"76aeb4a5-1c22-4021-b61f-d1660b598a9a","savedPayload":{"position":{"x":25724.445513462924,"y":25365.32527860617},"targetPosition":{"x":25359.01407584217,"y":25505.52242856202},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"13c54ad9-7dac-405f-b5fe-44ba813378d5","savedPayload":{"position":{"x":25359.01407584217,"y":25505.52242856202},"targetPosition":{"x":24993.17460536812,"y":25645.886574166143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"34587555-32f1-4241-b607-476f22c689a6","savedPayload":{"position":{"x":24993.17460536812,"y":25645.886574166143},"targetPosition":{"x":24627.361516255434,"y":25786.288186585727},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"a658e05d-abc9-4c5b-ad1b-0897f752cae0","savedPayload":{"position":{"x":24627.361516255434,"y":25786.288186585727},"targetPosition":{"x":24256.590284514612,"y":25928.689574693803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"simulatedExchangeEvents":{"type":"Simulated Exchange Events","name":"New Simulated Exchange Events","project":"Foundations","simulatedPartialFill":{"type":"Simulated Partial Fill","name":"New Simulated Partial Fill","config":"{ \n\"fillProbability\": 1\n}","project":"Foundations","id":"44d1a29f-42db-4582-93eb-057c5efab1f2","savedPayload":{"position":{"x":25011.078006738644,"y":26100.231359307225},"targetPosition":{"x":24619.2806874178,"y":26090.06560241434},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"simulatedActualRate":{"type":"Simulated Actual Rate","name":"New Simulated Actual Rate","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value","project":"Foundations","id":"91ca08cc-ec90-4256-bab1-f6a9b08fc236","savedPayload":{"position":{"x":25335.06784057879,"y":26408.531804369195},"targetPosition":{"x":24977.3571043014,"y":26249.38108572377},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7de9fa13-47c9-475e-9ae1-02c4c4066ab8","savedPayload":{"position":{"x":24977.3571043014,"y":26249.38108572377},"targetPosition":{"x":24619.2806874178,"y":26090.06560241434},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"simulatedFeesPaid":{"type":"Simulated Fees Paid","name":"New Simulated Fees Paid","config":"{ \n\n}","project":"Foundations","id":"9ba0d597-9964-4808-ba4f-c2b9f3ee2fa0","savedPayload":{"position":{"x":24889.06088491519,"y":26374.252360497325},"targetPosition":{"x":24619.2806874178,"y":26090.06560241434},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5079aedd-ae1e-43e7-a7bf-ffda4fc60ac9","savedPayload":{"position":{"x":24619.2806874178,"y":26090.06560241434},"targetPosition":{"x":24256.590284514612,"y":25928.689574693803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"4678c054-97e1-45b2-be5c-1d4015e291a2","savedPayload":{"position":{"x":21911.447281941015,"y":26573.522241415958},"targetPosition":{"x":22092.633302965176,"y":26851.33439444295},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market Order","name":"Market Sell Order #1","id":"8e404329-d41f-41e0-ad5a-c84ee1fa2604"}}}],"limitBuyOrders":[],"limitSellOrders":[],"id":"819609ef-c126-4b0b-a4c2-9daeb4d52216","savedPayload":{"position":{"x":22092.633302965176,"y":26851.33439444295},"targetPosition":{"x":22274.093567216885,"y":27130.441926350533},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}}],"id":"720b7cb2-8cc4-406a-97cd-d800c913643f","savedPayload":{"position":{"x":30420.203486468607,"y":30552.754295903185},"targetPosition":{"x":30501.899341720862,"y":30678.554881095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"2b443716-eb30-43b5-9457-7263233daaed","savedPayload":{"position":{"x":30501.899341720862,"y":30678.554881095},"targetPosition":{"x":30769.201298977372,"y":30814.752031016862},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"manageStage":{"type":"Manage Stage","name":"New Manage Stage","project":"Foundations","managedStopLoss":{"type":"Managed Stop Loss","name":"New Managed Stop Loss","project":"Foundations","phases":[{"type":"Phase","name":"New Phase","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.03","project":"Foundations","id":"d0a0de89-d79f-4fa5-885c-a680ff10cfeb","savedPayload":{"position":{"x":21798.19850424301,"y":26704.08351561187},"targetPosition":{"x":22129.059979314967,"y":26720.24583042993},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","name":"New Next Phase Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.candle.previous.close < portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97","project":"Foundations","id":"cbda2339-230a-4211-a1c9-29a32fee1181","savedPayload":{"position":{"x":21181.61701358643,"y":26948.153892955},"targetPosition":{"x":21330.874134468195,"y":27023.990458097753},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"bf0650d2-b7a2-4f05-94e3-80ccda90ffc5","savedPayload":{"position":{"x":21330.874134468195,"y":27023.990458097753},"targetPosition":{"x":21488.24025590378,"y":27103.190716254918},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"df3531c9-6540-4671-be17-4ce0cfda2120","savedPayload":{"position":{"x":21488.24025590378,"y":27103.190716254918},"targetPosition":{"x":21680.36100494482,"y":27200.076050832904},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"6de908df-521a-434c-b9e4-e81e0c84181b","savedPayload":{"position":{"x":21979.477982017026,"y":26424.632995322077},"targetPosition":{"x":22129.059979314967,"y":26720.24583042993},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"68255a1b-6136-4d16-b89a-40d0bca2587b","savedPayload":{"position":{"x":22129.059979314967,"y":26720.24583042993},"targetPosition":{"x":22465.826416074957,"y":26938.806674736523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"New Phase","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.bollingerBand.movingAverage * 1.02 < portfolioEngine.portfolioCurrent.position.stopLoss.value) {chart.at01hs.bollingerBand.movingAverage * 1.02} else {portfolioEngine.portfolioCurrent.position.stopLoss.value}","project":"Foundations","id":"cf80ef88-969d-40f5-bc36-ccee6f8518bf","savedPayload":{"position":{"x":21573.91986233604,"y":26360.17904904553},"targetPosition":{"x":21851.270639421135,"y":26540.150753025897},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[],"announcements":[],"id":"6fac6741-1d2a-4364-ba55-6d0082d4e33b","savedPayload":{"position":{"x":21851.270639421135,"y":26540.150753025897},"targetPosition":{"x":22129.059979314967,"y":26720.24583042993},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"995255a7-571c-4219-bb24-a1dda890ba60","savedPayload":{"position":{"x":30507.203563863695,"y":30465.754218508097},"targetPosition":{"x":30633.00414905551,"y":30547.450073760352},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"managedTakeProfit":{"type":"Managed Take Profit","name":"New Managed Take Profit","project":"Foundations","phases":[{"type":"Phase","name":"New Phase","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.95","project":"Foundations","id":"728b5268-b977-412e-a7f9-fdc5eeca238a","savedPayload":{"position":{"x":22502.958144113425,"y":26208.212444446333},"targetPosition":{"x":22780.644644848642,"y":26387.985566858588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","name":"New Next Phase Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"1H EMA7 < entryTargetRate","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < portfolioEngine.portfolioCurrent.position.entryTargetRate.value","project":"Foundations","id":"f035c3b1-3b9f-4d14-89a4-7f483fa0ea49","savedPayload":{"position":{"x":21771.30173162761,"y":26304.112780334748},"targetPosition":{"x":21862.003441040993,"y":26443.500965271465},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0b6f406c-022e-46b7-aabd-a99398140b10","savedPayload":{"position":{"x":21862.003441040993,"y":26443.500965271465},"targetPosition":{"x":21958.281729512324,"y":26601.264919253896},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"positionPeriods > 2","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"portfolioEngine.portfolioCurrent.position.positionCounters.periods.value > 2","project":"Foundations","id":"4de45b46-85e5-4755-9caa-360c50ca061d","savedPayload":{"position":{"x":22110.65694173075,"y":26285.8591788548},"targetPosition":{"x":22036.180745231013,"y":26433.882888450862},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5a408907-8527-49d0-9172-60c026feb553","savedPayload":{"position":{"x":22036.180745231013,"y":26433.882888450862},"targetPosition":{"x":21958.281729512324,"y":26601.264919253896},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"86be8810-719f-4235-b92f-1e3d9a100391","savedPayload":{"position":{"x":21958.281729512324,"y":26601.264919253896},"targetPosition":{"x":21970.151294391413,"y":26815.92474503551},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"1073d54b-c72a-4a7f-9353-1060186d29c2","savedPayload":{"position":{"x":23075.538232037437,"y":26238.17691262561},"targetPosition":{"x":22780.644644848642,"y":26387.985566858588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"91f7e76b-6171-4c75-b70c-bfc33543b9c3","savedPayload":{"position":{"x":22780.644644848642,"y":26387.985566858588},"targetPosition":{"x":22759.983134459148,"y":26788.66270773075},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"Manage: 3% Below ema7","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.base7EMA.ema7 * 0.97 < \nportfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97) \n{chart.at01hs.base7EMA.ema7 * 0.97} else \n{portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97}","project":"Foundations","id":"712dcccd-fca1-4d1b-bf00-497375a831ec","savedPayload":{"position":{"x":22467.30531417619,"y":26040.485508100843},"targetPosition":{"x":22797.703009010016,"y":26057.753835643023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","name":"New Next Phase Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 conv ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"8facdd27-7830-4433-b373-c259545e9d3f","savedPayload":{"position":{"x":8883.843693702074,"y":24725.60305856396},"targetPosition":{"x":8737.603554287565,"y":24413.852932955706},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f7b658c8-0903-46b3-867a-c01eaca10bb1","savedPayload":{"position":{"x":8737.603554287565,"y":24413.852932955706},"targetPosition":{"x":8595.45931096332,"y":24094.99135893029},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"97de140f-ae6e-435a-8be7-c4d87e38bd83","savedPayload":{"position":{"x":8595.45931096332,"y":24094.99135893029},"targetPosition":{"x":8452.657398882751,"y":23771.823617275244},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"c137f50a-c8a7-4275-8ae4-80fa7fedd38c","savedPayload":{"position":{"x":22715.561827007346,"y":25716.906353353515},"targetPosition":{"x":22797.703009010016,"y":26057.753835643023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[{"type":"Move To Phase Event","name":"Move to Run","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 > chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"908a2ee2-d913-46d1-80f5-e7109c803e65","savedPayload":{"position":{"x":23813.868805343696,"y":25938.767131145753},"targetPosition":{"x":23633.28264736716,"y":26215.95283337518},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0a9ab42d-9b24-461f-95cd-39ab13a54bc3","savedPayload":{"position":{"x":23633.28264736716,"y":26215.95283337518},"targetPosition":{"x":23452.910045950695,"y":26493.480153279517},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 div ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema21 - chart.at01hs.base7EMA.ema14 > chart.at01hs.base7EMA.previous.ema21 - chart.at01hs.base7EMA.previous.ema14","project":"Foundations","id":"d4179fb4-9949-4d82-ae45-8d8be2001ce8","savedPayload":{"position":{"x":24042.989680379833,"y":26193.149269668895},"targetPosition":{"x":23747.952305143037,"y":26343.211170863928},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"efab2947-1540-4e8f-a1d9-50289a9b3c7f","savedPayload":{"position":{"x":23747.952305143037,"y":26343.211170863928},"targetPosition":{"x":23452.910045950695,"y":26493.480153279517},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema7 < positionRate","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.99","project":"Foundations","id":"8fbb58cd-53d0-4e19-8f50-590090df0f58","savedPayload":{"position":{"x":24114.217114907442,"y":26527.39851533724},"targetPosition":{"x":23783.569932018636,"y":26510.39634740977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"adec7d7c-258f-4222-a6d6-734f6962d5d9","savedPayload":{"position":{"x":23783.569932018636,"y":26510.39634740977},"targetPosition":{"x":23452.910045950695,"y":26493.480153279517},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema7 < ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.ema14","project":"Foundations","id":"b6a70772-8397-41ac-9268-5ad1cd9b0b80","savedPayload":{"position":{"x":24008.470138069977,"y":26852.749669965386},"targetPosition":{"x":23730.66375154251,"y":26673.16450220164},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e1ffbeec-66bc-4d38-984b-2aff6740101f","savedPayload":{"position":{"x":23730.66375154251,"y":26673.16450220164},"targetPosition":{"x":23452.910045950695,"y":26493.480153279517},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 < ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 < chart.at01hs.base7EMA.ema21 ","project":"Foundations","id":"ff907f99-713a-41f7-8b23-721699b74966","savedPayload":{"position":{"x":23754.425753093572,"y":27081.554985167895},"targetPosition":{"x":23603.544492612404,"y":26787.590357755776},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"65511340-ee54-484b-8cb6-f2d95dec9bdd","savedPayload":{"position":{"x":23603.544492612404,"y":26787.590357755776},"targetPosition":{"x":23452.910045950695,"y":26493.480153279517},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"94b2fbbc-3d32-473c-8008-231664970f09","savedPayload":{"position":{"x":23452.910045950695,"y":26493.480153279517},"targetPosition":{"x":23106.746647293192,"y":26475.736282217164},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"02434c11-1d6d-4f15-9577-237b5daba9ea","savedPayload":{"position":{"x":23128.205315285282,"y":26074.671292471998},"targetPosition":{"x":22797.703009010016,"y":26057.753835643023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Run","id":"cac36b94-3568-446e-a2d2-9d860bd8ad0f"}}}],"announcements":[],"id":"74e77f0f-2945-48ac-ab1f-47a65feb84ec","savedPayload":{"position":{"x":22797.703009010016,"y":26057.753835643023},"targetPosition":{"x":22780.63910066663,"y":26388.071839615164},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"Close: BB Lower Band","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.deviation < \nportfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97) \n{chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.standardDeviation * 2} else \n{portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97}","project":"Foundations","id":"db68ae8b-4414-43f9-b275-c97b3a6a80c6","savedPayload":{"position":{"x":22617.846127945075,"y":25485.037024883306},"targetPosition":{"x":22839.615650256048,"y":25730.65932680823},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[{"type":"Move To Phase Event","name":"Move to Run","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 > chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"2ccb9d00-d677-44b6-8b92-edbcaf349d29","savedPayload":{"position":{"x":22311.95998695823,"y":25190.42439742619},"targetPosition":{"x":22590.621213045917,"y":25373.889795191695},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d5649c96-59d6-4f0e-a259-063e7355eb48","savedPayload":{"position":{"x":22590.621213045917,"y":25373.889795191695},"targetPosition":{"x":22873.890464118744,"y":25547.51403128967},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 div ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema21 - chart.at01hs.base7EMA.ema14 > chart.at01hs.base7EMA.previous.ema21 - chart.at01hs.base7EMA.previous.ema14","project":"Foundations","id":"2689f28d-6ca9-4e82-8327-eae9956a751a","savedPayload":{"position":{"x":22567.030361374666,"y":24961.638485697185},"targetPosition":{"x":22718.415144876584,"y":25259.59695437632},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b19aacc4-d892-41dc-a487-870ca6e13ce2","savedPayload":{"position":{"x":22718.415144876584,"y":25259.59695437632},"targetPosition":{"x":22873.890464118744,"y":25547.51403128967},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema7 < ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.ema14","project":"Foundations","id":"9e40ebf6-fd42-43da-b390-30926b085b8f","savedPayload":{"position":{"x":22901.180244503197,"y":24890.230261080847},"targetPosition":{"x":22885.463003757413,"y":25223.764798456214},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d2b8766b-b4da-40c7-8d88-76f3969065aa","savedPayload":{"position":{"x":22885.463003757413,"y":25223.764798456214},"targetPosition":{"x":22873.890464118744,"y":25547.51403128967},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 < ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 < chart.at01hs.base7EMA.ema21 ","project":"Foundations","id":"cae32279-d999-4c13-8eb6-cad3063c74d4","savedPayload":{"position":{"x":23226.899674443648,"y":24995.91915778102},"targetPosition":{"x":23048.383525678262,"y":25276.606498795663},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"04ac8528-0696-413b-a739-7825670c0234","savedPayload":{"position":{"x":23048.383525678262,"y":25276.606498795663},"targetPosition":{"x":22873.890464118744,"y":25547.51403128967},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"previous ema7 div previous ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7 > chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7","project":"Foundations","id":"6a80e7f5-300b-417d-9f9d-49803b8f51f8","savedPayload":{"position":{"x":23456.20772861899,"y":25250.45018265117},"targetPosition":{"x":23163.177067165998,"y":25403.985646510526},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8e23fa3d-13f0-45fe-990f-d268e58ff1cf","savedPayload":{"position":{"x":23163.177067165998,"y":25403.985646510526},"targetPosition":{"x":22873.890464118744,"y":25547.51403128967},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"38fc838f-01a5-4a33-a35f-e185f52c295e","savedPayload":{"position":{"x":22873.890464118744,"y":25547.51403128967},"targetPosition":{"x":22856.284860031064,"y":25893.168703954085},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"0c86ae11-a07f-4c31-a33c-05debf70c23c","savedPayload":{"position":{"x":22823.24178895166,"y":25306.546631311918},"targetPosition":{"x":22839.615650256048,"y":25730.65932680823},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Run","id":"cac36b94-3568-446e-a2d2-9d860bd8ad0f"}}},{"type":"Move To Phase Event","name":"Cancel Close","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 > chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"301720b6-e436-4134-be19-0bd0892f624d","savedPayload":{"position":{"x":23843.273425065156,"y":24861.811880691894},"targetPosition":{"x":23742.130149397966,"y":25175.958430504295},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2e8c0fcc-d597-40f7-b07f-16214f744b0e","savedPayload":{"position":{"x":23742.130149397966,"y":25175.958430504295},"targetPosition":{"x":23639.994614255906,"y":25490.883112812036},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"prev.ema7 div prev.ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7 > chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7","project":"Foundations","id":"b7683607-6589-414b-b6de-5aa132d6baef","savedPayload":{"position":{"x":24285.896946372028,"y":25354.154996424615},"targetPosition":{"x":23963.179161659136,"y":25422.497022846284},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e247b889-3abc-469b-b26d-fc11a08bf9c8","savedPayload":{"position":{"x":23963.179161659136,"y":25422.497022846284},"targetPosition":{"x":23639.994614255906,"y":25490.883112812036},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"605adda8-a968-4819-af76-2ee257f07e66","savedPayload":{"position":{"x":23639.994614255906,"y":25490.883112812036},"targetPosition":{"x":23382.27715911922,"y":25722.853870728388},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"cc9492df-3289-4d6a-b152-bad2fc656730","savedPayload":{"position":{"x":23085.833491244233,"y":25509.551819764944},"targetPosition":{"x":22839.615650256048,"y":25730.65932680823},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Manage: 3% Below ema7","id":"74e77f0f-2945-48ac-ab1f-47a65feb84ec"}}}],"announcements":[],"id":"7fc97392-92a0-48cc-a5d3-799b1c2b8c35","savedPayload":{"position":{"x":22839.615650256048,"y":25730.65932680823},"targetPosition":{"x":22797.703009010016,"y":26057.753835643023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"Run","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.base7EMA.ema7 * 0.8 < \nportfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97) \n{chart.at01hs.base7EMA.ema7 * 0.8} else \n{portfolioEngine.portfolioCurrent.position.takeProfit.value}","project":"Foundations","id":"895b6803-0996-41a6-9a13-93f488d7aee4","savedPayload":{"position":{"x":22463.406966580493,"y":25583.03299994825},"targetPosition":{"x":22837.452347885144,"y":25826.337357919387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[{"type":"Move To Phase Event","name":"Cancel Run","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 conv ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"df898928-7078-4e61-a616-169789552b36","savedPayload":{"position":{"x":23255.582303506904,"y":24591.069793645787},"targetPosition":{"x":23238.407688078838,"y":24919.98538728086},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c02edb77-0d76-4656-8d2f-068eaddabff7","savedPayload":{"position":{"x":23238.407688078838,"y":24919.98538728086},"targetPosition":{"x":23221.953221145883,"y":25249.488782858534},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"prev.ema7 conv prev.ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7 < chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7","project":"Foundations","id":"3bdea448-de7a-4188-b9ec-350dbf88470a","savedPayload":{"position":{"x":23811.76911660622,"y":24949.513921636055},"targetPosition":{"x":23516.821139734548,"y":25099.394655692777},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fbc8a359-f853-44a6-831d-a2078edeebe6","savedPayload":{"position":{"x":23516.821139734548,"y":25099.394655692777},"targetPosition":{"x":23221.953221145883,"y":25249.488782858534},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f4664806-47a1-41be-956e-079599c0df49","savedPayload":{"position":{"x":23221.953221145883,"y":25249.488782858534},"targetPosition":{"x":23032.54821877362,"y":25540.21991008023},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"b75aa4bc-9257-4444-98ca-afe6377b914a","savedPayload":{"position":{"x":23076.30467257206,"y":25457.914983702765},"targetPosition":{"x":22837.452347885144,"y":25826.337357919387},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Manage: 3% Below ema7","id":"74e77f0f-2945-48ac-ab1f-47a65feb84ec"}}}],"announcements":[],"id":"cac36b94-3568-446e-a2d2-9d860bd8ad0f","savedPayload":{"position":{"x":22865.116200384356,"y":25423.77621993282},"targetPosition":{"x":22839.615650256048,"y":25730.65932680823},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7ce8f923-1393-45ac-97d6-742e2cff6627","savedPayload":{"position":{"x":30640.85454249195,"y":30397.655643547165},"targetPosition":{"x":30633.00414905551,"y":30547.450073760352},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"0d03ff5b-3162-49a3-ae12-a0e5929de4dd","savedPayload":{"position":{"x":30633.00414905551,"y":30547.450073760352},"targetPosition":{"x":30769.201298977372,"y":30814.752031016862},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"closeStage":{"type":"Close Stage","project":"Foundations","initialTargets":{"type":"Initial Targets","name":"New Initial Targets","project":"Foundations","targetRate":{"type":"Target Rate","name":"New Target Rate","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value","project":"Foundations","id":"e4075c8b-e9ed-4efb-95ff-c57a05dde303","savedPayload":{"position":{"x":30242.33367675167,"y":29860.779166259257},"targetPosition":{"x":30475.47746518876,"y":30049.57528357421},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f7a43f11-926e-4a95-8b50-0e6bf1c33fb3","savedPayload":{"position":{"x":30475.47746518876,"y":30049.57528357421},"targetPosition":{"x":30708.62125362585,"y":30238.371400889162},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"targetSizeInQuotedAsset":{"type":"Target Size In Quoted Asset","name":"New Target Size In Quoted Asset","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.sizeFilled.value - portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.feesPaid.value","project":"Foundations","id":"d0134650-3b3d-4e82-9334-efd985669763","savedPayload":{"position":{"x":30809.30678556971,"y":30082.101962685196},"targetPosition":{"x":30755.55159313792,"y":29942.06489871062},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5bfa6266-b3b9-4b3d-9113-5ce83bd5181b","savedPayload":{"position":{"x":30755.55159313792,"y":29942.06489871062},"targetPosition":{"x":30708.62125362585,"y":30238.371400889162},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f94814fd-11e1-49fb-a3d9-f8c9dc7e476b","savedPayload":{"position":{"x":30708.62125362585,"y":30238.371400889162},"targetPosition":{"x":30816.13163848944,"y":30518.44552883832},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"closeExecution":{"type":"Close Execution","project":"Foundations","executionAlgorithms":[{"type":"Execution Algorithm","name":"New Execution Algorithm","config":"{\n\"percentageOfStageTargetSize\": 100 \n}","project":"Foundations","marketBuyOrders":[{"type":"Market Buy Order","name":"Quick Exit","config":"{\n\"percentageOfAlgorithmSize\": 100,\n\"spawnMultipleOrders\": false\n}","project":"Foundations","createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"true","project":"Foundations","id":"c81b34d0-6411-4e30-9a5f-b29938767724","savedPayload":{"position":{"x":23559.89091621992,"y":28127.319218015626},"targetPosition":{"x":23519.31513067185,"y":27935.139686142174},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"30a97f96-5681-426e-84e3-c56d4677b797","savedPayload":{"position":{"x":23519.31513067185,"y":27935.139686142174},"targetPosition":{"x":23478.63379953603,"y":27742.286207107172},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d73f3a51-5c99-453e-81a7-77123488aae8","savedPayload":{"position":{"x":23478.63379953603,"y":27742.286207107172},"targetPosition":{"x":23429.10537853773,"y":27507.75166658657},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"7d7ac782-a44c-4983-a83d-85c3bc7f446e","savedPayload":{"position":{"x":24027.46055716221,"y":25966.62756009945},"targetPosition":{"x":23819.245158937953,"y":26223.723529978088},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5a2a2f97-c305-41ad-b66a-5757cb93b188","savedPayload":{"position":{"x":23819.245158937953,"y":26223.723529978088},"targetPosition":{"x":23611.67394264751,"y":26480.101246239232},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market Order","name":"Market Buy Order #1","id":"7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3"}}}],"marketSellOrders":[],"limitBuyOrders":[],"limitSellOrders":[],"id":"6f41faa3-1005-4c80-b40f-adbb7b65b836","savedPayload":{"position":{"x":23611.67394264751,"y":26480.101246239232},"targetPosition":{"x":23354.638147633596,"y":26797.601473788083},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"940b3fe2-8055-4eb5-8a5a-192a319891af","savedPayload":{"position":{"x":31004.927755804394,"y":30285.30174040123},"targetPosition":{"x":30816.13163848944,"y":30518.44552883832},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"b72c5b1c-499f-4f2e-9044-aa6caaaef7ee","savedPayload":{"position":{"x":30816.13163848944,"y":30518.44552883832},"targetPosition":{"x":30769.201298977372,"y":30814.752031016862},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"fc6676b7-944d-459c-bc06-592b3ae2fd1b","savedPayload":{"position":{"x":30769.201298977372,"y":30814.752031016862},"targetPosition":{"x":30981.333333333336,"y":31026.884065372826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Portfolio Strategy","name":"S2 - 6H Down","project":"Foundations","triggerStage":{"type":"Trigger Stage","name":"New Trigger Stage","project":"Foundations","triggerOn":{"type":"Trigger On Event","name":"New Trigger On Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"Previous Breakup","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.previous.close > chart.at01hs.bollingerBand.previous.movingAverage + chart.at01hs.bollingerBand.previous.deviation","project":"Foundations","id":"301d8e64-bde8-4eee-a0cf-b9c57bcb3050","savedPayload":{"position":{"x":30005.948012350225,"y":31227.831120947827},"targetPosition":{"x":30075.981621507,"y":30936.120144828525},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a869bb21-75b5-4621-9760-840cf4896844","savedPayload":{"position":{"x":30075.981621507,"y":30936.120144828525},"targetPosition":{"x":30146.015230663772,"y":30644.409168709222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Close In","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage + chart.at01hs.bollingerBand.deviation","project":"Foundations","id":"b3c4a94f-4986-4e55-ba28-f6456a67bd64","savedPayload":{"position":{"x":29793.344079288287,"y":31129.819365334188},"targetPosition":{"x":29969.67965497603,"y":30887.114267021705},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7b405bfe-294d-48a8-b1ff-d0c4f4b328d1","savedPayload":{"position":{"x":29969.67965497603,"y":30887.114267021705},"targetPosition":{"x":30146.015230663772,"y":30644.409168709222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Red Candle","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.candle.open","project":"Foundations","id":"f4b66e81-3e26-4a04-9687-140ab33bd887","savedPayload":{"position":{"x":29634.43113205132,"y":30957.90830753879},"targetPosition":{"x":29890.223181357545,"y":30801.158738124006},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4d1c7a66-dd4a-45f9-956d-6cb68b64920b","savedPayload":{"position":{"x":29890.223181357545,"y":30801.158738124006},"targetPosition":{"x":30146.015230663772,"y":30644.409168709222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"6H Down","code":"chart.at03hs.bollingerChannel.direction * chart.atAnyTimeFrame.externalSignal.timestamp > chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at06hs.bollingerChannel.direction === \"Down\"","project":"Foundations","id":"975153b0-b609-4975-b5d6-26f7bfe675e8","savedPayload":{"position":{"x":29553.40222630669,"y":30738.26984773336},"targetPosition":{"x":29849.70872848523,"y":30691.339508221292},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ecc5139a-825f-4c91-8e92-f3719460c66b","savedPayload":{"position":{"x":29849.70872848523,"y":30691.339508221292},"targetPosition":{"x":30146.015230663772,"y":30644.409168709222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"4H Steep","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at04hs.bollingerSubChannel.slope === \"Steep\"","project":"Foundations","id":"a838971e-d8bd-4ded-a418-453b8981ff9e","savedPayload":{"position":{"x":29562.593278425167,"y":30504.341950395676},"targetPosition":{"x":29854.30425454447,"y":30574.37555955245},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3694b7de-4040-4f51-a025-3d482ad6c127","savedPayload":{"position":{"x":29854.30425454447,"y":30574.37555955245},"targetPosition":{"x":30146.015230663772,"y":30644.409168709222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"6H NOT Side","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at06hs.bollingerSubChannel.slope != \"Side\"","project":"Foundations","id":"fc7ab7ee-a96c-4d9a-ae8e-618cd3ee0769","savedPayload":{"position":{"x":29660.605034038806,"y":30291.738017333737},"targetPosition":{"x":29903.31013235129,"y":30468.07359302148},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7f681b33-bfa1-46b5-9483-545d3f62791b","savedPayload":{"position":{"x":29903.31013235129,"y":30468.07359302148},"targetPosition":{"x":30146.015230663772,"y":30644.409168709222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Filter 1: 08H Deviation > 200 < 1500","code":"chart.at24hs.bollingerBand.deviation < chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"if (chart.at08hs.bollingerBand.deviation < 200 || chart.at08hs.bollingerBand.deviation > 1500) {false} else {true}","project":"Foundations","id":"d6572b86-2aaa-4223-9e6a-0206d8890778","savedPayload":{"position":{"x":29832.516091834204,"y":30132.82507009677},"targetPosition":{"x":29989.265661248988,"y":30388.617119402996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"08da37fa-d3c5-49d9-8679-5b80bdff68dd","savedPayload":{"position":{"x":29989.265661248988,"y":30388.617119402996},"targetPosition":{"x":30146.015230663772,"y":30644.409168709222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"680af7d1-9436-426c-b371-0c51ca813093","savedPayload":{"position":{"x":30146.015230663772,"y":30644.409168709222},"targetPosition":{"x":30442.321732842312,"y":30597.478829197153},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"ab2764bc-e2c0-40d8-930f-bd3047f39596","savedPayload":{"position":{"x":30442.321732842312,"y":30597.478829197153},"targetPosition":{"x":30738.628235020853,"y":30550.548489685083},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"triggerOff":{"type":"Trigger Off Event","name":"New Trigger Off Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close< chart.at01hs.bollingerBand.movingAverage","project":"Foundations","id":"29130ffe-4d84-411a-90d4-3ee5a6008c21","savedPayload":{"position":{"x":24477.799814008293,"y":24124.647508438044},"targetPosition":{"x":24372.62632841972,"y":24822.957360839486},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e6a32c76-eda6-4982-8a3e-220c29218ba2","savedPayload":{"position":{"x":24372.62632841972,"y":24822.957360839486},"targetPosition":{"x":24267.531925251293,"y":25521.31341534124},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b31b4647-b5e2-42e5-a1e9-fa0ffafeffc8","savedPayload":{"position":{"x":24267.531925251293,"y":25521.31341534124},"targetPosition":{"x":24162.395041161304,"y":26221.225619074867},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"707c998d-da1c-45c1-84de-75ac9a0898b9","savedPayload":{"position":{"x":30495.92313670837,"y":30374.21291399734},"targetPosition":{"x":30738.628235020853,"y":30550.548489685083},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"takePosition":{"type":"Take Position Event","name":"New Take Position Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"Previous Breakup","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.previous.close > chart.at01hs.bollingerBand.previous.movingAverage + chart.at01hs.bollingerBand.previous.deviation","project":"Foundations","id":"5840e471-a97e-4662-8938-5f1eb21091f0","savedPayload":{"position":{"x":22265.34328943435,"y":26363.536900734165},"targetPosition":{"x":22573.843402249116,"y":26435.283857214054},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"447e0866-7372-4a42-b5b1-cd05e0efe728","savedPayload":{"position":{"x":22573.843402249116,"y":26435.283857214054},"targetPosition":{"x":22882.888356487365,"y":26508.933577004143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Close In","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage + chart.at01hs.bollingerBand.deviation","project":"Foundations","id":"0a447725-e6ac-45ea-bb2c-5f3b968dfc06","savedPayload":{"position":{"x":22372.43969440601,"y":26136.763686292812},"targetPosition":{"x":22627.74609206027,"y":26323.332966667615},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9540f515-0603-4cda-bbbd-84d7d104a8e1","savedPayload":{"position":{"x":22627.74609206027,"y":26323.332966667615},"targetPosition":{"x":22882.888356487365,"y":26508.933577004143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Red Candle","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.candle.open","project":"Foundations","id":"ad089114-2332-4b0b-b079-4070e1baa4c5","savedPayload":{"position":{"x":22549.043987020774,"y":25967.75497941453},"targetPosition":{"x":22715.031837490653,"y":26237.62028007838},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7f2c2ddf-c19f-4f32-bda3-b4a3b7e7fb90","savedPayload":{"position":{"x":22715.031837490653,"y":26237.62028007838},"targetPosition":{"x":22882.888356487365,"y":26508.933577004143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"6H Down","code":"chart.at03hs.bollingerChannel.direction * chart.atAnyTimeFrame.externalSignal.timestamp > chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at06hs.bollingerChannel.direction === \"Down\"","project":"Foundations","id":"48b35276-b129-486a-a517-ca3656ff9a53","savedPayload":{"position":{"x":22782.232281463137,"y":25883.438429769514},"targetPosition":{"x":22831.178584563786,"y":26195.937944978745},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"179fce4e-890b-4a07-9289-57620f55da9e","savedPayload":{"position":{"x":22831.178584563786,"y":26195.937944978745},"targetPosition":{"x":22882.888356487365,"y":26508.933577004143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"4H Steep","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at04hs.bollingerSubChannel.slope === \"Steep\"","project":"Foundations","id":"45c706e6-6a7c-4b5a-b713-2b87ac0b6550","savedPayload":{"position":{"x":23034.311277405726,"y":25896.43599794343},"targetPosition":{"x":22958.50577841659,"y":26201.591696594514},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ad485330-bf10-49e7-beaa-d57e0f8564b3","savedPayload":{"position":{"x":22958.50577841659,"y":26201.591696594514},"targetPosition":{"x":22882.888356487365,"y":26508.933577004143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"6H NOT Side","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at06hs.bollingerSubChannel.slope != \"Side\"","project":"Foundations","id":"a360bbf1-b177-4298-80a8-06b6062dc779","savedPayload":{"position":{"x":23253.07995465503,"y":25995.199593307945},"targetPosition":{"x":23069.203198479256,"y":26251.560402413896},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f8134986-b19a-4715-bb59-dd6bc7c774a8","savedPayload":{"position":{"x":23069.203198479256,"y":26251.560402413896},"targetPosition":{"x":22882.888356487365,"y":26508.933577004143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Filter 1: 08H Deviation > 200 < 1500","code":"chart.at24hs.bollingerBand.deviation < chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"if (chart.at08hs.bollingerBand.deviation < 200 || chart.at08hs.bollingerBand.deviation > 1500) {false} else {true}","project":"Foundations","id":"685b785a-4196-4b0a-84c1-0c7ed54e6162","savedPayload":{"position":{"x":23422.144881151497,"y":26175.289213123193},"targetPosition":{"x":23154.43154065412,"y":26342.598716700646},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"747a6cc6-2122-4f62-ab40-bdcfbb8ae702","savedPayload":{"position":{"x":23154.43154065412,"y":26342.598716700646},"targetPosition":{"x":22882.888356487365,"y":26508.933577004143},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e9bc25c6-7eca-42cd-a2c2-dbc196d8929a","savedPayload":{"position":{"x":22882.888356487365,"y":26508.933577004143},"targetPosition":{"x":22939.936333317633,"y":26862.919736079566},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"88e734b7-e242-4b34-aeca-bb71905973ab","savedPayload":{"position":{"x":30691.697895508783,"y":30254.241987506543},"targetPosition":{"x":30738.628235020853,"y":30550.548489685083},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"73a50844-7c64-4816-a04d-db5da604663b","savedPayload":{"position":{"x":30738.628235020853,"y":30550.548489685083},"targetPosition":{"x":30981.333333333336,"y":30726.884065372826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"openStage":{"type":"Open Stage","name":"New Open Stage","project":"Foundations","initialTargets":{"type":"Initial Targets","name":"New Initial Targets","project":"Foundations","targetRate":{"type":"Target Rate","name":"New Target Rate","project":"Foundations","formula":{"type":"Formula","name":"My Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value","project":"Foundations","id":"7d19cadf-d686-403d-b5c5-c4c8600035e4","savedPayload":{"position":{"x":22371.387916318254,"y":26575.7353541322},"targetPosition":{"x":22681.504186064943,"y":26641.82606785508},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"5dc9b14b-e534-4328-9789-22d49b2c6626","savedPayload":{"position":{"x":22681.504186064943,"y":26641.82606785508},"targetPosition":{"x":23079.660168651335,"y":26727.032770566715},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"targetSizeInBaseAsset":{"type":"Target Size In Base Asset","name":"New Target Size In Base Asset","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value","project":"Foundations","id":"9bc8b451-2bcc-4092-b469-d99fe46040ae","savedPayload":{"position":{"x":22856.416691948434,"y":26040.346222665612},"targetPosition":{"x":22954.46435210442,"y":26341.627110288202},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9e557768-9288-4e09-bf67-db8d850df130","savedPayload":{"position":{"x":22954.46435210442,"y":26341.627110288202},"targetPosition":{"x":23079.660168651335,"y":26727.032770566715},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"7dadecbd-1931-448f-a23d-9a96140d75ca","savedPayload":{"position":{"x":30759.15651119924,"y":29877.19751953045},"targetPosition":{"x":30870.62823502085,"y":29977.56711048428},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"openExecution":{"type":"Open Execution","name":"New Open Execution","project":"Foundations","executionAlgorithms":[{"type":"Execution Algorithm","name":"New Execution Algorithm","config":"{\n\"percentageOfStageTargetSize\": 100 \n}","project":"Foundations","marketBuyOrders":[],"marketSellOrders":[{"type":"Market Sell Order","name":"Quick Entry","config":"{\n\"percentageOfAlgorithmSize\": 100\n}","project":"Foundations","createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"true","project":"Foundations","id":"14697473-8454-4fb1-bf28-fa12d6640666","savedPayload":{"position":{"x":23775.818297484602,"y":24764.844002889964},"targetPosition":{"x":23709.956653665253,"y":25074.115748042947},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"98626788-dd20-4fb6-8b43-9b97014a212e","savedPayload":{"position":{"x":23709.956653665253,"y":25074.115748042947},"targetPosition":{"x":23644.049044929005,"y":25383.39336137539},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b4e76cbe-b430-4f1b-86cd-1e8259a48477","savedPayload":{"position":{"x":23644.049044929005,"y":25383.39336137539},"targetPosition":{"x":23578.136875975702,"y":25692.54507298051},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"5fa41d57-267e-451c-b495-4ac721ddfa18","savedPayload":{"position":{"x":23578.136875975702,"y":25692.54507298051},"targetPosition":{"x":23512.825286929576,"y":26001.895836879732},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"4c9ad616-de53-4332-8569-ad2d7eb4f941","savedPayload":{"position":{"x":23512.825286929576,"y":26001.895836879732},"targetPosition":{"x":23447.081533977325,"y":26311.63243657809},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market Order","name":"Market Sell Order #1","id":"8e404329-d41f-41e0-ad5a-c84ee1fa2604"}}}],"limitBuyOrders":[],"limitSellOrders":[],"id":"4d3552fa-b634-4bc8-a975-e136b47e44a2","savedPayload":{"position":{"x":23447.081533977325,"y":26311.63243657809},"targetPosition":{"x":23379.954922102457,"y":26629.60358447123},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}}],"id":"ffe64902-21d9-4c5e-b6aa-97ce752cce91","savedPayload":{"position":{"x":30901.814988643513,"y":29830.844970374208},"targetPosition":{"x":30870.62823502085,"y":29977.56711048428},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"63eb6592-10e0-4c3c-ac03-8789e6b52068","savedPayload":{"position":{"x":30888.628235020853,"y":30441.56711048428},"targetPosition":{"x":30981.333333333336,"y":30726.884065372826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"manageStage":{"type":"Manage Stage","name":"Custom","project":"Foundations","managedStopLoss":{"type":"Managed Stop Loss","name":"New Managed Stop Loss","project":"Foundations","phases":[{"type":"Phase","name":"New Phase","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.03","project":"Foundations","id":"c42eec50-421c-4220-942c-4bdd4128e9dd","savedPayload":{"position":{"x":30748.55223524751,"y":29631.73510240078},"targetPosition":{"x":30949.291417155167,"y":29854.678550044},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","name":"New Next Phase Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.candle.previous.close < portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97","project":"Foundations","id":"a2f4b43b-c498-4687-ab3d-c5c7d7ad4d02","savedPayload":{"position":{"x":22758.49617967899,"y":25776.100968875922},"targetPosition":{"x":22807.62930534903,"y":25927.09319394866},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"35795d1b-8c7a-4957-9e22-1400e32d1e14","savedPayload":{"position":{"x":22807.62930534903,"y":25927.09319394866},"targetPosition":{"x":22863.21915601854,"y":26096.51061340131},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8ea589b2-e7e3-4907-90a8-bd4667a70196","savedPayload":{"position":{"x":22863.21915601854,"y":26096.51061340131},"targetPosition":{"x":22928.443385664203,"y":26296.0407893233},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"a68ec84d-450e-42ed-b4c7-28db86f31e57","savedPayload":{"position":{"x":31041.996515467654,"y":29569.361595155453},"targetPosition":{"x":30949.291417155167,"y":29854.678550044},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"bd85fac3-f2ab-47b8-8077-344343ebfc93","savedPayload":{"position":{"x":30949.291417155167,"y":29854.678550044},"targetPosition":{"x":31011.664924400495,"y":30148.12283026414},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"New Phase","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.bollingerBand.movingAverage * 1.02 < portfolioEngine.portfolioCurrent.position.stopLoss.value) {chart.at01hs.bollingerBand.movingAverage * 1.02} else {portfolioEngine.portfolioCurrent.position.stopLoss.value}","project":"Foundations","id":"e9425ea8-46fc-4bbd-96af-107b45fcde20","savedPayload":{"position":{"x":30824.544402664513,"y":29267.789989603716},"targetPosition":{"x":30886.91790990984,"y":29561.234269823857},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[],"announcements":[],"id":"787093b5-b60f-4002-ae4e-7dcf26bc651c","savedPayload":{"position":{"x":30886.91790990984,"y":29561.234269823857},"targetPosition":{"x":30949.291417155167,"y":29854.678550044},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a1a3ca90-96ad-4bc3-84f0-0ead961f4ab3","savedPayload":{"position":{"x":31011.664924400495,"y":30148.12283026414},"targetPosition":{"x":31074.038431645822,"y":30441.56711048428},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"managedTakeProfit":{"type":"Managed Take Profit","name":"New Managed Take Profit","project":"Foundations","phases":[{"type":"Phase","name":"New Phase","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.95","project":"Foundations","id":"98c748f4-5126-4a47-a88b-8af381ce5b37","savedPayload":{"position":{"x":31457.551819686938,"y":29746.644466448823},"targetPosition":{"x":31519.925326932265,"y":30040.088746668964},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","name":"New Next Phase Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"1H EMA7 < entryTargetRate","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < portfolioEngine.portfolioCurrent.position.entryTargetRate.value","project":"Foundations","id":"37f8d23d-8e82-4d78-8799-338d352c0bd7","savedPayload":{"position":{"x":23605.434975296248,"y":25717.769803297757},"targetPosition":{"x":23572.036802414903,"y":25873.87022271623},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7641aab3-419e-431c-b7de-f961309f3d88","savedPayload":{"position":{"x":23572.036802414903,"y":25873.87022271623},"targetPosition":{"x":23526.71339802834,"y":26054.04071729211},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"positionPeriods > 2","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"portfolioEngine.portfolioCurrent.position.positionCounters.periods.value > 2","project":"Foundations","id":"640b3bdc-3649-4846-b67a-1ed5a8ba52d5","savedPayload":{"position":{"x":23851.441215060608,"y":25938.94632589922},"targetPosition":{"x":23700.51923330539,"y":25988.640961617042},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6855f9f0-a1a5-4613-b77a-b9d7226ec1f7","savedPayload":{"position":{"x":23700.51923330539,"y":25988.640961617042},"targetPosition":{"x":23526.71339802834,"y":26054.04071729211},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8dc235c5-6c20-4d93-8703-275564f7e648","savedPayload":{"position":{"x":23526.71339802834,"y":26054.04071729211},"targetPosition":{"x":23387.299339111105,"y":26210.243954208046},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"19f17341-ac03-4e07-9f8d-d3e4ef023fc2","savedPayload":{"position":{"x":31805.242281820814,"y":30132.793844981446},"targetPosition":{"x":31519.925326932265,"y":30040.088746668964},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"7f92f80d-0924-4d54-ae68-6505d8f0421a","savedPayload":{"position":{"x":31519.925326932265,"y":30040.088746668964},"targetPosition":{"x":31296.981879289044,"y":30240.827928576622},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"Manage: 3% Below ema7","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.base7EMA.ema7 * 0.97 < \nportfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97) \n{chart.at01hs.base7EMA.ema7 * 0.97} else \n{portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97}","project":"Foundations","id":"af90c747-4790-43c5-afe1-37a605571cae","savedPayload":{"position":{"x":31542.12959266783,"y":29616.406117118087},"targetPosition":{"x":31742.868774575487,"y":29839.349564761305},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","name":"New Next Phase Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 conv ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"64b16855-36d6-49b4-afde-9bc43b6bdd53","savedPayload":{"position":{"x":9959.46907232827,"y":25503.573174112804},"targetPosition":{"x":9813.22893291376,"y":25191.82304850455},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a06e989b-e442-43e3-b915-7aa76348e064","savedPayload":{"position":{"x":9813.22893291376,"y":25191.82304850455},"targetPosition":{"x":9671.084689589516,"y":24872.961474479132},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"ac15c2d4-9d65-464a-b3e6-2d28edca7308","savedPayload":{"position":{"x":9671.084689589516,"y":24872.961474479132},"targetPosition":{"x":9528.282777508946,"y":24549.793732824088},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"c81de819-5717-459a-9b89-f046c6768803","savedPayload":{"position":{"x":31965.81222221871,"y":29638.610382853647},"targetPosition":{"x":31742.868774575487,"y":29839.349564761305},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[{"type":"Move To Phase Event","name":"Move to Run","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 > chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"bff4cb02-f3ad-4c61-9f94-cc3e2b43121c","savedPayload":{"position":{"x":25233.439656442264,"y":26867.673349554818},"targetPosition":{"x":24923.36237216278,"y":26933.27561860445},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a9f77d3c-1868-4535-8117-e56d388ba5ad","savedPayload":{"position":{"x":24923.36237216278,"y":26933.27561860445},"targetPosition":{"x":24612.777468553046,"y":26998.924216507876},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 div ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema21 - chart.at01hs.base7EMA.ema14 > chart.at01hs.base7EMA.previous.ema21 - chart.at01hs.base7EMA.previous.ema14","project":"Foundations","id":"42345fb4-0626-4b42-90c1-bb9f214e17d4","savedPayload":{"position":{"x":25216.36746514516,"y":27194.798413519195},"targetPosition":{"x":24914.85409546557,"y":27096.949324110807},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a4bfbfb1-543e-4db0-9f39-dd6631e660eb","savedPayload":{"position":{"x":24914.85409546557,"y":27096.949324110807},"targetPosition":{"x":24612.777468553046,"y":26998.924216507876},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema7 < positionRate","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.99","project":"Foundations","id":"67342cd6-6678-401c-94e1-e0b0eda2263e","savedPayload":{"position":{"x":25037.90180819732,"y":27469.928765042605},"targetPosition":{"x":24825.535222413237,"y":27234.548428725706},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6fcc3279-0e65-424f-81b5-0ed032a461ca","savedPayload":{"position":{"x":24825.535222413237,"y":27234.548428725706},"targetPosition":{"x":24612.777468553046,"y":26998.924216507876},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema7 < ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.ema14","project":"Foundations","id":"47ca70bc-782c-445f-834e-921f0840eb7e","savedPayload":{"position":{"x":24745.949953037612,"y":27618.916495950674},"targetPosition":{"x":24679.495726862566,"y":27309.11742383147},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"13eaacfa-d129-401a-8648-93d7954f94ac","savedPayload":{"position":{"x":24679.495726862566,"y":27309.11742383147},"targetPosition":{"x":24612.777468553046,"y":26998.924216507876},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 < ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 < chart.at01hs.base7EMA.ema21 ","project":"Foundations","id":"6674b07b-d9ed-4a96-88b2-6743cd6e0852","savedPayload":{"position":{"x":24419.403649771564,"y":27601.77763774222},"targetPosition":{"x":24516.121918896497,"y":27300.56301986779},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9163a9de-74b0-42f7-8ee0-85b93dee00fc","savedPayload":{"position":{"x":24516.121918896497,"y":27300.56301986779},"targetPosition":{"x":24612.777468553046,"y":26998.924216507876},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"46f92b3d-10dd-484d-895b-c0d547424c3a","savedPayload":{"position":{"x":24612.777468553046,"y":26998.924216507876},"targetPosition":{"x":24387.875136821436,"y":26750.145857461575},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"571d2fea-5e0b-49f3-877a-5b9b41516bfe","savedPayload":{"position":{"x":31943.607956483145,"y":30062.293012404523},"targetPosition":{"x":31742.868774575487,"y":29839.349564761305},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Run","id":"5639cfff-e0f1-417b-8034-adb661ded0cd"}}}],"announcements":[],"id":"75e54a0b-1af9-49d2-ab9b-461d72a731fe","savedPayload":{"position":{"x":31742.868774575487,"y":29839.349564761305},"targetPosition":{"x":31519.925326932265,"y":30040.088746668964},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"Close: BB Lower Band","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.deviation < \nportfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97) \n{chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.standardDeviation * 2} else \n{portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97}","project":"Foundations","id":"3f9df9ef-2267-4a33-b2b8-fddce1f7f4d7","savedPayload":{"position":{"x":31981.51300909159,"y":29339.021522427276},"targetPosition":{"x":31965.81222221871,"y":29638.610382853647},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[{"type":"Move To Phase Event","name":"Move to Run","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 > chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"bb9431b0-04e2-49ad-8a1e-8336a5a90ba6","savedPayload":{"position":{"x":26571.445629853995,"y":26378.23243358561},"targetPosition":{"x":26455.936056809027,"y":26712.90098507394},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fff74a7d-6205-4d97-b32a-c31c2879e228","savedPayload":{"position":{"x":26455.936056809027,"y":26712.90098507394},"targetPosition":{"x":26340.782645007588,"y":27047.941948757725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 div ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema21 - chart.at01hs.base7EMA.ema14 > chart.at01hs.base7EMA.previous.ema21 - chart.at01hs.base7EMA.previous.ema14","project":"Foundations","id":"c2308750-4fa3-45bc-8ce3-b834db3e5a75","savedPayload":{"position":{"x":26810.906830517335,"y":26517.73257494159},"targetPosition":{"x":26576.040248020785,"y":26782.640670900648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"37f1894e-e911-46df-b97d-92ad8716bbb7","savedPayload":{"position":{"x":26576.040248020785,"y":26782.640670900648},"targetPosition":{"x":26340.782645007588,"y":27047.941948757725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema7 < ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.ema14","project":"Foundations","id":"c815953e-7501-4c0f-bf44-b2054f27204b","savedPayload":{"position":{"x":26978.107753694647,"y":26738.125094380513},"targetPosition":{"x":26659.708659927514,"y":26892.909040338956},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0abbc8b9-69b3-4051-a077-8cae2eb456e5","savedPayload":{"position":{"x":26659.708659927514,"y":26892.909040338956},"targetPosition":{"x":26340.782645007588,"y":27047.941948757725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 < ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 < chart.at01hs.base7EMA.ema21 ","project":"Foundations","id":"b1db73ae-ddb7-452c-bc67-aebce55c0071","savedPayload":{"position":{"x":27048.226526164908,"y":27005.628965029115},"targetPosition":{"x":26694.782013202086,"y":27026.72418255083},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1c0d7a06-b7f3-443d-9088-177134b13b83","savedPayload":{"position":{"x":26694.782013202086,"y":27026.72418255083},"targetPosition":{"x":26340.782645007588,"y":27047.941948757725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"previous ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7 > chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7","project":"Foundations","id":"12d82500-383b-445d-995d-7b589c84635a","savedPayload":{"position":{"x":27010.72207535235,"y":27278.921316766297},"targetPosition":{"x":26676.008585382122,"y":27163.43346854987},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ea51ecbf-d848-46a7-a88d-82ec88f8480a","savedPayload":{"position":{"x":26676.008585382122,"y":27163.43346854987},"targetPosition":{"x":26340.782645007588,"y":27047.941948757725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"previous ema14 div ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.ema21 - chart.at01hs.base7EMA.previous.ema14 > chart.at01hs.base7EMA.previous.previous.ema21 - chart.at01hs.base7EMA.previous.previous.ema14","project":"Foundations","id":"c48ea949-7b3e-4c17-bff5-19d6e459d626","savedPayload":{"position":{"x":26871.23515294551,"y":27517.77941792403},"targetPosition":{"x":26606.264611999366,"y":27282.781563185177},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"7d987b62-66de-4d68-be64-91c124266174","savedPayload":{"position":{"x":26606.264611999366,"y":27282.781563185177},"targetPosition":{"x":26340.782645007588,"y":27047.941948757725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"2 previous ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7 > chart.at01hs.base7EMA.previous.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.previous.ema7","project":"Foundations","id":"6e81b8d8-148d-4a5a-8307-40c1dbccabb2","savedPayload":{"position":{"x":26651.230957519583,"y":27684.788493927008},"targetPosition":{"x":26496.08949284932,"y":27366.34660740898},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"229f0b94-9e9a-45b5-87fe-8bf1427c1cb6","savedPayload":{"position":{"x":26496.08949284932,"y":27366.34660740898},"targetPosition":{"x":26340.782645007588,"y":27047.941948757725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0e734dca-7ea8-4eaf-9379-48ccf8dff51e","savedPayload":{"position":{"x":26340.782645007588,"y":27047.941948757725},"targetPosition":{"x":25975.492148554018,"y":27070.019973853538},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"43f6f964-e44c-4b9e-9c6e-f5f10afb891d","savedPayload":{"position":{"x":32188.75566986193,"y":29437.87120094599},"targetPosition":{"x":31965.81222221871,"y":29638.610382853647},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Run","id":"5639cfff-e0f1-417b-8034-adb661ded0cd"}}},{"type":"Move To Phase Event","name":"Cancel Close","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 > chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"427ca47c-7233-4e51-8070-0dd82e493d47","savedPayload":{"position":{"x":26849.90501730248,"y":27626.830935510996},"targetPosition":{"x":26496.473462169066,"y":27647.815568936996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8b99cc7a-c8fd-4e57-9f24-c2576f6bab18","savedPayload":{"position":{"x":26496.473462169066,"y":27647.815568936996},"targetPosition":{"x":26142.732993440186,"y":27668.664401778908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"prev.ema7 div prev.ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7 > chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7","project":"Foundations","id":"2217cfc4-1cdd-43b0-86ef-9957ff84c8f1","savedPayload":{"position":{"x":26672.75100993034,"y":28138.469816506702},"targetPosition":{"x":26407.8994337947,"y":27903.691062524806},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6918bca4-9fcd-44a4-9ad5-d4718158d064","savedPayload":{"position":{"x":26407.8994337947,"y":27903.691062524806},"targetPosition":{"x":26142.732993440186,"y":27668.664401778908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"2 prev.ema7 div 2 prev.ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7 > chart.at01hs.base7EMA.previous.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.previous.ema7","project":"Foundations","id":"9afbcaee-9dcd-4b18-89a9-9124eea8c900","savedPayload":{"position":{"x":26185.598444673225,"y":28375.520978680186},"targetPosition":{"x":26164.21417772805,"y":28022.198407767253},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"91b01ae0-97af-48c7-adf3-1bb767e27f36","savedPayload":{"position":{"x":26164.21417772805,"y":28022.198407767253},"targetPosition":{"x":26142.732993440186,"y":27668.664401778908},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8f15adc5-8719-4f96-8560-127f7eaa0a97","savedPayload":{"position":{"x":26142.732993440186,"y":27668.664401778908},"targetPosition":{"x":25868.975210135417,"y":27425.973980195675},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"b15ba6fb-7ae0-4c8f-b8ac-b76c5945dcb5","savedPayload":{"position":{"x":32265.401082645083,"y":29654.31116972653},"targetPosition":{"x":31965.81222221871,"y":29638.610382853647},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Manage: 3% Below ema7","id":"75e54a0b-1af9-49d2-ab9b-461d72a731fe"}}}],"announcements":[],"id":"eb74a012-ed21-4ce6-8f2e-8f2ebaea9188","savedPayload":{"position":{"x":31965.81222221871,"y":29638.610382853647},"targetPosition":{"x":31742.868774575487,"y":29839.349564761305},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"Run","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.base7EMA.ema7 * 0.8 < \nportfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97) \n{chart.at01hs.base7EMA.ema7 * 0.8} else \n{portfolioEngine.portfolioCurrent.position.takeProfit.value}","project":"Foundations","id":"25d46d39-ae12-4dd8-a136-48f75b7236c1","savedPayload":{"position":{"x":32126.382162616603,"y":29144.426920725848},"targetPosition":{"x":32188.75566986193,"y":29437.87120094599},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[{"type":"Move To Phase Event","name":"Cancel Run","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 conv ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"f4da55cf-3df3-40ed-8d05-a914a6697fae","savedPayload":{"position":{"x":13516.945156686488,"y":27732.291406400487},"targetPosition":{"x":13350.548067106007,"y":27358.345151034206},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2c64d2c0-288c-45ae-a359-5d3f44bb4c5e","savedPayload":{"position":{"x":13350.548067106007,"y":27358.345151034206},"targetPosition":{"x":13184.046123895518,"y":26984.18941421302},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"prev.ema7 conv prev.ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7 < chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7","project":"Foundations","id":"b4571357-f64e-432a-8d80-37f1dfd89e82","savedPayload":{"position":{"x":12703.14663729447,"y":27646.756263347786},"targetPosition":{"x":12943.567065826552,"y":27315.551593263554},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"96c5c204-c93f-494c-8691-30566d39db06","savedPayload":{"position":{"x":12943.567065826552,"y":27315.551593263554},"targetPosition":{"x":13184.046123895518,"y":26984.18941421302},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2849e6ed-91c0-4e63-a4a3-2ba4d4517008","savedPayload":{"position":{"x":13184.046123895518,"y":26984.18941421302},"targetPosition":{"x":13226.591604790017,"y":26576.6574550827},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"9c2aa1f4-5ba6-4dc8-9f99-db133558f0e8","savedPayload":{"position":{"x":32482.199950082075,"y":29375.49769370066},"targetPosition":{"x":32188.75566986193,"y":29437.87120094599},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Manage: 3% Below ema7","id":"75e54a0b-1af9-49d2-ab9b-461d72a731fe"}}}],"announcements":[],"id":"5639cfff-e0f1-417b-8034-adb661ded0cd","savedPayload":{"position":{"x":32188.75566986193,"y":29437.87120094599},"targetPosition":{"x":31965.81222221871,"y":29638.610382853647},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6cb50b3d-6bf3-422f-8d2a-d0103ea02607","savedPayload":{"position":{"x":31296.981879289044,"y":30240.827928576622},"targetPosition":{"x":31074.038431645822,"y":30441.56711048428},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"42765ad5-284e-4966-a367-76593b53bcf7","savedPayload":{"position":{"x":31074.03843164582,"y":30441.56711048428},"targetPosition":{"x":30981.333333333336,"y":30726.884065372826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"closeStage":{"type":"Close Stage","project":"Foundations","initialTargets":{"type":"Initial Targets","name":"New Initial Targets","project":"Foundations","targetRate":{"type":"Target Rate","name":"New Target Rate","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value","project":"Foundations","id":"110d0178-0090-4921-92dc-837bb31c3ba1","savedPayload":{"position":{"x":31283.342346607962,"y":29679.77171517134},"targetPosition":{"x":31314.70088558826,"y":29978.12828378182},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3a9db813-8c6c-49a1-ae12-8125f8efc292","savedPayload":{"position":{"x":31314.70088558826,"y":29978.12828378182},"targetPosition":{"x":31346.059424568557,"y":30276.484852392303},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"targetSizeInQuotedAsset":{"type":"Target Size In Quoted Asset","name":"New Target Size In Quoted Asset","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.sizeFilled.value - portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.feesPaid.value","project":"Foundations","id":"379418a8-84aa-481c-8f23-48801ca405d8","savedPayload":{"position":{"x":31831.469621193522,"y":29923.813701016818},"targetPosition":{"x":31588.76452288104,"y":30100.14927670456},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ef89e246-f225-4883-ae89-3f61dc1320f1","savedPayload":{"position":{"x":31588.76452288104,"y":30100.14927670456},"targetPosition":{"x":31346.059424568557,"y":30276.484852392303},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5f697ad9-68be-4204-b5ad-67cded03abbb","savedPayload":{"position":{"x":31346.059424568557,"y":30276.484852392303},"targetPosition":{"x":31224.03843164582,"y":30550.548489685083},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"closeExecution":{"type":"Close Execution","project":"Foundations","executionAlgorithms":[{"type":"Execution Algorithm","name":"New Execution Algorithm","config":"{\n\"percentageOfStageTargetSize\": 100 \n}","project":"Foundations","marketBuyOrders":[{"type":"Market Buy Order","name":"Quick Exit","config":"{\n\"percentageOfAlgorithmSize\": 100,\n\"spawnMultipleOrders\": false\n}","project":"Foundations","createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"true","project":"Foundations","id":"4bcae971-5718-4028-a10e-3f170704030b","savedPayload":{"position":{"x":26313.89772239734,"y":26929.812462278744},"targetPosition":{"x":25999.545326802174,"y":26962.57165156775},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"2221a782-74ed-4536-a40c-e54fd95fc345","savedPayload":{"position":{"x":25999.545326802174,"y":26962.57165156775},"targetPosition":{"x":25684.840745198024,"y":26995.660694961123},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"e30e9de3-190a-4536-9dcf-0a12e09e0f0e","savedPayload":{"position":{"x":25684.840745198024,"y":26995.660694961123},"targetPosition":{"x":25370.013845960013,"y":27028.47739302298},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"b57f49ac-744d-4af2-9a8f-d92483ed0d0d","savedPayload":{"position":{"x":25370.013845960013,"y":27028.47739302298},"targetPosition":{"x":25055.474871428116,"y":27061.40109556369},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"5aff6295-2b72-4e26-9017-741fb9303efb","savedPayload":{"position":{"x":25055.474871428116,"y":27061.40109556369},"targetPosition":{"x":24741.069634067615,"y":27094.324961196253},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market Order","name":"Market Buy Order #1","id":"7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3"}}}],"marketSellOrders":[],"limitBuyOrders":[],"limitSellOrders":[],"id":"202469d9-139c-431c-98f0-3d5d48ce972b","savedPayload":{"position":{"x":24741.069634067615,"y":27094.324961196253},"targetPosition":{"x":24337.598357099647,"y":27136.619705852005},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"2d3db895-56de-4b0d-b252-c70d818787cc","savedPayload":{"position":{"x":31522.3950002563,"y":30519.189950704786},"targetPosition":{"x":31224.03843164582,"y":30550.548489685083},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"71e66e43-11c0-4f53-afc5-3787eafc4744","savedPayload":{"position":{"x":31224.03843164582,"y":30550.548489685083},"targetPosition":{"x":30981.333333333336,"y":30726.884065372826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"2faf1715-7b6a-4188-ac5e-c67502e18fcc","savedPayload":{"position":{"x":30981.333333333336,"y":30726.884065372826},"targetPosition":{"x":30981.333333333336,"y":31026.884065372826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Portfolio Strategy","name":"S5 - 4H Up","project":"Foundations","triggerStage":{"type":"Trigger Stage","name":"New Trigger Stage","project":"Foundations","triggerOn":{"type":"Trigger On Event","name":"New Trigger On Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"Previous Breakup","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.previous.close > chart.at01hs.bollingerBand.previous.movingAverage + chart.at01hs.bollingerBand.previous.deviation","project":"Foundations","id":"1bb17736-cc12-4b60-9807-632aeb2d3636","savedPayload":{"position":{"x":30163.70228801924,"y":30501.290119545283},"targetPosition":{"x":30412.413559785753,"y":30333.53224850406},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d2e2487a-d30a-4d70-9d70-f188409059a9","savedPayload":{"position":{"x":30412.413559785753,"y":30333.53224850406},"targetPosition":{"x":30661.124831552264,"y":30165.774377462836},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Close In","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage + chart.at01hs.bollingerBand.deviation","project":"Foundations","id":"21123f61-dc48-4915-b609-c3eab53b8fec","savedPayload":{"position":{"x":30078.94739578667,"y":30310.927514822633},"targetPosition":{"x":30370.036113669466,"y":30238.350946142735},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"daefe7ea-f409-406c-891a-28c3001ab5c0","savedPayload":{"position":{"x":30370.036113669466,"y":30238.350946142735},"targetPosition":{"x":30661.124831552264,"y":30165.774377462836},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Red Candle","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.candle.open","project":"Foundations","id":"6897670f-f952-4d83-8a95-bc82ad1d07fa","savedPayload":{"position":{"x":30064.411694331302,"y":30103.05729950224},"targetPosition":{"x":30362.768262941783,"y":30134.41583848254},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b6890e81-16b4-4cd2-b1ed-0c02d51dae4b","savedPayload":{"position":{"x":30362.768262941783,"y":30134.41583848254},"targetPosition":{"x":30661.124831552264,"y":30165.774377462836},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"24H Down","code":"chart.at03hs.bollingerChannel.direction * chart.atAnyTimeFrame.externalSignal.timestamp > chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at24hs.bollingerChannel.direction === \"Down\"","project":"Foundations","id":"c02c6beb-0de4-4a7c-a768-7332501d45b1","savedPayload":{"position":{"x":30121.848403772765,"y":29902.751689389388},"targetPosition":{"x":30391.486617662515,"y":30034.263033426112},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3e59df4d-42a2-41e9-93ff-6d85b65d9bc2","savedPayload":{"position":{"x":30391.486617662515,"y":30034.263033426112},"targetPosition":{"x":30661.124831552264,"y":30165.774377462836},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"02H Side","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at02hs.bollingerSubChannel.slope === \"Side\"","project":"Foundations","id":"3257e894-69d2-4f5f-93eb-13ba4d62c5e0","savedPayload":{"position":{"x":30244.329809276864,"y":29734.170497259645},"targetPosition":{"x":30452.727320414564,"y":29949.97243736124},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"bd3ee521-2846-411f-a740-de3480e90421","savedPayload":{"position":{"x":30452.727320414564,"y":29949.97243736124},"targetPosition":{"x":30661.124831552264,"y":30165.774377462836},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"3H Side","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at03hs.bollingerSubChannel.slope === \"Gentle\"","project":"Foundations","id":"3cef9be4-e642-4af5-b845-d63592ea22e9","savedPayload":{"position":{"x":30417.082845706787,"y":29617.647102877276},"targetPosition":{"x":30539.103838629526,"y":29891.710740170056},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a23ee119-f4f5-4fe6-9013-27055d634051","savedPayload":{"position":{"x":30539.103838629526,"y":29891.710740170056},"targetPosition":{"x":30661.124831552264,"y":30165.774377462836},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"24H NOT Side","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at24hs.bollingerSubChannel.slope != \"Side\"","project":"Foundations","id":"7fa69f52-edfe-42b6-bda3-40e9ad7af808","savedPayload":{"position":{"x":30619.270947305788,"y":29567.23594730694},"targetPosition":{"x":30640.197889429026,"y":29866.50516238489},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"50495c21-1a7b-4c38-9c6c-4cec9fb5a0f1","savedPayload":{"position":{"x":30640.197889429026,"y":29866.50516238489},"targetPosition":{"x":30661.124831552264,"y":30165.774377462836},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Filter 1: 08H Deviation > 200 < 1500","code":"chart.at24hs.bollingerBand.deviation < chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"if (chart.at08hs.bollingerBand.deviation < 200 || chart.at08hs.bollingerBand.deviation > 1500) {false} else {true}","project":"Foundations","id":"0770176a-5af8-479d-8a7e-7bafaf04cb05","savedPayload":{"position":{"x":30826.507245042467,"y":29589.017359899848},"targetPosition":{"x":30743.816038297366,"y":29877.395868681342},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0538f837-fbba-4e7c-b1db-8a574559d584","savedPayload":{"position":{"x":30743.816038297366,"y":29877.395868681342},"targetPosition":{"x":30661.124831552264,"y":30165.774377462836},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"b2dd0458-53e0-4d8c-8f46-bb45946cdb65","savedPayload":{"position":{"x":30661.124831552264,"y":30165.774377462836},"targetPosition":{"x":30903.829929864747,"y":30342.10995315058},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"642f8610-4b1d-4178-8bae-12abf00b7812","savedPayload":{"position":{"x":30903.829929864747,"y":30342.10995315058},"targetPosition":{"x":31146.53502817723,"y":30518.44552883832},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"triggerOff":{"type":"Trigger Off Event","name":"New Trigger Off Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close< chart.at01hs.bollingerBand.movingAverage","project":"Foundations","id":"9d2e77ef-dc06-4357-8739-44065c83f8cb","savedPayload":{"position":{"x":24832.91219948938,"y":24515.748320833394},"targetPosition":{"x":24662.13089976374,"y":25153.057619101295},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"65d4f331-e81f-44d4-834b-9e786d9d2a36","savedPayload":{"position":{"x":24662.13089976374,"y":25153.057619101295},"targetPosition":{"x":24491.26768523473,"y":25790.434920265056},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"9753c7d0-7d95-4464-8331-a7d4bac71a9b","savedPayload":{"position":{"x":24491.26768523473,"y":25790.434920265056},"targetPosition":{"x":24320.026070084736,"y":26429.169603751194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"99db5a57-b7b5-44d2-b046-c5784a51bffc","savedPayload":{"position":{"x":31123.069858421197,"y":30370.29227774905},"targetPosition":{"x":31146.53502817723,"y":30518.44552883832},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"takePosition":{"type":"Take Position Event","name":"New Take Position Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"Previous Breakup","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.previous.close > chart.at01hs.bollingerBand.previous.movingAverage + chart.at01hs.bollingerBand.previous.deviation","project":"Foundations","id":"190f6e85-1f6e-4088-a156-a82e3b0e72cb","savedPayload":{"position":{"x":24638.816212878555,"y":26067.87662124919},"targetPosition":{"x":24695.88126000215,"y":26393.40236654724},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"07da9742-43f4-4bfb-8720-3272474740d1","savedPayload":{"position":{"x":24695.88126000215,"y":26393.40236654724},"targetPosition":{"x":24753.23455495893,"y":26719.368603515177},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Close In","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage + chart.at01hs.bollingerBand.deviation","project":"Foundations","id":"56b61beb-3df4-4577-b39e-90c3c3fc7075","savedPayload":{"position":{"x":24868.42714588766,"y":26067.63727427557},"targetPosition":{"x":24810.846949473023,"y":26393.281486132903},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"34460859-dffb-4fba-93b2-fe143c3a25de","savedPayload":{"position":{"x":24810.846949473023,"y":26393.281486132903},"targetPosition":{"x":24753.23455495893,"y":26719.368603515177},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Current Red Candle","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.candle.close < chart.at01hs.candle.open","project":"Foundations","id":"16a3f794-7209-437c-a272-c1f945374af2","savedPayload":{"position":{"x":25084.557542633636,"y":26146.12683176832},"targetPosition":{"x":24919.046821681128,"y":26432.520435659964},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"28a397a8-b5f1-44fd-afe2-3e366e7e938d","savedPayload":{"position":{"x":24919.046821681128,"y":26432.520435659964},"targetPosition":{"x":24753.23455495893,"y":26719.368603515177},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"24H Down","code":"chart.at03hs.bollingerChannel.direction * chart.atAnyTimeFrame.externalSignal.timestamp > chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at24hs.bollingerChannel.direction === \"Down\"","project":"Foundations","id":"e6fa32e6-37a4-40ae-a68d-8d046eed13b6","savedPayload":{"position":{"x":25260.710793029153,"y":26293.955220079108},"targetPosition":{"x":25007.197282525078,"y":26506.48752348696},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ba113199-ed6c-4b10-8312-4d938c7e8c39","savedPayload":{"position":{"x":25007.197282525078,"y":26506.48752348696},"targetPosition":{"x":24753.23455495893,"y":26719.368603515177},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"02H Side","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at02hs.bollingerSubChannel.slope === \"Side\"","project":"Foundations","id":"b76599cd-7312-4aac-9dee-8e21dac4b1c6","savedPayload":{"position":{"x":25375.70579713129,"y":26493.154718492566},"targetPosition":{"x":25064.725094964633,"y":26606.143139373788},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d274dddf-c518-4602-9e20-001b6b348fde","savedPayload":{"position":{"x":25064.725094964633,"y":26606.143139373788},"targetPosition":{"x":24753.23455495893,"y":26719.368603515177},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"3H Gentle","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at03hs.bollingerSubChannel.slope === \"Gentle\"","project":"Foundations","id":"ef31d5cf-d980-494c-a6af-1970b0e5e172","savedPayload":{"position":{"x":25415.59540500548,"y":26719.362966247958},"targetPosition":{"x":25084.656787091968,"y":26719.302369229765},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1e6adf92-f58a-4ebd-a125-f9b61d51ec59","savedPayload":{"position":{"x":25084.656787091968,"y":26719.302369229765},"targetPosition":{"x":24753.23455495893,"y":26719.368603515177},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"24H NOT Side","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at24hs.bollingerSubChannel.slope != \"Side\"","project":"Foundations","id":"d6005505-7c26-4f5c-b94e-3c2a9e812f5c","savedPayload":{"position":{"x":25375.611413205253,"y":26945.660677544736},"targetPosition":{"x":25064.599229947846,"y":26832.543213448196},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"dac090bd-5be4-4193-b40b-3ce250f62d91","savedPayload":{"position":{"x":25064.599229947846,"y":26832.543213448196},"targetPosition":{"x":24753.23455495893,"y":26719.368603515177},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"Filter 1: 08H Deviation > 200 < 1500","code":"chart.at24hs.bollingerBand.deviation < chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"if (chart.at08hs.bollingerBand.deviation < 200 || chart.at08hs.bollingerBand.deviation > 1500) {false} else {true}","project":"Foundations","id":"6198450f-adf9-4208-a125-e47b101f9b41","savedPayload":{"position":{"x":25260.49920682519,"y":27144.97948753731},"targetPosition":{"x":25006.95807082679,"y":26932.343717437056},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b1f55195-9a70-49fa-8025-51cdf0acdbeb","savedPayload":{"position":{"x":25006.95807082679,"y":26932.343717437056},"targetPosition":{"x":24753.23455495893,"y":26719.368603515177},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"196d7981-9230-4a94-b8c2-39ff25a22bb9","savedPayload":{"position":{"x":24753.23455495893,"y":26719.368603515177},"targetPosition":{"x":24434.849284742682,"y":26903.007510566415},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"1c30f570-4f8e-47cf-95c1-dd1f4244a77a","savedPayload":{"position":{"x":31322.870603864973,"y":30275.74043052584},"targetPosition":{"x":31146.53502817723,"y":30518.44552883832},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"999bf574-a88b-467f-a107-7e0770e6bd53","savedPayload":{"position":{"x":31146.53502817723,"y":30518.44552883832},"targetPosition":{"x":31193.4653676893,"y":30814.752031016862},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"openStage":{"type":"Open Stage","name":"New Open Stage","project":"Foundations","initialTargets":{"type":"Initial Targets","name":"New Initial Targets","project":"Foundations","targetRate":{"type":"Target Rate","name":"New Target Rate","project":"Foundations","formula":{"type":"Formula","name":"My Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value","project":"Foundations","id":"8a81a2c0-357d-4c2d-a549-9051d7b2c6d0","savedPayload":{"position":{"x":23858.78595852015,"y":26164.98054421565},"targetPosition":{"x":24038.763798810163,"y":26442.688747984626},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"530d589f-dc6b-42f7-b3b5-6adda880314a","savedPayload":{"position":{"x":24038.763798810163,"y":26442.688747984626},"targetPosition":{"x":24261.29977328574,"y":26786.552744554},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"targetSizeInBaseAsset":{"type":"Target Size In Base Asset","name":"New Target Size In Base Asset","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value","project":"Foundations","id":"9e38415c-2e9d-49a8-aaaa-e76aa0532ed4","savedPayload":{"position":{"x":24596.08713196765,"y":26128.657121914854},"targetPosition":{"x":24446.84880096955,"y":26422.06322116767},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"dcdc1f5f-1691-4432-9e2e-3f8ad4c19314","savedPayload":{"position":{"x":24446.84880096955,"y":26422.06322116767},"targetPosition":{"x":24261.29977328574,"y":26786.552744554},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"7a57f4d9-ac42-4871-85b1-a300b42d7a0c","savedPayload":{"position":{"x":31321.81212417472,"y":30397.655643547165},"targetPosition":{"x":31329.662517611163,"y":30547.450073760352},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"openExecution":{"type":"Open Execution","name":"New Open Execution","project":"Foundations","executionAlgorithms":[{"type":"Execution Algorithm","name":"New Execution Algorithm","config":"{\n\"percentageOfStageTargetSize\": 100 \n}","project":"Foundations","marketBuyOrders":[],"marketSellOrders":[{"type":"Market Sell Order","name":"Quick Entry","config":"{\n\"percentageOfAlgorithmSize\": 100\n}","project":"Foundations","createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"true","project":"Foundations","id":"aaea728c-75f9-46c1-8b15-99fa2990866a","savedPayload":{"position":{"x":26220.35489697064,"y":25853.201969389833},"targetPosition":{"x":25943.171344381677,"y":26033.20176345596},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"9992f0c6-f7e5-4ff5-bf21-bf809695e653","savedPayload":{"position":{"x":25943.171344381677,"y":26033.20176345596},"targetPosition":{"x":25665.90707690503,"y":26213.527948877883},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"bf813257-1aca-4ba8-a5e4-5d372d740caa","savedPayload":{"position":{"x":25665.90707690503,"y":26213.527948877883},"targetPosition":{"x":25388.98615340519,"y":26393.83832042099},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"417a8b49-cb3b-4b7d-b6de-6a382302e09f","savedPayload":{"position":{"x":25388.98615340519,"y":26393.83832042099},"targetPosition":{"x":25111.399980477036,"y":26574.13228961578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"e575de70-9ec4-4936-9265-7cee85ef0b30","savedPayload":{"position":{"x":25111.399980477036,"y":26574.13228961578},"targetPosition":{"x":24833.922534701138,"y":26754.743771134352},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market Order","name":"Market Sell Order #1","id":"8e404329-d41f-41e0-ad5a-c84ee1fa2604"}}}],"limitBuyOrders":[],"limitSellOrders":[],"id":"d6c6a08b-6faa-466b-bc6c-b911bf033682","savedPayload":{"position":{"x":24833.922534701138,"y":26754.743771134352},"targetPosition":{"x":24555.026928149884,"y":26936.65072206089},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false,"shortcutKey":""}}}],"id":"8738b563-176d-44fa-acfa-ad74956f3ecf","savedPayload":{"position":{"x":31455.463102802976,"y":30465.754218508097},"targetPosition":{"x":31329.662517611163,"y":30547.450073760352},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"5c1cac76-fb50-4a6c-b6ef-86226587fa0e","savedPayload":{"position":{"x":31329.662517611163,"y":30547.450073760352},"targetPosition":{"x":31193.4653676893,"y":30814.752031016862},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"manageStage":{"type":"Manage Stage","name":"Controlled Run","project":"Foundations","managedStopLoss":{"type":"Managed Stop Loss","name":"New Stop","project":"Foundations","phases":[{"type":"Phase","name":"New Phase","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.03","project":"Foundations","id":"e0d94103-a97c-4960-b1aa-f7e1fcb656ca","savedPayload":{"position":{"x":24983.41485429457,"y":26462.49793961423},"targetPosition":{"x":24966.45309006702,"y":26793.609239118203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","name":"New Next Phase Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","code":"chart.at01hs.candle.previous.close < portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97","project":"Foundations","id":"19778aea-457a-4483-8934-4a7e7786a933","savedPayload":{"position":{"x":24740.182814774984,"y":25845.436519123017},"targetPosition":{"x":24664.29323641878,"y":25995.143564899125},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3634294e-b331-44ba-b019-2143f4e7e317","savedPayload":{"position":{"x":24664.29323641878,"y":25995.143564899125},"targetPosition":{"x":24584.663448219842,"y":26151.540388988644},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"7975987f-1e42-47e5-b668-8ec6776ec85a","savedPayload":{"position":{"x":24584.663448219842,"y":26151.540388988644},"targetPosition":{"x":24487.027237307826,"y":26343.67345805864},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"918cf3df-b5a6-4fa0-84b0-e2648e8e8ca8","savedPayload":{"position":{"x":25262.66203879856,"y":26643.81918604066},"targetPosition":{"x":24966.45309006702,"y":26793.609239118203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"dca1bf8c-cda0-42e4-90c2-14448f3cffb2","savedPayload":{"position":{"x":24966.45309006702,"y":26793.609239118203},"targetPosition":{"x":24747.690945878923,"y":27129.72561969517},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"New Phase","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.bollingerBand.movingAverage * 1.02 < portfolioEngine.portfolioCurrent.position.stopLoss.value) {chart.at01hs.bollingerBand.movingAverage * 1.02} else {portfolioEngine.portfolioCurrent.position.stopLoss.value}","project":"Foundations","id":"928d3add-1690-4dfd-b2f8-455668fc742c","savedPayload":{"position":{"x":25327.58524667831,"y":26237.885413720105},"targetPosition":{"x":25147.451824519056,"y":26515.05967314444},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[],"announcements":[],"id":"51924a8f-f6b0-41f0-9fb5-8cd97d8d6531","savedPayload":{"position":{"x":25147.451824519056,"y":26515.05967314444},"targetPosition":{"x":24966.543451777958,"y":26793.47181242452},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"6ba3063d-c882-44d2-a7c4-9915a220b17e","savedPayload":{"position":{"x":31542.463180198065,"y":30552.754295903185},"targetPosition":{"x":31460.76732494581,"y":30678.554881095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"managedTakeProfit":{"type":"Managed Take Profit","name":"New Take Profit","project":"Foundations","phases":[{"type":"Phase","name":"New Phase","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.95","project":"Foundations","id":"7c916535-3cd3-4b28-b671-06455eccdbc4","savedPayload":{"position":{"x":25658.494564809524,"y":27184.691244361435},"targetPosition":{"x":25364.198636826375,"y":27336.129326382652},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","name":"New Next Phase Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"1H EMA7 < entryTargetRate","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < portfolioEngine.portfolioCurrent.position.entryTargetRate.value","project":"Foundations","id":"452bd440-4b3f-4abc-a8d3-dbac108494ff","savedPayload":{"position":{"x":25380.961012695378,"y":26435.061561220922},"targetPosition":{"x":25241.79964407901,"y":26524.936956729318},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"35ecc05e-c241-4661-aef7-cf9cd3a0718f","savedPayload":{"position":{"x":25241.79964407901,"y":26524.936956729318},"targetPosition":{"x":25084.09938109442,"y":26621.010189195556},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"positionPeriods > 2","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"portfolioEngine.portfolioCurrent.position.positionCounters.periods.value > 2","project":"Foundations","id":"947fbe1d-2d73-413c-a66a-afc1d9fd5ea8","savedPayload":{"position":{"x":25398.36967140223,"y":26773.817312634972},"targetPosition":{"x":25250.84457600535,"y":26699.33927525937},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"73661d44-6a9d-4841-8f45-7240649a5d6d","savedPayload":{"position":{"x":25250.84457600535,"y":26699.33927525937},"targetPosition":{"x":25084.09938109442,"y":26621.010189195556},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"1c59dd62-57a7-4ef6-9197-7b6fd102a06b","savedPayload":{"position":{"x":25084.09938109442,"y":26621.010189195556},"targetPosition":{"x":24869.186292984472,"y":26632.697609612827},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"541feb51-68a3-4326-bd16-c7a91ec68cd2","savedPayload":{"position":{"x":25641.19334189332,"y":27517.288377934376},"targetPosition":{"x":25364.198636826375,"y":27336.129326382652},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[],"announcements":[],"id":"ba7462a2-9b77-4628-8be8-0700e49ed2a8","savedPayload":{"position":{"x":25364.198636826375,"y":27336.129326382652},"targetPosition":{"x":24963.300369145618,"y":27315.394040583094},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"Manage: 3% Below ema7","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.base7EMA.ema7 * 0.97 < \nportfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97) \n{chart.at01hs.base7EMA.ema7 * 0.97} else \n{portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97}","project":"Foundations","id":"f0ba9068-9fd8-46c1-89c6-c51c2127fad3","savedPayload":{"position":{"x":25711.883632434765,"y":27022.28801577948},"targetPosition":{"x":25694.407783154355,"y":27353.120450009927},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"nextPhaseEvent":{"type":"Next Phase Event","name":"New Next Phase Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 conv ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"3d7e602e-ca81-4d0f-808c-0b6987a224d4","savedPayload":{"position":{"x":14788.282495337917,"y":24924.026276669174},"targetPosition":{"x":14628.6517970118,"y":24566.033103324167},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3cf490f8-fb04-4a14-aab8-1215009b40bd","savedPayload":{"position":{"x":14628.6517970118,"y":24566.033103324167},"targetPosition":{"x":14468.706335568619,"y":24207.998639773534},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"399b9981-c283-4140-8600-904bd8fae636","savedPayload":{"position":{"x":14468.706335568619,"y":24207.998639773534},"targetPosition":{"x":14308.526431560611,"y":23849.880532741736},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"19a0d710-315f-43b8-b1f0-8aca0f21d63e","savedPayload":{"position":{"x":26026.41620066903,"y":27470.42163084099},"targetPosition":{"x":25694.407783154355,"y":27353.120450009927},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"moveToPhaseEvents":[{"type":"Move To Phase Event","name":"Move to Run","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 > chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"6407cb18-e862-47c7-8c3d-2ac857597595","savedPayload":{"position":{"x":25774.951596669744,"y":28435.498985414335},"targetPosition":{"x":25484.597275027147,"y":28276.49077105474},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3218784f-7ac6-4f71-89ca-c13de6fb1e08","savedPayload":{"position":{"x":25484.597275027147,"y":28276.49077105474},"targetPosition":{"x":25193.799482015478,"y":28117.299812776946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 div ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema21 - chart.at01hs.base7EMA.ema14 > chart.at01hs.base7EMA.previous.ema21 - chart.at01hs.base7EMA.previous.ema14","project":"Foundations","id":"31096ee3-5cb2-437c-911c-b8dac600eeda","savedPayload":{"position":{"x":25579.397743132024,"y":28656.15370567413},"targetPosition":{"x":25386.75841759319,"y":28386.938491265355},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4a59f893-ce98-40a8-a456-14758c0e3b72","savedPayload":{"position":{"x":25386.75841759319,"y":28386.938491265355},"targetPosition":{"x":25193.799482015478,"y":28117.299812776946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema7 < positionRate","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.99","project":"Foundations","id":"39e213d0-6871-4fcc-8ba7-6485b15b8010","savedPayload":{"position":{"x":25307.60573705609,"y":28770.067822101213},"targetPosition":{"x":25250.794632020887,"y":28443.93326943207},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a2c15f0e-3edb-4849-862a-dce24f143be6","savedPayload":{"position":{"x":25250.794632020887,"y":28443.93326943207},"targetPosition":{"x":25193.799482015478,"y":28117.299812776946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema7 < ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.ema14","project":"Foundations","id":"5d4916ab-3a59-42cd-ad42-2c9be833bb36","savedPayload":{"position":{"x":25014.001606121594,"y":28754.828626216673},"targetPosition":{"x":25103.916551995506,"y":28436.305011988203},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e90a9e18-c05e-4c34-8931-f934311d8be4","savedPayload":{"position":{"x":25103.916551995506,"y":28436.305011988203},"targetPosition":{"x":25193.799482015478,"y":28117.299812776946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 < ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 < chart.at01hs.base7EMA.ema21 ","project":"Foundations","id":"1578e195-a319-4748-8204-f90d816fc4ae","savedPayload":{"position":{"x":24755.74443311037,"y":28613.517396056566},"targetPosition":{"x":24974.70322939173,"y":28365.58333515773},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"b48541a5-46c2-4e7e-a072-07d94c1b2ac9","savedPayload":{"position":{"x":24974.70322939173,"y":28365.58333515773},"targetPosition":{"x":25193.799482015478,"y":28117.299812776946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Down && NOT Side","code":"chart.atAnyTimeFrame.externalSignal.timestamp > chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.bollingerSubChannel.direction === \"Down\" && chart.at01hs.bollingerSubChannel.slope != \"Side\"","project":"Foundations","id":"fb1f280f-632e-4097-b5da-dfdbacd169c3","savedPayload":{"position":{"x":24584.637999194325,"y":28374.14156687197},"targetPosition":{"x":24889.08305023951,"y":28245.84982494278},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"0000df02-7c31-423f-a377-ee7a54e745b1","savedPayload":{"position":{"x":24889.08305023951,"y":28245.84982494278},"targetPosition":{"x":25193.799482015478,"y":28117.299812776946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a9ea4174-771b-4b50-8376-05494437d912","savedPayload":{"position":{"x":25193.799482015478,"y":28117.299812776946},"targetPosition":{"x":25211.112896170867,"y":27770.728758984784},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"730610f1-2311-4486-8905-37c9c001d766","savedPayload":{"position":{"x":25677.559412959556,"y":27684.122696003295},"targetPosition":{"x":25694.407783154355,"y":27353.120450009927},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Run","id":"1a7c350c-eb3a-4d8a-af57-68aabda6fea7"}}}],"announcements":[],"id":"f631120e-4f0f-41f4-85b3-74778c8060c0","savedPayload":{"position":{"x":25694.407783154355,"y":27353.120450009927},"targetPosition":{"x":25364.206851156865,"y":27336.12980545369},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"Close: BB Lower Band","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.deviation < \nportfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97) \n{chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.standardDeviation * 2} else \n{portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97}","project":"Foundations","id":"e0cee676-0034-4512-9ed3-b4f61df739bf","savedPayload":{"position":{"x":26270.222123204745,"y":27123.559363038978},"targetPosition":{"x":26024.316525723552,"y":27345.476043713286},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[{"type":"Move To Phase Event","name":"Move to Run","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 div ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 > chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"2cd48b45-e3f4-4a76-8bf7-19470c990e1e","savedPayload":{"position":{"x":26708.996006203328,"y":27425.152933347177},"targetPosition":{"x":26475.00414995193,"y":27658.986979776797},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"17193755-5b37-4ee7-82ca-a14db05dbd30","savedPayload":{"position":{"x":26475.00414995193,"y":27658.986979776797},"targetPosition":{"x":26240.783184211075,"y":27893.178322317523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 div ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema21 - chart.at01hs.base7EMA.ema14 > chart.at01hs.base7EMA.previous.ema21 - chart.at01hs.base7EMA.previous.ema14","project":"Foundations","id":"b8cb24ca-a2ce-4ae6-b5d9-63471af0095f","savedPayload":{"position":{"x":26880.45001249857,"y":27722.042861534843},"targetPosition":{"x":26560.80459550491,"y":27807.539551462396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4facbae1-8244-47d9-bf81-2ebf58477c34","savedPayload":{"position":{"x":26560.80459550491,"y":27807.539551462396},"targetPosition":{"x":26240.783184211075,"y":27893.178322317523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema7 < ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.ema14","project":"Foundations","id":"4e3f128a-a12a-444d-b706-c54a910da68b","savedPayload":{"position":{"x":26880.523465364022,"y":28064.186009998128},"targetPosition":{"x":26560.849366820898,"y":27978.700930045707},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e2460f9b-c5ab-4502-9b39-38159b55534b","savedPayload":{"position":{"x":26560.849366820898,"y":27978.700930045707},"targetPosition":{"x":26240.783184211075,"y":27893.178322317523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema14 < ema21","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 < chart.at01hs.base7EMA.ema21 ","project":"Foundations","id":"2a370595-33f8-4cf8-af80-e7871edcf8fa","savedPayload":{"position":{"x":26709.32724515463,"y":28361.026004475418},"targetPosition":{"x":26475.210717360475,"y":28127.1967359395},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"133e251e-2ac5-4ebd-8f4c-73eb8c8ba7e1","savedPayload":{"position":{"x":26475.210717360475,"y":28127.1967359395},"targetPosition":{"x":26240.783184211075,"y":27893.178322317523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Down && NOT Side or Gentle","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.bollingerSubChannel.direction === \"Down\" && chart.at01hs.bollingerSubChannel.slope != \"Side\" && chart.at01hs.bollingerSubChannel.slope != \"Gentle\"","project":"Foundations","id":"55435ac8-859e-4665-842c-f6603923589e","savedPayload":{"position":{"x":26412.73915407554,"y":28532.53696715753},"targetPosition":{"x":26326.874981099114,"y":28212.978275509922},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ee4dad2e-77dd-4f45-9847-c3c2e563d015","savedPayload":{"position":{"x":26326.874981099114,"y":28212.978275509922},"targetPosition":{"x":26240.783184211075,"y":27893.178322317523},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"42bd767a-7a9e-40dc-9973-ad6e2411e769","savedPayload":{"position":{"x":26240.783184211075,"y":27893.178322317523},"targetPosition":{"x":25904.89502336439,"y":27803.59777589704},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"f9f58805-ee92-40ac-be13-6d242a6a476f","savedPayload":{"position":{"x":26442.96593714889,"y":27315.75329021763},"targetPosition":{"x":26024.316525723552,"y":27345.476043713286},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Run","id":"1a7c350c-eb3a-4d8a-af57-68aabda6fea7"}}},{"type":"Move To Phase Event","name":"Cancel Close","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 div ema14","code":"chart.atAnyTimeFrame.externalSignal.timestamp > chart.atAnyTimeFrame.externalSignal.timestamp","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 > chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"32c1fa99-99b6-4bdd-ad3d-fcb3858413fe","savedPayload":{"position":{"x":26551.511963902383,"y":28576.241225092068},"targetPosition":{"x":26231.68261368634,"y":28490.142477356392},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8f146719-384b-4e16-a0b3-c7501eeca1dd","savedPayload":{"position":{"x":26231.68261368634,"y":28490.142477356392},"targetPosition":{"x":25912.130293905473,"y":28404.27691829056},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"prev.ema7 div prev.ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7 > chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7","project":"Foundations","id":"b1d2c06e-3c41-474c-b241-62639db26336","savedPayload":{"position":{"x":26243.037889006337,"y":28977.71058655785},"targetPosition":{"x":26077.542125622167,"y":28690.980793395902},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"655cd860-35be-4db4-8786-758133ade2f8","savedPayload":{"position":{"x":26077.542125622167,"y":28690.980793395902},"targetPosition":{"x":25912.130293905473,"y":28404.27691829056},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"ema7 < ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.ema14","project":"Foundations","id":"7b14d5ba-d792-4d0e-9c33-aae6abc015dd","savedPayload":{"position":{"x":25741.659167678066,"y":29043.80188366693},"targetPosition":{"x":25826.746926456406,"y":28723.98454492446},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"41486047-0d08-4227-8d03-3e844c75a3ea","savedPayload":{"position":{"x":25826.746926456406,"y":28723.98454492446},"targetPosition":{"x":25912.130293905473,"y":28404.27691829056},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"78031caf-041a-4f69-aea1-f9666aef959d","savedPayload":{"position":{"x":25912.130293905473,"y":28404.27691829056},"targetPosition":{"x":25738.8127975366,"y":28103.595174363218},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"ad7504d5-49ec-4fed-bc74-44f5f398def7","savedPayload":{"position":{"x":26245.89369869532,"y":27592.103452874115},"targetPosition":{"x":26024.316525723552,"y":27345.476043713286},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Manage: 3% Below ema7","id":"f631120e-4f0f-41f4-85b3-74778c8060c0"}}}],"announcements":[],"id":"bee5a88b-489f-48ce-be58-4531f815462a","savedPayload":{"position":{"x":26024.316525723552,"y":27345.476043713286},"targetPosition":{"x":25694.407783154355,"y":27353.120450009927},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Phase","name":"Run","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"if (chart.at01hs.base7EMA.ema7 * 0.8 < \nportfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.97) \n{chart.at01hs.base7EMA.ema7 * 0.8} else \n{portfolioEngine.portfolioCurrent.position.takeProfit.value}","project":"Foundations","id":"6e3648cc-0d59-428a-acc2-afcf2a6e86c4","savedPayload":{"position":{"x":26513.807031748758,"y":27096.738764132315},"targetPosition":{"x":26333.17788792238,"y":27374.376956735054},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"moveToPhaseEvents":[{"type":"Move To Phase Event","name":"Cancel Run","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"ema7 conv ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.ema14 - chart.at01hs.base7EMA.ema7 < chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7","project":"Foundations","id":"d68720e4-049f-46b9-b412-f0378573a413","savedPayload":{"position":{"x":14026.912360564427,"y":25943.968753462403},"targetPosition":{"x":13781.330703839114,"y":25638.06797405859},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"609ce0eb-a9ec-495a-9f99-cd5adeaa5824","savedPayload":{"position":{"x":13781.330703839114,"y":25638.06797405859},"targetPosition":{"x":13539.134308713685,"y":25336.607992952806},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"prev.ema7 conv prev.ema14","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.base7EMA.previous.ema14 - chart.at01hs.base7EMA.previous.ema7 < chart.at01hs.base7EMA.previous.previous.ema14 - chart.at01hs.base7EMA.previous.previous.ema7","project":"Foundations","id":"49efa579-e07f-432e-ab03-458909afe80a","savedPayload":{"position":{"x":13454.731500561596,"y":26118.001000526892},"targetPosition":{"x":13496.957375795711,"y":25727.4228427244},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"70e024f2-8dc4-443b-b7d0-8d979bd7879a","savedPayload":{"position":{"x":13496.957375795711,"y":25727.4228427244},"targetPosition":{"x":13539.134308713685,"y":25336.607992952806},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Condition","name":"1H Up || Side, Gentle or Medium","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"chart.at01hs.bollingerSubChannel.direction === \"Up\" || chart.at01hs.bollingerSubChannel.slope === \"Side\" || chart.at01hs.bollingerSubChannel.slope === \"Gentle\" || chart.at01hs.bollingerSubChannel.slope === \"Medium\"","project":"Foundations","id":"199cc33c-0e13-4de9-910a-c9d356e9d0d6","savedPayload":{"position":{"x":12927.296838411567,"y":25831.76818136067},"targetPosition":{"x":13233.193939095378,"y":25584.279255498222},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3621eed7-d3f5-4350-8e53-6eb76377b10a","savedPayload":{"position":{"x":13233.193939095378,"y":25584.279255498222},"targetPosition":{"x":13539.134308713685,"y":25336.607992952806},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"dede1ba7-70c6-417a-a54a-14177afbd413","savedPayload":{"position":{"x":13539.134308713685,"y":25336.607992952806},"targetPosition":{"x":13589.187055543975,"y":24929.180594714417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"76a5126e-7d21-4160-b25a-08631b6d519a","savedPayload":{"position":{"x":26611.10724133235,"y":27554.55992232958},"targetPosition":{"x":26333.17788792238,"y":27374.376956735054},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Phase","name":"Manage: 3% Below ema7","id":"f631120e-4f0f-41f4-85b3-74778c8060c0"}}}],"announcements":[],"id":"1a7c350c-eb3a-4d8a-af57-68aabda6fea7","savedPayload":{"position":{"x":26333.17788792238,"y":27374.376956735054},"targetPosition":{"x":26024.316525723552,"y":27345.476043713286},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a3dd2636-1b11-4d0a-8a32-945e790a97e5","savedPayload":{"position":{"x":31610.561755158997,"y":30686.40527453144},"targetPosition":{"x":31460.76732494581,"y":30678.554881095},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"6af83cfb-a8f9-4313-8013-495ed37ee6f5","savedPayload":{"position":{"x":31460.76732494581,"y":30678.554881095},"targetPosition":{"x":31193.4653676893,"y":30814.752031016862},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"closeStage":{"type":"Close Stage","project":"Foundations","initialTargets":{"type":"Initial Targets","name":"New Initial Targets","project":"Foundations","targetRate":{"type":"Target Rate","name":"New Target Rate","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value","project":"Foundations","id":"39714970-7a27-412a-93ee-86e793262cc2","savedPayload":{"position":{"x":32147.438232446904,"y":30287.88440879116},"targetPosition":{"x":31958.642115131952,"y":30521.02819722825},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"587f4120-6e47-4a59-ae01-edee731eb2fe","savedPayload":{"position":{"x":31958.642115131952,"y":30521.02819722825},"targetPosition":{"x":31769.845997817,"y":30754.17198566534},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"targetSizeInQuotedAsset":{"type":"Target Size In Quoted Asset","name":"New Target Size In Quoted Asset","project":"Foundations","formula":{"type":"Formula","name":"New Formula","code":"portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.sizeFilled.value - portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.feesPaid.value","project":"Foundations","id":"366084ff-7027-403c-a20a-40d9308cd3ed","savedPayload":{"position":{"x":32362.45900217408,"y":30848.03266468948},"targetPosition":{"x":32066.15249999554,"y":30801.10232517741},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e9bb0180-bce1-440e-9e5e-5d6ddf63e163","savedPayload":{"position":{"x":32066.15249999554,"y":30801.10232517741},"targetPosition":{"x":31769.845997817,"y":30754.17198566534},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"2fb1e698-028f-43a5-a380-024e4607f5dc","savedPayload":{"position":{"x":31769.845997817,"y":30754.17198566534},"targetPosition":{"x":31489.77186986784,"y":30861.68237052893},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"closeExecution":{"type":"Close Execution","project":"Foundations","executionAlgorithms":[{"type":"Execution Algorithm","name":"New Execution Algorithm","config":"{\n\"percentageOfStageTargetSize\": 100 \n}","project":"Foundations","marketBuyOrders":[{"type":"Market Buy Order","name":"Quick Exit","config":"{\n\"percentageOfAlgorithmSize\": 100,\n\"spawnMultipleOrders\": false\n}","project":"Foundations","createOrderEvent":{"type":"Create Order Event","name":"New Create Order Event","project":"Foundations","situations":[{"type":"Situation","name":"New Situation","project":"Foundations","conditions":[{"type":"Condition","name":"New Condition","project":"Foundations","javascriptCode":{"type":"Javascript Code","name":"New Javascript Code","code":"true","project":"Foundations","id":"9cf7ec1d-7cec-4b00-8938-2724ab31308f","savedPayload":{"position":{"x":23647.724249553256,"y":28272.4673088309},"targetPosition":{"x":23607.148464005186,"y":28080.287776957448},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ee800c76-ec26-4156-9e65-c8a8ba09b00a","savedPayload":{"position":{"x":23607.148464005186,"y":28080.287776957448},"targetPosition":{"x":23566.467132869366,"y":27887.434297922446},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d2660921-d3f8-4b4a-b5cd-d982f6863fdf","savedPayload":{"position":{"x":23566.467132869366,"y":27887.434297922446},"targetPosition":{"x":23516.938711871066,"y":27652.899757401843},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"announcements":[],"id":"19b0ab5e-f2ca-47f9-98fe-b43917714700","savedPayload":{"position":{"x":25719.87083907653,"y":28691.641296042406},"targetPosition":{"x":25462.92983640096,"y":28483.617145775956},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"3b0ef4ee-e948-43aa-a2f6-db556880d6df","savedPayload":{"position":{"x":25462.92983640096,"y":28483.617145775956},"targetPosition":{"x":25205.85228605727,"y":28275.499550373483},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Market Order","name":"Market Buy Order #1","id":"7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3"}}}],"marketSellOrders":[],"limitBuyOrders":[],"limitSellOrders":[],"id":"490a2173-4a73-4822-a292-c45afc643262","savedPayload":{"position":{"x":25205.85228605727,"y":28275.499550373483},"targetPosition":{"x":24888.498478293594,"y":28018.613465108894},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"525d3607-b2b2-4345-af7c-fdde1b649060","savedPayload":{"position":{"x":31722.91565830493,"y":31050.478487843884},"targetPosition":{"x":31489.77186986784,"y":30861.68237052893},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"announcements":[],"id":"0d1db0bb-2e8d-4289-93cd-b2a5e2d6b77c","savedPayload":{"position":{"x":31489.77186986784,"y":30861.68237052893},"targetPosition":{"x":31193.4653676893,"y":30814.752031016862},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"f1787887-41aa-41d4-80c5-34db452cd148","savedPayload":{"position":{"x":31193.4653676893,"y":30814.752031016862},"targetPosition":{"x":30981.333333333336,"y":31026.884065372826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"3313017d-fdce-481b-9679-fe8e4f67cd45","savedPayload":{"position":{"x":30981.333333333336,"y":31026.884065372826},"targetPosition":{"x":30981.333333333336,"y":31026.884065372826},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}} \ No newline at end of file diff --git a/Projects/Portfolio-Management/Plugins/Portfolio-Systems/LiveTester-Chart-Scanner.json b/Projects/Portfolio-Management/Plugins/Portfolio-Systems/LiveTester-Chart-Scanner.json new file mode 100644 index 000000000..5d689e539 --- /dev/null +++ b/Projects/Portfolio-Management/Plugins/Portfolio-Systems/LiveTester-Chart-Scanner.json @@ -0,0 +1,33431 @@ +{ + "type": "Portfolio System", + "name": "LiveTester-Chart-Scanner", + "project": "Foundations", + "portfolioStrategies": [ + { + "type": "Portfolio Strategy", + "name": "05-min", + "project": "Foundations", + "triggerStage": { + "type": "Trigger Stage", + "name": "New Trigger Stage", + "project": "Foundations", + "triggerOn": { + "type": "Trigger On Event", + "name": "New Trigger On Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Livetest Chart Comparison", + "code": "chart.at01hs.candle.close > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "isBestOption()\n\nfunction isBestOption() {\n\n const TIME_FRAME_LABEL = TS.projects.foundations.globals.timeFrames.marketTimeFramesArray().concat(TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray())\n \n for (k = 0; k < TIME_FRAME_LABEL.length; k++) {\n TIME_FRAME_LABEL[k] = 'at' + TIME_FRAME_LABEL[k][1].replace(/'|-/g,'')\n }\n\n const validNow = []\n validNow.length = 0\n\n myChart = \"at05min\"\n\n for (i = 0; i < TIME_FRAME_LABEL.length; i++) {\n\n label = TIME_FRAME_LABEL[i]\n\n // prepareLivetest = chart.at24hs.livetest.begin\n // prepareLivetest = chart.at12hs.livetest.begin\n // prepareLivetest = chart.at08hs.livetest.begin\n // prepareLivetest = chart.at06hs.livetest.begin\n // prepareLivetest = chart.at04hs.livetest.begin\n // prepareLivetest = chart.at03hs.livetest.begin\n // prepareLivetest = chart.at02hs.livetest.begin\n // prepareLivetest = chart.at01hs.livetest.begin\n // prepareLivetest = chart.at45min.livetest.begin\n // prepareLivetest = chart.at40min.livetest.begin\n // prepareLivetest = chart.at30min.livetest.begin\n // prepareLivetest = chart.at20min.livetest.begin\n // prepareLivetest = chart.at15min.livetest.begin\n // prepareLivetest = chart.at10min.livetest.begin\n // prepareLivetest = chart.at05min.livetest.begin\n // prepareLivetest = chart.at04min.livetest.begin\n // prepareLivetest = chart.at03min.livetest.begin\n // prepareLivetest = chart.at02min.livetest.begin\n // prepareLivetest = chart.at01min.livetest.begin\n \n\n if (chart[label].livetest.positionBullish !== undefined && chart[label].livetest.positionTimestamp !== undefined) {\n if (chart[label].livetest.positionBullish === 1 && chart[label].livetest.positionTimestamp == chart.at01min.candle.end) {\n validNow.push(label)\n }\n }\n else { \n break \n }\n }\n if (validNow.length === 1) {\n if (validNow[0] === myChart) {\n return true\n }\n }\n else if (validNow.length > 1) { \n \n maxPPH = 9999\n bestChart = \"Not defined\"\n\n for (j = 0; j < validNow.length; j++) {\n\n label = validNow[j]\n\n if (chart[label].livetest.averageBullPerHour < maxPPH) {\n maxPPH = chart[label].livetest.averageBullPerHour\n bestChart = label\n }\n }\n if (bestChart == myChart) {\n return true\n }\n }\n else {\n return false\n }\n}\n", + "project": "Foundations", + "id": "e559fb7a-c1d9-4105-8848-ca7efc31305e", + "savedPayload": { + "position": { + "x": 31466.921326459204, + "y": 28923.853339460024 + }, + "targetPosition": { + "x": 31537.316835727306, + "y": 29368.313092727836 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "2cbecae5-eb2c-48ea-8ddf-a7612206b5a9", + "savedPayload": { + "position": { + "x": 31537.316835727306, + "y": 29368.313092727836 + }, + "targetPosition": { + "x": 31607.71234499541, + "y": 29812.77284599565 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "4c25d718-3d9f-4db2-8bd8-e9ab0236e0f4", + "savedPayload": { + "position": { + "x": 31607.71234499541, + "y": 29812.77284599565 + }, + "targetPosition": { + "x": 31678.10785426351, + "y": 30257.23259926346 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "227397cd-16b9-4c98-a71d-e8c7a83641ee", + "savedPayload": { + "position": { + "x": 31678.10785426351, + "y": 30257.23259926346 + }, + "targetPosition": { + "x": 31748.503363531614, + "y": 30701.692352531274 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "triggerOff": { + "type": "Trigger Off Event", + "name": "New Trigger Off Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "false", + "project": "Foundations", + "id": "89efa0e4-0b03-4c66-ba58-aa5e10a3cf89", + "savedPayload": { + "position": { + "x": 32806.51681765807, + "y": 29245.46176265637 + }, + "targetPosition": { + "x": 32542.013454126456, + "y": 29609.519410125096 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "73f18ef8-66fd-47fe-936b-80740fbdbec2", + "savedPayload": { + "position": { + "x": 32542.013454126456, + "y": 29609.519410125096 + }, + "targetPosition": { + "x": 32277.510090594842, + "y": 29973.577057593822 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "27f97996-0688-4f56-9738-e53bd3f66293", + "savedPayload": { + "position": { + "x": 32277.510090594842, + "y": 29973.577057593822 + }, + "targetPosition": { + "x": 32013.006727063228, + "y": 30337.634705062548 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "e753f1f3-23d4-4dfb-b3cf-30693d1e25cf", + "savedPayload": { + "position": { + "x": 32013.006727063228, + "y": 30337.634705062548 + }, + "targetPosition": { + "x": 31748.503363531614, + "y": 30701.692352531274 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "takePosition": { + "type": "Take Position Event", + "name": "New Take Position Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "376be240-b4da-407e-9089-b3feaf6a8181", + "savedPayload": { + "position": { + "x": 33526.34237660286, + "y": 30420.110315458864 + }, + "targetPosition": { + "x": 33081.88262333505, + "y": 30490.505824726966 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "1f39a2e4-5c28-4eb3-a7ae-c9885bf1e94b", + "savedPayload": { + "position": { + "x": 33081.88262333505, + "y": 30490.505824726966 + }, + "targetPosition": { + "x": 32637.42287006724, + "y": 30560.90133399507 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "ebc3bd96-9c50-4ce5-953f-b79366d68d2f", + "savedPayload": { + "position": { + "x": 32637.42287006724, + "y": 30560.90133399507 + }, + "targetPosition": { + "x": 32192.963116799427, + "y": 30631.29684326317 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "d0fc30f3-6bad-4bd0-a77c-3d1cf7bfddda", + "savedPayload": { + "position": { + "x": 32192.963116799427, + "y": 30631.29684326317 + }, + "targetPosition": { + "x": 31748.503363531614, + "y": 30701.692352531274 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "9834fb63-0002-40e3-a60c-08f508a7fec2", + "savedPayload": { + "position": { + "x": 31748.503363531614, + "y": 30701.692352531274 + }, + "targetPosition": { + "x": 31484, + "y": 31065.75 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openStage": { + "type": "Open Stage", + "name": "New Open Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "3278f85a-8a70-47cf-9c5b-294f5b931d64", + "savedPayload": { + "position": { + "x": 31636.009013274626, + "y": 30018.637649798515 + }, + "targetPosition": { + "x": 31667.367552254924, + "y": 30316.994218408996 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "619bba0f-2c77-47fc-8c84-8c957288e83f", + "savedPayload": { + "position": { + "x": 31667.367552254924, + "y": 30316.994218408996 + }, + "targetPosition": { + "x": 31698.72609123522, + "y": 30615.350787019477 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInQuotedAsset": { + "type": "Target Size In Quoted Asset", + "name": "New Target Size In Quoted Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value", + "project": "Foundations", + "id": "eb05203c-2d72-4c40-9771-945cb391fa03", + "savedPayload": { + "position": { + "x": 32184.136287860187, + "y": 30262.67963564399 + }, + "targetPosition": { + "x": 31941.431189547704, + "y": 30439.015211331734 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "71fa6368-f82e-4e9b-aad4-304dad8c8e20", + "savedPayload": { + "position": { + "x": 31941.431189547704, + "y": 30439.015211331734 + }, + "targetPosition": { + "x": 31698.72609123522, + "y": 30615.350787019477 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "f913a3a1-f400-47b4-b145-e5e864765c3f", + "savedPayload": { + "position": { + "x": 31820.056136796204, + "y": 30750.1014540443 + }, + "targetPosition": { + "x": 31619.316954888545, + "y": 30973.044901687517 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openExecution": { + "type": "Open Execution", + "name": "New Open Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [ + { + "type": "Market Buy Order", + "name": "New Market Buy Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "72b9251e-066f-45f0-94e0-0755e7bb60ac", + "savedPayload": { + "position": { + "x": 33442.595197393865, + "y": 30089.996504620394 + }, + "targetPosition": { + "x": 33199.89009908138, + "y": 30266.332080308137 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "2c399e28-9378-4ed4-8024-274a085f503e", + "savedPayload": { + "position": { + "x": 33199.89009908138, + "y": 30266.332080308137 + }, + "targetPosition": { + "x": 32957.18500076889, + "y": 30442.66765599588 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "d5558a99-2d8d-4908-9461-c0f44d179f8c", + "savedPayload": { + "position": { + "x": 32957.18500076889, + "y": 30442.66765599588 + }, + "targetPosition": { + "x": 32714.47990245641, + "y": 30619.003231683622 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "8eee44a9-9303-4d03-a943-91d61d5c08e1", + "savedPayload": { + "position": { + "x": 32714.47990245641, + "y": 30619.003231683622 + }, + "targetPosition": { + "x": 32471.774804143926, + "y": 30795.338807371365 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{ \n\"fillProbability\": 1\n}", + "project": "Foundations", + "id": "880ba459-e18a-47ba-ad85-394113b5bca6", + "savedPayload": { + "position": { + "x": 33025.912569385866, + "y": 30809.84941543051 + }, + "targetPosition": { + "x": 32745.838441436706, + "y": 30917.359800294103 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "f56736c3-23db-4a54-945b-4224e1dde862", + "savedPayload": { + "position": { + "x": 33293.96571602227, + "y": 31161.40178613958 + }, + "targetPosition": { + "x": 33019.90207872949, + "y": 31039.380793216842 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "5605c837-2580-4af6-9f60-de0daa52041e", + "savedPayload": { + "position": { + "x": 33019.90207872949, + "y": 31039.380793216842 + }, + "targetPosition": { + "x": 32745.838441436706, + "y": 30917.359800294103 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{ \n\"percentage\": 0.1\n}", + "project": "Foundations", + "id": "9f211e48-715f-4715-85b7-c86b3d8bb423", + "savedPayload": { + "position": { + "x": 32853.348826300295, + "y": 31197.433928243263 + }, + "targetPosition": { + "x": 32745.838441436706, + "y": 30917.359800294103 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "3fe7c25a-bf01-499e-bad7-52869299de44", + "savedPayload": { + "position": { + "x": 32745.838441436706, + "y": 30917.359800294103 + }, + "targetPosition": { + "x": 32471.774804143926, + "y": 30795.338807371365 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "765ae627-543c-4d56-b684-b33d4971689b", + "savedPayload": { + "position": { + "x": 32471.774804143926, + "y": 30795.338807371365 + }, + "targetPosition": { + "x": 32173.418235533445, + "y": 30826.697346351662 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Buy Order #1", + "id": "7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3" + } + } + } + ], + "marketSellOrders": [], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "c31137a1-5c78-4d7c-9aee-0d04a75d2d98", + "savedPayload": { + "position": { + "x": 32173.418235533445, + "y": 30826.697346351662 + }, + "targetPosition": { + "x": 31875.061666922964, + "y": 30858.05588533196 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "fef31e5c-55b1-42d3-8d3b-6a2db33d770c", + "savedPayload": { + "position": { + "x": 31912.761235108686, + "y": 31035.418408932845 + }, + "targetPosition": { + "x": 31619.316954888545, + "y": 30973.044901687517 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "82b7fb1f-d9b9-4e10-bc2f-1eb7dbbf1cb7", + "savedPayload": { + "position": { + "x": 31911.97543233282, + "y": 30926.692352531274 + }, + "targetPosition": { + "x": 31484, + "y": 31065.75 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "manageStage": { + "type": "Manage Stage", + "name": "New Manage Stage", + "project": "Foundations", + "managedStopLoss": { + "type": "Managed Stop Loss", + "name": "New Managed Stop Loss", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 - chart.at05min.livetest.averageTradeDown) / 100 )", + "project": "Foundations", + "id": "d64ca068-a6fb-4181-80e9-3e3b86c0fde1", + "savedPayload": { + "position": { + "x": 32931.36592046197, + "y": 30589.711693399924 + }, + "targetPosition": { + "x": 32792.30827299324, + "y": 31017.687125732744 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "name": "New Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "code": "chart.at15min.livetest.averageTradeDown > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01min.candle.close > ( portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.005 )", + "project": "Foundations", + "id": "26a3f782-5893-43f8-b3e8-6ebbb1f5471f", + "savedPayload": { + "position": { + "x": 33996.74336443919, + "y": 32355.34781159206 + }, + "targetPosition": { + "x": 33695.634591577706, + "y": 32020.93264012723 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "e520e3ba-ffc9-48ed-8919-2fa4ff2f1529", + "savedPayload": { + "position": { + "x": 33695.634591577706, + "y": 32020.93264012723 + }, + "targetPosition": { + "x": 33394.52581871622, + "y": 31686.5174686624 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "3625cb48-6f70-4e63-8752-49b6914938d9", + "savedPayload": { + "position": { + "x": 33394.52581871622, + "y": 31686.5174686624 + }, + "targetPosition": { + "x": 33093.41704585473, + "y": 31352.102297197573 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "44bd4205-3579-4f85-8c32-c6ae25264476", + "savedPayload": { + "position": { + "x": 33093.41704585473, + "y": 31352.102297197573 + }, + "targetPosition": { + "x": 32792.30827299324, + "y": 31017.687125732744 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "78227762-0b17-4343-8b15-5c016cf985a7", + "savedPayload": { + "position": { + "x": 32792.30827299324, + "y": 31017.687125732744 + }, + "targetPosition": { + "x": 32352.141852663033, + "y": 31111.247386600735 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "if ( ( portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995 ) > portfolioEngine.portfolioCurrent.position.stopLoss.value ) {\nportfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995\n}\nelse { portfolioEngine.portfolioCurrent.position.stopLoss.value }", + "project": "Foundations", + "id": "7c84853d-ccbf-478f-b4ff-cf5a45ae069d", + "savedPayload": { + "position": { + "x": 33672.64111365367, + "y": 30830.566603996762 + }, + "targetPosition": { + "x": 33232.47469332346, + "y": 30924.126864864753 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "05a7599f-6ff8-457d-aa64-a569171fbc4b", + "savedPayload": { + "position": { + "x": 33232.47469332346, + "y": 30924.126864864753 + }, + "targetPosition": { + "x": 32792.30827299324, + "y": 31017.687125732744 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "0afa7965-6fd9-4181-8b7a-102d7b0dfa12", + "savedPayload": { + "position": { + "x": 32352.141852663033, + "y": 31111.247386600735 + }, + "targetPosition": { + "x": 31911.97543233282, + "y": 31204.807647468726 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "managedTakeProfit": { + "type": "Managed Take Profit", + "name": "New Managed Take Profit", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 + ( chart.at05min.livetest.averageTradeUp ) ) / 100 )", + "project": "Foundations", + "id": "c0232ae5-5ed4-4eb5-bd31-a047aec0a2f9", + "savedPayload": { + "position": { + "x": 32815.30175091728, + "y": 32208.053161863212 + }, + "targetPosition": { + "x": 32514.192978055795, + "y": 31873.637990398383 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "1a963733-a158-4816-ac91-fe74a14c55ef", + "savedPayload": { + "position": { + "x": 32514.192978055795, + "y": 31873.637990398383 + }, + "targetPosition": { + "x": 32213.084205194307, + "y": 31539.222818933555 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "a34958f5-bfa6-40b0-bbbd-5f3df9d55ea1", + "savedPayload": { + "position": { + "x": 32213.084205194307, + "y": 31539.222818933555 + }, + "targetPosition": { + "x": 31911.97543233282, + "y": 31204.807647468726 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "fe6d88c4-077d-4c87-97fa-29e1e267b802", + "savedPayload": { + "position": { + "x": 31911.97543233282, + "y": 31204.807647468726 + }, + "targetPosition": { + "x": 31484, + "y": 31065.75 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeStage": { + "type": "Close Stage", + "name": "New Close Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "targetRate()\n\nfunction targetRate() {\n switch (portfolioEngine.portfolioCurrent.position.exitType.value) {\n case 'No Exit': {\n return portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value\n break\n }\n case 'Take Profit': {\n return portfolioEngine.portfolioCurrent.position.takeProfit.finalValue.value\n break\n }\n case 'Stop Loss': {\n return portfolioEngine.portfolioCurrent.position.stopLoss.finalValue.value\n break\n }\n }\n}", + "project": "Foundations", + "id": "797e0ff3-cbe6-433a-bde5-c8bcfd40bb61", + "savedPayload": { + "position": { + "x": 31705.14677274816, + "y": 32090.398130395122 + }, + "targetPosition": { + "x": 31504.407590840503, + "y": 31867.454682751904 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "2f098023-322f-450e-b7ac-f45c5ae63603", + "savedPayload": { + "position": { + "x": 31504.407590840503, + "y": 31867.454682751904 + }, + "targetPosition": { + "x": 31303.668408932845, + "y": 31644.511235108686 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInBaseAsset": { + "type": "Target Size In Base Asset", + "name": "New Target Size In Base Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value", + "project": "Foundations", + "id": "0fc86503-aa8c-4bf0-b0f6-d5f0e6a10578", + "savedPayload": { + "position": { + "x": 31118.25821230788, + "y": 32215.145144885777 + }, + "targetPosition": { + "x": 31210.963310620362, + "y": 31929.82818999723 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "1e9db7b7-c732-495e-9faf-f15049f39f9b", + "savedPayload": { + "position": { + "x": 31210.963310620362, + "y": 31929.82818999723 + }, + "targetPosition": { + "x": 31303.668408932845, + "y": 31644.511235108686 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "117f47a0-ac36-420f-8c7c-5bb9f7f40429", + "savedPayload": { + "position": { + "x": 31784.399212980523, + "y": 31430.47609123522 + }, + "targetPosition": { + "x": 31510.335575687743, + "y": 31308.455098312483 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeExecution": { + "type": "Close Execution", + "name": "New Close Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [], + "marketSellOrders": [ + { + "type": "Market Sell Order", + "name": "New Market Sell Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "d6e04edc-aed7-4897-8608-cbd73f692abb", + "savedPayload": { + "position": { + "x": 32309.753495379606, + "y": 33174.345197393865 + }, + "targetPosition": { + "x": 32133.417919691863, + "y": 32931.64009908138 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "71f33899-a72f-4fcb-a490-4d46351c5c9e", + "savedPayload": { + "position": { + "x": 32133.417919691863, + "y": 32931.64009908138 + }, + "targetPosition": { + "x": 31957.08234400412, + "y": 32688.93500076889 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "6f6bc5ab-e0d3-4879-b9ee-95111222a56b", + "savedPayload": { + "position": { + "x": 31957.08234400412, + "y": 32688.93500076889 + }, + "targetPosition": { + "x": 31780.746768316378, + "y": 32446.22990245641 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "8a036da7-3d50-4396-b333-d1a5a37f73ba", + "savedPayload": { + "position": { + "x": 31780.746768316378, + "y": 32446.22990245641 + }, + "targetPosition": { + "x": 31604.411192628635, + "y": 32203.524804143926 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{\n \"fillProbability\": 1\n}", + "project": "Foundations", + "id": "761f5041-0bf7-429e-a269-45447bf24555", + "savedPayload": { + "position": { + "x": 31589.90058456949, + "y": 32757.662569385866 + }, + "targetPosition": { + "x": 31482.390199705897, + "y": 32477.588441436706 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "3f958bc6-bb2d-4273-ac0e-2da85e56db28", + "savedPayload": { + "position": { + "x": 31238.34821386042, + "y": 33025.71571602227 + }, + "targetPosition": { + "x": 31360.369206783158, + "y": 32751.652078729487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "94c5520c-6837-4cd9-859b-6ae0ec0331fa", + "savedPayload": { + "position": { + "x": 31360.369206783158, + "y": 32751.652078729487 + }, + "targetPosition": { + "x": 31482.390199705897, + "y": 32477.588441436706 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{\n \"percentage\": 0.1\n}", + "project": "Foundations", + "id": "19480493-d73c-4200-82ea-490e1a873409", + "savedPayload": { + "position": { + "x": 31202.316071756737, + "y": 32585.0988263003 + }, + "targetPosition": { + "x": 31482.390199705897, + "y": 32477.588441436706 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "6c1aa73d-447e-4783-8809-58c2db841f50", + "savedPayload": { + "position": { + "x": 31482.390199705897, + "y": 32477.588441436706 + }, + "targetPosition": { + "x": 31604.411192628635, + "y": 32203.524804143926 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "519ed833-aac9-47fb-ae72-5564af27ac25", + "savedPayload": { + "position": { + "x": 31604.411192628635, + "y": 32203.524804143926 + }, + "targetPosition": { + "x": 31573.052653648338, + "y": 31905.168235533445 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Sell Order #1", + "id": "8e404329-d41f-41e0-ad5a-c84ee1fa2604" + } + } + } + ], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "f3865fff-3d3e-49f1-a9bb-391954c05fe6", + "savedPayload": { + "position": { + "x": 31573.052653648338, + "y": 31905.168235533445 + }, + "targetPosition": { + "x": 31541.69411466804, + "y": 31606.811666922964 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "6dea9019-98ad-4f84-9ab7-1487b8d44525", + "savedPayload": { + "position": { + "x": 31541.69411466804, + "y": 31606.811666922964 + }, + "targetPosition": { + "x": 31510.335575687743, + "y": 31308.455098312483 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "0a80b067-e38a-424c-be3a-18fcea027557", + "savedPayload": { + "position": { + "x": 31748.503363531614, + "y": 31429.807647468726 + }, + "targetPosition": { + "x": 31484, + "y": 31065.75 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "101f37f9-e72b-45ba-a59c-462a232de1eb", + "savedPayload": { + "position": { + "x": 31484, + "y": 31065.75 + }, + "targetPosition": { + "x": 31034, + "y": 31065.75 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Portfolio Strategy", + "name": "10-min", + "project": "Foundations", + "triggerStage": { + "type": "Trigger Stage", + "name": "New Trigger Stage", + "project": "Foundations", + "triggerOn": { + "type": "Trigger On Event", + "name": "New Trigger On Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Livetest Chart Comparison", + "code": "chart.at01hs.candle.close > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "isBestOption()\n\nfunction isBestOption() {\n\n const TIME_FRAME_LABEL = TS.projects.foundations.globals.timeFrames.marketTimeFramesArray().concat(TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray())\n \n for (k = 0; k < TIME_FRAME_LABEL.length; k++) {\n TIME_FRAME_LABEL[k] = 'at' + TIME_FRAME_LABEL[k][1].replace(/'|-/g,'')\n }\n\n const validNow = []\n validNow.length = 0\n\n myChart = \"at10min\"\n\n for (i = 0; i < TIME_FRAME_LABEL.length; i++) {\n\n label = TIME_FRAME_LABEL[i]\n\n // prepareLivetest = chart.at24hs.livetest.begin\n // prepareLivetest = chart.at12hs.livetest.begin\n // prepareLivetest = chart.at08hs.livetest.begin\n // prepareLivetest = chart.at06hs.livetest.begin\n // prepareLivetest = chart.at04hs.livetest.begin\n // prepareLivetest = chart.at03hs.livetest.begin\n // prepareLivetest = chart.at02hs.livetest.begin\n // prepareLivetest = chart.at01hs.livetest.begin\n // prepareLivetest = chart.at45min.livetest.begin\n // prepareLivetest = chart.at40min.livetest.begin\n // prepareLivetest = chart.at30min.livetest.begin\n // prepareLivetest = chart.at20min.livetest.begin\n // prepareLivetest = chart.at15min.livetest.begin\n // prepareLivetest = chart.at10min.livetest.begin\n // prepareLivetest = chart.at05min.livetest.begin\n // prepareLivetest = chart.at04min.livetest.begin\n // prepareLivetest = chart.at03min.livetest.begin\n // prepareLivetest = chart.at02min.livetest.begin\n // prepareLivetest = chart.at01min.livetest.begin\n \n\n if (chart[label].livetest.positionBullish !== undefined && chart[label].livetest.positionTimestamp !== undefined) {\n if (chart[label].livetest.positionBullish === 1 && chart[label].livetest.positionTimestamp == chart.at01min.candle.end) {\n validNow.push(label)\n }\n }\n else { \n break \n }\n }\n if (validNow.length === 1) {\n if (validNow[0] === myChart) {\n return true\n }\n }\n else if (validNow.length > 1) { \n \n maxPPH = 9999\n bestChart = \"Not defined\"\n\n for (j = 0; j < validNow.length; j++) {\n\n label = validNow[j]\n\n if (chart[label].livetest.averageBullPerHour < maxPPH) {\n maxPPH = chart[label].livetest.averageBullPerHour\n bestChart = label\n }\n }\n if (bestChart == myChart) {\n return true\n }\n }\n else {\n return false\n }\n}\n", + "project": "Foundations", + "id": "eb5dbd9d-0954-47bc-b9ba-0e20f671b56e", + "savedPayload": { + "position": { + "x": 32138.93716363363, + "y": 29180.47653342897 + }, + "targetPosition": { + "x": 32061.202604068796, + "y": 29623.711615805423 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "03b2a8d6-a735-44d2-bdc5-2743a1d91881", + "savedPayload": { + "position": { + "x": 32061.202604068796, + "y": 29623.711615805423 + }, + "targetPosition": { + "x": 31983.468044503963, + "y": 30066.946698181877 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "0b7a3ec2-1713-4074-a3b9-f85348cbc7cd", + "savedPayload": { + "position": { + "x": 31983.468044503963, + "y": 30066.946698181877 + }, + "targetPosition": { + "x": 31905.73348493913, + "y": 30510.18178055833 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "703620a9-1e6f-4dc3-9a71-6b54be02eda1", + "savedPayload": { + "position": { + "x": 31905.73348493913, + "y": 30510.18178055833 + }, + "targetPosition": { + "x": 31827.998925374297, + "y": 30953.416862934784 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "triggerOff": { + "type": "Trigger Off Event", + "name": "New Trigger Off Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "false", + "project": "Foundations", + "id": "0c9dae34-230f-4ddc-9489-794602e6ba06", + "savedPayload": { + "position": { + "x": 33301.52359181034, + "y": 29919.62527010549 + }, + "targetPosition": { + "x": 32933.14242520133, + "y": 30178.073168312814 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "e853e7ce-3276-4602-a532-d6014953ca63", + "savedPayload": { + "position": { + "x": 32933.14242520133, + "y": 30178.073168312814 + }, + "targetPosition": { + "x": 32564.76125859232, + "y": 30436.521066520138 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "6f88e255-c7a3-4c87-8523-ffd3b1d99597", + "savedPayload": { + "position": { + "x": 32564.76125859232, + "y": 30436.521066520138 + }, + "targetPosition": { + "x": 32196.38009198331, + "y": 30694.96896472746 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "45d8edc7-19eb-4b92-b3fa-24a333963ea0", + "savedPayload": { + "position": { + "x": 32196.38009198331, + "y": 30694.96896472746 + }, + "targetPosition": { + "x": 31827.998925374297, + "y": 30953.416862934784 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "takePosition": { + "type": "Take Position Event", + "name": "New Take Position Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "0ec24de3-2c27-4af0-b0a0-dbd0bdfa5c0a", + "savedPayload": { + "position": { + "x": 33600.939254880104, + "y": 31264.355101194116 + }, + "targetPosition": { + "x": 33157.704172503654, + "y": 31186.620541629283 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "61111774-5ba0-4808-93ed-473d3bec2ac8", + "savedPayload": { + "position": { + "x": 33157.704172503654, + "y": 31186.620541629283 + }, + "targetPosition": { + "x": 32714.469090127204, + "y": 31108.88598206445 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "75a4ddc7-68d6-4581-aece-2406985387af", + "savedPayload": { + "position": { + "x": 32714.469090127204, + "y": 31108.88598206445 + }, + "targetPosition": { + "x": 32271.23400775075, + "y": 31031.151422499617 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "07168366-1099-45ba-bd8d-ae5618068247", + "savedPayload": { + "position": { + "x": 32271.23400775075, + "y": 31031.151422499617 + }, + "targetPosition": { + "x": 31827.998925374297, + "y": 30953.416862934784 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "a2d6f22e-a476-4ba4-9e56-2eed26423d97", + "savedPayload": { + "position": { + "x": 31827.998925374297, + "y": 30953.416862934784 + }, + "targetPosition": { + "x": 31459.617758765286, + "y": 31211.864761142107 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openStage": { + "type": "Open Stage", + "name": "New Open Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "aacfc19f-b994-443a-b7e3-045852f26880", + "savedPayload": { + "position": { + "x": 32188.50664366669, + "y": 30507.852143268872 + }, + "targetPosition": { + "x": 32034.231503060088, + "y": 30765.144158284522 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "996a905d-2d41-4b42-9ca6-b000f5d4bfcb", + "savedPayload": { + "position": { + "x": 32034.231503060088, + "y": 30765.144158284522 + }, + "targetPosition": { + "x": 31879.956362453486, + "y": 31022.43617330017 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInQuotedAsset": { + "type": "Target Size In Quoted Asset", + "name": "New Target Size In Quoted Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value", + "project": "Foundations", + "id": "65e84e0a-03e9-41bb-950d-4d740c20fec6", + "savedPayload": { + "position": { + "x": 32479.874345448967, + "y": 31032.356540159984 + }, + "targetPosition": { + "x": 32179.915353951226, + "y": 31027.396356730078 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "f89207f3-7f7a-4b0d-b938-5dde41264997", + "savedPayload": { + "position": { + "x": 32179.915353951226, + "y": 31027.396356730078 + }, + "targetPosition": { + "x": 31879.956362453486, + "y": 31022.43617330017 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "68a488a8-6f2b-45d7-827b-8516ab6d4bc7", + "savedPayload": { + "position": { + "x": 31879.956362453486, + "y": 31022.43617330017 + }, + "targetPosition": { + "x": 31617.70416400793, + "y": 31168.12002419131 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openExecution": { + "type": "Open Execution", + "name": "New Open Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [ + { + "type": "Market Buy Order", + "name": "New Market Buy Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "6042f088-77a5-4aca-ac4c-880fb2939622", + "savedPayload": { + "position": { + "x": 33589.416175045844, + "y": 31650.78617973074 + }, + "targetPosition": { + "x": 33289.457183548104, + "y": 31645.825996300835 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "f87ed40d-f2e4-4c33-ba26-25b5ada4468f", + "savedPayload": { + "position": { + "x": 33289.457183548104, + "y": 31645.825996300835 + }, + "targetPosition": { + "x": 32989.49819205036, + "y": 31640.86581287093 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "53e4dad0-e67c-4461-a595-1b93ed45a039", + "savedPayload": { + "position": { + "x": 32989.49819205036, + "y": 31640.86581287093 + }, + "targetPosition": { + "x": 32689.53920055262, + "y": 31635.905629441022 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "83c5ad60-c46d-4fde-ab7e-ef18417fd208", + "savedPayload": { + "position": { + "x": 32689.53920055262, + "y": 31635.905629441022 + }, + "targetPosition": { + "x": 32389.58020905488, + "y": 31630.945446011116 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{ \n\"fillProbability\": 1\n}", + "project": "Foundations", + "id": "a0e666ca-dd11-41e3-9c8c-e71f6e5c9e1b", + "savedPayload": { + "position": { + "x": 32823.718406722444, + "y": 31975.62391348411 + }, + "targetPosition": { + "x": 32535.264059946017, + "y": 31893.19764445667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "af3237ba-bf23-4a16-9ba6-1078b86a5f95", + "savedPayload": { + "position": { + "x": 32826.6317617283, + "y": 32417.702041347784 + }, + "targetPosition": { + "x": 32680.947910837156, + "y": 32155.449842902228 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "93307e94-22e7-48b0-a397-9fd49bf5d203", + "savedPayload": { + "position": { + "x": 32680.947910837156, + "y": 32155.449842902228 + }, + "targetPosition": { + "x": 32535.264059946017, + "y": 31893.19764445667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{ \n\"percentage\": 0.1\n}", + "project": "Foundations", + "id": "e703101a-e227-48c3-b1d6-7de57ee47994", + "savedPayload": { + "position": { + "x": 32452.83779091858, + "y": 32181.6519912331 + }, + "targetPosition": { + "x": 32535.264059946017, + "y": 31893.19764445667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "5abdaeca-dd97-4334-b642-c78b36661581", + "savedPayload": { + "position": { + "x": 32535.264059946017, + "y": 31893.19764445667 + }, + "targetPosition": { + "x": 32389.58020905488, + "y": 31630.945446011116 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "9640b04d-1b1b-4952-85cc-8225d4227b1d", + "savedPayload": { + "position": { + "x": 32389.58020905488, + "y": 31630.945446011116 + }, + "targetPosition": { + "x": 32132.28819403923, + "y": 31476.670305404514 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Buy Order #1", + "id": "7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3" + } + } + } + ], + "marketSellOrders": [], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "029fdb9b-58c7-4804-81b5-e38aed4101e2", + "savedPayload": { + "position": { + "x": 32132.28819403923, + "y": 31476.670305404514 + }, + "targetPosition": { + "x": 31874.99617902358, + "y": 31322.395164797912 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "7d154f69-fa47-48ab-a7d0-d06e8708f76c", + "savedPayload": { + "position": { + "x": 31874.99617902358, + "y": 31322.395164797912 + }, + "targetPosition": { + "x": 31617.70416400793, + "y": 31168.12002419131 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "9f534e61-7512-4ad8-b31a-e79b7ad8d786", + "savedPayload": { + "position": { + "x": 31909.556246011896, + "y": 31219.30503628697 + }, + "targetPosition": { + "x": 31459.617758765286, + "y": 31211.864761142107 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "manageStage": { + "type": "Manage Stage", + "name": "New Manage Stage", + "project": "Foundations", + "managedStopLoss": { + "type": "Managed Stop Loss", + "name": "New Managed Stop Loss", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 - chart.at10min.livetest.averageTradeDown) / 100 )", + "project": "Foundations", + "id": "374d1212-dd65-4724-b26d-76b15ffad5cd", + "savedPayload": { + "position": { + "x": 32983.13078686227, + "y": 31231.57846916873 + }, + "targetPosition": { + "x": 32712.644270584904, + "y": 31591.213067771445 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "name": "New Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "code": "chart.at15min.livetest.averageTradeDown > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01min.candle.close > ( portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.005 )", + "project": "Foundations", + "id": "d1cb541f-7801-4722-8fbb-3a466df2c3f5", + "savedPayload": { + "position": { + "x": 33417.48203190927, + "y": 33247.47504288627 + }, + "targetPosition": { + "x": 33241.27259157818, + "y": 32833.409549107564 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "93ede170-a590-48b9-bd7e-ef5acfdcf00a", + "savedPayload": { + "position": { + "x": 33241.27259157818, + "y": 32833.409549107564 + }, + "targetPosition": { + "x": 33065.063151247086, + "y": 32419.34405532886 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "28902df0-9b18-4b1f-94c7-d74a976c6aa4", + "savedPayload": { + "position": { + "x": 33065.063151247086, + "y": 32419.34405532886 + }, + "targetPosition": { + "x": 32888.853710915995, + "y": 32005.278561550153 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "90ace55d-570e-43cd-868e-62dd3fd45dfd", + "savedPayload": { + "position": { + "x": 32888.853710915995, + "y": 32005.278561550153 + }, + "targetPosition": { + "x": 32712.644270584904, + "y": 31591.213067771445 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "4eaee1ba-7e19-4066-971e-3d213e24760a", + "savedPayload": { + "position": { + "x": 32712.644270584904, + "y": 31591.213067771445 + }, + "targetPosition": { + "x": 32265.948313976452, + "y": 31536.782172595456 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "if ( ( portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995 ) > portfolioEngine.portfolioCurrent.position.stopLoss.value ) {\nportfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995\n}\nelse { portfolioEngine.portfolioCurrent.position.stopLoss.value }", + "project": "Foundations", + "id": "ba800e9d-d865-463d-9a2c-9cedc2921db8", + "savedPayload": { + "position": { + "x": 33606.036183801814, + "y": 31700.074858123422 + }, + "targetPosition": { + "x": 33159.34022719336, + "y": 31645.643962947433 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "e2567563-632e-4a2c-b00f-05067d8e19ae", + "savedPayload": { + "position": { + "x": 33159.34022719336, + "y": 31645.643962947433 + }, + "targetPosition": { + "x": 32712.644270584904, + "y": 31591.213067771445 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "69351239-3484-4ff9-be91-a01e3521d8bd", + "savedPayload": { + "position": { + "x": 32265.948313976452, + "y": 31536.782172595456 + }, + "targetPosition": { + "x": 31819.252357368, + "y": 31482.351277419468 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "managedTakeProfit": { + "type": "Managed Take Profit", + "name": "New Managed Take Profit", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 + ( chart.at10min.livetest.averageTradeUp ) ) / 100 )", + "project": "Foundations", + "id": "20641135-0e8c-4004-9bfd-6818aac39a8c", + "savedPayload": { + "position": { + "x": 32347.880678361274, + "y": 32724.54775875559 + }, + "targetPosition": { + "x": 32171.671238030183, + "y": 32310.482264976883 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "97da6d6c-3f3c-4f0a-8cce-c5d65e9073da", + "savedPayload": { + "position": { + "x": 32171.671238030183, + "y": 32310.482264976883 + }, + "targetPosition": { + "x": 31995.461797699092, + "y": 31896.416771198175 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "93bb52ef-e1e1-4491-8350-4d686c7cbf3f", + "savedPayload": { + "position": { + "x": 31995.461797699092, + "y": 31896.416771198175 + }, + "targetPosition": { + "x": 31819.252357368, + "y": 31482.351277419468 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "cd3e05f9-6555-4d6a-bc5b-57183872dd07", + "savedPayload": { + "position": { + "x": 31819.252357368, + "y": 31482.351277419468 + }, + "targetPosition": { + "x": 31459.617758765286, + "y": 31211.864761142107 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeStage": { + "type": "Close Stage", + "name": "New Close Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "targetRate()\n\nfunction targetRate() {\n switch (portfolioEngine.portfolioCurrent.position.exitType.value) {\n case 'No Exit': {\n return portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value\n break\n }\n case 'Take Profit': {\n return portfolioEngine.portfolioCurrent.position.takeProfit.finalValue.value\n break\n }\n case 'Stop Loss': {\n return portfolioEngine.portfolioCurrent.position.stopLoss.finalValue.value\n break\n }\n }\n}", + "project": "Foundations", + "id": "2be5f43f-4020-4eae-be3a-6f09e68ad94e", + "savedPayload": { + "position": { + "x": 31571.52177274816, + "y": 32348.081736115244 + }, + "targetPosition": { + "x": 31370.782590840503, + "y": 32125.138288472026 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "e8256562-ddd1-4f93-b7f1-3855c6d2b174", + "savedPayload": { + "position": { + "x": 31370.782590840503, + "y": 32125.138288472026 + }, + "targetPosition": { + "x": 31170.043408932845, + "y": 31902.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInBaseAsset": { + "type": "Target Size In Base Asset", + "name": "New Target Size In Base Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value", + "project": "Foundations", + "id": "c6cc89e2-c545-4e9d-8159-6abe07e831bc", + "savedPayload": { + "position": { + "x": 30984.63321230788, + "y": 32472.8287506059 + }, + "targetPosition": { + "x": 31077.338310620362, + "y": 32187.511795717353 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "5d4b3461-72f4-483b-a8e6-a348e853592e", + "savedPayload": { + "position": { + "x": 31077.338310620362, + "y": 32187.511795717353 + }, + "targetPosition": { + "x": 31170.043408932845, + "y": 31902.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "dab225fc-e1ad-4909-b362-932152863e6a", + "savedPayload": { + "position": { + "x": 31170.043408932845, + "y": 31902.194840828808 + }, + "targetPosition": { + "x": 31107.669901687517, + "y": 31608.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeExecution": { + "type": "Close Execution", + "name": "New Close Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [], + "marketSellOrders": [ + { + "type": "Market Sell Order", + "name": "New Market Sell Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "4ba618eb-ad44-4529-91bb-9f54b3340160", + "savedPayload": { + "position": { + "x": 30068.019165507932, + "y": 33352.23592588583 + }, + "targetPosition": { + "x": 30160.724263820415, + "y": 33066.91897099728 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "9bf9743d-ed19-460d-b527-2b3462eef643", + "savedPayload": { + "position": { + "x": 30160.724263820415, + "y": 33066.91897099728 + }, + "targetPosition": { + "x": 30253.429362132898, + "y": 32781.602016108736 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "4e81a243-0084-4489-93f1-fe7f271f5ad1", + "savedPayload": { + "position": { + "x": 30253.429362132898, + "y": 32781.602016108736 + }, + "targetPosition": { + "x": 30346.13446044538, + "y": 32496.285061220187 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "440f5296-99a2-43c4-a460-ff61c455b6a4", + "savedPayload": { + "position": { + "x": 30346.13446044538, + "y": 32496.285061220187 + }, + "targetPosition": { + "x": 30438.839558757863, + "y": 32210.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{\n \"fillProbability\": 1\n}", + "project": "Foundations", + "id": "d97dfc45-042c-4926-940e-4a49f969fe72", + "savedPayload": { + "position": { + "x": 29982.003568033215, + "y": 32524.942783960596 + }, + "targetPosition": { + "x": 30145.395278537722, + "y": 32273.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "b4d22e99-5847-4fd5-9540-fd34803e041e", + "savedPayload": { + "position": { + "x": 29558.50671809744, + "y": 32398.088628067624 + }, + "targetPosition": { + "x": 29851.95099831758, + "y": 32335.715120822297 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "e6bdd40a-bece-4c6f-99c9-413979dde85a", + "savedPayload": { + "position": { + "x": 29851.95099831758, + "y": 32335.715120822297 + }, + "targetPosition": { + "x": 30145.395278537722, + "y": 32273.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{\n \"percentage\": 0.1\n}", + "project": "Foundations", + "id": "e4ef149b-e24b-42b9-9651-1fff68fb5f36", + "savedPayload": { + "position": { + "x": 29893.794108154096, + "y": 32109.949903072462 + }, + "targetPosition": { + "x": 30145.395278537722, + "y": 32273.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "78fe27fc-07a5-472b-9a91-7c7b80fe5700", + "savedPayload": { + "position": { + "x": 30145.395278537722, + "y": 32273.34161357697 + }, + "targetPosition": { + "x": 30438.839558757863, + "y": 32210.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "c4cee388-cbbd-43c8-a582-6518d906ca3e", + "savedPayload": { + "position": { + "x": 30438.839558757863, + "y": 32210.968106331642 + }, + "targetPosition": { + "x": 30661.78300640108, + "y": 32010.228924423984 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Sell Order #1", + "id": "8e404329-d41f-41e0-ad5a-c84ee1fa2604" + } + } + } + ], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "f83c544c-164b-40d3-bd37-b4b01642d918", + "savedPayload": { + "position": { + "x": 30661.78300640108, + "y": 32010.228924423984 + }, + "targetPosition": { + "x": 30884.7264540443, + "y": 31809.489742516325 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "914e9552-e804-478a-b2f2-ba44f5e8efc8", + "savedPayload": { + "position": { + "x": 30884.7264540443, + "y": 31809.489742516325 + }, + "targetPosition": { + "x": 31107.669901687517, + "y": 31608.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "95a3372a-3f55-43f3-88e9-13785f15ea0e", + "savedPayload": { + "position": { + "x": 31591.580275588294, + "y": 31642.08086283257 + }, + "targetPosition": { + "x": 31459.617758765286, + "y": 31211.864761142107 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "74ab215e-3669-4a26-954d-c670220bbe05", + "savedPayload": { + "position": { + "x": 31459.617758765286, + "y": 31211.864761142107 + }, + "targetPosition": { + "x": 31034, + "y": 31065.75 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Portfolio Strategy", + "name": "15-min", + "project": "Foundations", + "triggerStage": { + "type": "Trigger Stage", + "name": "New Trigger Stage", + "project": "Foundations", + "triggerOn": { + "type": "Trigger On Event", + "name": "New Trigger On Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Livetest Chart Comparison", + "code": "chart.at01hs.candle.close > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "isBestOption()\n\nfunction isBestOption() {\n\n const TIME_FRAME_LABEL = TS.projects.foundations.globals.timeFrames.marketTimeFramesArray().concat(TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray())\n \n for (k = 0; k < TIME_FRAME_LABEL.length; k++) {\n TIME_FRAME_LABEL[k] = 'at' + TIME_FRAME_LABEL[k][1].replace(/'|-/g,'')\n }\n\n const validNow = []\n validNow.length = 0\n\n myChart = \"at15min\"\n\n for (i = 0; i < TIME_FRAME_LABEL.length; i++) {\n\n label = TIME_FRAME_LABEL[i]\n\n // prepareLivetest = chart.at24hs.livetest.begin\n // prepareLivetest = chart.at12hs.livetest.begin\n // prepareLivetest = chart.at08hs.livetest.begin\n // prepareLivetest = chart.at06hs.livetest.begin\n // prepareLivetest = chart.at04hs.livetest.begin\n // prepareLivetest = chart.at03hs.livetest.begin\n // prepareLivetest = chart.at02hs.livetest.begin\n // prepareLivetest = chart.at01hs.livetest.begin\n // prepareLivetest = chart.at45min.livetest.begin\n // prepareLivetest = chart.at40min.livetest.begin\n // prepareLivetest = chart.at30min.livetest.begin\n // prepareLivetest = chart.at20min.livetest.begin\n // prepareLivetest = chart.at15min.livetest.begin\n // prepareLivetest = chart.at10min.livetest.begin\n // prepareLivetest = chart.at05min.livetest.begin\n // prepareLivetest = chart.at04min.livetest.begin\n // prepareLivetest = chart.at03min.livetest.begin\n // prepareLivetest = chart.at02min.livetest.begin\n // prepareLivetest = chart.at01min.livetest.begin\n \n\n if (chart[label].livetest.positionBullish !== undefined && chart[label].livetest.positionTimestamp !== undefined) {\n if (chart[label].livetest.positionBullish === 1 && chart[label].livetest.positionTimestamp == chart.at01min.candle.end) {\n validNow.push(label)\n }\n }\n else { \n break \n }\n }\n if (validNow.length === 1) {\n if (validNow[0] === myChart) {\n return true\n }\n }\n else if (validNow.length > 1) { \n \n maxPPH = 9999\n bestChart = \"Not defined\"\n\n for (j = 0; j < validNow.length; j++) {\n\n label = validNow[j]\n\n if (chart[label].livetest.averageBullPerHour < maxPPH) {\n maxPPH = chart[label].livetest.averageBullPerHour\n bestChart = label\n }\n }\n if (bestChart == myChart) {\n return true\n }\n }\n else {\n return false\n }\n}\n", + "project": "Foundations", + "id": "a532ae8d-f063-4a69-826d-a23db9af6fb1", + "savedPayload": { + "position": { + "x": 32691.215914261775, + "y": 29641.398360532763 + }, + "targetPosition": { + "x": 32473.77503156882, + "y": 30035.377373341453 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "4581de4d-e566-4327-8332-43d306dea12b", + "savedPayload": { + "position": { + "x": 32473.77503156882, + "y": 30035.377373341453 + }, + "targetPosition": { + "x": 32256.334148875867, + "y": 30429.356386150142 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "f5f37063-6efa-48ee-91c3-5850a8d154e7", + "savedPayload": { + "position": { + "x": 32256.334148875867, + "y": 30429.356386150142 + }, + "targetPosition": { + "x": 32038.893266182913, + "y": 30823.335398958832 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "b13bb3e3-efad-45bb-b2af-017d127f6989", + "savedPayload": { + "position": { + "x": 32038.893266182913, + "y": 30823.335398958832 + }, + "targetPosition": { + "x": 31821.45238348996, + "y": 31217.314411767522 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "triggerOff": { + "type": "Trigger Off Event", + "name": "New Trigger Off Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "false", + "project": "Foundations", + "id": "9a5ef7c3-3b26-432b-ab26-d4ace2814868", + "savedPayload": { + "position": { + "x": 33550.80900053628, + "y": 30717.9891759962 + }, + "targetPosition": { + "x": 33118.469846274704, + "y": 30842.82048493903 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "f0580251-08b9-4c47-9766-7aa9f1b63f42", + "savedPayload": { + "position": { + "x": 33118.469846274704, + "y": 30842.82048493903 + }, + "targetPosition": { + "x": 32686.130692013125, + "y": 30967.65179388186 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "497cab94-7a53-456e-b533-d9ca5c81b1f8", + "savedPayload": { + "position": { + "x": 32686.130692013125, + "y": 30967.65179388186 + }, + "targetPosition": { + "x": 32253.791537751542, + "y": 31092.48310282469 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "14afaee3-77e9-46cc-8064-5fb7ca9309ca", + "savedPayload": { + "position": { + "x": 32253.791537751542, + "y": 31092.48310282469 + }, + "targetPosition": { + "x": 31821.45238348996, + "y": 31217.314411767522 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "takePosition": { + "type": "Take Position Event", + "name": "New Take Position Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "55042f2c-2d95-4942-b16b-ecced5fc2da6", + "savedPayload": { + "position": { + "x": 33397.36843472472, + "y": 32087.077942539338 + }, + "targetPosition": { + "x": 33003.38942191603, + "y": 31869.637059846384 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "6ce976b0-dba9-491a-a9ca-a6399683e564", + "savedPayload": { + "position": { + "x": 33003.38942191603, + "y": 31869.637059846384 + }, + "targetPosition": { + "x": 32609.41040910734, + "y": 31652.19617715343 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "ee1cc464-dce2-4293-844e-9608ba2c6337", + "savedPayload": { + "position": { + "x": 32609.41040910734, + "y": 31652.19617715343 + }, + "targetPosition": { + "x": 32215.43139629865, + "y": 31434.755294460476 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "f405b072-101d-4db6-8384-29fdbc84cc56", + "savedPayload": { + "position": { + "x": 32215.43139629865, + "y": 31434.755294460476 + }, + "targetPosition": { + "x": 31821.45238348996, + "y": 31217.314411767522 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "35ccef55-9f6b-4345-86db-35c7c165bf22", + "savedPayload": { + "position": { + "x": 31821.45238348996, + "y": 31217.314411767522 + }, + "targetPosition": { + "x": 31389.113229228376, + "y": 31342.145720710352 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openStage": { + "type": "Open Stage", + "name": "New Open Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "43e91334-edf2-44df-a582-d95af2148a36", + "savedPayload": { + "position": { + "x": 31225.384013274626, + "y": 30334.321255518636 + }, + "targetPosition": { + "x": 31256.742552254924, + "y": 30632.677824129118 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "af4d69d5-8be6-4555-ac86-c494419c2399", + "savedPayload": { + "position": { + "x": 31256.742552254924, + "y": 30632.677824129118 + }, + "targetPosition": { + "x": 31288.10109123522, + "y": 30931.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInQuotedAsset": { + "type": "Target Size In Quoted Asset", + "name": "New Target Size In Quoted Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value", + "project": "Foundations", + "id": "3fd909bb-4629-408e-a5f4-02cf60ce79c3", + "savedPayload": { + "position": { + "x": 31773.511287860187, + "y": 30578.363241364113 + }, + "targetPosition": { + "x": 31530.806189547704, + "y": 30754.698817051856 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "a542c189-4713-4148-ae1c-be10b49cb123", + "savedPayload": { + "position": { + "x": 31530.806189547704, + "y": 30754.698817051856 + }, + "targetPosition": { + "x": 31288.10109123522, + "y": 30931.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "557a3fa2-9ee5-4161-a9de-9affb6422330", + "savedPayload": { + "position": { + "x": 31288.10109123522, + "y": 30931.0343927396 + }, + "targetPosition": { + "x": 31166.080098312483, + "y": 31205.09803003238 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openExecution": { + "type": "Open Execution", + "name": "New Open Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [ + { + "type": "Market Buy Order", + "name": "New Market Buy Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "241346e4-61a7-4764-88b4-dae3834ec10a", + "savedPayload": { + "position": { + "x": 33031.970197393865, + "y": 30405.680110340516 + }, + "targetPosition": { + "x": 32789.26509908138, + "y": 30582.01568602826 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "1164a699-83a2-481b-9989-9692982617ed", + "savedPayload": { + "position": { + "x": 32789.26509908138, + "y": 30582.01568602826 + }, + "targetPosition": { + "x": 32546.56000076889, + "y": 30758.351261716 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "93cb80cb-ce13-42a1-b502-dadfe806d6e1", + "savedPayload": { + "position": { + "x": 32546.56000076889, + "y": 30758.351261716 + }, + "targetPosition": { + "x": 32303.85490245641, + "y": 30934.686837403744 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "efd68101-a4c1-4a1e-8902-2e43562777cc", + "savedPayload": { + "position": { + "x": 32303.85490245641, + "y": 30934.686837403744 + }, + "targetPosition": { + "x": 32061.149804143926, + "y": 31111.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{ \n\"fillProbability\": 1\n}", + "project": "Foundations", + "id": "6edb9bcb-03d9-4e38-96ea-008a6fb64742", + "savedPayload": { + "position": { + "x": 32615.287569385866, + "y": 31125.533021150633 + }, + "targetPosition": { + "x": 32335.213441436706, + "y": 31233.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "7cf6d198-4713-48c5-908a-54dd990f0bd7", + "savedPayload": { + "position": { + "x": 32883.34071602227, + "y": 31477.085391859702 + }, + "targetPosition": { + "x": 32609.277078729487, + "y": 31355.064398936964 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "3bf2e0d8-b5d0-4fd5-b7a9-0a0bc583c37d", + "savedPayload": { + "position": { + "x": 32609.277078729487, + "y": 31355.064398936964 + }, + "targetPosition": { + "x": 32335.213441436706, + "y": 31233.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{ \n\"percentage\": 0.1\n}", + "project": "Foundations", + "id": "a0d95ee2-145e-4978-8a51-e53ba1e696da", + "savedPayload": { + "position": { + "x": 32442.723826300295, + "y": 31513.117533963385 + }, + "targetPosition": { + "x": 32335.213441436706, + "y": 31233.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "efef2e61-de66-4345-8b9e-49a791732aca", + "savedPayload": { + "position": { + "x": 32335.213441436706, + "y": 31233.043406014225 + }, + "targetPosition": { + "x": 32061.149804143926, + "y": 31111.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "62f1ed2b-4901-4653-9728-bfd311c054fd", + "savedPayload": { + "position": { + "x": 32061.149804143926, + "y": 31111.022413091487 + }, + "targetPosition": { + "x": 31762.793235533445, + "y": 31142.380952071784 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Buy Order #1", + "id": "7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3" + } + } + } + ], + "marketSellOrders": [], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "800a954f-0e85-4c01-9d47-23c1abd2b07e", + "savedPayload": { + "position": { + "x": 31762.793235533445, + "y": 31142.380952071784 + }, + "targetPosition": { + "x": 31464.436666922964, + "y": 31173.73949105208 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "a59f2769-014a-49ce-afed-7e2cda4f1d5d", + "savedPayload": { + "position": { + "x": 31464.436666922964, + "y": 31173.73949105208 + }, + "targetPosition": { + "x": 31166.080098312483, + "y": 31205.09803003238 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "224756d6-79be-4d45-af88-fec188987d4d", + "savedPayload": { + "position": { + "x": 31812.25695478065, + "y": 31495.277649209092 + }, + "targetPosition": { + "x": 31389.113229228376, + "y": 31342.145720710352 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "manageStage": { + "type": "Manage Stage", + "name": "New Manage Stage", + "project": "Foundations", + "managedStopLoss": { + "type": "Managed Stop Loss", + "name": "New Managed Stop Loss", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 - chart.at15min.livetest.averageTradeDown) / 100 )", + "project": "Foundations", + "id": "66f85bb8-29f7-48cc-b621-e84ca8ea06cf", + "savedPayload": { + "position": { + "x": 32823.67708862575, + "y": 31855.475157209294 + }, + "targetPosition": { + "x": 32451.07311460914, + "y": 32107.796933017547 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "name": "New Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "code": "chart.at15min.livetest.averageTradeDown > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01min.candle.close > ( portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.005 )", + "project": "Foundations", + "id": "4c69f92a-ce86-4ef6-9aef-14e0d373c60d", + "savedPayload": { + "position": { + "x": 32579.93343768772, + "y": 33903.178512831735 + }, + "targetPosition": { + "x": 32547.718356918074, + "y": 33454.33311787819 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "6212bcd3-52f4-4f94-a1a1-a3fec0e393fb", + "savedPayload": { + "position": { + "x": 32547.718356918074, + "y": 33454.33311787819 + }, + "targetPosition": { + "x": 32515.50327614843, + "y": 33005.48772292464 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "bb79807c-607d-4fb8-86c4-d1c9612b7790", + "savedPayload": { + "position": { + "x": 32515.50327614843, + "y": 33005.48772292464 + }, + "targetPosition": { + "x": 32483.288195378784, + "y": 32556.642327971094 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "2599e8ac-9f5a-4e8d-86f2-7efa0eab6b30", + "savedPayload": { + "position": { + "x": 32483.288195378784, + "y": 32556.642327971094 + }, + "targetPosition": { + "x": 32451.07311460914, + "y": 32107.796933017547 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "6d8aaa43-3fa8-49ee-b623-fe21e89bda0f", + "savedPayload": { + "position": { + "x": 32451.07311460914, + "y": 32107.796933017547 + }, + "targetPosition": { + "x": 32046.254059822884, + "y": 31911.273313872254 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "if ( ( portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995 ) > portfolioEngine.portfolioCurrent.position.stopLoss.value ) {\nportfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995\n}\nelse { portfolioEngine.portfolioCurrent.position.stopLoss.value }", + "project": "Foundations", + "id": "5dfe25ca-493c-408b-b937-e01357f1a7f8", + "savedPayload": { + "position": { + "x": 33260.71122418164, + "y": 32500.844171308134 + }, + "targetPosition": { + "x": 32855.89216939539, + "y": 32304.32055216284 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "9a5b85ae-ed0d-42cd-ad83-1d3e347d0745", + "savedPayload": { + "position": { + "x": 32855.89216939539, + "y": 32304.32055216284 + }, + "targetPosition": { + "x": 32451.07311460914, + "y": 32107.796933017547 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "816331c4-acaf-489e-8492-7d9e1a90d0da", + "savedPayload": { + "position": { + "x": 32046.254059822884, + "y": 31911.273313872254 + }, + "targetPosition": { + "x": 31641.43500503663, + "y": 31714.74969472696 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "managedTakeProfit": { + "type": "Managed Take Profit", + "name": "New Managed Take Profit", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 + ( chart.at15min.livetest.averageTradeUp ) ) / 100 )", + "project": "Foundations", + "id": "757eaa86-08b0-4988-84dd-8d1d5b7d9f86", + "savedPayload": { + "position": { + "x": 31738.080247345566, + "y": 33061.2858795876 + }, + "targetPosition": { + "x": 31705.86516657592, + "y": 32612.440484634055 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "d8b8209d-55c2-4275-a470-6593bc1eeafe", + "savedPayload": { + "position": { + "x": 31705.86516657592, + "y": 32612.440484634055 + }, + "targetPosition": { + "x": 31673.650085806275, + "y": 32163.595089680508 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "526e7b10-7d95-4dc1-a8e3-6999afa880e1", + "savedPayload": { + "position": { + "x": 31673.650085806275, + "y": 32163.595089680508 + }, + "targetPosition": { + "x": 31641.43500503663, + "y": 31714.74969472696 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "f2fd3374-1b19-42d7-9e9b-0d481a37f421", + "savedPayload": { + "position": { + "x": 31641.43500503663, + "y": 31714.74969472696 + }, + "targetPosition": { + "x": 31389.113229228376, + "y": 31342.145720710352 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeStage": { + "type": "Close Stage", + "name": "New Close Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "targetRate()\n\nfunction targetRate() {\n switch (portfolioEngine.portfolioCurrent.position.exitType.value) {\n case 'No Exit': {\n return portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value\n break\n }\n case 'Take Profit': {\n return portfolioEngine.portfolioCurrent.position.takeProfit.finalValue.value\n break\n }\n case 'Stop Loss': {\n return portfolioEngine.portfolioCurrent.position.stopLoss.finalValue.value\n break\n }\n }\n}", + "project": "Foundations", + "id": "923f8be9-4a7a-4c0e-920e-f8fe5080535e", + "savedPayload": { + "position": { + "x": 31294.52177274816, + "y": 32406.081736115244 + }, + "targetPosition": { + "x": 31093.782590840503, + "y": 32183.138288472026 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "e6e80fe4-c97e-4f2b-a0c1-409f5d194cf0", + "savedPayload": { + "position": { + "x": 31093.782590840503, + "y": 32183.138288472026 + }, + "targetPosition": { + "x": 30893.043408932845, + "y": 31960.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInBaseAsset": { + "type": "Target Size In Base Asset", + "name": "New Target Size In Base Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value", + "project": "Foundations", + "id": "9b505994-e3ce-4bd0-829d-735b4c357469", + "savedPayload": { + "position": { + "x": 30707.63321230788, + "y": 32530.8287506059 + }, + "targetPosition": { + "x": 30800.338310620362, + "y": 32245.511795717353 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "80f9b37b-5111-4603-a2b1-090c03a667d3", + "savedPayload": { + "position": { + "x": 30800.338310620362, + "y": 32245.511795717353 + }, + "targetPosition": { + "x": 30893.043408932845, + "y": 31960.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "f54a4ad9-8906-4e20-96ff-fbc670f16fe1", + "savedPayload": { + "position": { + "x": 30893.043408932845, + "y": 31960.194840828808 + }, + "targetPosition": { + "x": 30830.669901687517, + "y": 31666.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeExecution": { + "type": "Close Execution", + "name": "New Close Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [], + "marketSellOrders": [ + { + "type": "Market Sell Order", + "name": "New Market Sell Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "710e8ec9-6c73-454c-ac62-be1679452c42", + "savedPayload": { + "position": { + "x": 29791.019165507932, + "y": 33410.23592588583 + }, + "targetPosition": { + "x": 29883.724263820415, + "y": 33124.91897099728 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "542eb9b6-0413-4b26-bd4a-b353be4aef22", + "savedPayload": { + "position": { + "x": 29883.724263820415, + "y": 33124.91897099728 + }, + "targetPosition": { + "x": 29976.429362132898, + "y": 32839.602016108736 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "78838661-8267-4ec4-b9aa-66335ac3b074", + "savedPayload": { + "position": { + "x": 29976.429362132898, + "y": 32839.602016108736 + }, + "targetPosition": { + "x": 30069.13446044538, + "y": 32554.285061220187 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "f0fb50c1-5a3b-4b83-aefa-e43161350447", + "savedPayload": { + "position": { + "x": 30069.13446044538, + "y": 32554.285061220187 + }, + "targetPosition": { + "x": 30161.839558757863, + "y": 32268.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{\n \"fillProbability\": 1\n}", + "project": "Foundations", + "id": "cc2ec663-bca2-4d17-82cc-ce467423a79c", + "savedPayload": { + "position": { + "x": 29705.003568033215, + "y": 32582.942783960596 + }, + "targetPosition": { + "x": 29868.395278537722, + "y": 32331.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "e8006034-89f2-491d-a61f-75a3e3961609", + "savedPayload": { + "position": { + "x": 29281.50671809744, + "y": 32456.088628067624 + }, + "targetPosition": { + "x": 29574.95099831758, + "y": 32393.715120822297 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "2ca9c56d-05ab-4909-9db9-1dc2a9d89477", + "savedPayload": { + "position": { + "x": 29574.95099831758, + "y": 32393.715120822297 + }, + "targetPosition": { + "x": 29868.395278537722, + "y": 32331.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{\n \"percentage\": 0.1\n}", + "project": "Foundations", + "id": "e75947b9-5ac8-409e-9e42-812871517210", + "savedPayload": { + "position": { + "x": 29616.794108154096, + "y": 32167.949903072462 + }, + "targetPosition": { + "x": 29868.395278537722, + "y": 32331.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "4694eada-37eb-4fd3-a797-85745b94fa1f", + "savedPayload": { + "position": { + "x": 29868.395278537722, + "y": 32331.34161357697 + }, + "targetPosition": { + "x": 30161.839558757863, + "y": 32268.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "d5ccb1f2-38c2-4b00-b6f3-03b7ada210fe", + "savedPayload": { + "position": { + "x": 30161.839558757863, + "y": 32268.968106331642 + }, + "targetPosition": { + "x": 30384.78300640108, + "y": 32068.228924423984 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Sell Order #1", + "id": "8e404329-d41f-41e0-ad5a-c84ee1fa2604" + } + } + } + ], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "8288da59-1c8f-482e-8149-bf1dcbcee56a", + "savedPayload": { + "position": { + "x": 30384.78300640108, + "y": 32068.228924423984 + }, + "targetPosition": { + "x": 30607.7264540443, + "y": 31867.489742516325 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "05642def-578c-46c7-aadb-15579cb6cf43", + "savedPayload": { + "position": { + "x": 30607.7264540443, + "y": 31867.489742516325 + }, + "targetPosition": { + "x": 30830.669901687517, + "y": 31666.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "50fb5176-c84c-4b08-a246-57da1b1d2f96", + "savedPayload": { + "position": { + "x": 31374.23471303559, + "y": 31791.89968651377 + }, + "targetPosition": { + "x": 31389.113229228376, + "y": 31342.145720710352 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "4ca1e9d6-9788-4266-ae00-c5048380216f", + "savedPayload": { + "position": { + "x": 31389.113229228376, + "y": 31342.145720710352 + }, + "targetPosition": { + "x": 31034, + "y": 31065.75 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Portfolio Strategy", + "name": "20-min", + "project": "Foundations", + "triggerStage": { + "type": "Trigger Stage", + "name": "New Trigger Stage", + "project": "Foundations", + "triggerOn": { + "type": "Trigger On Event", + "name": "New Trigger On Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Livetest Chart Comparison", + "code": "chart.at01hs.candle.close > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "isBestOption()\n\nfunction isBestOption() {\n\n const TIME_FRAME_LABEL = TS.projects.foundations.globals.timeFrames.marketTimeFramesArray().concat(TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray())\n \n for (k = 0; k < TIME_FRAME_LABEL.length; k++) {\n TIME_FRAME_LABEL[k] = 'at' + TIME_FRAME_LABEL[k][1].replace(/'|-/g,'')\n }\n\n const validNow = []\n validNow.length = 0\n\n myChart = \"at20min\"\n\n for (i = 0; i < TIME_FRAME_LABEL.length; i++) {\n\n label = TIME_FRAME_LABEL[i]\n\n // prepareLivetest = chart.at24hs.livetest.begin\n // prepareLivetest = chart.at12hs.livetest.begin\n // prepareLivetest = chart.at08hs.livetest.begin\n // prepareLivetest = chart.at06hs.livetest.begin\n // prepareLivetest = chart.at04hs.livetest.begin\n // prepareLivetest = chart.at03hs.livetest.begin\n // prepareLivetest = chart.at02hs.livetest.begin\n // prepareLivetest = chart.at01hs.livetest.begin\n // prepareLivetest = chart.at45min.livetest.begin\n // prepareLivetest = chart.at40min.livetest.begin\n // prepareLivetest = chart.at30min.livetest.begin\n // prepareLivetest = chart.at20min.livetest.begin\n // prepareLivetest = chart.at15min.livetest.begin\n // prepareLivetest = chart.at10min.livetest.begin\n // prepareLivetest = chart.at05min.livetest.begin\n // prepareLivetest = chart.at04min.livetest.begin\n // prepareLivetest = chart.at03min.livetest.begin\n // prepareLivetest = chart.at02min.livetest.begin\n // prepareLivetest = chart.at01min.livetest.begin\n \n\n if (chart[label].livetest.positionBullish !== undefined && chart[label].livetest.positionTimestamp !== undefined) {\n if (chart[label].livetest.positionBullish === 1 && chart[label].livetest.positionTimestamp == chart.at01min.candle.end) {\n validNow.push(label)\n }\n }\n else { \n break \n }\n }\n if (validNow.length === 1) {\n if (validNow[0] === myChart) {\n return true\n }\n }\n else if (validNow.length > 1) { \n \n maxPPH = 9999\n bestChart = \"Not defined\"\n\n for (j = 0; j < validNow.length; j++) {\n\n label = validNow[j]\n\n if (chart[label].livetest.averageBullPerHour < maxPPH) {\n maxPPH = chart[label].livetest.averageBullPerHour\n bestChart = label\n }\n }\n if (bestChart == myChart) {\n return true\n }\n }\n else {\n return false\n }\n}\n", + "project": "Foundations", + "id": "9845e207-44c2-4be2-a425-5ec8d5c3fa11", + "savedPayload": { + "position": { + "x": 33063.9096062253, + "y": 30256.670788865667 + }, + "targetPosition": { + "x": 32730.325493986933, + "y": 30558.699992854523 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "b61bc194-d655-4449-b17f-d37d70ec7a4b", + "savedPayload": { + "position": { + "x": 32730.325493986933, + "y": 30558.699992854523 + }, + "targetPosition": { + "x": 32396.741381748565, + "y": 30860.72919684338 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "f7efef95-8a84-4758-976d-61fd412f91bd", + "savedPayload": { + "position": { + "x": 32396.741381748565, + "y": 30860.72919684338 + }, + "targetPosition": { + "x": 32063.157269510197, + "y": 31162.758400832234 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "3637c871-5dce-4a12-ab0d-f84ec5ff735f", + "savedPayload": { + "position": { + "x": 32063.157269510197, + "y": 31162.758400832234 + }, + "targetPosition": { + "x": 31729.57315727183, + "y": 31464.78760482109 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "triggerOff": { + "type": "Trigger Off Event", + "name": "New Trigger Off Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "false", + "project": "Foundations", + "id": "4eb55295-02b5-4b08-97be-d194a93e5720", + "savedPayload": { + "position": { + "x": 33527.35910173877, + "y": 31554.03836323289 + }, + "targetPosition": { + "x": 33077.91261562204, + "y": 31531.72567362994 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "b99c6b9b-60d8-47c1-be1a-3bc330dfdab3", + "savedPayload": { + "position": { + "x": 33077.91261562204, + "y": 31531.72567362994 + }, + "targetPosition": { + "x": 32628.4661295053, + "y": 31509.41298402699 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "075c00c6-caff-4fa3-95b6-62624dfb87e9", + "savedPayload": { + "position": { + "x": 32628.4661295053, + "y": 31509.41298402699 + }, + "targetPosition": { + "x": 32179.019643388565, + "y": 31487.10029442404 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "3464506d-e8c0-425d-ad2d-40cf6e85023f", + "savedPayload": { + "position": { + "x": 32179.019643388565, + "y": 31487.10029442404 + }, + "targetPosition": { + "x": 31729.57315727183, + "y": 31464.78760482109 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "takePosition": { + "type": "Take Position Event", + "name": "New Take Position Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "cd90e6e5-b2bd-4c1a-a7d7-5ba0edf46549", + "savedPayload": { + "position": { + "x": 32937.689973227236, + "y": 32799.12405377456 + }, + "targetPosition": { + "x": 32635.660769238384, + "y": 32465.539941536194 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "999cd866-96ff-413e-b940-58282691340a", + "savedPayload": { + "position": { + "x": 32635.660769238384, + "y": 32465.539941536194 + }, + "targetPosition": { + "x": 32333.631565249532, + "y": 32131.955829297825 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "d736c828-3a8c-4292-8300-8b1152aada5d", + "savedPayload": { + "position": { + "x": 32333.631565249532, + "y": 32131.955829297825 + }, + "targetPosition": { + "x": 32031.60236126068, + "y": 31798.371717059457 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "aa9a5980-9d9a-42d1-ad68-41a1ae99fc46", + "savedPayload": { + "position": { + "x": 32031.60236126068, + "y": 31798.371717059457 + }, + "targetPosition": { + "x": 31729.57315727183, + "y": 31464.78760482109 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "f8ea324d-66c5-4e64-8097-ab2d0100a562", + "savedPayload": { + "position": { + "x": 31729.57315727183, + "y": 31464.78760482109 + }, + "targetPosition": { + "x": 31280.126671155092, + "y": 31442.47491521814 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openStage": { + "type": "Open Stage", + "name": "New Open Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "5329cb4b-7ecc-40ae-b1b2-7023e895046d", + "savedPayload": { + "position": { + "x": 30765.384013274626, + "y": 30249.321255518636 + }, + "targetPosition": { + "x": 30796.742552254924, + "y": 30547.677824129118 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "bef2616e-3a82-451e-bf25-537c1980c8ba", + "savedPayload": { + "position": { + "x": 30796.742552254924, + "y": 30547.677824129118 + }, + "targetPosition": { + "x": 30828.10109123522, + "y": 30846.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInQuotedAsset": { + "type": "Target Size In Quoted Asset", + "name": "New Target Size In Quoted Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value", + "project": "Foundations", + "id": "53fdec84-b97d-4079-a729-e1afb5b1515e", + "savedPayload": { + "position": { + "x": 31313.511287860187, + "y": 30493.363241364113 + }, + "targetPosition": { + "x": 31070.806189547704, + "y": 30669.698817051856 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "4c07bd29-19d1-4dda-8630-e1501a56d792", + "savedPayload": { + "position": { + "x": 31070.806189547704, + "y": 30669.698817051856 + }, + "targetPosition": { + "x": 30828.10109123522, + "y": 30846.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "8e24f60b-696d-4938-97d6-7c5ab5fae092", + "savedPayload": { + "position": { + "x": 30828.10109123522, + "y": 30846.0343927396 + }, + "targetPosition": { + "x": 30706.080098312483, + "y": 31120.09803003238 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openExecution": { + "type": "Open Execution", + "name": "New Open Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [ + { + "type": "Market Buy Order", + "name": "New Market Buy Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "17593af7-aeff-4136-b214-5742102d71b4", + "savedPayload": { + "position": { + "x": 32571.970197393865, + "y": 30320.680110340516 + }, + "targetPosition": { + "x": 32329.265099081378, + "y": 30497.01568602826 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "7dd07a77-5bab-4314-a26c-fd77a10f954b", + "savedPayload": { + "position": { + "x": 32329.265099081378, + "y": 30497.01568602826 + }, + "targetPosition": { + "x": 32086.56000076889, + "y": 30673.351261716 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "c8b1dc5b-475f-43b4-bfec-dc01b22de10b", + "savedPayload": { + "position": { + "x": 32086.56000076889, + "y": 30673.351261716 + }, + "targetPosition": { + "x": 31843.85490245641, + "y": 30849.686837403744 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "0d42294c-b579-4a64-af70-bed2c04783c2", + "savedPayload": { + "position": { + "x": 31843.85490245641, + "y": 30849.686837403744 + }, + "targetPosition": { + "x": 31601.149804143926, + "y": 31026.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{ \n\"fillProbability\": 1\n}", + "project": "Foundations", + "id": "f44f3786-3a35-478e-95c8-01a1464007c1", + "savedPayload": { + "position": { + "x": 32155.287569385866, + "y": 31040.533021150633 + }, + "targetPosition": { + "x": 31875.213441436706, + "y": 31148.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "610c7c60-8d07-4358-814c-1653843380f7", + "savedPayload": { + "position": { + "x": 32423.34071602227, + "y": 31392.085391859702 + }, + "targetPosition": { + "x": 32149.277078729487, + "y": 31270.064398936964 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "ab4956ee-1a65-4ef7-b9f9-6bff17c5d86c", + "savedPayload": { + "position": { + "x": 32149.277078729487, + "y": 31270.064398936964 + }, + "targetPosition": { + "x": 31875.213441436706, + "y": 31148.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{ \n\"percentage\": 0.1\n}", + "project": "Foundations", + "id": "865b0f7c-0e38-4739-9ae9-c82b6ff09557", + "savedPayload": { + "position": { + "x": 31982.723826300295, + "y": 31428.117533963385 + }, + "targetPosition": { + "x": 31875.213441436706, + "y": 31148.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "e96c8c7a-07c3-4805-9103-c07a9d625e90", + "savedPayload": { + "position": { + "x": 31875.213441436706, + "y": 31148.043406014225 + }, + "targetPosition": { + "x": 31601.149804143926, + "y": 31026.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "cf869d5b-d7be-494d-801f-45db77b877a1", + "savedPayload": { + "position": { + "x": 31601.149804143926, + "y": 31026.022413091487 + }, + "targetPosition": { + "x": 31302.793235533445, + "y": 31057.380952071784 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Buy Order #1", + "id": "7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3" + } + } + } + ], + "marketSellOrders": [], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "0757d921-3b7c-4a2c-9d5b-e2e1ba5763b6", + "savedPayload": { + "position": { + "x": 31302.793235533445, + "y": 31057.380952071784 + }, + "targetPosition": { + "x": 31004.436666922964, + "y": 31088.73949105208 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "ab6496ae-0e21-47cc-a260-24c547689341", + "savedPayload": { + "position": { + "x": 31004.436666922964, + "y": 31088.73949105208 + }, + "targetPosition": { + "x": 30706.080098312483, + "y": 31120.09803003238 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "010fc277-11a1-4902-a9bd-d45f6194d708", + "savedPayload": { + "position": { + "x": 31630.621446598045, + "y": 31724.704276531233 + }, + "targetPosition": { + "x": 31280.126671155092, + "y": 31442.47491521814 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "manageStage": { + "type": "Manage Stage", + "name": "New Manage Stage", + "project": "Foundations", + "managedStopLoss": { + "type": "Managed Stop Loss", + "name": "New Managed Stop Loss", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 - chart.at20min.livetest.averageTradeDown) / 100 )", + "project": "Foundations", + "id": "41e4dccb-b7e2-441b-b56a-5c28cab1c253", + "savedPayload": { + "position": { + "x": 32470.284108135384, + "y": 32393.792870617865 + }, + "targetPosition": { + "x": 32035.940098510575, + "y": 32511.458844047083 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "name": "New Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "code": "chart.at15min.livetest.averageTradeDown > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01min.candle.close > ( portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.005 )", + "project": "Foundations", + "id": "b9dec2b4-082e-49ec-ac65-86c74ad6a887", + "savedPayload": { + "position": { + "x": 31574.858967863867, + "y": 34251.402576172215 + }, + "targetPosition": { + "x": 31690.129250525544, + "y": 33816.41664314093 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "c2ca1d97-22fd-4e23-87cc-848e8c723ac2", + "savedPayload": { + "position": { + "x": 31690.129250525544, + "y": 33816.41664314093 + }, + "targetPosition": { + "x": 31805.39953318722, + "y": 33381.43071010965 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "67de1e95-45f4-4689-9490-a97b4c44bc9a", + "savedPayload": { + "position": { + "x": 31805.39953318722, + "y": 33381.43071010965 + }, + "targetPosition": { + "x": 31920.669815848898, + "y": 32946.444777078366 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "9944aed5-3489-418d-804b-5e8d5479a087", + "savedPayload": { + "position": { + "x": 31920.669815848898, + "y": 32946.444777078366 + }, + "targetPosition": { + "x": 32035.940098510575, + "y": 32511.458844047083 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "012b524f-71c1-45b5-9487-a2fd10a835db", + "savedPayload": { + "position": { + "x": 32035.940098510575, + "y": 32511.458844047083 + }, + "targetPosition": { + "x": 31716.866371547443, + "y": 32194.138884445016 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "if ( ( portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995 ) > portfolioEngine.portfolioCurrent.position.stopLoss.value ) {\nportfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995\n}\nelse { portfolioEngine.portfolioCurrent.position.stopLoss.value }", + "project": "Foundations", + "id": "714ad307-1647-4694-99d9-0275d38d8b29", + "savedPayload": { + "position": { + "x": 32674.08755243684, + "y": 33146.09876325121 + }, + "targetPosition": { + "x": 32355.013825473707, + "y": 32828.77880364915 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "edad5987-344c-41b3-bcff-66e1b83bccc9", + "savedPayload": { + "position": { + "x": 32355.013825473707, + "y": 32828.77880364915 + }, + "targetPosition": { + "x": 32035.940098510575, + "y": 32511.458844047083 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "a7f6d4e0-d1ae-43a1-8d30-d1edd1077f26", + "savedPayload": { + "position": { + "x": 31716.866371547443, + "y": 32194.138884445016 + }, + "targetPosition": { + "x": 31397.79264458431, + "y": 31876.818924842948 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "managedTakeProfit": { + "type": "Managed Take Profit", + "name": "New Managed Take Profit", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 + ( chart.at20min.livetest.averageTradeUp ) ) / 100 )", + "project": "Foundations", + "id": "107114e9-121c-4aa8-83c1-2abf31e1aed4", + "savedPayload": { + "position": { + "x": 31051.98179659928, + "y": 33181.776723936804 + }, + "targetPosition": { + "x": 31167.252079260958, + "y": 32746.79079090552 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "30f8c275-666a-419a-9b13-79b31bb619a7", + "savedPayload": { + "position": { + "x": 31167.252079260958, + "y": 32746.79079090552 + }, + "targetPosition": { + "x": 31282.522361922634, + "y": 32311.804857874235 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "832a3f78-fb59-433a-8e22-62a8d1efd9c9", + "savedPayload": { + "position": { + "x": 31282.522361922634, + "y": 32311.804857874235 + }, + "targetPosition": { + "x": 31397.79264458431, + "y": 31876.818924842948 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "39d96e0a-4c45-468e-968f-79488dc7469d", + "savedPayload": { + "position": { + "x": 31397.79264458431, + "y": 31876.818924842948 + }, + "targetPosition": { + "x": 31280.126671155092, + "y": 31442.47491521814 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeStage": { + "type": "Close Stage", + "name": "New Close Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "targetRate()\n\nfunction targetRate() {\n switch (portfolioEngine.portfolioCurrent.position.exitType.value) {\n case 'No Exit': {\n return portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value\n break\n }\n case 'Take Profit': {\n return portfolioEngine.portfolioCurrent.position.takeProfit.finalValue.value\n break\n }\n case 'Stop Loss': {\n return portfolioEngine.portfolioCurrent.position.stopLoss.finalValue.value\n break\n }\n }\n}", + "project": "Foundations", + "id": "98fef737-1048-495c-9b21-e1d5a00f0c44", + "savedPayload": { + "position": { + "x": 30834.52177274816, + "y": 32321.081736115244 + }, + "targetPosition": { + "x": 30633.782590840503, + "y": 32098.138288472026 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "1e5585cd-e315-4e1c-a06f-4db8805db11b", + "savedPayload": { + "position": { + "x": 30633.782590840503, + "y": 32098.138288472026 + }, + "targetPosition": { + "x": 30433.043408932845, + "y": 31875.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInBaseAsset": { + "type": "Target Size In Base Asset", + "name": "New Target Size In Base Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value", + "project": "Foundations", + "id": "976225f3-5572-41c2-9c14-7b551195dd31", + "savedPayload": { + "position": { + "x": 30247.63321230788, + "y": 32445.8287506059 + }, + "targetPosition": { + "x": 30340.338310620362, + "y": 32160.511795717353 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "e0f2ec8a-87b8-4960-b6c7-bbff29babcfa", + "savedPayload": { + "position": { + "x": 30340.338310620362, + "y": 32160.511795717353 + }, + "targetPosition": { + "x": 30433.043408932845, + "y": 31875.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "7e4523e9-4f56-48bf-b08c-c17029232d16", + "savedPayload": { + "position": { + "x": 30433.043408932845, + "y": 31875.194840828808 + }, + "targetPosition": { + "x": 30370.669901687517, + "y": 31581.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeExecution": { + "type": "Close Execution", + "name": "New Close Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [], + "marketSellOrders": [ + { + "type": "Market Sell Order", + "name": "New Market Sell Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "814a4bd7-efe4-4691-8df0-579978e05134", + "savedPayload": { + "position": { + "x": 29331.019165507932, + "y": 33325.23592588583 + }, + "targetPosition": { + "x": 29423.724263820415, + "y": 33039.91897099728 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "9b7b6930-f888-4d9d-9754-660bf103bdb4", + "savedPayload": { + "position": { + "x": 29423.724263820415, + "y": 33039.91897099728 + }, + "targetPosition": { + "x": 29516.429362132898, + "y": 32754.602016108733 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "7466a40b-c24e-46dd-8bb7-d65b0b16fade", + "savedPayload": { + "position": { + "x": 29516.429362132898, + "y": 32754.602016108733 + }, + "targetPosition": { + "x": 29609.13446044538, + "y": 32469.285061220187 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "b29a4322-314e-4c17-9f08-9a1930700487", + "savedPayload": { + "position": { + "x": 29609.13446044538, + "y": 32469.285061220187 + }, + "targetPosition": { + "x": 29701.839558757863, + "y": 32183.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{\n \"fillProbability\": 1\n}", + "project": "Foundations", + "id": "53ef71f5-77b3-4c25-a7f9-64d409b0f073", + "savedPayload": { + "position": { + "x": 29245.003568033215, + "y": 32497.942783960596 + }, + "targetPosition": { + "x": 29408.395278537722, + "y": 32246.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "d6f30033-d6df-48a2-a93a-51ad0733537b", + "savedPayload": { + "position": { + "x": 28821.50671809744, + "y": 32371.088628067624 + }, + "targetPosition": { + "x": 29114.95099831758, + "y": 32308.715120822297 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "dc02be0e-6843-41a1-9d21-c492295028e7", + "savedPayload": { + "position": { + "x": 29114.95099831758, + "y": 32308.715120822297 + }, + "targetPosition": { + "x": 29408.395278537722, + "y": 32246.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{\n \"percentage\": 0.1\n}", + "project": "Foundations", + "id": "1dfd15d3-cca4-4a97-bc3a-56424bb0b390", + "savedPayload": { + "position": { + "x": 29156.794108154096, + "y": 32082.949903072462 + }, + "targetPosition": { + "x": 29408.395278537722, + "y": 32246.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "c4a65fc7-267f-4049-975d-b983ec19e9c0", + "savedPayload": { + "position": { + "x": 29408.395278537722, + "y": 32246.34161357697 + }, + "targetPosition": { + "x": 29701.839558757863, + "y": 32183.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "34ab83f5-a489-42f3-9512-054d8cce661e", + "savedPayload": { + "position": { + "x": 29701.839558757863, + "y": 32183.968106331642 + }, + "targetPosition": { + "x": 29924.78300640108, + "y": 31983.228924423984 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Sell Order #1", + "id": "8e404329-d41f-41e0-ad5a-c84ee1fa2604" + } + } + } + ], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "1ffc753c-8da2-4357-9b68-2af090780e65", + "savedPayload": { + "position": { + "x": 29924.78300640108, + "y": 31983.228924423984 + }, + "targetPosition": { + "x": 30147.7264540443, + "y": 31782.489742516325 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "fca3589f-d2b8-490d-a0ac-c573b1852c1a", + "savedPayload": { + "position": { + "x": 30147.7264540443, + "y": 31782.489742516325 + }, + "targetPosition": { + "x": 30370.669901687517, + "y": 31581.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "92e801c2-2286-4ad4-9577-364ae04a7118", + "savedPayload": { + "position": { + "x": 31120.01944003996, + "y": 31863.028924287897 + }, + "targetPosition": { + "x": 31280.126671155092, + "y": 31442.47491521814 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "c631179e-a733-4aaa-acb4-d1b2ac5e6845", + "savedPayload": { + "position": { + "x": 31280.126671155092, + "y": 31442.47491521814 + }, + "targetPosition": { + "x": 31034, + "y": 31065.75 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Portfolio Strategy", + "name": "30-min", + "project": "Foundations", + "triggerStage": { + "type": "Trigger Stage", + "name": "New Trigger Stage", + "project": "Foundations", + "triggerOn": { + "type": "Trigger On Event", + "name": "New Trigger On Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Livetest Chart Comparison", + "code": "chart.at01hs.candle.close > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "isBestOption()\n\nfunction isBestOption() {\n\n const TIME_FRAME_LABEL = TS.projects.foundations.globals.timeFrames.marketTimeFramesArray().concat(TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray())\n \n for (k = 0; k < TIME_FRAME_LABEL.length; k++) {\n TIME_FRAME_LABEL[k] = 'at' + TIME_FRAME_LABEL[k][1].replace(/'|-/g,'')\n }\n\n const validNow = []\n validNow.length = 0\n\n myChart = \"at30min\"\n\n for (i = 0; i < TIME_FRAME_LABEL.length; i++) {\n\n label = TIME_FRAME_LABEL[i]\n\n // prepareLivetest = chart.at24hs.livetest.begin\n // prepareLivetest = chart.at12hs.livetest.begin\n // prepareLivetest = chart.at08hs.livetest.begin\n // prepareLivetest = chart.at06hs.livetest.begin\n // prepareLivetest = chart.at04hs.livetest.begin\n // prepareLivetest = chart.at03hs.livetest.begin\n // prepareLivetest = chart.at02hs.livetest.begin\n // prepareLivetest = chart.at01hs.livetest.begin\n // prepareLivetest = chart.at45min.livetest.begin\n // prepareLivetest = chart.at40min.livetest.begin\n // prepareLivetest = chart.at30min.livetest.begin\n // prepareLivetest = chart.at20min.livetest.begin\n // prepareLivetest = chart.at15min.livetest.begin\n // prepareLivetest = chart.at10min.livetest.begin\n // prepareLivetest = chart.at05min.livetest.begin\n // prepareLivetest = chart.at04min.livetest.begin\n // prepareLivetest = chart.at03min.livetest.begin\n // prepareLivetest = chart.at02min.livetest.begin\n // prepareLivetest = chart.at01min.livetest.begin\n \n\n if (chart[label].livetest.positionBullish !== undefined && chart[label].livetest.positionTimestamp !== undefined) {\n if (chart[label].livetest.positionBullish === 1 && chart[label].livetest.positionTimestamp == chart.at01min.candle.end) {\n validNow.push(label)\n }\n }\n else { \n break \n }\n }\n if (validNow.length === 1) {\n if (validNow[0] === myChart) {\n return true\n }\n }\n else if (validNow.length > 1) { \n \n maxPPH = 9999\n bestChart = \"Not defined\"\n\n for (j = 0; j < validNow.length; j++) {\n\n label = validNow[j]\n\n if (chart[label].livetest.averageBullPerHour < maxPPH) {\n maxPPH = chart[label].livetest.averageBullPerHour\n bestChart = label\n }\n }\n if (bestChart == myChart) {\n return true\n }\n }\n else {\n return false\n }\n}\n", + "project": "Foundations", + "id": "618bf529-a816-47db-a0d2-a733dfaf5047", + "savedPayload": { + "position": { + "x": 33216.631095061486, + "y": 30959.619503882448 + }, + "targetPosition": { + "x": 32803.05276792955, + "y": 31136.96934833331 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "bfb49f33-18c0-4169-ae40-9dfd028c57a0", + "savedPayload": { + "position": { + "x": 32803.05276792955, + "y": 31136.96934833331 + }, + "targetPosition": { + "x": 32389.47444079761, + "y": 31314.319192784173 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "cfa0e482-dcc5-47e9-a29f-09c81143eb56", + "savedPayload": { + "position": { + "x": 32389.47444079761, + "y": 31314.319192784173 + }, + "targetPosition": { + "x": 31975.89611366567, + "y": 31491.669037235035 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "cb223927-45f9-42e6-b6b9-c97f05adb5e6", + "savedPayload": { + "position": { + "x": 31975.89611366567, + "y": 31491.669037235035 + }, + "targetPosition": { + "x": 31562.317786533727, + "y": 31669.018881685897 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "triggerOff": { + "type": "Trigger Off Event", + "name": "New Trigger Off Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "false", + "project": "Foundations", + "id": "99a5a46e-7d56-4057-82a2-51090b65e4aa", + "savedPayload": { + "position": { + "x": 33233.7150558152, + "y": 32337.173929738692 + }, + "targetPosition": { + "x": 32815.86573849483, + "y": 32170.135167725493 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "6bc9c673-f80b-4ad3-ba7e-67c1877036d8", + "savedPayload": { + "position": { + "x": 32815.86573849483, + "y": 32170.135167725493 + }, + "targetPosition": { + "x": 32398.016421174463, + "y": 32003.096405712295 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "64587bd1-2def-4908-babf-27a993d3e3c5", + "savedPayload": { + "position": { + "x": 32398.016421174463, + "y": 32003.096405712295 + }, + "targetPosition": { + "x": 31980.167103854095, + "y": 31836.057643699096 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "cdc211d1-e97d-450b-ac44-7a81470ffbf0", + "savedPayload": { + "position": { + "x": 31980.167103854095, + "y": 31836.057643699096 + }, + "targetPosition": { + "x": 31562.317786533727, + "y": 31669.018881685897 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "takePosition": { + "type": "Take Position Event", + "name": "New Take Position Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "84ebf223-483e-40ff-849b-0505c859e97a", + "savedPayload": { + "position": { + "x": 32271.717164337177, + "y": 33323.33219021366 + }, + "targetPosition": { + "x": 32094.367319886314, + "y": 32909.75386308172 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "83a0209c-1535-417f-9435-46311ac3f20e", + "savedPayload": { + "position": { + "x": 32094.367319886314, + "y": 32909.75386308172 + }, + "targetPosition": { + "x": 31917.017475435452, + "y": 32496.17553594978 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "d6be4541-f76f-4902-a982-c80cc6e83a6f", + "savedPayload": { + "position": { + "x": 31917.017475435452, + "y": 32496.17553594978 + }, + "targetPosition": { + "x": 31739.66763098459, + "y": 32082.59720881784 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "f2e14fff-ae9e-459c-98fb-2318201e3e1d", + "savedPayload": { + "position": { + "x": 31739.66763098459, + "y": 32082.59720881784 + }, + "targetPosition": { + "x": 31562.317786533727, + "y": 31669.018881685897 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "810fcaaf-4901-4201-94fb-4d4cb88ccd9f", + "savedPayload": { + "position": { + "x": 31562.317786533727, + "y": 31669.018881685897 + }, + "targetPosition": { + "x": 31144.46846921336, + "y": 31501.9801196727 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openStage": { + "type": "Open Stage", + "name": "New Open Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "4737c6fd-c1eb-4fc1-a313-0278dfd0adf1", + "savedPayload": { + "position": { + "x": 30736.384013274626, + "y": 30335.321255518636 + }, + "targetPosition": { + "x": 30767.742552254924, + "y": 30633.677824129118 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "6d4ea4d9-0564-47e6-a20e-d514f16685d2", + "savedPayload": { + "position": { + "x": 30767.742552254924, + "y": 30633.677824129118 + }, + "targetPosition": { + "x": 30799.10109123522, + "y": 30932.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInQuotedAsset": { + "type": "Target Size In Quoted Asset", + "name": "New Target Size In Quoted Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value", + "project": "Foundations", + "id": "ba544150-7716-47f4-8fcd-8c1372493014", + "savedPayload": { + "position": { + "x": 31284.511287860187, + "y": 30579.363241364113 + }, + "targetPosition": { + "x": 31041.806189547704, + "y": 30755.698817051856 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "c18b0c14-3655-4d4b-bb44-f0dde14e2d07", + "savedPayload": { + "position": { + "x": 31041.806189547704, + "y": 30755.698817051856 + }, + "targetPosition": { + "x": 30799.10109123522, + "y": 30932.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "2109c912-4013-423b-bf2c-dcce5ced7cc3", + "savedPayload": { + "position": { + "x": 30799.10109123522, + "y": 30932.0343927396 + }, + "targetPosition": { + "x": 30677.080098312483, + "y": 31206.09803003238 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openExecution": { + "type": "Open Execution", + "name": "New Open Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [ + { + "type": "Market Buy Order", + "name": "New Market Buy Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "8c39e6d8-0a99-4615-922f-afb799901235", + "savedPayload": { + "position": { + "x": 32542.970197393865, + "y": 30406.680110340516 + }, + "targetPosition": { + "x": 32300.265099081378, + "y": 30583.01568602826 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "f7df593d-1298-4710-b963-ffccc8b4c35f", + "savedPayload": { + "position": { + "x": 32300.265099081378, + "y": 30583.01568602826 + }, + "targetPosition": { + "x": 32057.56000076889, + "y": 30759.351261716 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "5d5e844c-ea79-46de-bad6-189afd25dd89", + "savedPayload": { + "position": { + "x": 32057.56000076889, + "y": 30759.351261716 + }, + "targetPosition": { + "x": 31814.85490245641, + "y": 30935.686837403744 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "70c35759-5a1d-473d-b0b9-a461d813f8d3", + "savedPayload": { + "position": { + "x": 31814.85490245641, + "y": 30935.686837403744 + }, + "targetPosition": { + "x": 31572.149804143926, + "y": 31112.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{ \n\"fillProbability\": 1\n}", + "project": "Foundations", + "id": "5c998bbd-7074-43ed-b28d-3d935e428c48", + "savedPayload": { + "position": { + "x": 32126.287569385866, + "y": 31126.533021150633 + }, + "targetPosition": { + "x": 31846.213441436706, + "y": 31234.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "143e6773-810a-4f67-89ee-3acea199dcd6", + "savedPayload": { + "position": { + "x": 32394.34071602227, + "y": 31478.085391859702 + }, + "targetPosition": { + "x": 32120.277078729487, + "y": 31356.064398936964 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "fc79d9f0-5c3b-40cc-bb32-315df0657327", + "savedPayload": { + "position": { + "x": 32120.277078729487, + "y": 31356.064398936964 + }, + "targetPosition": { + "x": 31846.213441436706, + "y": 31234.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{ \n\"percentage\": 0.1\n}", + "project": "Foundations", + "id": "e8721685-c33d-46f7-81dd-af8f320c2b33", + "savedPayload": { + "position": { + "x": 31953.723826300295, + "y": 31514.117533963385 + }, + "targetPosition": { + "x": 31846.213441436706, + "y": 31234.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "8375a7d5-c140-4b88-9c1a-96871059f429", + "savedPayload": { + "position": { + "x": 31846.213441436706, + "y": 31234.043406014225 + }, + "targetPosition": { + "x": 31572.149804143926, + "y": 31112.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "a5bbd64a-c441-4aec-8d9d-760c8bc0a195", + "savedPayload": { + "position": { + "x": 31572.149804143926, + "y": 31112.022413091487 + }, + "targetPosition": { + "x": 31273.793235533445, + "y": 31143.380952071784 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Buy Order #1", + "id": "7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3" + } + } + } + ], + "marketSellOrders": [], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "e56e0cfb-9daf-4494-a941-3d0be68cf707", + "savedPayload": { + "position": { + "x": 31273.793235533445, + "y": 31143.380952071784 + }, + "targetPosition": { + "x": 30975.436666922964, + "y": 31174.73949105208 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "fc0d8ca6-4e32-4c24-baea-62a58861d4f6", + "savedPayload": { + "position": { + "x": 30975.436666922964, + "y": 31174.73949105208 + }, + "targetPosition": { + "x": 30677.080098312483, + "y": 31206.09803003238 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "165ed281-f9b0-404b-8347-ff708b8d30df", + "savedPayload": { + "position": { + "x": 31384.332747140958, + "y": 31882.72298326212 + }, + "targetPosition": { + "x": 31144.46846921336, + "y": 31501.9801196727 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "manageStage": { + "type": "Manage Stage", + "name": "New Manage Stage", + "project": "Foundations", + "managedStopLoss": { + "type": "Managed Stop Loss", + "name": "New Managed Stop Loss", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 - chart.at30min.livetest.averageTradeDown) / 100 )", + "project": "Foundations", + "id": "b15e92b8-d59c-4d4b-8777-da082c2df73f", + "savedPayload": { + "position": { + "x": 31961.247458284382, + "y": 32788.19653228666 + }, + "targetPosition": { + "x": 31512.231326035933, + "y": 32758.455769340093 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "name": "New Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "code": "chart.at15min.livetest.averageTradeDown > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01min.candle.close > ( portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.005 )", + "project": "Foundations", + "id": "603d9835-0c0b-4d8e-b1bf-570569e9913f", + "savedPayload": { + "position": { + "x": 30511.17403658041, + "y": 34254.411752391716 + }, + "targetPosition": { + "x": 30761.43835894429, + "y": 33880.42275662881 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "8324031b-b932-4f3b-a82d-395bdbe2cdb5", + "savedPayload": { + "position": { + "x": 30761.43835894429, + "y": 33880.42275662881 + }, + "targetPosition": { + "x": 31011.702681308172, + "y": 33506.433760865904 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "b44d62dc-2d40-4e4c-8fa6-0e21f6bbfd93", + "savedPayload": { + "position": { + "x": 31011.702681308172, + "y": 33506.433760865904 + }, + "targetPosition": { + "x": 31261.967003672053, + "y": 33132.444765103 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "a27e1ab4-e0d0-4efd-8217-dc0c0abb8071", + "savedPayload": { + "position": { + "x": 31261.967003672053, + "y": 33132.444765103 + }, + "targetPosition": { + "x": 31512.231326035933, + "y": 32758.455769340093 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "c3dfed47-ecd2-4faa-861f-b0008b477b50", + "savedPayload": { + "position": { + "x": 31512.231326035933, + "y": 32758.455769340093 + }, + "targetPosition": { + "x": 31313.479516151365, + "y": 32354.72601063062 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "if ( ( portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995 ) > portfolioEngine.portfolioCurrent.position.stopLoss.value ) {\nportfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995\n}\nelse { portfolioEngine.portfolioCurrent.position.stopLoss.value }", + "project": "Foundations", + "id": "43697390-59b9-4690-b3e3-153f1d213a15", + "savedPayload": { + "position": { + "x": 31909.73494580507, + "y": 33565.91528675904 + }, + "targetPosition": { + "x": 31710.9831359205, + "y": 33162.185528049566 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "3e2dc380-ed43-417e-a79b-d35f99905bd4", + "savedPayload": { + "position": { + "x": 31710.9831359205, + "y": 33162.185528049566 + }, + "targetPosition": { + "x": 31512.231326035933, + "y": 32758.455769340093 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "301171b6-b877-4cf9-9b97-b69a8f8eac8e", + "savedPayload": { + "position": { + "x": 31313.479516151365, + "y": 32354.72601063062 + }, + "targetPosition": { + "x": 31114.727706266796, + "y": 31950.996251921148 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "managedTakeProfit": { + "type": "Managed Take Profit", + "name": "New Managed Take Profit", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 + ( chart.at30min.livetest.averageTradeUp ) ) / 100 )", + "project": "Foundations", + "id": "d3249f84-fded-4524-8938-4c44194c59c1", + "savedPayload": { + "position": { + "x": 30363.934739175154, + "y": 33072.963239209865 + }, + "targetPosition": { + "x": 30614.199061539035, + "y": 32698.97424344696 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "64a60a47-9922-43da-8a1a-302cd6f3d657", + "savedPayload": { + "position": { + "x": 30614.199061539035, + "y": 32698.97424344696 + }, + "targetPosition": { + "x": 30864.463383902916, + "y": 32324.985247684053 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "ada22173-4d95-4192-b72c-eb39e786565e", + "savedPayload": { + "position": { + "x": 30864.463383902916, + "y": 32324.985247684053 + }, + "targetPosition": { + "x": 31114.727706266796, + "y": 31950.996251921148 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "423e2080-187d-41f3-a080-9d5d725b3179", + "savedPayload": { + "position": { + "x": 31114.727706266796, + "y": 31950.996251921148 + }, + "targetPosition": { + "x": 31144.46846921336, + "y": 31501.9801196727 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeStage": { + "type": "Close Stage", + "name": "New Close Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "targetRate()\n\nfunction targetRate() {\n switch (portfolioEngine.portfolioCurrent.position.exitType.value) {\n case 'No Exit': {\n return portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value\n break\n }\n case 'Take Profit': {\n return portfolioEngine.portfolioCurrent.position.takeProfit.finalValue.value\n break\n }\n case 'Stop Loss': {\n return portfolioEngine.portfolioCurrent.position.stopLoss.finalValue.value\n break\n }\n }\n}", + "project": "Foundations", + "id": "144ebcb0-85f1-4961-8ed9-e3fcb89b0784", + "savedPayload": { + "position": { + "x": 30805.52177274816, + "y": 32407.081736115244 + }, + "targetPosition": { + "x": 30604.782590840503, + "y": 32184.138288472026 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "ca8fab30-0094-4779-b14c-8374512f259e", + "savedPayload": { + "position": { + "x": 30604.782590840503, + "y": 32184.138288472026 + }, + "targetPosition": { + "x": 30404.043408932845, + "y": 31961.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInBaseAsset": { + "type": "Target Size In Base Asset", + "name": "New Target Size In Base Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value", + "project": "Foundations", + "id": "823dab17-f6b1-4bcd-83b4-a06f61afc850", + "savedPayload": { + "position": { + "x": 30218.63321230788, + "y": 32531.8287506059 + }, + "targetPosition": { + "x": 30311.338310620362, + "y": 32246.511795717353 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "7a98f122-866b-4c15-9bed-89b5aea9aec3", + "savedPayload": { + "position": { + "x": 30311.338310620362, + "y": 32246.511795717353 + }, + "targetPosition": { + "x": 30404.043408932845, + "y": 31961.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "7a02bdb8-aef8-444b-ae62-c4266257687c", + "savedPayload": { + "position": { + "x": 30404.043408932845, + "y": 31961.194840828808 + }, + "targetPosition": { + "x": 30341.669901687517, + "y": 31667.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeExecution": { + "type": "Close Execution", + "name": "New Close Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [], + "marketSellOrders": [ + { + "type": "Market Sell Order", + "name": "New Market Sell Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "7da285f1-94fe-45eb-9ebc-4632ec449178", + "savedPayload": { + "position": { + "x": 29302.019165507932, + "y": 33411.23592588583 + }, + "targetPosition": { + "x": 29394.724263820415, + "y": 33125.91897099728 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "c42da96c-10f5-4495-ae81-97b123474ddd", + "savedPayload": { + "position": { + "x": 29394.724263820415, + "y": 33125.91897099728 + }, + "targetPosition": { + "x": 29487.429362132898, + "y": 32840.602016108736 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "e044ed47-55ea-47fc-a29f-5f88968ea595", + "savedPayload": { + "position": { + "x": 29487.429362132898, + "y": 32840.602016108736 + }, + "targetPosition": { + "x": 29580.13446044538, + "y": 32555.285061220187 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "6fb590a4-0f1e-48fb-a924-13166964e23d", + "savedPayload": { + "position": { + "x": 29580.13446044538, + "y": 32555.285061220187 + }, + "targetPosition": { + "x": 29672.839558757863, + "y": 32269.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{\n \"fillProbability\": 1\n}", + "project": "Foundations", + "id": "96bc8862-fd6a-4277-adf0-70555eae2b70", + "savedPayload": { + "position": { + "x": 29216.003568033215, + "y": 32583.942783960596 + }, + "targetPosition": { + "x": 29379.395278537722, + "y": 32332.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "7316c1c3-39a8-4099-a21c-954991b101a1", + "savedPayload": { + "position": { + "x": 28792.50671809744, + "y": 32457.088628067624 + }, + "targetPosition": { + "x": 29085.95099831758, + "y": 32394.715120822297 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "d3ce20f7-f9a2-4944-bb7d-82bd6b2d9672", + "savedPayload": { + "position": { + "x": 29085.95099831758, + "y": 32394.715120822297 + }, + "targetPosition": { + "x": 29379.395278537722, + "y": 32332.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{\n \"percentage\": 0.1\n}", + "project": "Foundations", + "id": "d1a030b6-10c3-420e-b152-480c73f98e7a", + "savedPayload": { + "position": { + "x": 29127.794108154096, + "y": 32168.949903072462 + }, + "targetPosition": { + "x": 29379.395278537722, + "y": 32332.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "5e2ebd37-0a11-449d-8a7a-28f8ff047de0", + "savedPayload": { + "position": { + "x": 29379.395278537722, + "y": 32332.34161357697 + }, + "targetPosition": { + "x": 29672.839558757863, + "y": 32269.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "f86e2736-d5f2-4a96-a07a-f7acad753704", + "savedPayload": { + "position": { + "x": 29672.839558757863, + "y": 32269.968106331642 + }, + "targetPosition": { + "x": 29895.78300640108, + "y": 32069.228924423984 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Sell Order #1", + "id": "8e404329-d41f-41e0-ad5a-c84ee1fa2604" + } + } + } + ], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "8dadf40d-44fe-41d7-9d68-7211f4247a88", + "savedPayload": { + "position": { + "x": 29895.78300640108, + "y": 32069.228924423984 + }, + "targetPosition": { + "x": 30118.7264540443, + "y": 31868.489742516325 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "1730384f-a427-4f78-add6-1af49f04f77e", + "savedPayload": { + "position": { + "x": 30118.7264540443, + "y": 31868.489742516325 + }, + "targetPosition": { + "x": 30341.669901687517, + "y": 31667.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "37ab1961-a5ba-4663-9ca9-9413cbb5ba02", + "savedPayload": { + "position": { + "x": 30856.482625986868, + "y": 31847.760619558285 + }, + "targetPosition": { + "x": 31144.46846921336, + "y": 31501.9801196727 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "c71e0dc8-557a-44cd-9109-273bf383981b", + "savedPayload": { + "position": { + "x": 31144.46846921336, + "y": 31501.9801196727 + }, + "targetPosition": { + "x": 31034, + "y": 31065.75 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Portfolio Strategy", + "name": "40-min", + "project": "Foundations", + "triggerStage": { + "type": "Trigger Stage", + "name": "New Trigger Stage", + "project": "Foundations", + "triggerOn": { + "type": "Trigger On Event", + "name": "New Trigger On Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Livetest Chart Comparison", + "code": "chart.at01hs.candle.close > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "isBestOption()\n\nfunction isBestOption() {\n\n const TIME_FRAME_LABEL = TS.projects.foundations.globals.timeFrames.marketTimeFramesArray().concat(TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray())\n \n for (k = 0; k < TIME_FRAME_LABEL.length; k++) {\n TIME_FRAME_LABEL[k] = 'at' + TIME_FRAME_LABEL[k][1].replace(/'|-/g,'')\n }\n\n const validNow = []\n validNow.length = 0\n\n myChart = \"at40min\"\n\n for (i = 0; i < TIME_FRAME_LABEL.length; i++) {\n\n label = TIME_FRAME_LABEL[i]\n\n // prepareLivetest = chart.at24hs.livetest.begin\n // prepareLivetest = chart.at12hs.livetest.begin\n // prepareLivetest = chart.at08hs.livetest.begin\n // prepareLivetest = chart.at06hs.livetest.begin\n // prepareLivetest = chart.at04hs.livetest.begin\n // prepareLivetest = chart.at03hs.livetest.begin\n // prepareLivetest = chart.at02hs.livetest.begin\n // prepareLivetest = chart.at01hs.livetest.begin\n // prepareLivetest = chart.at45min.livetest.begin\n // prepareLivetest = chart.at40min.livetest.begin\n // prepareLivetest = chart.at30min.livetest.begin\n // prepareLivetest = chart.at20min.livetest.begin\n // prepareLivetest = chart.at15min.livetest.begin\n // prepareLivetest = chart.at10min.livetest.begin\n // prepareLivetest = chart.at05min.livetest.begin\n // prepareLivetest = chart.at04min.livetest.begin\n // prepareLivetest = chart.at03min.livetest.begin\n // prepareLivetest = chart.at02min.livetest.begin\n // prepareLivetest = chart.at01min.livetest.begin\n \n\n if (chart[label].livetest.positionBullish !== undefined && chart[label].livetest.positionTimestamp !== undefined) {\n if (chart[label].livetest.positionBullish === 1 && chart[label].livetest.positionTimestamp == chart.at01min.candle.end) {\n validNow.push(label)\n }\n }\n else { \n break \n }\n }\n if (validNow.length === 1) {\n if (validNow[0] === myChart) {\n return true\n }\n }\n else if (validNow.length > 1) { \n \n maxPPH = 9999\n bestChart = \"Not defined\"\n\n for (j = 0; j < validNow.length; j++) {\n\n label = validNow[j]\n\n if (chart[label].livetest.averageBullPerHour < maxPPH) {\n maxPPH = chart[label].livetest.averageBullPerHour\n bestChart = label\n }\n }\n if (bestChart == myChart) {\n return true\n }\n }\n else {\n return false\n }\n}\n", + "project": "Foundations", + "id": "8d8c2427-92ef-4492-a8cb-363c7ee1a7ac", + "savedPayload": { + "position": { + "x": 33132.83063773689, + "y": 31674.069104937877 + }, + "targetPosition": { + "x": 32684.07572478507, + "y": 31707.520982338126 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "597e1be8-97af-45d1-b547-3ba5a774c058", + "savedPayload": { + "position": { + "x": 32684.07572478507, + "y": 31707.520982338126 + }, + "targetPosition": { + "x": 32235.320811833248, + "y": 31740.972859738376 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "496e50fd-78ee-42b0-bb9c-d743fc65c721", + "savedPayload": { + "position": { + "x": 32235.320811833248, + "y": 31740.972859738376 + }, + "targetPosition": { + "x": 31786.565898881425, + "y": 31774.424737138626 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "f9316bb6-aed2-4f5d-abd9-0802fd901911", + "savedPayload": { + "position": { + "x": 31786.565898881425, + "y": 31774.424737138626 + }, + "targetPosition": { + "x": 31337.810985929602, + "y": 31807.876614538876 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "triggerOff": { + "type": "Trigger Off Event", + "name": "New Trigger Off Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "false", + "project": "Foundations", + "id": "5abf9913-4a6e-425b-9c80-77991ed3e88c", + "savedPayload": { + "position": { + "x": 32701.697751498206, + "y": 32982.53098528238 + }, + "targetPosition": { + "x": 32360.726060106055, + "y": 32688.867392596505 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "65566845-1bd1-4905-9d33-fec3c540d10a", + "savedPayload": { + "position": { + "x": 32360.726060106055, + "y": 32688.867392596505 + }, + "targetPosition": { + "x": 32019.754368713904, + "y": 32395.20379991063 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "28fd3271-7d78-47ea-9978-37497668981d", + "savedPayload": { + "position": { + "x": 32019.754368713904, + "y": 32395.20379991063 + }, + "targetPosition": { + "x": 31678.782677321753, + "y": 32101.540207224753 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "079c0407-9e5e-49ba-a7d6-3afb3f02dfdb", + "savedPayload": { + "position": { + "x": 31678.782677321753, + "y": 32101.540207224753 + }, + "targetPosition": { + "x": 31337.810985929602, + "y": 31807.876614538876 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "takePosition": { + "type": "Take Position Event", + "name": "New Take Position Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "18d0533c-d1ee-4d38-9037-af16194d4a27", + "savedPayload": { + "position": { + "x": 31471.6184955306, + "y": 33602.89626634617 + }, + "targetPosition": { + "x": 31438.16661813035, + "y": 33154.14135339435 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "b0e29eb2-6d17-4216-9ab9-ae12a2a170a5", + "savedPayload": { + "position": { + "x": 31438.16661813035, + "y": 33154.14135339435 + }, + "targetPosition": { + "x": 31404.7147407301, + "y": 32705.386440442522 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "1f25bdcb-90c0-49a5-b8bb-dac1e21bad36", + "savedPayload": { + "position": { + "x": 31404.7147407301, + "y": 32705.386440442522 + }, + "targetPosition": { + "x": 31371.262863329852, + "y": 32256.6315274907 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "c810904a-a151-4d9d-9934-7389f4cb865d", + "savedPayload": { + "position": { + "x": 31371.262863329852, + "y": 32256.6315274907 + }, + "targetPosition": { + "x": 31337.810985929602, + "y": 31807.876614538876 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "693b11ad-d8dc-4bb4-a58a-d7d51d24e0f6", + "savedPayload": { + "position": { + "x": 31337.810985929602, + "y": 31807.876614538876 + }, + "targetPosition": { + "x": 30996.83929453745, + "y": 31514.213021853 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openStage": { + "type": "Open Stage", + "name": "New Open Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "b39f131e-8b7f-4f34-a017-1b58ff7434b6", + "savedPayload": { + "position": { + "x": 30847.384013274626, + "y": 30293.321255518636 + }, + "targetPosition": { + "x": 30878.742552254924, + "y": 30591.677824129118 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "d6512524-ef0b-475f-909e-6de814627fb8", + "savedPayload": { + "position": { + "x": 30878.742552254924, + "y": 30591.677824129118 + }, + "targetPosition": { + "x": 30910.10109123522, + "y": 30890.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInQuotedAsset": { + "type": "Target Size In Quoted Asset", + "name": "New Target Size In Quoted Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value", + "project": "Foundations", + "id": "677c81ec-1aa3-4fad-bbd4-2e1a0b57928c", + "savedPayload": { + "position": { + "x": 31395.511287860187, + "y": 30537.363241364113 + }, + "targetPosition": { + "x": 31152.806189547704, + "y": 30713.698817051856 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "1f53a29d-b7b6-4aac-b34c-da1f15614044", + "savedPayload": { + "position": { + "x": 31152.806189547704, + "y": 30713.698817051856 + }, + "targetPosition": { + "x": 30910.10109123522, + "y": 30890.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "b216c529-6af8-44f1-979b-ff0440b3c62e", + "savedPayload": { + "position": { + "x": 30910.10109123522, + "y": 30890.0343927396 + }, + "targetPosition": { + "x": 30788.080098312483, + "y": 31164.09803003238 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openExecution": { + "type": "Open Execution", + "name": "New Open Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [ + { + "type": "Market Buy Order", + "name": "New Market Buy Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "dcddfa92-72f3-4dea-9950-0660e4559c7a", + "savedPayload": { + "position": { + "x": 32653.970197393865, + "y": 30364.680110340516 + }, + "targetPosition": { + "x": 32411.265099081378, + "y": 30541.01568602826 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "ba97ab70-4b71-4757-928c-115fb5dfa9ce", + "savedPayload": { + "position": { + "x": 32411.265099081378, + "y": 30541.01568602826 + }, + "targetPosition": { + "x": 32168.56000076889, + "y": 30717.351261716 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "5c4c6e1e-f24b-45e3-a427-25b949d01f4b", + "savedPayload": { + "position": { + "x": 32168.56000076889, + "y": 30717.351261716 + }, + "targetPosition": { + "x": 31925.85490245641, + "y": 30893.686837403744 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "9a9b8972-58b9-4e29-a4f2-0e571af2a6d2", + "savedPayload": { + "position": { + "x": 31925.85490245641, + "y": 30893.686837403744 + }, + "targetPosition": { + "x": 31683.149804143926, + "y": 31070.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{ \n\"fillProbability\": 1\n}", + "project": "Foundations", + "id": "0bde94e6-cf6c-4b4f-b04e-a973726c4eab", + "savedPayload": { + "position": { + "x": 32237.287569385866, + "y": 31084.533021150633 + }, + "targetPosition": { + "x": 31957.213441436706, + "y": 31192.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "07af61e5-6bd6-4e9e-b139-a216568d6210", + "savedPayload": { + "position": { + "x": 32505.34071602227, + "y": 31436.085391859702 + }, + "targetPosition": { + "x": 32231.277078729487, + "y": 31314.064398936964 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "a43e9043-7d92-4783-81c0-d9e31d49f191", + "savedPayload": { + "position": { + "x": 32231.277078729487, + "y": 31314.064398936964 + }, + "targetPosition": { + "x": 31957.213441436706, + "y": 31192.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{ \n\"percentage\": 0.1\n}", + "project": "Foundations", + "id": "7295b834-07a8-43cd-94a1-5caffedca5a5", + "savedPayload": { + "position": { + "x": 32064.723826300295, + "y": 31472.117533963385 + }, + "targetPosition": { + "x": 31957.213441436706, + "y": 31192.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "39910d68-2bbc-4eed-a6e8-215e46cc73f2", + "savedPayload": { + "position": { + "x": 31957.213441436706, + "y": 31192.043406014225 + }, + "targetPosition": { + "x": 31683.149804143926, + "y": 31070.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "384302fe-fe4d-44d8-81ca-0e42b0223f95", + "savedPayload": { + "position": { + "x": 31683.149804143926, + "y": 31070.022413091487 + }, + "targetPosition": { + "x": 31384.793235533445, + "y": 31101.380952071784 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Buy Order #1", + "id": "7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3" + } + } + } + ], + "marketSellOrders": [], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "7c8f6f5e-56df-49b6-a163-2f2330f73362", + "savedPayload": { + "position": { + "x": 31384.793235533445, + "y": 31101.380952071784 + }, + "targetPosition": { + "x": 31086.436666922964, + "y": 31132.73949105208 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "909caff0-2ef9-4a34-9486-cd761a47e51d", + "savedPayload": { + "position": { + "x": 31086.436666922964, + "y": 31132.73949105208 + }, + "targetPosition": { + "x": 30788.080098312483, + "y": 31164.09803003238 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "bf267d49-08e1-4585-91d8-a75fc8492626", + "savedPayload": { + "position": { + "x": 31100.080058558488, + "y": 31952.209990614603 + }, + "targetPosition": { + "x": 30996.83929453745, + "y": 31514.213021853 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "manageStage": { + "type": "Manage Stage", + "name": "New Manage Stage", + "project": "Foundations", + "managedStopLoss": { + "type": "Managed Stop Loss", + "name": "New Managed Stop Loss", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 - chart.at40min.livetest.averageTradeDown) / 100 )", + "project": "Foundations", + "id": "90b9ad6b-7837-4499-85c0-b92182ddc61f", + "savedPayload": { + "position": { + "x": 31351.729158601534, + "y": 32995.94638567051 + }, + "targetPosition": { + "x": 30936.698768861712, + "y": 32822.02175948891 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "name": "New Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "code": "chart.at15min.livetest.averageTradeDown > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01min.candle.close > ( portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.005 )", + "project": "Foundations", + "id": "3dad7aed-d8cc-4fe3-a1df-36d5598cc53f", + "savedPayload": { + "position": { + "x": 29504.145410914138, + "y": 33911.87995055466 + }, + "targetPosition": { + "x": 29862.28375040103, + "y": 33639.415402788225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "7975c0a7-3058-44ff-9e0a-98b7ddd6274e", + "savedPayload": { + "position": { + "x": 29862.28375040103, + "y": 33639.415402788225 + }, + "targetPosition": { + "x": 30220.422089887925, + "y": 33366.95085502179 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "5fe7c7d9-7d2a-4b53-b8a8-59e0b6287191", + "savedPayload": { + "position": { + "x": 30220.422089887925, + "y": 33366.95085502179 + }, + "targetPosition": { + "x": 30578.56042937482, + "y": 33094.48630725535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "3aad72d6-d4dc-4093-9033-f2b80f109f91", + "savedPayload": { + "position": { + "x": 30578.56042937482, + "y": 33094.48630725535 + }, + "targetPosition": { + "x": 30936.698768861712, + "y": 32822.02175948891 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "2b2d9509-a8d8-4163-bead-bd89fe8ed0c1", + "savedPayload": { + "position": { + "x": 30936.698768861712, + "y": 32822.02175948891 + }, + "targetPosition": { + "x": 30879.80671860878, + "y": 32375.63258554087 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "if ( ( portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995 ) > portfolioEngine.portfolioCurrent.position.stopLoss.value ) {\nportfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995\n}\nelse { portfolioEngine.portfolioCurrent.position.stopLoss.value }", + "project": "Foundations", + "id": "905bcb59-be78-4703-aa59-5c8a29c1fa3a", + "savedPayload": { + "position": { + "x": 31050.482869367577, + "y": 33714.800107385 + }, + "targetPosition": { + "x": 30993.590819114645, + "y": 33268.41093343696 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "c798d538-4031-4a90-949c-f624fe7afe44", + "savedPayload": { + "position": { + "x": 30993.590819114645, + "y": 33268.41093343696 + }, + "targetPosition": { + "x": 30936.698768861712, + "y": 32822.02175948891 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "8e7545e3-f283-465b-bd1f-e88ba4e96f59", + "savedPayload": { + "position": { + "x": 30879.80671860878, + "y": 32375.63258554087 + }, + "targetPosition": { + "x": 30822.914668355847, + "y": 31929.243411592823 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "managedTakeProfit": { + "type": "Managed Take Profit", + "name": "New Managed Take Profit", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 + ( chart.at40min.livetest.averageTradeUp ) ) / 100 )", + "project": "Foundations", + "id": "12845e52-4b77-4e98-aece-3f8d2be5bbd8", + "savedPayload": { + "position": { + "x": 29748.499649895166, + "y": 32746.637054892148 + }, + "targetPosition": { + "x": 30106.63798938206, + "y": 32474.172507125706 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "5f02741c-4c8f-42a0-af43-f57b980bebc3", + "savedPayload": { + "position": { + "x": 30106.63798938206, + "y": 32474.172507125706 + }, + "targetPosition": { + "x": 30464.776328868953, + "y": 32201.707959359264 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "d1f4262f-88f0-4167-bf4e-47d005c69650", + "savedPayload": { + "position": { + "x": 30464.776328868953, + "y": 32201.707959359264 + }, + "targetPosition": { + "x": 30822.914668355847, + "y": 31929.243411592823 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "85090233-5a58-4725-9eb8-d9aa66b4ad90", + "savedPayload": { + "position": { + "x": 30822.914668355847, + "y": 31929.243411592823 + }, + "targetPosition": { + "x": 30996.83929453745, + "y": 31514.213021853 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeStage": { + "type": "Close Stage", + "name": "New Close Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "targetRate()\n\nfunction targetRate() {\n switch (portfolioEngine.portfolioCurrent.position.exitType.value) {\n case 'No Exit': {\n return portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value\n break\n }\n case 'Take Profit': {\n return portfolioEngine.portfolioCurrent.position.takeProfit.finalValue.value\n break\n }\n case 'Stop Loss': {\n return portfolioEngine.portfolioCurrent.position.stopLoss.finalValue.value\n break\n }\n }\n}", + "project": "Foundations", + "id": "e4d8e3a4-80bd-4df0-987a-c01c155c550b", + "savedPayload": { + "position": { + "x": 30916.52177274816, + "y": 32365.081736115244 + }, + "targetPosition": { + "x": 30715.782590840503, + "y": 32142.138288472026 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "f722411a-f714-40ad-a0f3-15b0af1c7e59", + "savedPayload": { + "position": { + "x": 30715.782590840503, + "y": 32142.138288472026 + }, + "targetPosition": { + "x": 30515.043408932845, + "y": 31919.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInBaseAsset": { + "type": "Target Size In Base Asset", + "name": "New Target Size In Base Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value", + "project": "Foundations", + "id": "5ded6576-ac1d-4168-a5bf-f62e64b3ef1a", + "savedPayload": { + "position": { + "x": 30329.63321230788, + "y": 32489.8287506059 + }, + "targetPosition": { + "x": 30422.338310620362, + "y": 32204.511795717353 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "06fdef4c-f197-4d68-a2b4-19b842125161", + "savedPayload": { + "position": { + "x": 30422.338310620362, + "y": 32204.511795717353 + }, + "targetPosition": { + "x": 30515.043408932845, + "y": 31919.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "4b3aa34b-4eb9-4866-91c4-afc80ce29aea", + "savedPayload": { + "position": { + "x": 30515.043408932845, + "y": 31919.194840828808 + }, + "targetPosition": { + "x": 30452.669901687517, + "y": 31625.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeExecution": { + "type": "Close Execution", + "name": "New Close Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [], + "marketSellOrders": [ + { + "type": "Market Sell Order", + "name": "New Market Sell Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "c6846643-1bab-4aef-8300-0bb81ebb88e0", + "savedPayload": { + "position": { + "x": 29413.019165507932, + "y": 33369.23592588583 + }, + "targetPosition": { + "x": 29505.724263820415, + "y": 33083.91897099728 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "c02f6a00-ef0b-45ec-a9bb-50730ca64371", + "savedPayload": { + "position": { + "x": 29505.724263820415, + "y": 33083.91897099728 + }, + "targetPosition": { + "x": 29598.429362132898, + "y": 32798.602016108736 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "472c37f0-f19d-473f-8fb5-80fad740aaba", + "savedPayload": { + "position": { + "x": 29598.429362132898, + "y": 32798.602016108736 + }, + "targetPosition": { + "x": 29691.13446044538, + "y": 32513.285061220187 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "7e3231d4-78d9-4415-be69-d2d94e8ef55a", + "savedPayload": { + "position": { + "x": 29691.13446044538, + "y": 32513.285061220187 + }, + "targetPosition": { + "x": 29783.839558757863, + "y": 32227.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{\n \"fillProbability\": 1\n}", + "project": "Foundations", + "id": "998ff489-221b-40cf-aab2-d9463a81037f", + "savedPayload": { + "position": { + "x": 29327.003568033215, + "y": 32541.942783960596 + }, + "targetPosition": { + "x": 29490.395278537722, + "y": 32290.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "5cd2847b-364f-4d3d-a53f-888ff85df086", + "savedPayload": { + "position": { + "x": 28903.50671809744, + "y": 32415.088628067624 + }, + "targetPosition": { + "x": 29196.95099831758, + "y": 32352.715120822297 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "7d53d824-901f-405c-820c-821bfce313ce", + "savedPayload": { + "position": { + "x": 29196.95099831758, + "y": 32352.715120822297 + }, + "targetPosition": { + "x": 29490.395278537722, + "y": 32290.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{\n \"percentage\": 0.1\n}", + "project": "Foundations", + "id": "7caf9a4d-345e-4da6-a150-7b9a855e7293", + "savedPayload": { + "position": { + "x": 29238.794108154096, + "y": 32126.949903072462 + }, + "targetPosition": { + "x": 29490.395278537722, + "y": 32290.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "aca07dbb-6a24-4d82-a05a-38afe908b24b", + "savedPayload": { + "position": { + "x": 29490.395278537722, + "y": 32290.34161357697 + }, + "targetPosition": { + "x": 29783.839558757863, + "y": 32227.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "fc7f846c-a3e7-425b-a87c-9830f756cce9", + "savedPayload": { + "position": { + "x": 29783.839558757863, + "y": 32227.968106331642 + }, + "targetPosition": { + "x": 30006.78300640108, + "y": 32027.228924423984 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Sell Order #1", + "id": "8e404329-d41f-41e0-ad5a-c84ee1fa2604" + } + } + } + ], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "30de576e-02a9-4307-b9b8-15f88327b854", + "savedPayload": { + "position": { + "x": 30006.78300640108, + "y": 32027.228924423984 + }, + "targetPosition": { + "x": 30229.7264540443, + "y": 31826.489742516325 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "d3cd4b58-faa3-47b1-8b6e-18523f49ca14", + "savedPayload": { + "position": { + "x": 30229.7264540443, + "y": 31826.489742516325 + }, + "targetPosition": { + "x": 30452.669901687517, + "y": 31625.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "1ebf7db0-f4c5-42e0-bd59-9b85ec653f9b", + "savedPayload": { + "position": { + "x": 30612.182573873957, + "y": 31747.749330054547 + }, + "targetPosition": { + "x": 30996.83929453745, + "y": 31514.213021853 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "688d977d-9d7f-470c-be46-11660da5e480", + "savedPayload": { + "position": { + "x": 30996.83929453745, + "y": 31514.213021853 + }, + "targetPosition": { + "x": 31034, + "y": 31065.75 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Portfolio Strategy", + "name": "45-min", + "project": "Foundations", + "triggerStage": { + "type": "Trigger Stage", + "name": "New Trigger Stage", + "project": "Foundations", + "triggerOn": { + "type": "Trigger On Event", + "name": "New Trigger On Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Livetest Chart Comparison", + "code": "chart.at01hs.candle.close > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "isBestOption()\n\nfunction isBestOption() {\n\n const TIME_FRAME_LABEL = TS.projects.foundations.globals.timeFrames.marketTimeFramesArray().concat(TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray())\n \n for (k = 0; k < TIME_FRAME_LABEL.length; k++) {\n TIME_FRAME_LABEL[k] = 'at' + TIME_FRAME_LABEL[k][1].replace(/'|-/g,'')\n }\n\n const validNow = []\n validNow.length = 0\n\n myChart = \"at45min\"\n\n for (i = 0; i < TIME_FRAME_LABEL.length; i++) {\n\n label = TIME_FRAME_LABEL[i]\n\n // prepareLivetest = chart.at24hs.livetest.begin\n // prepareLivetest = chart.at12hs.livetest.begin\n // prepareLivetest = chart.at08hs.livetest.begin\n // prepareLivetest = chart.at06hs.livetest.begin\n // prepareLivetest = chart.at04hs.livetest.begin\n // prepareLivetest = chart.at03hs.livetest.begin\n // prepareLivetest = chart.at02hs.livetest.begin\n // prepareLivetest = chart.at01hs.livetest.begin\n // prepareLivetest = chart.at45min.livetest.begin\n // prepareLivetest = chart.at40min.livetest.begin\n // prepareLivetest = chart.at30min.livetest.begin\n // prepareLivetest = chart.at20min.livetest.begin\n // prepareLivetest = chart.at15min.livetest.begin\n // prepareLivetest = chart.at10min.livetest.begin\n // prepareLivetest = chart.at05min.livetest.begin\n // prepareLivetest = chart.at04min.livetest.begin\n // prepareLivetest = chart.at03min.livetest.begin\n // prepareLivetest = chart.at02min.livetest.begin\n // prepareLivetest = chart.at01min.livetest.begin\n \n\n if (chart[label].livetest.positionBullish !== undefined && chart[label].livetest.positionTimestamp !== undefined) {\n if (chart[label].livetest.positionBullish === 1 && chart[label].livetest.positionTimestamp == chart.at01min.candle.end) {\n validNow.push(label)\n }\n }\n else { \n break \n }\n }\n if (validNow.length === 1) {\n if (validNow[0] === myChart) {\n return true\n }\n }\n else if (validNow.length > 1) { \n \n maxPPH = 9999\n bestChart = \"Not defined\"\n\n for (j = 0; j < validNow.length; j++) {\n\n label = validNow[j]\n\n if (chart[label].livetest.averageBullPerHour < maxPPH) {\n maxPPH = chart[label].livetest.averageBullPerHour\n bestChart = label\n }\n }\n if (bestChart == myChart) {\n return true\n }\n }\n else {\n return false\n }\n}\n", + "project": "Foundations", + "id": "886ae0ee-8dc3-4772-bfd7-135b7948927a", + "savedPayload": { + "position": { + "x": 32821.589314100696, + "y": 32322.597891929836 + }, + "targetPosition": { + "x": 32386.287373297233, + "y": 32208.526772303798 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "5d3cf311-dc86-4308-8447-bfb6aa4f4b5c", + "savedPayload": { + "position": { + "x": 32386.287373297233, + "y": 32208.526772303798 + }, + "targetPosition": { + "x": 31950.98543249377, + "y": 32094.45565267776 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "62ac8aed-8d7a-43a2-82cb-2c39e62b5962", + "savedPayload": { + "position": { + "x": 31950.98543249377, + "y": 32094.45565267776 + }, + "targetPosition": { + "x": 31515.683491690306, + "y": 31980.38453305172 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "d72d175f-d251-40c6-b400-02aab5de03ae", + "savedPayload": { + "position": { + "x": 31515.683491690306, + "y": 31980.38453305172 + }, + "targetPosition": { + "x": 31080.381550886843, + "y": 31866.313413425683 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "triggerOff": { + "type": "Trigger Off Event", + "name": "New Trigger Off Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "false", + "project": "Foundations", + "id": "3af069ff-a4b3-4386-aa05-0038b13b1a88", + "savedPayload": { + "position": { + "x": 31988.959518809555, + "y": 33420.17507914932 + }, + "targetPosition": { + "x": 31761.815026828877, + "y": 33031.70966271841 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "ca29f1e6-84d5-4909-be71-f99bc33612dc", + "savedPayload": { + "position": { + "x": 31761.815026828877, + "y": 33031.70966271841 + }, + "targetPosition": { + "x": 31534.6705348482, + "y": 32643.244246287497 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "27245ef7-4869-46b4-b968-285a8e15c9e6", + "savedPayload": { + "position": { + "x": 31534.6705348482, + "y": 32643.244246287497 + }, + "targetPosition": { + "x": 31307.52604286752, + "y": 32254.77882985659 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "06e5ca52-30aa-478f-9e2e-bd18d43b9fd3", + "savedPayload": { + "position": { + "x": 31307.52604286752, + "y": 32254.77882985659 + }, + "targetPosition": { + "x": 31080.381550886843, + "y": 31866.313413425683 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "takePosition": { + "type": "Take Position Event", + "name": "New Take Position Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "d4efafe3-861a-4b9a-8dc3-fa68a3d029f6", + "savedPayload": { + "position": { + "x": 30624.09707238269, + "y": 33607.52117663953 + }, + "targetPosition": { + "x": 30738.16819200873, + "y": 33172.21923583607 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "17b38547-5609-4f28-a59f-e1afd4c31a47", + "savedPayload": { + "position": { + "x": 30738.16819200873, + "y": 33172.21923583607 + }, + "targetPosition": { + "x": 30852.239311634767, + "y": 32736.91729503261 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "31cd7ff9-6d09-4b1f-833a-7646c7a6596a", + "savedPayload": { + "position": { + "x": 30852.239311634767, + "y": 32736.91729503261 + }, + "targetPosition": { + "x": 30966.310431260805, + "y": 32301.615354229147 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "70104b67-3875-4088-a433-64e603926f3b", + "savedPayload": { + "position": { + "x": 30966.310431260805, + "y": 32301.615354229147 + }, + "targetPosition": { + "x": 31080.381550886843, + "y": 31866.313413425683 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "ea813049-904a-4199-b174-8564fc1a1eca", + "savedPayload": { + "position": { + "x": 31080.381550886843, + "y": 31866.313413425683 + }, + "targetPosition": { + "x": 30853.237058906165, + "y": 31477.847996994777 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openStage": { + "type": "Open Stage", + "name": "New Open Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "8bdde3fb-60e6-4971-b77a-a24dbda1596a", + "savedPayload": { + "position": { + "x": 30897.384013274626, + "y": 30269.321255518636 + }, + "targetPosition": { + "x": 30928.742552254924, + "y": 30567.677824129118 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "7fcafe08-ba96-4495-9e9d-8222d26d76d5", + "savedPayload": { + "position": { + "x": 30928.742552254924, + "y": 30567.677824129118 + }, + "targetPosition": { + "x": 30960.10109123522, + "y": 30866.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInQuotedAsset": { + "type": "Target Size In Quoted Asset", + "name": "New Target Size In Quoted Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value", + "project": "Foundations", + "id": "fc69f123-8282-4b9f-89fd-101e4b62d6d7", + "savedPayload": { + "position": { + "x": 31445.511287860187, + "y": 30513.363241364113 + }, + "targetPosition": { + "x": 31202.806189547704, + "y": 30689.698817051856 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "64806877-9b6c-4cbd-aaf9-e4da50480528", + "savedPayload": { + "position": { + "x": 31202.806189547704, + "y": 30689.698817051856 + }, + "targetPosition": { + "x": 30960.10109123522, + "y": 30866.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "cbdb6b19-5e36-46ee-a305-dbdbe04ae47d", + "savedPayload": { + "position": { + "x": 30960.10109123522, + "y": 30866.0343927396 + }, + "targetPosition": { + "x": 30838.080098312483, + "y": 31140.09803003238 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openExecution": { + "type": "Open Execution", + "name": "New Open Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [ + { + "type": "Market Buy Order", + "name": "New Market Buy Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "7778bfcf-5970-4b82-b97f-c73c9fa9a1fc", + "savedPayload": { + "position": { + "x": 32703.970197393865, + "y": 30340.680110340516 + }, + "targetPosition": { + "x": 32461.265099081378, + "y": 30517.01568602826 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "b3a3604a-778b-4138-8996-a5f2a97ad29e", + "savedPayload": { + "position": { + "x": 32461.265099081378, + "y": 30517.01568602826 + }, + "targetPosition": { + "x": 32218.56000076889, + "y": 30693.351261716 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "f55c1751-2415-4d7f-a6f1-de028873a908", + "savedPayload": { + "position": { + "x": 32218.56000076889, + "y": 30693.351261716 + }, + "targetPosition": { + "x": 31975.85490245641, + "y": 30869.686837403744 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "220dfafd-34ba-465c-9435-2423eed222fd", + "savedPayload": { + "position": { + "x": 31975.85490245641, + "y": 30869.686837403744 + }, + "targetPosition": { + "x": 31733.149804143926, + "y": 31046.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{ \n\"fillProbability\": 1\n}", + "project": "Foundations", + "id": "1a179901-7732-483b-af4b-eac479cd5370", + "savedPayload": { + "position": { + "x": 32287.287569385866, + "y": 31060.533021150633 + }, + "targetPosition": { + "x": 32007.213441436706, + "y": 31168.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "dd4a7ede-3f43-4a47-a0b0-8a4ccda0f053", + "savedPayload": { + "position": { + "x": 32555.34071602227, + "y": 31412.085391859702 + }, + "targetPosition": { + "x": 32281.277078729487, + "y": 31290.064398936964 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "fadc4936-a745-42b9-8013-d90f01a4846d", + "savedPayload": { + "position": { + "x": 32281.277078729487, + "y": 31290.064398936964 + }, + "targetPosition": { + "x": 32007.213441436706, + "y": 31168.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{ \n\"percentage\": 0.1\n}", + "project": "Foundations", + "id": "2caf2cdb-a505-4d1e-a1d3-2a997edf4b26", + "savedPayload": { + "position": { + "x": 32114.723826300295, + "y": 31448.117533963385 + }, + "targetPosition": { + "x": 32007.213441436706, + "y": 31168.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "d3a65d7d-a3e9-41dd-9c74-e03fe532d42a", + "savedPayload": { + "position": { + "x": 32007.213441436706, + "y": 31168.043406014225 + }, + "targetPosition": { + "x": 31733.149804143926, + "y": 31046.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "46bf735c-ab3f-411e-a20b-ed8f8fb57130", + "savedPayload": { + "position": { + "x": 31733.149804143926, + "y": 31046.022413091487 + }, + "targetPosition": { + "x": 31434.793235533445, + "y": 31077.380952071784 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Buy Order #1", + "id": "7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3" + } + } + } + ], + "marketSellOrders": [], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "0b6105b0-2278-4082-8188-7c9e617e47ec", + "savedPayload": { + "position": { + "x": 31434.793235533445, + "y": 31077.380952071784 + }, + "targetPosition": { + "x": 31136.436666922964, + "y": 31108.73949105208 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "f9acf4c7-fe7a-4e5f-ac0b-ceee8ac04a4f", + "savedPayload": { + "position": { + "x": 31136.436666922964, + "y": 31108.73949105208 + }, + "targetPosition": { + "x": 30838.080098312483, + "y": 31140.09803003238 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "c252550f-2c77-4c14-8519-7e5ca0de030e", + "savedPayload": { + "position": { + "x": 30808.666570293455, + "y": 31925.635303140032 + }, + "targetPosition": { + "x": 30853.237058906165, + "y": 31477.847996994777 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "manageStage": { + "type": "Manage Stage", + "name": "New Manage Stage", + "project": "Foundations", + "managedStopLoss": { + "type": "Managed Stop Loss", + "name": "New Managed Stop Loss", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 - chart.at45min.livetest.averageTradeDown) / 100 )", + "project": "Foundations", + "id": "2dff1825-8aec-40c9-ab7d-047aab2c68b9", + "savedPayload": { + "position": { + "x": 30707.779974508347, + "y": 32994.529510584194 + }, + "targetPosition": { + "x": 30371.710309865477, + "y": 32695.26845313296 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "name": "New Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "code": "chart.at15min.livetest.averageTradeDown > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01min.candle.close > ( portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.005 )", + "project": "Foundations", + "id": "99b21754-406b-4e05-9dd2-49e830e97310", + "savedPayload": { + "position": { + "x": 28662.90026811509, + "y": 33260.925806318664 + }, + "targetPosition": { + "x": 29090.102778552686, + "y": 33119.51146802224 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "a801c874-d719-4ac0-a00c-a4ef11e13e68", + "savedPayload": { + "position": { + "x": 29090.102778552686, + "y": 33119.51146802224 + }, + "targetPosition": { + "x": 29517.305288990283, + "y": 32978.097129725815 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "b3d2ed86-c8b7-4942-9e14-341629ce7408", + "savedPayload": { + "position": { + "x": 29517.305288990283, + "y": 32978.097129725815 + }, + "targetPosition": { + "x": 29944.50779942788, + "y": 32836.68279142939 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "036332fc-cd17-4992-9598-045fd5cc62e2", + "savedPayload": { + "position": { + "x": 29944.50779942788, + "y": 32836.68279142939 + }, + "targetPosition": { + "x": 30371.710309865477, + "y": 32695.26845313296 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "8fcba650-21b7-4157-8cd4-69d47cde6c05", + "savedPayload": { + "position": { + "x": 30371.710309865477, + "y": 32695.26845313296 + }, + "targetPosition": { + "x": 30462.843155660205, + "y": 32254.593057385304 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "if ( ( portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995 ) > portfolioEngine.portfolioCurrent.position.stopLoss.value ) {\nportfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995\n}\nelse { portfolioEngine.portfolioCurrent.position.stopLoss.value }", + "project": "Foundations", + "id": "e9ef55f5-66b4-43e3-94d1-314019d0c960", + "savedPayload": { + "position": { + "x": 30189.444618276022, + "y": 33576.61924462827 + }, + "targetPosition": { + "x": 30280.57746407075, + "y": 33135.94384888062 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "2bcfc8b6-4193-44e7-a7b0-092b0f312e1d", + "savedPayload": { + "position": { + "x": 30280.57746407075, + "y": 33135.94384888062 + }, + "targetPosition": { + "x": 30371.710309865477, + "y": 32695.26845313296 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "f5f36ea1-dbb8-43bb-a9ec-4641a68c4853", + "savedPayload": { + "position": { + "x": 30462.843155660205, + "y": 32254.593057385304 + }, + "targetPosition": { + "x": 30553.976001454932, + "y": 31813.917661637646 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "managedTakeProfit": { + "type": "Managed Take Profit", + "name": "New Managed Take Profit", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 + ( chart.at45min.livetest.averageTradeUp ) ) / 100 )", + "project": "Foundations", + "id": "cd7c2ec9-4162-427f-bc2f-1d063ca34759", + "savedPayload": { + "position": { + "x": 29272.36847014214, + "y": 32238.16067652692 + }, + "targetPosition": { + "x": 29699.570980579738, + "y": 32096.746338230496 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "209ad93b-720d-4614-861d-c01ead171c6e", + "savedPayload": { + "position": { + "x": 29699.570980579738, + "y": 32096.746338230496 + }, + "targetPosition": { + "x": 30126.773491017335, + "y": 31955.33199993407 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "c390ca93-81db-4609-8122-121668ec751b", + "savedPayload": { + "position": { + "x": 30126.773491017335, + "y": 31955.33199993407 + }, + "targetPosition": { + "x": 30553.976001454932, + "y": 31813.917661637646 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "ea1987ff-106c-4925-9edf-cb77ec5e5aa4", + "savedPayload": { + "position": { + "x": 30553.976001454932, + "y": 31813.917661637646 + }, + "targetPosition": { + "x": 30853.237058906165, + "y": 31477.847996994777 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeStage": { + "type": "Close Stage", + "name": "New Close Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "targetRate()\n\nfunction targetRate() {\n switch (portfolioEngine.portfolioCurrent.position.exitType.value) {\n case 'No Exit': {\n return portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value\n break\n }\n case 'Take Profit': {\n return portfolioEngine.portfolioCurrent.position.takeProfit.finalValue.value\n break\n }\n case 'Stop Loss': {\n return portfolioEngine.portfolioCurrent.position.stopLoss.finalValue.value\n break\n }\n }\n}", + "project": "Foundations", + "id": "ba81971e-5ab2-4abe-8bd9-2e9138ed1b15", + "savedPayload": { + "position": { + "x": 30966.52177274816, + "y": 32341.081736115244 + }, + "targetPosition": { + "x": 30765.782590840503, + "y": 32118.138288472026 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "d725dcc5-a9fd-4dd2-af6a-74f73a75b70d", + "savedPayload": { + "position": { + "x": 30765.782590840503, + "y": 32118.138288472026 + }, + "targetPosition": { + "x": 30565.043408932845, + "y": 31895.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInBaseAsset": { + "type": "Target Size In Base Asset", + "name": "New Target Size In Base Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value", + "project": "Foundations", + "id": "b6df4ab3-0808-4485-be42-9d1d70adb553", + "savedPayload": { + "position": { + "x": 30379.63321230788, + "y": 32465.8287506059 + }, + "targetPosition": { + "x": 30472.338310620362, + "y": 32180.511795717353 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "b14bf9b0-5e14-4580-8f27-bf3a1d472961", + "savedPayload": { + "position": { + "x": 30472.338310620362, + "y": 32180.511795717353 + }, + "targetPosition": { + "x": 30565.043408932845, + "y": 31895.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "53191d5d-1969-4abd-94c6-031fe067b6cc", + "savedPayload": { + "position": { + "x": 30565.043408932845, + "y": 31895.194840828808 + }, + "targetPosition": { + "x": 30502.669901687517, + "y": 31601.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeExecution": { + "type": "Close Execution", + "name": "New Close Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [], + "marketSellOrders": [ + { + "type": "Market Sell Order", + "name": "New Market Sell Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "83e0647f-4668-4932-b1e9-f6d3e5367dcc", + "savedPayload": { + "position": { + "x": 29463.019165507932, + "y": 33345.23592588583 + }, + "targetPosition": { + "x": 29555.724263820415, + "y": 33059.91897099728 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "f882b87a-eda2-4e47-97ed-a2f001585306", + "savedPayload": { + "position": { + "x": 29555.724263820415, + "y": 33059.91897099728 + }, + "targetPosition": { + "x": 29648.429362132898, + "y": 32774.602016108736 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "e35d8df7-d950-4b9b-914f-ef0ecf9d5481", + "savedPayload": { + "position": { + "x": 29648.429362132898, + "y": 32774.602016108736 + }, + "targetPosition": { + "x": 29741.13446044538, + "y": 32489.285061220187 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "a2cdc7cc-5ab7-4cbd-adae-b55bdd49e672", + "savedPayload": { + "position": { + "x": 29741.13446044538, + "y": 32489.285061220187 + }, + "targetPosition": { + "x": 29833.839558757863, + "y": 32203.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{\n \"fillProbability\": 1\n}", + "project": "Foundations", + "id": "dc7bd174-1803-4c67-b3d3-bfd965bc1ed1", + "savedPayload": { + "position": { + "x": 29377.003568033215, + "y": 32517.942783960596 + }, + "targetPosition": { + "x": 29540.395278537722, + "y": 32266.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "2d3040e2-ddf7-4e55-9486-c434600d48e5", + "savedPayload": { + "position": { + "x": 28953.50671809744, + "y": 32391.088628067624 + }, + "targetPosition": { + "x": 29246.95099831758, + "y": 32328.715120822297 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "03074442-81b5-4117-a65c-2772c0ac9040", + "savedPayload": { + "position": { + "x": 29246.95099831758, + "y": 32328.715120822297 + }, + "targetPosition": { + "x": 29540.395278537722, + "y": 32266.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{\n \"percentage\": 0.1\n}", + "project": "Foundations", + "id": "33b7f58b-2245-45da-aab7-7e8b4928a3db", + "savedPayload": { + "position": { + "x": 29288.794108154096, + "y": 32102.949903072462 + }, + "targetPosition": { + "x": 29540.395278537722, + "y": 32266.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "65b8725f-2a39-4956-9384-4ba2860019e3", + "savedPayload": { + "position": { + "x": 29540.395278537722, + "y": 32266.34161357697 + }, + "targetPosition": { + "x": 29833.839558757863, + "y": 32203.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "bd4d03cb-2831-4943-b3fd-9fc8442ee8aa", + "savedPayload": { + "position": { + "x": 29833.839558757863, + "y": 32203.968106331642 + }, + "targetPosition": { + "x": 30056.78300640108, + "y": 32003.228924423984 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Sell Order #1", + "id": "8e404329-d41f-41e0-ad5a-c84ee1fa2604" + } + } + } + ], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "a79a076c-4481-4cd1-a7fe-845918230c22", + "savedPayload": { + "position": { + "x": 30056.78300640108, + "y": 32003.228924423984 + }, + "targetPosition": { + "x": 30279.7264540443, + "y": 31802.489742516325 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "261e9ade-9074-4f3b-9921-37ec397a4e90", + "savedPayload": { + "position": { + "x": 30279.7264540443, + "y": 31802.489742516325 + }, + "targetPosition": { + "x": 30502.669901687517, + "y": 31601.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "d812b759-f22a-468f-b94e-a92db0e4e743", + "savedPayload": { + "position": { + "x": 30413.592985053547, + "y": 31573.832830829462 + }, + "targetPosition": { + "x": 30853.237058906165, + "y": 31477.847996994777 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "1ea58c5d-b980-4096-a1fa-29d604bdf02b", + "savedPayload": { + "position": { + "x": 30853.237058906165, + "y": 31477.847996994777 + }, + "targetPosition": { + "x": 31034, + "y": 31065.75 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Portfolio Strategy", + "name": "01-hs", + "project": "Foundations", + "triggerStage": { + "type": "Trigger Stage", + "name": "New Trigger Stage", + "project": "Foundations", + "triggerOn": { + "type": "Trigger On Event", + "name": "New Trigger On Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Livetest Chart Comparison", + "code": "chart.at01hs.candle.close > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "isBestOption()\n\nfunction isBestOption() {\n\n const TIME_FRAME_LABEL = TS.projects.foundations.globals.timeFrames.marketTimeFramesArray().concat(TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray())\n \n for (k = 0; k < TIME_FRAME_LABEL.length; k++) {\n TIME_FRAME_LABEL[k] = 'at' + TIME_FRAME_LABEL[k][1].replace(/'|-/g,'')\n }\n\n const validNow = []\n validNow.length = 0\n\n myChart = \"at01hs\"\n\n for (i = 0; i < TIME_FRAME_LABEL.length; i++) {\n\n label = TIME_FRAME_LABEL[i]\n\n // prepareLivetest = chart.at24hs.livetest.begin\n // prepareLivetest = chart.at12hs.livetest.begin\n // prepareLivetest = chart.at08hs.livetest.begin\n // prepareLivetest = chart.at06hs.livetest.begin\n // prepareLivetest = chart.at04hs.livetest.begin\n // prepareLivetest = chart.at03hs.livetest.begin\n // prepareLivetest = chart.at02hs.livetest.begin\n // prepareLivetest = chart.at01hs.livetest.begin\n // prepareLivetest = chart.at45min.livetest.begin\n // prepareLivetest = chart.at40min.livetest.begin\n // prepareLivetest = chart.at30min.livetest.begin\n // prepareLivetest = chart.at20min.livetest.begin\n // prepareLivetest = chart.at15min.livetest.begin\n // prepareLivetest = chart.at10min.livetest.begin\n // prepareLivetest = chart.at05min.livetest.begin\n // prepareLivetest = chart.at04min.livetest.begin\n // prepareLivetest = chart.at03min.livetest.begin\n // prepareLivetest = chart.at02min.livetest.begin\n // prepareLivetest = chart.at01min.livetest.begin\n \n\n if (chart[label].livetest.positionBullish !== undefined && chart[label].livetest.positionTimestamp !== undefined) {\n if (chart[label].livetest.positionBullish === 1 && chart[label].livetest.positionTimestamp == chart.at01min.candle.end) {\n validNow.push(label)\n }\n }\n else { \n break \n }\n }\n if (validNow.length === 1) {\n if (validNow[0] === myChart) {\n return true\n }\n }\n else if (validNow.length > 1) { \n \n maxPPH = 9999\n bestChart = \"Not defined\"\n\n for (j = 0; j < validNow.length; j++) {\n\n label = validNow[j]\n\n if (chart[label].livetest.averageBullPerHour < maxPPH) {\n maxPPH = chart[label].livetest.averageBullPerHour\n bestChart = label\n }\n }\n if (bestChart == myChart) {\n return true\n }\n }\n else {\n return false\n }\n}\n", + "project": "Foundations", + "id": "72988ab2-6e25-477b-9324-158d8db43bc6", + "savedPayload": { + "position": { + "x": 32316.6349509756, + "y": 32834.927707826806 + }, + "targetPosition": { + "x": 31941.957702012096, + "y": 32585.694966981748 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "36a3ee70-8f66-4e53-9408-ccb1ff4b87ff", + "savedPayload": { + "position": { + "x": 31941.957702012096, + "y": 32585.694966981748 + }, + "targetPosition": { + "x": 31567.280453048592, + "y": 32336.46222613669 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "f590bf3a-35ea-4580-bb85-f11a6770652b", + "savedPayload": { + "position": { + "x": 31567.280453048592, + "y": 32336.46222613669 + }, + "targetPosition": { + "x": 31192.603204085088, + "y": 32087.22948529163 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "b7b63515-554f-41a1-96ef-3d04da549959", + "savedPayload": { + "position": { + "x": 31192.603204085088, + "y": 32087.22948529163 + }, + "targetPosition": { + "x": 30817.925955121584, + "y": 31837.996744446573 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "triggerOff": { + "type": "Trigger Off Event", + "name": "New Trigger Off Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "false", + "project": "Foundations", + "id": "7e7fc175-e54e-4e75-98f5-7ce5f9bd953a", + "savedPayload": { + "position": { + "x": 31172.736604534253, + "y": 33602.68068302123 + }, + "targetPosition": { + "x": 31084.033942181086, + "y": 33161.509698377566 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "91a65a77-4838-49c5-a98e-1088305a4d64", + "savedPayload": { + "position": { + "x": 31084.033942181086, + "y": 33161.509698377566 + }, + "targetPosition": { + "x": 30995.33127982792, + "y": 32720.3387137339 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "eed84368-2ad7-4eec-b05b-3d0f4a02c839", + "savedPayload": { + "position": { + "x": 30995.33127982792, + "y": 32720.3387137339 + }, + "targetPosition": { + "x": 30906.62861747475, + "y": 32279.167729090237 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "626e346b-b0b2-499b-85bd-3d56ee7b28b1", + "savedPayload": { + "position": { + "x": 30906.62861747475, + "y": 32279.167729090237 + }, + "targetPosition": { + "x": 30817.925955121584, + "y": 31837.996744446573 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "takePosition": { + "type": "Take Position Event", + "name": "New Take Position Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "9443e650-20bc-48a4-b14c-3401973ba5ae", + "savedPayload": { + "position": { + "x": 29820.99499174135, + "y": 33336.70574030059 + }, + "targetPosition": { + "x": 30070.22773258641, + "y": 32962.028491337085 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "4eaad423-c1cb-4b66-8c45-757fd70227b8", + "savedPayload": { + "position": { + "x": 30070.22773258641, + "y": 32962.028491337085 + }, + "targetPosition": { + "x": 30319.460473431467, + "y": 32587.35124237358 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "7bae8328-2c2b-4d64-9ca3-347b85809ad1", + "savedPayload": { + "position": { + "x": 30319.460473431467, + "y": 32587.35124237358 + }, + "targetPosition": { + "x": 30568.693214276525, + "y": 32212.673993410077 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "a97bbf8f-b380-40a6-b787-a49b9e7e04c7", + "savedPayload": { + "position": { + "x": 30568.693214276525, + "y": 32212.673993410077 + }, + "targetPosition": { + "x": 30817.925955121584, + "y": 31837.996744446573 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "a388b851-1215-44d8-9d9d-c6e483cb5b74", + "savedPayload": { + "position": { + "x": 30817.925955121584, + "y": 31837.996744446573 + }, + "targetPosition": { + "x": 30729.223292768416, + "y": 31396.82575980291 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openStage": { + "type": "Open Stage", + "name": "New Open Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "1e861f77-2c77-401b-85bc-e5ef9050550c", + "savedPayload": { + "position": { + "x": 30822.384013274626, + "y": 30354.321255518636 + }, + "targetPosition": { + "x": 30853.742552254924, + "y": 30652.677824129118 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "99cf2d0e-bbc7-4b2d-a108-60d66ad410a8", + "savedPayload": { + "position": { + "x": 30853.742552254924, + "y": 30652.677824129118 + }, + "targetPosition": { + "x": 30885.10109123522, + "y": 30951.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInQuotedAsset": { + "type": "Target Size In Quoted Asset", + "name": "New Target Size In Quoted Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value", + "project": "Foundations", + "id": "ef06e6d3-ae4a-4a2f-893f-7e1893737fb9", + "savedPayload": { + "position": { + "x": 31370.511287860187, + "y": 30598.363241364113 + }, + "targetPosition": { + "x": 31127.806189547704, + "y": 30774.698817051856 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "4c6c546c-c122-4ce8-ae22-4feff20258b3", + "savedPayload": { + "position": { + "x": 31127.806189547704, + "y": 30774.698817051856 + }, + "targetPosition": { + "x": 30885.10109123522, + "y": 30951.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "9b3377e3-6604-4515-a38f-44d3c5e2df59", + "savedPayload": { + "position": { + "x": 30885.10109123522, + "y": 30951.0343927396 + }, + "targetPosition": { + "x": 30763.080098312483, + "y": 31225.09803003238 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openExecution": { + "type": "Open Execution", + "name": "New Open Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [ + { + "type": "Market Buy Order", + "name": "New Market Buy Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "896337c0-e381-48e2-9527-7ae5953c4c18", + "savedPayload": { + "position": { + "x": 32628.970197393865, + "y": 30425.680110340516 + }, + "targetPosition": { + "x": 32386.265099081378, + "y": 30602.01568602826 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "033e962f-67ca-4816-8e2d-9b4fbc48ddb3", + "savedPayload": { + "position": { + "x": 32386.265099081378, + "y": 30602.01568602826 + }, + "targetPosition": { + "x": 32143.56000076889, + "y": 30778.351261716 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "fd6e6aa0-ae77-40da-8e3f-fa562dee93ec", + "savedPayload": { + "position": { + "x": 32143.56000076889, + "y": 30778.351261716 + }, + "targetPosition": { + "x": 31900.85490245641, + "y": 30954.686837403744 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "60db19ab-c593-4130-b4fb-f4acd7ef0cc8", + "savedPayload": { + "position": { + "x": 31900.85490245641, + "y": 30954.686837403744 + }, + "targetPosition": { + "x": 31658.149804143926, + "y": 31131.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{ \n\"fillProbability\": 1\n}", + "project": "Foundations", + "id": "f80b2123-9af0-4877-b9f8-212b2ebfd361", + "savedPayload": { + "position": { + "x": 32212.287569385866, + "y": 31145.533021150633 + }, + "targetPosition": { + "x": 31932.213441436706, + "y": 31253.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "5401f2a0-bc79-4ccc-b19f-55f541d705a6", + "savedPayload": { + "position": { + "x": 32480.34071602227, + "y": 31497.085391859702 + }, + "targetPosition": { + "x": 32206.277078729487, + "y": 31375.064398936964 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "6bda4683-2ddc-439d-9796-0f49562f6ef1", + "savedPayload": { + "position": { + "x": 32206.277078729487, + "y": 31375.064398936964 + }, + "targetPosition": { + "x": 31932.213441436706, + "y": 31253.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{ \n\"percentage\": 0.1\n}", + "project": "Foundations", + "id": "f5df76ea-a9c2-4adf-b339-3c2e3fc81e9b", + "savedPayload": { + "position": { + "x": 32039.723826300295, + "y": 31533.117533963385 + }, + "targetPosition": { + "x": 31932.213441436706, + "y": 31253.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "d3c44451-ff2e-44e2-a733-6da16af30b57", + "savedPayload": { + "position": { + "x": 31932.213441436706, + "y": 31253.043406014225 + }, + "targetPosition": { + "x": 31658.149804143926, + "y": 31131.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "106fb242-ca6e-4e69-83f6-f64e61b3e1eb", + "savedPayload": { + "position": { + "x": 31658.149804143926, + "y": 31131.022413091487 + }, + "targetPosition": { + "x": 31359.793235533445, + "y": 31162.380952071784 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Buy Order #1", + "id": "7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3" + } + } + } + ], + "marketSellOrders": [], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "6b67e499-97e7-4951-b71a-aa761ef4a7c5", + "savedPayload": { + "position": { + "x": 31359.793235533445, + "y": 31162.380952071784 + }, + "targetPosition": { + "x": 31061.436666922964, + "y": 31193.73949105208 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "113c7b19-69b1-4de4-8a6a-c937a0f5a0c3", + "savedPayload": { + "position": { + "x": 31061.436666922964, + "y": 31193.73949105208 + }, + "targetPosition": { + "x": 30763.080098312483, + "y": 31225.09803003238 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "eeeb9b77-0d3b-4c8d-be84-9da47dadd9a7", + "savedPayload": { + "position": { + "x": 30541.671455545536, + "y": 31805.87870057503 + }, + "targetPosition": { + "x": 30729.223292768416, + "y": 31396.82575980291 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "manageStage": { + "type": "Manage Stage", + "name": "New Manage Stage", + "project": "Foundations", + "managedStopLoss": { + "type": "Managed Stop Loss", + "name": "New Managed Stop Loss", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 - chart.at01hs.livetest.averageTradeDown) / 100 )", + "project": "Foundations", + "id": "5a6c3198-79bf-4629-8506-a3eef9ce8fe4", + "savedPayload": { + "position": { + "x": 30099.18179200242, + "y": 32784.09944742836 + }, + "targetPosition": { + "x": 29878.49121527869, + "y": 32391.931537796085 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "name": "New Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "code": "chart.at15min.livetest.averageTradeDown > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01min.candle.close > ( portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.005 )", + "project": "Foundations", + "id": "49b4d04b-05f9-459c-8b98-6fca165e7384", + "savedPayload": { + "position": { + "x": 28078.600572668878, + "y": 32372.090301805885 + }, + "targetPosition": { + "x": 28528.57323332133, + "y": 32377.050610803435 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "51d8e951-37d4-482f-bebd-c8372ae1e3e9", + "savedPayload": { + "position": { + "x": 28528.57323332133, + "y": 32377.050610803435 + }, + "targetPosition": { + "x": 28978.545893973784, + "y": 32382.010919800985 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "55760620-22eb-4d8c-8535-604d5fa9c7f5", + "savedPayload": { + "position": { + "x": 28978.545893973784, + "y": 32382.010919800985 + }, + "targetPosition": { + "x": 29428.518554626236, + "y": 32386.971228798535 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "e078a307-3e83-4ce9-a01f-07f79aae74a9", + "savedPayload": { + "position": { + "x": 29428.518554626236, + "y": 32386.971228798535 + }, + "targetPosition": { + "x": 29878.49121527869, + "y": 32391.931537796085 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "6ee69614-3369-4d32-a368-a556c146f070", + "savedPayload": { + "position": { + "x": 29878.49121527869, + "y": 32391.931537796085 + }, + "targetPosition": { + "x": 30107.773299207416, + "y": 32004.72393716136 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "if ( ( portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995 ) > portfolioEngine.portfolioCurrent.position.stopLoss.value ) {\nportfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995\n}\nelse { portfolioEngine.portfolioCurrent.position.stopLoss.value }", + "project": "Foundations", + "id": "b70c363e-4ccb-478d-846e-883d12e8f080", + "savedPayload": { + "position": { + "x": 29419.927047421235, + "y": 33166.346739065535 + }, + "targetPosition": { + "x": 29649.209131349962, + "y": 32779.13913843081 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "d3122d43-dfd5-4911-8fef-086607d0b5e0", + "savedPayload": { + "position": { + "x": 29649.209131349962, + "y": 32779.13913843081 + }, + "targetPosition": { + "x": 29878.49121527869, + "y": 32391.931537796085 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "4dbdd6b8-7804-472c-8084-31b66cd018fb", + "savedPayload": { + "position": { + "x": 30107.773299207416, + "y": 32004.72393716136 + }, + "targetPosition": { + "x": 30337.055383136143, + "y": 31617.516336526638 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "managedTakeProfit": { + "type": "Managed Take Profit", + "name": "New Managed Take Profit", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 + ( chart.at01hs.livetest.averageTradeUp) ) / 100 )", + "project": "Foundations", + "id": "e429fe5a-9579-4ab3-a886-889a91cb1624", + "savedPayload": { + "position": { + "x": 28987.137401178785, + "y": 31602.63540953399 + }, + "targetPosition": { + "x": 29437.110061831238, + "y": 31607.59571853154 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "8a2cc60b-29e9-49e6-8655-b6660e70e5e6", + "savedPayload": { + "position": { + "x": 29437.110061831238, + "y": 31607.59571853154 + }, + "targetPosition": { + "x": 29887.08272248369, + "y": 31612.556027529088 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "cb284c3d-531e-4bef-816f-0f51b3c72db0", + "savedPayload": { + "position": { + "x": 29887.08272248369, + "y": 31612.556027529088 + }, + "targetPosition": { + "x": 30337.055383136143, + "y": 31617.516336526638 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "34606f4a-9689-43ae-a646-711963748cb6", + "savedPayload": { + "position": { + "x": 30337.055383136143, + "y": 31617.516336526638 + }, + "targetPosition": { + "x": 30729.223292768416, + "y": 31396.82575980291 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeStage": { + "type": "Close Stage", + "name": "New Close Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "targetRate()\n\nfunction targetRate() {\n switch (portfolioEngine.portfolioCurrent.position.exitType.value) {\n case 'No Exit': {\n return portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value\n break\n }\n case 'Take Profit': {\n return portfolioEngine.portfolioCurrent.position.takeProfit.finalValue.value\n break\n }\n case 'Stop Loss': {\n return portfolioEngine.portfolioCurrent.position.stopLoss.finalValue.value\n break\n }\n }\n}", + "project": "Foundations", + "id": "1da4e7e6-2374-4c8a-839a-33d5bdd8c772", + "savedPayload": { + "position": { + "x": 30891.52177274816, + "y": 32426.081736115244 + }, + "targetPosition": { + "x": 30690.782590840503, + "y": 32203.138288472026 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "22884bff-2104-491a-8ce5-e154a657ef2a", + "savedPayload": { + "position": { + "x": 30690.782590840503, + "y": 32203.138288472026 + }, + "targetPosition": { + "x": 30490.043408932845, + "y": 31980.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInBaseAsset": { + "type": "Target Size In Base Asset", + "name": "New Target Size In Base Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value", + "project": "Foundations", + "id": "f4c77d43-d844-4b6f-b3f1-75ba9662e5b5", + "savedPayload": { + "position": { + "x": 30304.63321230788, + "y": 32550.8287506059 + }, + "targetPosition": { + "x": 30397.338310620362, + "y": 32265.511795717353 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "e4b2cc2c-9ce3-408e-b5ad-284747481f59", + "savedPayload": { + "position": { + "x": 30397.338310620362, + "y": 32265.511795717353 + }, + "targetPosition": { + "x": 30490.043408932845, + "y": 31980.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "427f71a8-ae0b-4e18-9eb9-be399420d5b3", + "savedPayload": { + "position": { + "x": 30490.043408932845, + "y": 31980.194840828808 + }, + "targetPosition": { + "x": 30427.669901687517, + "y": 31686.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeExecution": { + "type": "Close Execution", + "name": "New Close Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [], + "marketSellOrders": [ + { + "type": "Market Sell Order", + "name": "New Market Sell Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "736fa0d0-c8c9-47d5-8175-db9665a64849", + "savedPayload": { + "position": { + "x": 29388.019165507932, + "y": 33430.23592588583 + }, + "targetPosition": { + "x": 29480.724263820415, + "y": 33144.91897099728 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "266facd1-000d-4b4c-928b-6fceac61f452", + "savedPayload": { + "position": { + "x": 29480.724263820415, + "y": 33144.91897099728 + }, + "targetPosition": { + "x": 29573.429362132898, + "y": 32859.602016108736 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "691b0ce7-3cd2-4af9-a766-4007486a4dc7", + "savedPayload": { + "position": { + "x": 29573.429362132898, + "y": 32859.602016108736 + }, + "targetPosition": { + "x": 29666.13446044538, + "y": 32574.285061220187 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "3df17ed7-cc73-4337-b841-8b106ad15974", + "savedPayload": { + "position": { + "x": 29666.13446044538, + "y": 32574.285061220187 + }, + "targetPosition": { + "x": 29758.839558757863, + "y": 32288.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{\n \"fillProbability\": 1\n}", + "project": "Foundations", + "id": "d9dd8d3b-0fe0-45de-89f4-3c8a39969b7b", + "savedPayload": { + "position": { + "x": 29302.003568033215, + "y": 32602.942783960596 + }, + "targetPosition": { + "x": 29465.395278537722, + "y": 32351.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "33b1725e-9edd-4119-a01c-a434c64dceff", + "savedPayload": { + "position": { + "x": 28878.50671809744, + "y": 32476.088628067624 + }, + "targetPosition": { + "x": 29171.95099831758, + "y": 32413.715120822297 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "efb1d51e-4a45-48d3-84a6-6af906af3892", + "savedPayload": { + "position": { + "x": 29171.95099831758, + "y": 32413.715120822297 + }, + "targetPosition": { + "x": 29465.395278537722, + "y": 32351.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{\n \"percentage\": 0.1\n}", + "project": "Foundations", + "id": "dd58535f-f968-4591-b965-341c58bc44fb", + "savedPayload": { + "position": { + "x": 29213.794108154096, + "y": 32187.949903072462 + }, + "targetPosition": { + "x": 29465.395278537722, + "y": 32351.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "0be6c2cd-cfbf-4908-ae24-a56324c88d11", + "savedPayload": { + "position": { + "x": 29465.395278537722, + "y": 32351.34161357697 + }, + "targetPosition": { + "x": 29758.839558757863, + "y": 32288.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "9ca9b70a-a0fd-4e9e-b08c-4aee2f50fe95", + "savedPayload": { + "position": { + "x": 29758.839558757863, + "y": 32288.968106331642 + }, + "targetPosition": { + "x": 29981.78300640108, + "y": 32088.228924423984 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Sell Order #1", + "id": "8e404329-d41f-41e0-ad5a-c84ee1fa2604" + } + } + } + ], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "2211538d-b61b-4bd4-812c-b968c690ea2a", + "savedPayload": { + "position": { + "x": 29981.78300640108, + "y": 32088.228924423984 + }, + "targetPosition": { + "x": 30204.7264540443, + "y": 31887.489742516325 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "4ee13b68-5f14-4cce-9976-211f710c0b27", + "savedPayload": { + "position": { + "x": 30204.7264540443, + "y": 31887.489742516325 + }, + "targetPosition": { + "x": 30427.669901687517, + "y": 31686.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "0a4bc5bb-ba09-4d01-9677-04ef2c0f2391", + "savedPayload": { + "position": { + "x": 30282.234122909278, + "y": 31344.857673166596 + }, + "targetPosition": { + "x": 30729.223292768416, + "y": 31396.82575980291 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "809c62ce-7a6b-41f2-befa-989ff56b5971", + "savedPayload": { + "position": { + "x": 30729.223292768416, + "y": 31396.82575980291 + }, + "targetPosition": { + "x": 31034, + "y": 31065.75 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Portfolio Strategy", + "name": "02-hs", + "project": "Foundations", + "triggerStage": { + "type": "Trigger Stage", + "name": "New Trigger Stage", + "project": "Foundations", + "triggerOn": { + "type": "Trigger On Event", + "name": "New Trigger On Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Livetest Chart Comparison", + "code": "chart.at01hs.candle.close > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "isBestOption()\n\nfunction isBestOption() {\n\n const TIME_FRAME_LABEL = TS.projects.foundations.globals.timeFrames.marketTimeFramesArray().concat(TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray())\n \n for (k = 0; k < TIME_FRAME_LABEL.length; k++) {\n TIME_FRAME_LABEL[k] = 'at' + TIME_FRAME_LABEL[k][1].replace(/'|-/g,'')\n }\n\n const validNow = []\n validNow.length = 0\n\n myChart = \"at02hs\"\n\n for (i = 0; i < TIME_FRAME_LABEL.length; i++) {\n\n label = TIME_FRAME_LABEL[i]\n\n // prepareLivetest = chart.at24hs.livetest.begin\n // prepareLivetest = chart.at12hs.livetest.begin\n // prepareLivetest = chart.at08hs.livetest.begin\n // prepareLivetest = chart.at06hs.livetest.begin\n // prepareLivetest = chart.at04hs.livetest.begin\n // prepareLivetest = chart.at03hs.livetest.begin\n // prepareLivetest = chart.at02hs.livetest.begin\n // prepareLivetest = chart.at01hs.livetest.begin\n // prepareLivetest = chart.at45min.livetest.begin\n // prepareLivetest = chart.at40min.livetest.begin\n // prepareLivetest = chart.at30min.livetest.begin\n // prepareLivetest = chart.at20min.livetest.begin\n // prepareLivetest = chart.at15min.livetest.begin\n // prepareLivetest = chart.at10min.livetest.begin\n // prepareLivetest = chart.at05min.livetest.begin\n // prepareLivetest = chart.at04min.livetest.begin\n // prepareLivetest = chart.at03min.livetest.begin\n // prepareLivetest = chart.at02min.livetest.begin\n // prepareLivetest = chart.at01min.livetest.begin\n \n\n if (chart[label].livetest.positionBullish !== undefined && chart[label].livetest.positionTimestamp !== undefined) {\n if (chart[label].livetest.positionBullish === 1 && chart[label].livetest.positionTimestamp == chart.at01min.candle.end) {\n validNow.push(label)\n }\n }\n else { \n break \n }\n }\n if (validNow.length === 1) {\n if (validNow[0] === myChart) {\n return true\n }\n }\n else if (validNow.length > 1) { \n \n maxPPH = 9999\n bestChart = \"Not defined\"\n\n for (j = 0; j < validNow.length; j++) {\n\n label = validNow[j]\n\n if (chart[label].livetest.averageBullPerHour < maxPPH) {\n maxPPH = chart[label].livetest.averageBullPerHour\n bestChart = label\n }\n }\n if (bestChart == myChart) {\n return true\n }\n }\n else {\n return false\n }\n}\n", + "project": "Foundations", + "id": "737f7c2e-b239-4f44-a36b-8b252fca4a65", + "savedPayload": { + "position": { + "x": 31672.687188780452, + "y": 33155.53966746015 + }, + "targetPosition": { + "x": 31399.236725298626, + "y": 32798.15354011107 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "ee2fdfec-3573-4cd7-9666-87324884ad97", + "savedPayload": { + "position": { + "x": 31399.236725298626, + "y": 32798.15354011107 + }, + "targetPosition": { + "x": 31125.7862618168, + "y": 32440.767412761983 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "0dbedb41-d8bd-48d3-80dc-7a6a3538f3f2", + "savedPayload": { + "position": { + "x": 31125.7862618168, + "y": 32440.767412761983 + }, + "targetPosition": { + "x": 30852.335798334974, + "y": 32083.381285412903 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "71530733-6688-4cfe-b40a-99caa91893c0", + "savedPayload": { + "position": { + "x": 30852.335798334974, + "y": 32083.381285412903 + }, + "targetPosition": { + "x": 30578.88533485315, + "y": 31725.995158063823 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "triggerOff": { + "type": "Trigger Off Event", + "name": "New Trigger Off Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "false", + "project": "Foundations", + "id": "a405daad-cc3f-4aaf-83b4-3028bf8bc8aa", + "savedPayload": { + "position": { + "x": 30341.47942643743, + "y": 33510.27048285238 + }, + "targetPosition": { + "x": 30400.83090354136, + "y": 33064.20165165524 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "11307406-1538-4fa5-bfcb-b86447459457", + "savedPayload": { + "position": { + "x": 30400.83090354136, + "y": 33064.20165165524 + }, + "targetPosition": { + "x": 30460.18238064529, + "y": 32618.1328204581 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "4b592953-f6ef-4b56-8688-df80f42a81b0", + "savedPayload": { + "position": { + "x": 30460.18238064529, + "y": 32618.1328204581 + }, + "targetPosition": { + "x": 30519.53385774922, + "y": 32172.06398926096 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "3dd19e50-93d9-4e0f-a936-4a2ed6de1d1d", + "savedPayload": { + "position": { + "x": 30519.53385774922, + "y": 32172.06398926096 + }, + "targetPosition": { + "x": 30578.88533485315, + "y": 31725.995158063823 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "takePosition": { + "type": "Take Position Event", + "name": "New Take Position Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "c31120f8-df6e-4f76-8bfd-a6f6d22ffd45", + "savedPayload": { + "position": { + "x": 29149.340825456828, + "y": 32819.797011991126 + }, + "targetPosition": { + "x": 29506.726952805908, + "y": 32546.3465485093 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "606003c9-8e6a-42ea-841c-536c6ef12ece", + "savedPayload": { + "position": { + "x": 29506.726952805908, + "y": 32546.3465485093 + }, + "targetPosition": { + "x": 29864.113080154988, + "y": 32272.896085027474 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "861bd787-b6f1-49db-a424-d5873305139a", + "savedPayload": { + "position": { + "x": 29864.113080154988, + "y": 32272.896085027474 + }, + "targetPosition": { + "x": 30221.49920750407, + "y": 31999.44562154565 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "2b472e73-999d-40ed-b8fd-53695af4037c", + "savedPayload": { + "position": { + "x": 30221.49920750407, + "y": 31999.44562154565 + }, + "targetPosition": { + "x": 30578.88533485315, + "y": 31725.995158063823 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "64a999e0-2edf-4396-835a-19a98e8a3dab", + "savedPayload": { + "position": { + "x": 30578.88533485315, + "y": 31725.995158063823 + }, + "targetPosition": { + "x": 30638.23681195708, + "y": 31279.926326866684 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openStage": { + "type": "Open Stage", + "name": "New Open Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "4f41fe3d-ebbb-4dad-a230-224c35e9bab6", + "savedPayload": { + "position": { + "x": 30813.384013274626, + "y": 30249.321255518636 + }, + "targetPosition": { + "x": 30844.742552254924, + "y": 30547.677824129118 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "89fab96c-f793-4ca0-98e0-01cccbad53f8", + "savedPayload": { + "position": { + "x": 30844.742552254924, + "y": 30547.677824129118 + }, + "targetPosition": { + "x": 30876.10109123522, + "y": 30846.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInQuotedAsset": { + "type": "Target Size In Quoted Asset", + "name": "New Target Size In Quoted Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value", + "project": "Foundations", + "id": "bacef437-3ab0-4c85-88e8-e04985381928", + "savedPayload": { + "position": { + "x": 31361.511287860187, + "y": 30493.363241364113 + }, + "targetPosition": { + "x": 31118.806189547704, + "y": 30669.698817051856 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "b182548f-bcf8-4fd8-80b5-63920b0e22b8", + "savedPayload": { + "position": { + "x": 31118.806189547704, + "y": 30669.698817051856 + }, + "targetPosition": { + "x": 30876.10109123522, + "y": 30846.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "38c4a941-6780-4528-b0da-e51d981fd527", + "savedPayload": { + "position": { + "x": 30876.10109123522, + "y": 30846.0343927396 + }, + "targetPosition": { + "x": 30754.080098312483, + "y": 31120.09803003238 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openExecution": { + "type": "Open Execution", + "name": "New Open Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [ + { + "type": "Market Buy Order", + "name": "New Market Buy Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "e0b9bdc3-e31b-47d0-9894-ee09ebe0b16a", + "savedPayload": { + "position": { + "x": 32619.970197393865, + "y": 30320.680110340516 + }, + "targetPosition": { + "x": 32377.265099081378, + "y": 30497.01568602826 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "ab10bd46-5231-44fc-a737-835fc24756f2", + "savedPayload": { + "position": { + "x": 32377.265099081378, + "y": 30497.01568602826 + }, + "targetPosition": { + "x": 32134.56000076889, + "y": 30673.351261716 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "3231e1f6-8c7f-424e-83d9-f172ce3ee0d0", + "savedPayload": { + "position": { + "x": 32134.56000076889, + "y": 30673.351261716 + }, + "targetPosition": { + "x": 31891.85490245641, + "y": 30849.686837403744 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "8ffb4cbd-38ff-487b-8a53-b3ebb6258f07", + "savedPayload": { + "position": { + "x": 31891.85490245641, + "y": 30849.686837403744 + }, + "targetPosition": { + "x": 31649.149804143926, + "y": 31026.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{ \n\"fillProbability\": 1\n}", + "project": "Foundations", + "id": "b3be41f1-f648-4c37-8aea-bb78288fe45f", + "savedPayload": { + "position": { + "x": 32203.287569385866, + "y": 31040.533021150633 + }, + "targetPosition": { + "x": 31923.213441436706, + "y": 31148.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "f79729c0-fe8e-4ea7-bb0b-9928bec61542", + "savedPayload": { + "position": { + "x": 32471.34071602227, + "y": 31392.085391859702 + }, + "targetPosition": { + "x": 32197.277078729487, + "y": 31270.064398936964 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "b628b7fc-c08b-4236-ac4a-d33829accc0f", + "savedPayload": { + "position": { + "x": 32197.277078729487, + "y": 31270.064398936964 + }, + "targetPosition": { + "x": 31923.213441436706, + "y": 31148.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{ \n\"percentage\": 0.1\n}", + "project": "Foundations", + "id": "e9046efd-3bd5-48dd-a6dd-a8c0dc1b7e2a", + "savedPayload": { + "position": { + "x": 32030.723826300295, + "y": 31428.117533963385 + }, + "targetPosition": { + "x": 31923.213441436706, + "y": 31148.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "585e4121-feae-4160-8566-13d3f4677827", + "savedPayload": { + "position": { + "x": 31923.213441436706, + "y": 31148.043406014225 + }, + "targetPosition": { + "x": 31649.149804143926, + "y": 31026.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "070abf3b-9890-405d-a304-ff4cc7e8b101", + "savedPayload": { + "position": { + "x": 31649.149804143926, + "y": 31026.022413091487 + }, + "targetPosition": { + "x": 31350.793235533445, + "y": 31057.380952071784 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Buy Order #1", + "id": "7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3" + } + } + } + ], + "marketSellOrders": [], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "45b88726-165e-4c6e-bc24-9c3ce5b08f53", + "savedPayload": { + "position": { + "x": 31350.793235533445, + "y": 31057.380952071784 + }, + "targetPosition": { + "x": 31052.436666922964, + "y": 31088.73949105208 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "77b2be72-3346-46e7-933c-1ccf9974c74f", + "savedPayload": { + "position": { + "x": 31052.436666922964, + "y": 31088.73949105208 + }, + "targetPosition": { + "x": 30754.080098312483, + "y": 31120.09803003238 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "085763c0-92ba-436c-b663-3b3ec59fe5e4", + "savedPayload": { + "position": { + "x": 30328.027777853724, + "y": 31605.917669022674 + }, + "targetPosition": { + "x": 30638.23681195708, + "y": 31279.926326866684 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "manageStage": { + "type": "Manage Stage", + "name": "New Manage Stage", + "project": "Foundations", + "managedStopLoss": { + "type": "Managed Stop Loss", + "name": "New Managed Stop Loss", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 - chart.at02hs.livetest.averageTradeDown) / 100 )", + "project": "Foundations", + "id": "6d443f83-3934-4b17-ba7d-17f3ba555c43", + "savedPayload": { + "position": { + "x": 29591.885667532046, + "y": 32387.459558704817 + }, + "targetPosition": { + "x": 29510.489427082597, + "y": 31944.882275012245 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "name": "New Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "code": "chart.at15min.livetest.averageTradeDown > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01min.candle.close > ( portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.005 )", + "project": "Foundations", + "id": "c91a698f-1e57-4e2d-9c83-ab4eaf6035ef", + "savedPayload": { + "position": { + "x": 27814.564262920983, + "y": 31341.692555634185 + }, + "targetPosition": { + "x": 28238.545553961387, + "y": 31492.4899854787 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "2fcfabf8-329f-4cf8-a210-3fa6fc52c5c9", + "savedPayload": { + "position": { + "x": 28238.545553961387, + "y": 31492.4899854787 + }, + "targetPosition": { + "x": 28662.52684500179, + "y": 31643.287415323215 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "367f6ee8-b95e-462f-b8bc-91b34b3cb0ae", + "savedPayload": { + "position": { + "x": 28662.52684500179, + "y": 31643.287415323215 + }, + "targetPosition": { + "x": 29086.508136042194, + "y": 31794.08484516773 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "86597bec-637d-4a2e-b236-0e4cb2ff9cfb", + "savedPayload": { + "position": { + "x": 29086.508136042194, + "y": 31794.08484516773 + }, + "targetPosition": { + "x": 29510.489427082597, + "y": 31944.882275012245 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "fae60770-6617-4a5d-9d54-c1ff2484cf90", + "savedPayload": { + "position": { + "x": 29510.489427082597, + "y": 31944.882275012245 + }, + "targetPosition": { + "x": 29853.074477673552, + "y": 31653.10242116419 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "if ( ( portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995 ) > portfolioEngine.portfolioCurrent.position.stopLoss.value ) {\nportfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995\n}\nelse { portfolioEngine.portfolioCurrent.position.stopLoss.value }", + "project": "Foundations", + "id": "8c6ef319-21b7-4950-a5b8-2fbfed63ebdd", + "savedPayload": { + "position": { + "x": 28825.319325900688, + "y": 32528.44198270836 + }, + "targetPosition": { + "x": 29167.904376491642, + "y": 32236.662128860302 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "88f6ac85-3832-40d7-9e52-dbf67ee35cce", + "savedPayload": { + "position": { + "x": 29167.904376491642, + "y": 32236.662128860302 + }, + "targetPosition": { + "x": 29510.489427082597, + "y": 31944.882275012245 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "d5daab2a-ad99-405d-ab09-65e8ccf34cf8", + "savedPayload": { + "position": { + "x": 29853.074477673552, + "y": 31653.10242116419 + }, + "targetPosition": { + "x": 30195.659528264507, + "y": 31361.322567316132 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "managedTakeProfit": { + "type": "Managed Take Profit", + "name": "New Managed Take Profit", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 + ( chart.at02hs.livetest.averageTradeUp ) ) / 100 )", + "project": "Foundations", + "id": "68a9434b-2443-40fe-97d7-6323ab7b18e9", + "savedPayload": { + "position": { + "x": 28923.715655143296, + "y": 30908.930277782587 + }, + "targetPosition": { + "x": 29347.6969461837, + "y": 31059.727707627102 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "49b9b38f-39a5-4b71-bbc4-89092d7bd06e", + "savedPayload": { + "position": { + "x": 29347.6969461837, + "y": 31059.727707627102 + }, + "targetPosition": { + "x": 29771.678237224103, + "y": 31210.525137471617 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "6fcd4310-ccb3-4191-890a-130c38283103", + "savedPayload": { + "position": { + "x": 29771.678237224103, + "y": 31210.525137471617 + }, + "targetPosition": { + "x": 30195.659528264507, + "y": 31361.322567316132 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "63427e27-f1b1-4020-aecc-42ede99f9134", + "savedPayload": { + "position": { + "x": 30195.659528264507, + "y": 31361.322567316132 + }, + "targetPosition": { + "x": 30638.23681195708, + "y": 31279.926326866684 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeStage": { + "type": "Close Stage", + "name": "New Close Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "targetRate()\n\nfunction targetRate() {\n switch (portfolioEngine.portfolioCurrent.position.exitType.value) {\n case 'No Exit': {\n return portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value\n break\n }\n case 'Take Profit': {\n return portfolioEngine.portfolioCurrent.position.takeProfit.finalValue.value\n break\n }\n case 'Stop Loss': {\n return portfolioEngine.portfolioCurrent.position.stopLoss.finalValue.value\n break\n }\n }\n}", + "project": "Foundations", + "id": "b722b022-67d5-4f47-9931-efc7da80af61", + "savedPayload": { + "position": { + "x": 30882.52177274816, + "y": 32321.081736115244 + }, + "targetPosition": { + "x": 30681.782590840503, + "y": 32098.138288472026 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "f7b03dd5-71a0-4522-8714-3b50c1e25dd5", + "savedPayload": { + "position": { + "x": 30681.782590840503, + "y": 32098.138288472026 + }, + "targetPosition": { + "x": 30481.043408932845, + "y": 31875.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInBaseAsset": { + "type": "Target Size In Base Asset", + "name": "New Target Size In Base Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value", + "project": "Foundations", + "id": "5f80008c-fcfa-4de3-863b-395f8cc3ae5b", + "savedPayload": { + "position": { + "x": 30295.63321230788, + "y": 32445.8287506059 + }, + "targetPosition": { + "x": 30388.338310620362, + "y": 32160.511795717353 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "553c2e20-740b-475c-a018-6c4e957071fc", + "savedPayload": { + "position": { + "x": 30388.338310620362, + "y": 32160.511795717353 + }, + "targetPosition": { + "x": 30481.043408932845, + "y": 31875.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "b9363b02-3688-4e7e-be29-4791523c5731", + "savedPayload": { + "position": { + "x": 30481.043408932845, + "y": 31875.194840828808 + }, + "targetPosition": { + "x": 30418.669901687517, + "y": 31581.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeExecution": { + "type": "Close Execution", + "name": "New Close Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [], + "marketSellOrders": [ + { + "type": "Market Sell Order", + "name": "New Market Sell Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "dfed6a62-11c7-4994-8d15-1185af027297", + "savedPayload": { + "position": { + "x": 29379.019165507932, + "y": 33325.23592588583 + }, + "targetPosition": { + "x": 29471.724263820415, + "y": 33039.91897099728 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "eb7b2032-cc94-4e40-ae6d-704ec4b76b25", + "savedPayload": { + "position": { + "x": 29471.724263820415, + "y": 33039.91897099728 + }, + "targetPosition": { + "x": 29564.429362132898, + "y": 32754.602016108733 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "20db5586-4118-4c02-9732-50dfa881b8c5", + "savedPayload": { + "position": { + "x": 29564.429362132898, + "y": 32754.602016108733 + }, + "targetPosition": { + "x": 29657.13446044538, + "y": 32469.285061220187 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "55cbfc4b-a972-4b01-937e-bf8d16b47ab1", + "savedPayload": { + "position": { + "x": 29657.13446044538, + "y": 32469.285061220187 + }, + "targetPosition": { + "x": 29749.839558757863, + "y": 32183.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{\n \"fillProbability\": 1\n}", + "project": "Foundations", + "id": "013f284f-b6c7-43fb-b21c-7f653aa8ce1a", + "savedPayload": { + "position": { + "x": 29293.003568033215, + "y": 32497.942783960596 + }, + "targetPosition": { + "x": 29456.395278537722, + "y": 32246.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "499b3d65-654d-45a0-89c6-e6dd7ab9d1e4", + "savedPayload": { + "position": { + "x": 28869.50671809744, + "y": 32371.088628067624 + }, + "targetPosition": { + "x": 29162.95099831758, + "y": 32308.715120822297 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "a469c5f2-99b7-4d03-b7e8-d7fe24860f4b", + "savedPayload": { + "position": { + "x": 29162.95099831758, + "y": 32308.715120822297 + }, + "targetPosition": { + "x": 29456.395278537722, + "y": 32246.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{\n \"percentage\": 0.1\n}", + "project": "Foundations", + "id": "016ae4fd-eb0b-441a-85d0-9716163b1a6c", + "savedPayload": { + "position": { + "x": 29204.794108154096, + "y": 32082.949903072462 + }, + "targetPosition": { + "x": 29456.395278537722, + "y": 32246.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "36370a4b-5759-4b05-9560-dfa06f0367ae", + "savedPayload": { + "position": { + "x": 29456.395278537722, + "y": 32246.34161357697 + }, + "targetPosition": { + "x": 29749.839558757863, + "y": 32183.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "469257e2-f09b-494d-b023-cfb9614d4982", + "savedPayload": { + "position": { + "x": 29749.839558757863, + "y": 32183.968106331642 + }, + "targetPosition": { + "x": 29972.78300640108, + "y": 31983.228924423984 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Sell Order #1", + "id": "8e404329-d41f-41e0-ad5a-c84ee1fa2604" + } + } + } + ], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "022266c7-645f-401a-b767-79fd91dbd3c4", + "savedPayload": { + "position": { + "x": 29972.78300640108, + "y": 31983.228924423984 + }, + "targetPosition": { + "x": 30195.7264540443, + "y": 31782.489742516325 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "36191887-4757-4436-8ecc-d077e8b3b4f7", + "savedPayload": { + "position": { + "x": 30195.7264540443, + "y": 31782.489742516325 + }, + "targetPosition": { + "x": 30418.669901687517, + "y": 31581.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "c1c91bf0-9bb3-4147-85f3-15f31f9baa52", + "savedPayload": { + "position": { + "x": 30232.340758397248, + "y": 31085.636868314363 + }, + "targetPosition": { + "x": 30638.23681195708, + "y": 31279.926326866684 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "951d37c7-aa15-4067-87c9-48513f0a489e", + "savedPayload": { + "position": { + "x": 30638.23681195708, + "y": 31279.926326866684 + }, + "targetPosition": { + "x": 31034, + "y": 31065.75 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Portfolio Strategy", + "name": "03-hs", + "project": "Foundations", + "triggerStage": { + "type": "Trigger Stage", + "name": "New Trigger Stage", + "project": "Foundations", + "triggerOn": { + "type": "Trigger On Event", + "name": "New Trigger On Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Livetest Chart Comparison", + "code": "chart.at01hs.candle.close > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "isBestOption()\n\nfunction isBestOption() {\n\n const TIME_FRAME_LABEL = TS.projects.foundations.globals.timeFrames.marketTimeFramesArray().concat(TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray())\n \n for (k = 0; k < TIME_FRAME_LABEL.length; k++) {\n TIME_FRAME_LABEL[k] = 'at' + TIME_FRAME_LABEL[k][1].replace(/'|-/g,'')\n }\n\n const validNow = []\n validNow.length = 0\n\n myChart = \"at03hs\"\n\n for (i = 0; i < TIME_FRAME_LABEL.length; i++) {\n\n label = TIME_FRAME_LABEL[i]\n\n // prepareLivetest = chart.at24hs.livetest.begin\n // prepareLivetest = chart.at12hs.livetest.begin\n // prepareLivetest = chart.at08hs.livetest.begin\n // prepareLivetest = chart.at06hs.livetest.begin\n // prepareLivetest = chart.at04hs.livetest.begin\n // prepareLivetest = chart.at03hs.livetest.begin\n // prepareLivetest = chart.at02hs.livetest.begin\n // prepareLivetest = chart.at01hs.livetest.begin\n // prepareLivetest = chart.at45min.livetest.begin\n // prepareLivetest = chart.at40min.livetest.begin\n // prepareLivetest = chart.at30min.livetest.begin\n // prepareLivetest = chart.at20min.livetest.begin\n // prepareLivetest = chart.at15min.livetest.begin\n // prepareLivetest = chart.at10min.livetest.begin\n // prepareLivetest = chart.at05min.livetest.begin\n // prepareLivetest = chart.at04min.livetest.begin\n // prepareLivetest = chart.at03min.livetest.begin\n // prepareLivetest = chart.at02min.livetest.begin\n // prepareLivetest = chart.at01min.livetest.begin\n \n\n if (chart[label].livetest.positionBullish !== undefined && chart[label].livetest.positionTimestamp !== undefined) {\n if (chart[label].livetest.positionBullish === 1 && chart[label].livetest.positionTimestamp == chart.at01min.candle.end) {\n validNow.push(label)\n }\n }\n else { \n break \n }\n }\n if (validNow.length === 1) {\n if (validNow[0] === myChart) {\n return true\n }\n }\n else if (validNow.length > 1) { \n \n maxPPH = 9999\n bestChart = \"Not defined\"\n\n for (j = 0; j < validNow.length; j++) {\n\n label = validNow[j]\n\n if (chart[label].livetest.averageBullPerHour < maxPPH) {\n maxPPH = chart[label].livetest.averageBullPerHour\n bestChart = label\n }\n }\n if (bestChart == myChart) {\n return true\n }\n }\n else {\n return false\n }\n}\n", + "project": "Foundations", + "id": "ec0658c4-b01f-46d2-a393-34cd95c16342", + "savedPayload": { + "position": { + "x": 30959.52775942813, + "y": 33249.690490196495 + }, + "targetPosition": { + "x": 30816.93668216735, + "y": 32822.87930865879 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "7bda1933-79e6-4a1a-944c-04e3da50d4c2", + "savedPayload": { + "position": { + "x": 30816.93668216735, + "y": 32822.87930865879 + }, + "targetPosition": { + "x": 30674.34560490657, + "y": 32396.068127121085 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "9ed667b7-2077-4ad4-b617-41002b1dcb8e", + "savedPayload": { + "position": { + "x": 30674.34560490657, + "y": 32396.068127121085 + }, + "targetPosition": { + "x": 30531.754527645793, + "y": 31969.25694558338 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "c04a649c-b1f3-4eb0-ac90-2a88dab23280", + "savedPayload": { + "position": { + "x": 30531.754527645793, + "y": 31969.25694558338 + }, + "targetPosition": { + "x": 30389.163450385015, + "y": 31542.445764045675 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "triggerOff": { + "type": "Trigger Off Event", + "name": "New Trigger Off Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "false", + "project": "Foundations", + "id": "52723153-3136-4fd1-85a2-2599389bc0e9", + "savedPayload": { + "position": { + "x": 29585.26759804997, + "y": 33152.958557723054 + }, + "targetPosition": { + "x": 29786.24156113373, + "y": 32750.33035930371 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "01e1fb8e-6497-4a03-a860-80c8615d8c32", + "savedPayload": { + "position": { + "x": 29786.24156113373, + "y": 32750.33035930371 + }, + "targetPosition": { + "x": 29987.215524217492, + "y": 32347.702160884364 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "2771d4ae-5556-47e3-ad0c-0f3011581ec7", + "savedPayload": { + "position": { + "x": 29987.215524217492, + "y": 32347.702160884364 + }, + "targetPosition": { + "x": 30188.189487301253, + "y": 31945.07396246502 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "176812d0-574f-4792-b6da-ac237073dc38", + "savedPayload": { + "position": { + "x": 30188.189487301253, + "y": 31945.07396246502 + }, + "targetPosition": { + "x": 30389.163450385015, + "y": 31542.445764045675 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "takePosition": { + "type": "Take Position Event", + "name": "New Take Position Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "f868424a-c390-4022-a143-436af80b7f3e", + "savedPayload": { + "position": { + "x": 28681.918724234194, + "y": 32112.81007308879 + }, + "targetPosition": { + "x": 29108.7299057719, + "y": 31970.21899582801 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "44c37d29-2edd-4d04-870e-f07d7355c2a8", + "savedPayload": { + "position": { + "x": 29108.7299057719, + "y": 31970.21899582801 + }, + "targetPosition": { + "x": 29535.541087309604, + "y": 31827.627918567232 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "e0a23175-834d-44a2-ac68-a91d0d00dba9", + "savedPayload": { + "position": { + "x": 29535.541087309604, + "y": 31827.627918567232 + }, + "targetPosition": { + "x": 29962.35226884731, + "y": 31685.036841306453 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "f11b6758-e573-4410-9866-7d37e44908ec", + "savedPayload": { + "position": { + "x": 29962.35226884731, + "y": 31685.036841306453 + }, + "targetPosition": { + "x": 30389.163450385015, + "y": 31542.445764045675 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "03e1e21f-ad86-430b-98ad-7b9fbfa15ee5", + "savedPayload": { + "position": { + "x": 30389.163450385015, + "y": 31542.445764045675 + }, + "targetPosition": { + "x": 30590.137413468776, + "y": 31139.81756562633 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openStage": { + "type": "Open Stage", + "name": "New Open Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "85162d2b-e5d8-46df-b860-2da44db80dc1", + "savedPayload": { + "position": { + "x": 31833.384013274626, + "y": 30284.321255518636 + }, + "targetPosition": { + "x": 31864.742552254924, + "y": 30582.677824129118 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "0e68fa00-88da-444f-aaaf-207d12bbcc6e", + "savedPayload": { + "position": { + "x": 31864.742552254924, + "y": 30582.677824129118 + }, + "targetPosition": { + "x": 31896.10109123522, + "y": 30881.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInQuotedAsset": { + "type": "Target Size In Quoted Asset", + "name": "New Target Size In Quoted Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value", + "project": "Foundations", + "id": "c9898f35-f9a3-4cd9-b859-920add42025e", + "savedPayload": { + "position": { + "x": 32381.511287860187, + "y": 30528.363241364113 + }, + "targetPosition": { + "x": 32138.806189547704, + "y": 30704.698817051856 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "f1f3526e-785a-4e13-a535-ee2fb3269c5c", + "savedPayload": { + "position": { + "x": 32138.806189547704, + "y": 30704.698817051856 + }, + "targetPosition": { + "x": 31896.10109123522, + "y": 30881.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "716bfcd9-f163-4b6f-8506-76316f4efb77", + "savedPayload": { + "position": { + "x": 31896.10109123522, + "y": 30881.0343927396 + }, + "targetPosition": { + "x": 31774.080098312483, + "y": 31155.09803003238 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openExecution": { + "type": "Open Execution", + "name": "New Open Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [ + { + "type": "Market Buy Order", + "name": "New Market Buy Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "ba9425c1-dbdb-4087-a822-c511ff6b7c97", + "savedPayload": { + "position": { + "x": 33639.970197393865, + "y": 30355.680110340516 + }, + "targetPosition": { + "x": 33397.26509908138, + "y": 30532.01568602826 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "051d1370-3306-41ef-bee7-b82e555dca9e", + "savedPayload": { + "position": { + "x": 33397.26509908138, + "y": 30532.01568602826 + }, + "targetPosition": { + "x": 33154.56000076889, + "y": 30708.351261716 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "0f0e8ff3-84f1-40f8-9f52-57eada473ce8", + "savedPayload": { + "position": { + "x": 33154.56000076889, + "y": 30708.351261716 + }, + "targetPosition": { + "x": 32911.85490245641, + "y": 30884.686837403744 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "2df20b92-45c1-4e91-b58c-edf796dc8ffc", + "savedPayload": { + "position": { + "x": 32911.85490245641, + "y": 30884.686837403744 + }, + "targetPosition": { + "x": 32669.149804143926, + "y": 31061.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{ \n\"fillProbability\": 1\n}", + "project": "Foundations", + "id": "fae7badf-0693-4663-be64-d67619ff0d2d", + "savedPayload": { + "position": { + "x": 33223.287569385866, + "y": 31075.533021150633 + }, + "targetPosition": { + "x": 32943.2134414367, + "y": 31183.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "04388028-b91f-4d59-8bc7-c9ea024c48cd", + "savedPayload": { + "position": { + "x": 33491.34071602227, + "y": 31427.085391859702 + }, + "targetPosition": { + "x": 33217.27707872949, + "y": 31305.064398936964 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "6a79f111-e212-470b-b677-fde6fffd90cc", + "savedPayload": { + "position": { + "x": 33217.27707872949, + "y": 31305.064398936964 + }, + "targetPosition": { + "x": 32943.2134414367, + "y": 31183.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{ \n\"percentage\": 0.1\n}", + "project": "Foundations", + "id": "3f8d5963-ede1-403f-b4a4-cd71c10a10f9", + "savedPayload": { + "position": { + "x": 33050.723826300295, + "y": 31463.117533963385 + }, + "targetPosition": { + "x": 32943.2134414367, + "y": 31183.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "358366cb-2978-4caa-9f7c-41adb59e1595", + "savedPayload": { + "position": { + "x": 32943.2134414367, + "y": 31183.043406014225 + }, + "targetPosition": { + "x": 32669.149804143926, + "y": 31061.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "96d3224f-27b2-4ba7-bbdd-9435fb72c722", + "savedPayload": { + "position": { + "x": 32669.149804143926, + "y": 31061.022413091487 + }, + "targetPosition": { + "x": 32370.793235533445, + "y": 31092.380952071784 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Buy Order #1", + "id": "7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3" + } + } + } + ], + "marketSellOrders": [], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "b21653ba-de2e-4b4b-b921-2dd99775aa8e", + "savedPayload": { + "position": { + "x": 32370.793235533445, + "y": 31092.380952071784 + }, + "targetPosition": { + "x": 32072.436666922964, + "y": 31123.73949105208 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "5a527c6f-d04f-4ce1-9ab8-8b7105786843", + "savedPayload": { + "position": { + "x": 32072.436666922964, + "y": 31123.73949105208 + }, + "targetPosition": { + "x": 31774.080098312483, + "y": 31155.09803003238 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "62dfeffd-3c3c-4d55-8980-25878651b2e0", + "savedPayload": { + "position": { + "x": 30190.887144719152, + "y": 31347.42108896674 + }, + "targetPosition": { + "x": 30590.137413468776, + "y": 31139.81756562633 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "manageStage": { + "type": "Manage Stage", + "name": "New Manage Stage", + "project": "Foundations", + "managedStopLoss": { + "type": "Managed Stop Loss", + "name": "New Managed Stop Loss", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 - chart.at03hs.livetest.averageTradeDown) / 100 )", + "project": "Foundations", + "id": "43bd818f-b426-4aa3-9b78-9f953752af99", + "savedPayload": { + "position": { + "x": 29240.865007694003, + "y": 31847.59193085874 + }, + "targetPosition": { + "x": 29307.58364916433, + "y": 31402.56538908808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "name": "New Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "code": "chart.at15min.livetest.averageTradeDown > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01min.candle.close > ( portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.005 )", + "project": "Foundations", + "id": "c5ea8a76-f074-427a-a8d3-b69f74b652c1", + "savedPayload": { + "position": { + "x": 27899.40376997808, + "y": 30281.3921518696 + }, + "targetPosition": { + "x": 28251.44873977464, + "y": 30561.68546117422 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "af789769-c22f-4cbb-85c2-1cfb2e992412", + "savedPayload": { + "position": { + "x": 28251.44873977464, + "y": 30561.68546117422 + }, + "targetPosition": { + "x": 28603.493709571205, + "y": 30841.97877047884 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "d838f70e-4b64-44f6-a475-5a4daf8e2592", + "savedPayload": { + "position": { + "x": 28603.493709571205, + "y": 30841.97877047884 + }, + "targetPosition": { + "x": 28955.538679367768, + "y": 31122.27207978346 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "d97735a8-986b-4d38-b7f9-123016d38891", + "savedPayload": { + "position": { + "x": 28955.538679367768, + "y": 31122.27207978346 + }, + "targetPosition": { + "x": 29307.58364916433, + "y": 31402.56538908808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "46153ef9-cb62-48be-b0d2-639d32b38464", + "savedPayload": { + "position": { + "x": 29307.58364916433, + "y": 31402.56538908808 + }, + "targetPosition": { + "x": 29726.347260431223, + "y": 31237.83215662204 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "if ( ( portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995 ) > portfolioEngine.portfolioCurrent.position.stopLoss.value ) {\nportfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995\n}\nelse { portfolioEngine.portfolioCurrent.position.stopLoss.value }", + "project": "Foundations", + "id": "c3797b42-927a-49c2-a740-edc39cc25183", + "savedPayload": { + "position": { + "x": 28470.05642663055, + "y": 31732.031854020155 + }, + "targetPosition": { + "x": 28888.82003789744, + "y": 31567.298621554117 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "dee96524-1cd3-42b8-bf71-23c475473818", + "savedPayload": { + "position": { + "x": 28888.82003789744, + "y": 31567.298621554117 + }, + "targetPosition": { + "x": 29307.58364916433, + "y": 31402.56538908808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "1efb2c5e-aeee-4311-9ee4-3ac6ee6800ff", + "savedPayload": { + "position": { + "x": 29726.347260431223, + "y": 31237.83215662204 + }, + "targetPosition": { + "x": 30145.110871698114, + "y": 31073.098924156002 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "managedTakeProfit": { + "type": "Managed Take Profit", + "name": "New Managed Take Profit", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 + ( chart.at03hs.livetest.averageTradeUp ) ) / 100 )", + "project": "Foundations", + "id": "6a0a9c58-2ac3-4e90-a363-19d75c1c7317", + "savedPayload": { + "position": { + "x": 29088.975962308425, + "y": 30232.218996242143 + }, + "targetPosition": { + "x": 29441.020932104988, + "y": 30512.512305546763 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "184f1fe8-34fd-4ace-a77b-d7e72c1b0158", + "savedPayload": { + "position": { + "x": 29441.020932104988, + "y": 30512.512305546763 + }, + "targetPosition": { + "x": 29793.06590190155, + "y": 30792.805614851382 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "fd8ea1f1-ce8b-4bc0-a8ab-81ed5ee3206e", + "savedPayload": { + "position": { + "x": 29793.06590190155, + "y": 30792.805614851382 + }, + "targetPosition": { + "x": 30145.110871698114, + "y": 31073.098924156002 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "0fda6fe5-5800-43cd-9065-68a8f0ff3f14", + "savedPayload": { + "position": { + "x": 30145.110871698114, + "y": 31073.098924156002 + }, + "targetPosition": { + "x": 30590.137413468776, + "y": 31139.81756562633 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeStage": { + "type": "Close Stage", + "name": "New Close Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "targetRate()\n\nfunction targetRate() {\n switch (portfolioEngine.portfolioCurrent.position.exitType.value) {\n case 'No Exit': {\n return portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value\n break\n }\n case 'Take Profit': {\n return portfolioEngine.portfolioCurrent.position.takeProfit.finalValue.value\n break\n }\n case 'Stop Loss': {\n return portfolioEngine.portfolioCurrent.position.stopLoss.finalValue.value\n break\n }\n }\n}", + "project": "Foundations", + "id": "ea5cb05f-2abb-4789-b682-3f8f2077d5c5", + "savedPayload": { + "position": { + "x": 31902.52177274816, + "y": 32356.081736115244 + }, + "targetPosition": { + "x": 31701.782590840503, + "y": 32133.138288472026 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "d4a12f1e-ee6e-44cc-a8cd-1ab687ba5789", + "savedPayload": { + "position": { + "x": 31701.782590840503, + "y": 32133.138288472026 + }, + "targetPosition": { + "x": 31501.043408932845, + "y": 31910.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInBaseAsset": { + "type": "Target Size In Base Asset", + "name": "New Target Size In Base Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value", + "project": "Foundations", + "id": "14c62619-8fcf-4301-b42a-122c89e8c527", + "savedPayload": { + "position": { + "x": 31315.63321230788, + "y": 32480.8287506059 + }, + "targetPosition": { + "x": 31408.338310620362, + "y": 32195.511795717353 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "907b8f67-cdb2-461b-9082-ddb4cebadbb3", + "savedPayload": { + "position": { + "x": 31408.338310620362, + "y": 32195.511795717353 + }, + "targetPosition": { + "x": 31501.043408932845, + "y": 31910.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "d82c4b16-b689-47b1-8165-e627005269dc", + "savedPayload": { + "position": { + "x": 31501.043408932845, + "y": 31910.194840828808 + }, + "targetPosition": { + "x": 31438.669901687517, + "y": 31616.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeExecution": { + "type": "Close Execution", + "name": "New Close Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [], + "marketSellOrders": [ + { + "type": "Market Sell Order", + "name": "New Market Sell Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "d7059030-dc52-4314-a79c-a541e1379c4b", + "savedPayload": { + "position": { + "x": 30399.019165507932, + "y": 33360.23592588583 + }, + "targetPosition": { + "x": 30491.724263820415, + "y": 33074.91897099728 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "f3e8b333-02b8-49d5-974a-5c1331e9d1e0", + "savedPayload": { + "position": { + "x": 30491.724263820415, + "y": 33074.91897099728 + }, + "targetPosition": { + "x": 30584.429362132898, + "y": 32789.602016108736 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "90425353-a860-485e-8727-07539a1a57c6", + "savedPayload": { + "position": { + "x": 30584.429362132898, + "y": 32789.602016108736 + }, + "targetPosition": { + "x": 30677.13446044538, + "y": 32504.285061220187 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "6b60896a-fc52-4524-8d64-0e05518b0d5d", + "savedPayload": { + "position": { + "x": 30677.13446044538, + "y": 32504.285061220187 + }, + "targetPosition": { + "x": 30769.839558757863, + "y": 32218.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{\n \"fillProbability\": 1\n}", + "project": "Foundations", + "id": "6ddc7802-7654-4fa5-90bd-2e10de37582d", + "savedPayload": { + "position": { + "x": 30313.003568033215, + "y": 32532.942783960596 + }, + "targetPosition": { + "x": 30476.395278537722, + "y": 32281.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "12b98d2f-cf72-4cad-bb30-68f33e7f8d90", + "savedPayload": { + "position": { + "x": 29889.50671809744, + "y": 32406.088628067624 + }, + "targetPosition": { + "x": 30182.95099831758, + "y": 32343.715120822297 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "b4f11f7b-896c-444c-8104-9ea64eb8d0ca", + "savedPayload": { + "position": { + "x": 30182.95099831758, + "y": 32343.715120822297 + }, + "targetPosition": { + "x": 30476.395278537722, + "y": 32281.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{\n \"percentage\": 0.1\n}", + "project": "Foundations", + "id": "5834838e-6213-49b2-8005-76140af24857", + "savedPayload": { + "position": { + "x": 30224.794108154096, + "y": 32117.949903072462 + }, + "targetPosition": { + "x": 30476.395278537722, + "y": 32281.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "78aca5e5-2307-436c-b55e-4fa2c569ec2d", + "savedPayload": { + "position": { + "x": 30476.395278537722, + "y": 32281.34161357697 + }, + "targetPosition": { + "x": 30769.839558757863, + "y": 32218.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "daf440a7-1199-4fe2-acd7-83ce89552a11", + "savedPayload": { + "position": { + "x": 30769.839558757863, + "y": 32218.968106331642 + }, + "targetPosition": { + "x": 30992.78300640108, + "y": 32018.228924423984 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Sell Order #1", + "id": "8e404329-d41f-41e0-ad5a-c84ee1fa2604" + } + } + } + ], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "ce635e97-468c-4b10-a060-29493a946e4a", + "savedPayload": { + "position": { + "x": 30992.78300640108, + "y": 32018.228924423984 + }, + "targetPosition": { + "x": 31215.7264540443, + "y": 31817.489742516325 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "4a42f8c0-9879-4c00-a430-123720cdf81a", + "savedPayload": { + "position": { + "x": 31215.7264540443, + "y": 31817.489742516325 + }, + "targetPosition": { + "x": 31438.669901687517, + "y": 31616.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "0e7d50a8-a421-428a-8315-0c1d7334102b", + "savedPayload": { + "position": { + "x": 30269.319611737646, + "y": 30824.26101270371 + }, + "targetPosition": { + "x": 30590.137413468776, + "y": 31139.81756562633 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "43f45f14-c0a6-43a1-bb32-05ad2c6ed208", + "savedPayload": { + "position": { + "x": 30590.137413468776, + "y": 31139.81756562633 + }, + "targetPosition": { + "x": 31034, + "y": 31065.75 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Portfolio Strategy", + "name": "04-hs", + "project": "Foundations", + "triggerStage": { + "type": "Trigger Stage", + "name": "New Trigger Stage", + "project": "Foundations", + "triggerOn": { + "type": "Trigger On Event", + "name": "New Trigger On Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Livetest Chart Comparison", + "code": "chart.at01hs.candle.close > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "isBestOption()\n\nfunction isBestOption() {\n\n const TIME_FRAME_LABEL = TS.projects.foundations.globals.timeFrames.marketTimeFramesArray().concat(TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray())\n \n for (k = 0; k < TIME_FRAME_LABEL.length; k++) {\n TIME_FRAME_LABEL[k] = 'at' + TIME_FRAME_LABEL[k][1].replace(/'|-/g,'')\n }\n\n const validNow = []\n validNow.length = 0\n\n myChart = \"at04hs\"\n\n for (i = 0; i < TIME_FRAME_LABEL.length; i++) {\n\n label = TIME_FRAME_LABEL[i]\n\n // prepareLivetest = chart.at24hs.livetest.begin\n // prepareLivetest = chart.at12hs.livetest.begin\n // prepareLivetest = chart.at08hs.livetest.begin\n // prepareLivetest = chart.at06hs.livetest.begin\n // prepareLivetest = chart.at04hs.livetest.begin\n // prepareLivetest = chart.at03hs.livetest.begin\n // prepareLivetest = chart.at02hs.livetest.begin\n // prepareLivetest = chart.at01hs.livetest.begin\n // prepareLivetest = chart.at45min.livetest.begin\n // prepareLivetest = chart.at40min.livetest.begin\n // prepareLivetest = chart.at30min.livetest.begin\n // prepareLivetest = chart.at20min.livetest.begin\n // prepareLivetest = chart.at15min.livetest.begin\n // prepareLivetest = chart.at10min.livetest.begin\n // prepareLivetest = chart.at05min.livetest.begin\n // prepareLivetest = chart.at04min.livetest.begin\n // prepareLivetest = chart.at03min.livetest.begin\n // prepareLivetest = chart.at02min.livetest.begin\n // prepareLivetest = chart.at01min.livetest.begin\n \n\n if (chart[label].livetest.positionBullish !== undefined && chart[label].livetest.positionTimestamp !== undefined) {\n if (chart[label].livetest.positionBullish === 1 && chart[label].livetest.positionTimestamp == chart.at01min.candle.end) {\n validNow.push(label)\n }\n }\n else { \n break \n }\n }\n if (validNow.length === 1) {\n if (validNow[0] === myChart) {\n return true\n }\n }\n else if (validNow.length > 1) { \n \n maxPPH = 9999\n bestChart = \"Not defined\"\n\n for (j = 0; j < validNow.length; j++) {\n\n label = validNow[j]\n\n if (chart[label].livetest.averageBullPerHour < maxPPH) {\n maxPPH = chart[label].livetest.averageBullPerHour\n bestChart = label\n }\n }\n if (bestChart == myChart) {\n return true\n }\n }\n else {\n return false\n }\n}\n", + "project": "Foundations", + "id": "28941175-1916-4c6c-9147-4222ef9cf912", + "savedPayload": { + "position": { + "x": 30254.438552897624, + "y": 33107.17747349181 + }, + "targetPosition": { + "x": 30258.15881760763, + "y": 32657.192851942928 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "d6c9ebd7-db45-487f-a3e2-4d56e7e66e68", + "savedPayload": { + "position": { + "x": 30258.15881760763, + "y": 32657.192851942928 + }, + "targetPosition": { + "x": 30261.879082317635, + "y": 32207.208230394048 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "3f352639-8de8-4c04-9d2a-a32a23c04a5f", + "savedPayload": { + "position": { + "x": 30261.879082317635, + "y": 32207.208230394048 + }, + "targetPosition": { + "x": 30265.59934702764, + "y": 31757.22360884517 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "2c5b46fa-bfaa-4707-a7a6-0ab9eab623dd", + "savedPayload": { + "position": { + "x": 30265.59934702764, + "y": 31757.22360884517 + }, + "targetPosition": { + "x": 30269.319611737646, + "y": 31307.23898729629 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "triggerOff": { + "type": "Trigger Off Event", + "name": "New Trigger Off Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "false", + "project": "Foundations", + "id": "239f991e-aca5-4af2-a3b8-1e4659a0a6c3", + "savedPayload": { + "position": { + "x": 28986.04840481313, + "y": 32569.465198986763 + }, + "targetPosition": { + "x": 29306.86620654426, + "y": 32253.908646064145 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "fba2ef6e-2ac7-4e58-9c28-4177f9270e61", + "savedPayload": { + "position": { + "x": 29306.86620654426, + "y": 32253.908646064145 + }, + "targetPosition": { + "x": 29627.684008275388, + "y": 31938.352093141526 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "2429d5f0-a0f0-41a0-853c-0797ea4395f1", + "savedPayload": { + "position": { + "x": 29627.684008275388, + "y": 31938.352093141526 + }, + "targetPosition": { + "x": 29948.501810006517, + "y": 31622.795540218907 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "b64db9da-5991-4649-a444-ff712561a389", + "savedPayload": { + "position": { + "x": 29948.501810006517, + "y": 31622.795540218907 + }, + "targetPosition": { + "x": 30269.319611737646, + "y": 31307.23898729629 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "takePosition": { + "type": "Take Position Event", + "name": "New Take Position Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "d7fbf175-657b-4a9b-a0fe-eacc6f09d121", + "savedPayload": { + "position": { + "x": 28469.381125542128, + "y": 31292.357928456266 + }, + "targetPosition": { + "x": 28919.365747091008, + "y": 31296.07819316627 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "befa220c-c1a3-4da4-9eca-35282ebb8e13", + "savedPayload": { + "position": { + "x": 28919.365747091008, + "y": 31296.07819316627 + }, + "targetPosition": { + "x": 29369.350368639887, + "y": 31299.798457876277 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "cd592ae7-e6f8-464c-952f-83987ce1f993", + "savedPayload": { + "position": { + "x": 29369.350368639887, + "y": 31299.798457876277 + }, + "targetPosition": { + "x": 29819.334990188767, + "y": 31303.518722586283 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "b889db9e-3f45-450e-b47a-cf4d0d4d4364", + "savedPayload": { + "position": { + "x": 29819.334990188767, + "y": 31303.518722586283 + }, + "targetPosition": { + "x": 30269.319611737646, + "y": 31307.23898729629 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "d567b32b-43ad-4933-a571-7288de132aa8", + "savedPayload": { + "position": { + "x": 30269.319611737646, + "y": 31307.23898729629 + }, + "targetPosition": { + "x": 30590.137413468776, + "y": 30991.68243437367 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openStage": { + "type": "Open Stage", + "name": "New Open Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "90fb982c-c7e5-4de4-b927-f828412bc1a9", + "savedPayload": { + "position": { + "x": 31834.384013274626, + "y": 30165.321255518636 + }, + "targetPosition": { + "x": 31865.742552254924, + "y": 30463.677824129118 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "14884219-91ad-4f1f-9be8-53526c9684ab", + "savedPayload": { + "position": { + "x": 31865.742552254924, + "y": 30463.677824129118 + }, + "targetPosition": { + "x": 31897.10109123522, + "y": 30762.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInQuotedAsset": { + "type": "Target Size In Quoted Asset", + "name": "New Target Size In Quoted Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value", + "project": "Foundations", + "id": "eabc9020-c637-4d15-8134-72eca8c80e8b", + "savedPayload": { + "position": { + "x": 32382.511287860187, + "y": 30409.363241364113 + }, + "targetPosition": { + "x": 32139.806189547704, + "y": 30585.698817051856 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "109fa1a8-4382-41fd-8605-ba2ca68b5da0", + "savedPayload": { + "position": { + "x": 32139.806189547704, + "y": 30585.698817051856 + }, + "targetPosition": { + "x": 31897.10109123522, + "y": 30762.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "c85f5c90-e342-4bb8-91be-fd566c7a4803", + "savedPayload": { + "position": { + "x": 31897.10109123522, + "y": 30762.0343927396 + }, + "targetPosition": { + "x": 31775.080098312483, + "y": 31036.09803003238 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openExecution": { + "type": "Open Execution", + "name": "New Open Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [ + { + "type": "Market Buy Order", + "name": "New Market Buy Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "33ee7b06-b27f-4d2e-a26f-a20edd2e14dc", + "savedPayload": { + "position": { + "x": 33640.970197393865, + "y": 30236.680110340516 + }, + "targetPosition": { + "x": 33398.26509908138, + "y": 30413.01568602826 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "def9431c-4488-4024-a903-cf323730ce46", + "savedPayload": { + "position": { + "x": 33398.26509908138, + "y": 30413.01568602826 + }, + "targetPosition": { + "x": 33155.56000076889, + "y": 30589.351261716 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "6ff10854-0920-4357-bc1e-1b8beab16cfe", + "savedPayload": { + "position": { + "x": 33155.56000076889, + "y": 30589.351261716 + }, + "targetPosition": { + "x": 32912.85490245641, + "y": 30765.686837403744 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "aff8b179-440f-4218-b591-1a2358d61615", + "savedPayload": { + "position": { + "x": 32912.85490245641, + "y": 30765.686837403744 + }, + "targetPosition": { + "x": 32670.149804143926, + "y": 30942.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{ \n\"fillProbability\": 1\n}", + "project": "Foundations", + "id": "617398dc-6fb6-4699-9f93-a88604eb00b8", + "savedPayload": { + "position": { + "x": 33224.287569385866, + "y": 30956.533021150633 + }, + "targetPosition": { + "x": 32944.2134414367, + "y": 31064.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "cdc8591b-37e8-40d2-84c5-58a66c5f8964", + "savedPayload": { + "position": { + "x": 33492.34071602227, + "y": 31308.085391859702 + }, + "targetPosition": { + "x": 33218.27707872949, + "y": 31186.064398936964 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "153ad594-4117-42af-a95d-51e0dea99b74", + "savedPayload": { + "position": { + "x": 33218.27707872949, + "y": 31186.064398936964 + }, + "targetPosition": { + "x": 32944.2134414367, + "y": 31064.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{ \n\"percentage\": 0.1\n}", + "project": "Foundations", + "id": "11cdfd48-93b6-472e-b616-9ba9bc83b00a", + "savedPayload": { + "position": { + "x": 33051.723826300295, + "y": 31344.117533963385 + }, + "targetPosition": { + "x": 32944.2134414367, + "y": 31064.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "267503b1-12e0-4063-bb13-f7e4295430a3", + "savedPayload": { + "position": { + "x": 32944.2134414367, + "y": 31064.043406014225 + }, + "targetPosition": { + "x": 32670.149804143926, + "y": 30942.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "8e335f6a-a468-4fc1-a3aa-830409fd859e", + "savedPayload": { + "position": { + "x": 32670.149804143926, + "y": 30942.022413091487 + }, + "targetPosition": { + "x": 32371.793235533445, + "y": 30973.380952071784 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Buy Order #1", + "id": "7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3" + } + } + } + ], + "marketSellOrders": [], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "f8e7bd51-4b1b-4c05-af3a-25fa36069376", + "savedPayload": { + "position": { + "x": 32371.793235533445, + "y": 30973.380952071784 + }, + "targetPosition": { + "x": 32073.436666922964, + "y": 31004.73949105208 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "dbf9357a-f243-4906-9886-d2891b3aae96", + "savedPayload": { + "position": { + "x": 32073.436666922964, + "y": 31004.73949105208 + }, + "targetPosition": { + "x": 31775.080098312483, + "y": 31036.09803003238 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "3925caa7-fd04-458d-bb25-a7148d68fad2", + "savedPayload": { + "position": { + "x": 30145.110871698114, + "y": 31058.401075843998 + }, + "targetPosition": { + "x": 30590.137413468776, + "y": 30991.68243437367 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "manageStage": { + "type": "Manage Stage", + "name": "New Manage Stage", + "project": "Foundations", + "managedStopLoss": { + "type": "Managed Stop Loss", + "name": "New Managed Stop Loss", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 - chart.at04hs.livetest.averageTradeDown) / 100 )", + "project": "Foundations", + "id": "084abb9d-e657-468a-b59d-de92dbcfcec7", + "savedPayload": { + "position": { + "x": 29084.158347628454, + "y": 31222.999598276616 + }, + "targetPosition": { + "x": 29291.76187096886, + "y": 30823.74932952699 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "name": "New Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "code": "chart.at15min.livetest.averageTradeDown > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01min.candle.close > ( portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.005 )", + "project": "Foundations", + "id": "bca6d221-004a-477c-9368-026568ca20f3", + "savedPayload": { + "position": { + "x": 28323.925416829916, + "y": 29306.089091515933 + }, + "targetPosition": { + "x": 28565.884530364652, + "y": 29685.504151018697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "f22b07e4-cbf1-4b4d-af44-bf5985362b2f", + "savedPayload": { + "position": { + "x": 28565.884530364652, + "y": 29685.504151018697 + }, + "targetPosition": { + "x": 28807.84364389939, + "y": 30064.91921052146 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "83c3533d-4006-4736-b1f8-368eb56e25bb", + "savedPayload": { + "position": { + "x": 28807.84364389939, + "y": 30064.91921052146 + }, + "targetPosition": { + "x": 29049.802757434125, + "y": 30444.334270024225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "f4816c71-53a5-41b0-a7f0-136af1b48978", + "savedPayload": { + "position": { + "x": 29049.802757434125, + "y": 30444.334270024225 + }, + "targetPosition": { + "x": 29291.76187096886, + "y": 30823.74932952699 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "b9919fc5-32f4-493a-b5ea-7b3f84ceff99", + "savedPayload": { + "position": { + "x": 29291.76187096886, + "y": 30823.74932952699 + }, + "targetPosition": { + "x": 29741.324507844005, + "y": 30803.914120280126 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "if ( ( portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995 ) > portfolioEngine.portfolioCurrent.position.stopLoss.value ) {\nportfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995\n}\nelse { portfolioEngine.portfolioCurrent.position.stopLoss.value }", + "project": "Foundations", + "id": "4f92f0a1-e05b-43a5-9046-75da9c407c04", + "savedPayload": { + "position": { + "x": 28392.636597218574, + "y": 30863.419748020715 + }, + "targetPosition": { + "x": 28842.199234093718, + "y": 30843.58453877385 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "b5fdcea7-9ffd-4b27-bf20-3d9572077dfd", + "savedPayload": { + "position": { + "x": 28842.199234093718, + "y": 30843.58453877385 + }, + "targetPosition": { + "x": 29291.76187096886, + "y": 30823.74932952699 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "dc356e55-8011-48c6-a9db-210773924490", + "savedPayload": { + "position": { + "x": 29741.324507844005, + "y": 30803.914120280126 + }, + "targetPosition": { + "x": 30190.88714471915, + "y": 30784.078911033263 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "managedTakeProfit": { + "type": "Managed Take Profit", + "name": "New Managed Take Profit", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 + ( chart.at04hs.livetest.averageTradeUp ) ) / 100 )", + "project": "Foundations", + "id": "b808169e-9242-4eb9-aa6d-8350e4784374", + "savedPayload": { + "position": { + "x": 29465.00980411494, + "y": 29645.83373252497 + }, + "targetPosition": { + "x": 29706.968917649676, + "y": 30025.248792027734 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "7f902870-b81a-4efd-b262-92708742cafa", + "savedPayload": { + "position": { + "x": 29706.968917649676, + "y": 30025.248792027734 + }, + "targetPosition": { + "x": 29948.928031184412, + "y": 30404.6638515305 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "faaed3e3-ece7-4c6c-9ad5-767182bea28e", + "savedPayload": { + "position": { + "x": 29948.928031184412, + "y": 30404.6638515305 + }, + "targetPosition": { + "x": 30190.88714471915, + "y": 30784.078911033263 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "818ad5c2-fd86-4b4d-8c25-6ca3cc4717e6", + "savedPayload": { + "position": { + "x": 30190.88714471915, + "y": 30784.078911033263 + }, + "targetPosition": { + "x": 30590.137413468776, + "y": 30991.68243437367 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeStage": { + "type": "Close Stage", + "name": "New Close Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "targetRate()\n\nfunction targetRate() {\n switch (portfolioEngine.portfolioCurrent.position.exitType.value) {\n case 'No Exit': {\n return portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value\n break\n }\n case 'Take Profit': {\n return portfolioEngine.portfolioCurrent.position.takeProfit.finalValue.value\n break\n }\n case 'Stop Loss': {\n return portfolioEngine.portfolioCurrent.position.stopLoss.finalValue.value\n break\n }\n }\n}", + "project": "Foundations", + "id": "8a38846a-8335-43b6-a03f-7a4e067cee40", + "savedPayload": { + "position": { + "x": 31903.52177274816, + "y": 32237.081736115244 + }, + "targetPosition": { + "x": 31702.782590840503, + "y": 32014.138288472026 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "b01ae0cd-c9f2-4047-acb3-4381cf6faf5f", + "savedPayload": { + "position": { + "x": 31702.782590840503, + "y": 32014.138288472026 + }, + "targetPosition": { + "x": 31502.043408932845, + "y": 31791.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInBaseAsset": { + "type": "Target Size In Base Asset", + "name": "New Target Size In Base Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value", + "project": "Foundations", + "id": "3acc1986-81ef-4736-a027-c25ac182e4da", + "savedPayload": { + "position": { + "x": 31316.63321230788, + "y": 32361.8287506059 + }, + "targetPosition": { + "x": 31409.338310620362, + "y": 32076.511795717353 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "87e2c393-f08e-480a-aa88-9678c288aced", + "savedPayload": { + "position": { + "x": 31409.338310620362, + "y": 32076.511795717353 + }, + "targetPosition": { + "x": 31502.043408932845, + "y": 31791.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "d2ab8034-92ae-414b-b08f-9a7f6c958527", + "savedPayload": { + "position": { + "x": 31502.043408932845, + "y": 31791.194840828808 + }, + "targetPosition": { + "x": 31439.669901687517, + "y": 31497.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeExecution": { + "type": "Close Execution", + "name": "New Close Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [], + "marketSellOrders": [ + { + "type": "Market Sell Order", + "name": "New Market Sell Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "b926ecc0-ab90-4191-b1b0-a0787ad163c2", + "savedPayload": { + "position": { + "x": 30400.019165507932, + "y": 33241.23592588583 + }, + "targetPosition": { + "x": 30492.724263820415, + "y": 32955.91897099728 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "3d621b96-63a5-4c7d-a516-e444af8fe611", + "savedPayload": { + "position": { + "x": 30492.724263820415, + "y": 32955.91897099728 + }, + "targetPosition": { + "x": 30585.429362132898, + "y": 32670.602016108733 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "76d7529f-6d69-40d9-b6e2-2e50f796239b", + "savedPayload": { + "position": { + "x": 30585.429362132898, + "y": 32670.602016108733 + }, + "targetPosition": { + "x": 30678.13446044538, + "y": 32385.285061220187 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "4f7e77c7-5c68-4049-848c-c3e80597d434", + "savedPayload": { + "position": { + "x": 30678.13446044538, + "y": 32385.285061220187 + }, + "targetPosition": { + "x": 30770.839558757863, + "y": 32099.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{\n \"fillProbability\": 1\n}", + "project": "Foundations", + "id": "e29b47c1-37e3-42f3-88d2-02084e756f2d", + "savedPayload": { + "position": { + "x": 30314.003568033215, + "y": 32413.942783960596 + }, + "targetPosition": { + "x": 30477.395278537722, + "y": 32162.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "c2e2002e-8385-41b9-a62a-2a11715e688e", + "savedPayload": { + "position": { + "x": 29890.50671809744, + "y": 32287.088628067624 + }, + "targetPosition": { + "x": 30183.95099831758, + "y": 32224.715120822297 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "3bc4b079-f49c-4a1f-8795-b8b36ea0ee95", + "savedPayload": { + "position": { + "x": 30183.95099831758, + "y": 32224.715120822297 + }, + "targetPosition": { + "x": 30477.395278537722, + "y": 32162.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{\n \"percentage\": 0.1\n}", + "project": "Foundations", + "id": "a0b57622-ac90-4e07-bc83-859f96b08cfe", + "savedPayload": { + "position": { + "x": 30225.794108154096, + "y": 31998.949903072462 + }, + "targetPosition": { + "x": 30477.395278537722, + "y": 32162.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "9eba57cc-f90a-4e39-8608-4dcfa11614c9", + "savedPayload": { + "position": { + "x": 30477.395278537722, + "y": 32162.34161357697 + }, + "targetPosition": { + "x": 30770.839558757863, + "y": 32099.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "26e468ed-5ba8-48da-a8ba-f4b4b5204aa6", + "savedPayload": { + "position": { + "x": 30770.839558757863, + "y": 32099.968106331642 + }, + "targetPosition": { + "x": 30993.78300640108, + "y": 31899.228924423984 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Sell Order #1", + "id": "8e404329-d41f-41e0-ad5a-c84ee1fa2604" + } + } + } + ], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "5b2f673a-14e7-4eed-b969-ad29852b5f45", + "savedPayload": { + "position": { + "x": 30993.78300640108, + "y": 31899.228924423984 + }, + "targetPosition": { + "x": 31216.7264540443, + "y": 31698.489742516325 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "0f45eb71-f599-4a1d-99b4-b13e5d3f81e8", + "savedPayload": { + "position": { + "x": 31216.7264540443, + "y": 31698.489742516325 + }, + "targetPosition": { + "x": 31439.669901687517, + "y": 31497.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "1c4b7510-3106-4c20-92b2-2c213022d363", + "savedPayload": { + "position": { + "x": 30389.16345038501, + "y": 30589.054235954325 + }, + "targetPosition": { + "x": 30590.137413468776, + "y": 30991.68243437367 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "46467940-8936-480d-9d08-5db6f39d27d2", + "savedPayload": { + "position": { + "x": 30590.137413468776, + "y": 30991.68243437367 + }, + "targetPosition": { + "x": 31034, + "y": 31065.75 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Portfolio Strategy", + "name": "06-hs", + "project": "Foundations", + "triggerStage": { + "type": "Trigger Stage", + "name": "New Trigger Stage", + "project": "Foundations", + "triggerOn": { + "type": "Trigger On Event", + "name": "New Trigger On Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Livetest Chart Comparison", + "code": "chart.at01hs.candle.close > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "isBestOption()\n\nfunction isBestOption() {\n\n const TIME_FRAME_LABEL = TS.projects.foundations.globals.timeFrames.marketTimeFramesArray().concat(TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray())\n \n for (k = 0; k < TIME_FRAME_LABEL.length; k++) {\n TIME_FRAME_LABEL[k] = 'at' + TIME_FRAME_LABEL[k][1].replace(/'|-/g,'')\n }\n\n const validNow = []\n validNow.length = 0\n\n myChart = \"at06hs\"\n\n for (i = 0; i < TIME_FRAME_LABEL.length; i++) {\n\n label = TIME_FRAME_LABEL[i]\n\n // prepareLivetest = chart.at24hs.livetest.begin\n // prepareLivetest = chart.at12hs.livetest.begin\n // prepareLivetest = chart.at08hs.livetest.begin\n // prepareLivetest = chart.at06hs.livetest.begin\n // prepareLivetest = chart.at04hs.livetest.begin\n // prepareLivetest = chart.at03hs.livetest.begin\n // prepareLivetest = chart.at02hs.livetest.begin\n // prepareLivetest = chart.at01hs.livetest.begin\n // prepareLivetest = chart.at45min.livetest.begin\n // prepareLivetest = chart.at40min.livetest.begin\n // prepareLivetest = chart.at30min.livetest.begin\n // prepareLivetest = chart.at20min.livetest.begin\n // prepareLivetest = chart.at15min.livetest.begin\n // prepareLivetest = chart.at10min.livetest.begin\n // prepareLivetest = chart.at05min.livetest.begin\n // prepareLivetest = chart.at04min.livetest.begin\n // prepareLivetest = chart.at03min.livetest.begin\n // prepareLivetest = chart.at02min.livetest.begin\n // prepareLivetest = chart.at01min.livetest.begin\n \n\n if (chart[label].livetest.positionBullish !== undefined && chart[label].livetest.positionTimestamp !== undefined) {\n if (chart[label].livetest.positionBullish === 1 && chart[label].livetest.positionTimestamp == chart.at01min.candle.end) {\n validNow.push(label)\n }\n }\n else { \n break \n }\n }\n if (validNow.length === 1) {\n if (validNow[0] === myChart) {\n return true\n }\n }\n else if (validNow.length > 1) { \n \n maxPPH = 9999\n bestChart = \"Not defined\"\n\n for (j = 0; j < validNow.length; j++) {\n\n label = validNow[j]\n\n if (chart[label].livetest.averageBullPerHour < maxPPH) {\n maxPPH = chart[label].livetest.averageBullPerHour\n bestChart = label\n }\n }\n if (bestChart == myChart) {\n return true\n }\n }\n else {\n return false\n }\n}\n", + "project": "Foundations", + "id": "a9991be4-207c-439e-adf8-f6afa126e4b6", + "savedPayload": { + "position": { + "x": 29633.82692530283, + "y": 32743.44411402333 + }, + "targetPosition": { + "x": 29783.455383576435, + "y": 32319.048868438906 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "5ed9a79b-1598-4c2e-9e0b-4ccee5fff587", + "savedPayload": { + "position": { + "x": 29783.455383576435, + "y": 32319.048868438906 + }, + "targetPosition": { + "x": 29933.08384185004, + "y": 31894.653622854483 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "70afcc36-009b-4a37-b528-dbdd9a23ebd3", + "savedPayload": { + "position": { + "x": 29933.08384185004, + "y": 31894.653622854483 + }, + "targetPosition": { + "x": 30082.712300123643, + "y": 31470.25837727006 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "7a2cee1e-7247-4b07-960e-d9c47598f74d", + "savedPayload": { + "position": { + "x": 30082.712300123643, + "y": 31470.25837727006 + }, + "targetPosition": { + "x": 30232.340758397248, + "y": 31045.863131685637 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "triggerOff": { + "type": "Trigger Off Event", + "name": "New Trigger Off Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "false", + "project": "Foundations", + "id": "f5b9c5e0-4780-4b62-b3b1-10ebdbe4bc2f", + "savedPayload": { + "position": { + "x": 28608.756544157925, + "y": 31823.02096589492 + }, + "targetPosition": { + "x": 29014.652597717755, + "y": 31628.7315073426 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "db6e6408-789b-4956-9e58-23e995c04537", + "savedPayload": { + "position": { + "x": 29014.652597717755, + "y": 31628.7315073426 + }, + "targetPosition": { + "x": 29420.548651277586, + "y": 31434.44204879028 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "15089028-b5c6-4e12-b9a6-cfea939012e0", + "savedPayload": { + "position": { + "x": 29420.548651277586, + "y": 31434.44204879028 + }, + "targetPosition": { + "x": 29826.444704837417, + "y": 31240.152590237958 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "be6bca8b-0e7b-4107-ad31-686622767b1a", + "savedPayload": { + "position": { + "x": 29826.444704837417, + "y": 31240.152590237958 + }, + "targetPosition": { + "x": 30232.340758397248, + "y": 31045.863131685637 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "takePosition": { + "type": "Take Position Event", + "name": "New Take Position Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "b4b21a9d-7d15-470f-a773-d585827cc6cb", + "savedPayload": { + "position": { + "x": 28534.759776059556, + "y": 30447.34929859122 + }, + "targetPosition": { + "x": 28959.15502164398, + "y": 30596.977756864824 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "ef01fe72-f052-478c-9cc4-3752f94ec2f6", + "savedPayload": { + "position": { + "x": 28959.15502164398, + "y": 30596.977756864824 + }, + "targetPosition": { + "x": 29383.550267228402, + "y": 30746.60621513843 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "b6711644-6562-4d10-b44b-c00c0800bb52", + "savedPayload": { + "position": { + "x": 29383.550267228402, + "y": 30746.60621513843 + }, + "targetPosition": { + "x": 29807.945512812825, + "y": 30896.234673412033 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "5cf1b734-16b9-432c-83d5-254410089355", + "savedPayload": { + "position": { + "x": 29807.945512812825, + "y": 30896.234673412033 + }, + "targetPosition": { + "x": 30232.340758397248, + "y": 31045.863131685637 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "ea9945be-a0b1-4d26-ab00-06d7382a493e", + "savedPayload": { + "position": { + "x": 30232.340758397248, + "y": 31045.863131685637 + }, + "targetPosition": { + "x": 30638.23681195708, + "y": 30851.573673133316 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openStage": { + "type": "Open Stage", + "name": "New Open Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "14e23f94-6c6f-4743-a932-32e6df6bc7fe", + "savedPayload": { + "position": { + "x": 31865.384013274626, + "y": 30124.321255518636 + }, + "targetPosition": { + "x": 31896.742552254924, + "y": 30422.677824129118 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "1c2f8479-db2b-42a2-8a35-a86f0f7fe9ea", + "savedPayload": { + "position": { + "x": 31896.742552254924, + "y": 30422.677824129118 + }, + "targetPosition": { + "x": 31928.10109123522, + "y": 30721.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInQuotedAsset": { + "type": "Target Size In Quoted Asset", + "name": "New Target Size In Quoted Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value", + "project": "Foundations", + "id": "3adeaa13-00c3-4f21-9572-bfd5e6c9f029", + "savedPayload": { + "position": { + "x": 32413.511287860187, + "y": 30368.363241364113 + }, + "targetPosition": { + "x": 32170.806189547704, + "y": 30544.698817051856 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "c4aa96eb-2ecd-4476-b95f-fd6c859ad839", + "savedPayload": { + "position": { + "x": 32170.806189547704, + "y": 30544.698817051856 + }, + "targetPosition": { + "x": 31928.10109123522, + "y": 30721.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "c53d7a20-e6e3-4f7c-ad17-4b7cc7af3904", + "savedPayload": { + "position": { + "x": 30192.4521581494, + "y": 30969.23324168559 + }, + "targetPosition": { + "x": 30475.10635217634, + "y": 30868.701621789245 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openExecution": { + "type": "Open Execution", + "name": "New Open Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [ + { + "type": "Market Buy Order", + "name": "New Market Buy Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "21983e31-49c2-4bcf-990d-b1cbfa04c668", + "savedPayload": { + "position": { + "x": 33671.970197393865, + "y": 30195.680110340516 + }, + "targetPosition": { + "x": 33429.26509908138, + "y": 30372.01568602826 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "6d863149-9f81-4dc7-bdf8-1908aff47a1b", + "savedPayload": { + "position": { + "x": 33429.26509908138, + "y": 30372.01568602826 + }, + "targetPosition": { + "x": 33186.56000076889, + "y": 30548.351261716 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "56a1d77f-bc71-4132-9d3d-f28236726198", + "savedPayload": { + "position": { + "x": 33186.56000076889, + "y": 30548.351261716 + }, + "targetPosition": { + "x": 32943.85490245641, + "y": 30724.686837403744 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "595fc17e-c5d0-4dc5-89fc-30d0fec5c544", + "savedPayload": { + "position": { + "x": 32943.85490245641, + "y": 30724.686837403744 + }, + "targetPosition": { + "x": 32701.149804143926, + "y": 30901.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{ \n\"fillProbability\": 1\n}", + "project": "Foundations", + "id": "486f5c4b-641c-4252-ac50-f6db33d4a2b3", + "savedPayload": { + "position": { + "x": 33255.287569385866, + "y": 30915.533021150633 + }, + "targetPosition": { + "x": 32975.2134414367, + "y": 31023.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "80e6bd12-b3df-4b07-9f0e-cb45e04716c8", + "savedPayload": { + "position": { + "x": 33523.34071602227, + "y": 31267.085391859702 + }, + "targetPosition": { + "x": 33249.27707872949, + "y": 31145.064398936964 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "181bd373-57d4-4b48-a84d-e109df0085fe", + "savedPayload": { + "position": { + "x": 33249.27707872949, + "y": 31145.064398936964 + }, + "targetPosition": { + "x": 32975.2134414367, + "y": 31023.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{ \n\"percentage\": 0.1\n}", + "project": "Foundations", + "id": "df8dd526-4180-4872-ba23-2b175958fbf4", + "savedPayload": { + "position": { + "x": 33082.723826300295, + "y": 31303.117533963385 + }, + "targetPosition": { + "x": 32975.2134414367, + "y": 31023.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "352dc181-b2bf-4070-b126-c421e7348a3c", + "savedPayload": { + "position": { + "x": 32975.2134414367, + "y": 31023.043406014225 + }, + "targetPosition": { + "x": 32701.149804143926, + "y": 30901.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "018fce56-8b50-43fa-bbe9-eb8eb8734b56", + "savedPayload": { + "position": { + "x": 32701.149804143926, + "y": 30901.022413091487 + }, + "targetPosition": { + "x": 32402.793235533445, + "y": 30932.380952071784 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Buy Order #1", + "id": "7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3" + } + } + } + ], + "marketSellOrders": [], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "879242b4-8b6f-431b-bf2e-5dabddcdb701", + "savedPayload": { + "position": { + "x": 32402.793235533445, + "y": 30932.380952071784 + }, + "targetPosition": { + "x": 32104.436666922964, + "y": 30963.73949105208 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "80859744-35c1-4b45-9207-6975d62de517", + "savedPayload": { + "position": { + "x": 30246.716318449035, + "y": 30674.181719223874 + }, + "targetPosition": { + "x": 30475.10635217634, + "y": 30868.701621789245 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "8340b8b7-bfbe-40ac-af6f-c87f4197be72", + "savedPayload": { + "position": { + "x": 30195.659528264507, + "y": 30770.177432683868 + }, + "targetPosition": { + "x": 30638.23681195708, + "y": 30851.573673133316 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "manageStage": { + "type": "Manage Stage", + "name": "New Manage Stage", + "project": "Foundations", + "managedStopLoss": { + "type": "Managed Stop Loss", + "name": "New Managed Stop Loss", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 - chart.at06hs.livetest.averageTradeDown) / 100 )", + "project": "Foundations", + "id": "496b4313-556f-4cfe-ab4e-f4b2fadf927f", + "savedPayload": { + "position": { + "x": 29138.747285507863, + "y": 30581.366831742293 + }, + "targetPosition": { + "x": 29464.738627663854, + "y": 30271.157797638938 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "name": "New Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "code": "chart.at15min.livetest.averageTradeDown > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01min.candle.close > ( portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.005 )", + "project": "Foundations", + "id": "62d9df1e-e239-4863-867f-bddce2903b11", + "savedPayload": { + "position": { + "x": 29042.125695908075, + "y": 28521.472594548744 + }, + "targetPosition": { + "x": 29147.77892884702, + "y": 28958.893895321293 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "2e0b9f0f-b27e-422c-9a59-1dc8ecd9384e", + "savedPayload": { + "position": { + "x": 29147.77892884702, + "y": 28958.893895321293 + }, + "targetPosition": { + "x": 29253.432161785964, + "y": 29396.31519609384 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "83465d83-f119-4468-8d9c-da58c98f85ff", + "savedPayload": { + "position": { + "x": 29253.432161785964, + "y": 29396.31519609384 + }, + "targetPosition": { + "x": 29359.08539472491, + "y": 29833.73649686639 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "1a7a67ca-7b02-4cc3-8f1c-ef1ee3ae87a7", + "savedPayload": { + "position": { + "x": 29359.08539472491, + "y": 29833.73649686639 + }, + "targetPosition": { + "x": 29464.738627663854, + "y": 30271.157797638938 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "edd70891-0ac6-4055-8a18-07aacfc979aa", + "savedPayload": { + "position": { + "x": 29464.738627663854, + "y": 30271.157797638938 + }, + "targetPosition": { + "x": 29896.38320275879, + "y": 30398.370064308132 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "if ( ( portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995 ) > portfolioEngine.portfolioCurrent.position.stopLoss.value ) {\nportfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995\n}\nelse { portfolioEngine.portfolioCurrent.position.stopLoss.value }", + "project": "Foundations", + "id": "e4b32faf-d99f-43d4-a16f-96ba1d9c7fcf", + "savedPayload": { + "position": { + "x": 28601.449477473983, + "y": 30016.73326430055 + }, + "targetPosition": { + "x": 29033.09405256892, + "y": 30143.945530969744 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "01415cd9-37f3-4803-85ef-5bcc1792fe01", + "savedPayload": { + "position": { + "x": 29033.09405256892, + "y": 30143.945530969744 + }, + "targetPosition": { + "x": 29464.738627663854, + "y": 30271.157797638938 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "7d9f94e5-b07b-48f6-9119-13c1a2420572", + "savedPayload": { + "position": { + "x": 29896.38320275879, + "y": 30398.370064308132 + }, + "targetPosition": { + "x": 30328.027777853724, + "y": 30525.582330977326 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "managedTakeProfit": { + "type": "Managed Take Profit", + "name": "New Managed Take Profit", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 + ( chart.at06hs.livetest.averageTradeUp ) ) / 100 )", + "project": "Foundations", + "id": "fc9d157e-5a89-4a04-85af-2ad64aa06b23", + "savedPayload": { + "position": { + "x": 30011.06807903689, + "y": 29213.31842865968 + }, + "targetPosition": { + "x": 30116.721311975834, + "y": 29650.73972943223 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "4a1bb0d3-ef41-4ccd-beef-bfc98b378027", + "savedPayload": { + "position": { + "x": 30116.721311975834, + "y": 29650.73972943223 + }, + "targetPosition": { + "x": 30222.37454491478, + "y": 30088.161030204777 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "b0c2235b-0210-4470-9e0e-294c12e55734", + "savedPayload": { + "position": { + "x": 30222.37454491478, + "y": 30088.161030204777 + }, + "targetPosition": { + "x": 30328.027777853724, + "y": 30525.582330977326 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "004c7176-0270-49a6-919a-bafb9f837c7c", + "savedPayload": { + "position": { + "x": 30328.027777853724, + "y": 30525.582330977326 + }, + "targetPosition": { + "x": 30638.23681195708, + "y": 30851.573673133316 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeStage": { + "type": "Close Stage", + "name": "New Close Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "targetRate()\n\nfunction targetRate() {\n switch (portfolioEngine.portfolioCurrent.position.exitType.value) {\n case 'No Exit': {\n return portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value\n break\n }\n case 'Take Profit': {\n return portfolioEngine.portfolioCurrent.position.takeProfit.finalValue.value\n break\n }\n case 'Stop Loss': {\n return portfolioEngine.portfolioCurrent.position.stopLoss.finalValue.value\n break\n }\n }\n}", + "project": "Foundations", + "id": "1693dc43-f9e7-455f-a73c-6ace0fb0b2c3", + "savedPayload": { + "position": { + "x": 31934.52177274816, + "y": 32196.081736115244 + }, + "targetPosition": { + "x": 31733.782590840503, + "y": 31973.138288472026 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "60ddc327-0ef4-4d16-8d20-5267cc1d7790", + "savedPayload": { + "position": { + "x": 31733.782590840503, + "y": 31973.138288472026 + }, + "targetPosition": { + "x": 31533.043408932845, + "y": 31750.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInBaseAsset": { + "type": "Target Size In Base Asset", + "name": "New Target Size In Base Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value", + "project": "Foundations", + "id": "0aaf8e98-db70-497d-9a3f-152bea636a1b", + "savedPayload": { + "position": { + "x": 31347.63321230788, + "y": 32320.8287506059 + }, + "targetPosition": { + "x": 31440.338310620362, + "y": 32035.511795717353 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "736caedc-7a81-4fa7-bf40-273053fd18d5", + "savedPayload": { + "position": { + "x": 31440.338310620362, + "y": 32035.511795717353 + }, + "targetPosition": { + "x": 31533.043408932845, + "y": 31750.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "64cfe53c-a3c7-4ddc-991c-1f77451b7f99", + "savedPayload": { + "position": { + "x": 31533.043408932845, + "y": 31750.194840828808 + }, + "targetPosition": { + "x": 31470.669901687517, + "y": 31456.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeExecution": { + "type": "Close Execution", + "name": "New Close Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [], + "marketSellOrders": [ + { + "type": "Market Sell Order", + "name": "New Market Sell Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "b51f2316-64ff-440f-8227-57c9c02fdc52", + "savedPayload": { + "position": { + "x": 30431.019165507932, + "y": 33200.23592588583 + }, + "targetPosition": { + "x": 30523.724263820415, + "y": 32914.91897099728 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "a58ccef2-30dd-49b2-a93a-4fa970dc3278", + "savedPayload": { + "position": { + "x": 30523.724263820415, + "y": 32914.91897099728 + }, + "targetPosition": { + "x": 30616.429362132898, + "y": 32629.602016108733 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "2238829d-2db2-4faa-b146-4601da1604de", + "savedPayload": { + "position": { + "x": 30616.429362132898, + "y": 32629.602016108733 + }, + "targetPosition": { + "x": 30709.13446044538, + "y": 32344.285061220187 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "0a2e6926-a586-4f48-a70e-cb79d810a5de", + "savedPayload": { + "position": { + "x": 30709.13446044538, + "y": 32344.285061220187 + }, + "targetPosition": { + "x": 30801.839558757863, + "y": 32058.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{\n \"fillProbability\": 1\n}", + "project": "Foundations", + "id": "314d58c7-28bb-4279-b9c0-69a98fab63c3", + "savedPayload": { + "position": { + "x": 30345.003568033215, + "y": 32372.942783960596 + }, + "targetPosition": { + "x": 30508.395278537722, + "y": 32121.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "0a57d31c-aa44-4a5f-bc84-a65f05a042f8", + "savedPayload": { + "position": { + "x": 29921.50671809744, + "y": 32246.088628067624 + }, + "targetPosition": { + "x": 30214.95099831758, + "y": 32183.715120822297 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "2ef1ab49-64d8-44ee-9cb8-1518a7c40b76", + "savedPayload": { + "position": { + "x": 30214.95099831758, + "y": 32183.715120822297 + }, + "targetPosition": { + "x": 30508.395278537722, + "y": 32121.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{\n \"percentage\": 0.1\n}", + "project": "Foundations", + "id": "c41a989b-06d3-4d40-9541-2d045ddb8530", + "savedPayload": { + "position": { + "x": 30256.794108154096, + "y": 31957.949903072462 + }, + "targetPosition": { + "x": 30508.395278537722, + "y": 32121.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "28990062-ed67-4e96-85a2-42232b36b54f", + "savedPayload": { + "position": { + "x": 30508.395278537722, + "y": 32121.34161357697 + }, + "targetPosition": { + "x": 30801.839558757863, + "y": 32058.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "da1e2c00-e869-4e43-84d0-00c13637ed6d", + "savedPayload": { + "position": { + "x": 30801.839558757863, + "y": 32058.968106331642 + }, + "targetPosition": { + "x": 31024.78300640108, + "y": 31858.228924423984 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Sell Order #1", + "id": "8e404329-d41f-41e0-ad5a-c84ee1fa2604" + } + } + } + ], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "0be97fb4-458c-448e-84da-03ef8ce366cd", + "savedPayload": { + "position": { + "x": 31024.78300640108, + "y": 31858.228924423984 + }, + "targetPosition": { + "x": 31247.7264540443, + "y": 31657.489742516325 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "67b786a1-81db-4472-a606-d45879630141", + "savedPayload": { + "position": { + "x": 31247.7264540443, + "y": 31657.489742516325 + }, + "targetPosition": { + "x": 31470.669901687517, + "y": 31456.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "c02d90e2-1bae-4cd0-a409-0f6252acb1e4", + "savedPayload": { + "position": { + "x": 30578.88533485315, + "y": 30405.504841936177 + }, + "targetPosition": { + "x": 30638.23681195708, + "y": 30851.573673133316 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "70c52d2e-9209-46c9-a099-53b7ac4ef99c", + "savedPayload": { + "position": { + "x": 30638.23681195708, + "y": 30851.573673133316 + }, + "targetPosition": { + "x": 31034, + "y": 31065.75 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Portfolio Strategy", + "name": "08-hs", + "project": "Foundations", + "triggerStage": { + "type": "Trigger Stage", + "name": "New Trigger Stage", + "project": "Foundations", + "triggerOn": { + "type": "Trigger On Event", + "name": "New Trigger On Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Livetest Chart Comparison", + "code": "chart.at01hs.candle.close > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "isBestOption()\n\nfunction isBestOption() {\n\n const TIME_FRAME_LABEL = TS.projects.foundations.globals.timeFrames.marketTimeFramesArray().concat(TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray())\n \n for (k = 0; k < TIME_FRAME_LABEL.length; k++) {\n TIME_FRAME_LABEL[k] = 'at' + TIME_FRAME_LABEL[k][1].replace(/'|-/g,'')\n }\n\n const validNow = []\n validNow.length = 0\n\n myChart = \"at08hs\"\n\n for (i = 0; i < TIME_FRAME_LABEL.length; i++) {\n\n label = TIME_FRAME_LABEL[i]\n\n // prepareLivetest = chart.at24hs.livetest.begin\n // prepareLivetest = chart.at12hs.livetest.begin\n // prepareLivetest = chart.at08hs.livetest.begin\n // prepareLivetest = chart.at06hs.livetest.begin\n // prepareLivetest = chart.at04hs.livetest.begin\n // prepareLivetest = chart.at03hs.livetest.begin\n // prepareLivetest = chart.at02hs.livetest.begin\n // prepareLivetest = chart.at01hs.livetest.begin\n // prepareLivetest = chart.at45min.livetest.begin\n // prepareLivetest = chart.at40min.livetest.begin\n // prepareLivetest = chart.at30min.livetest.begin\n // prepareLivetest = chart.at20min.livetest.begin\n // prepareLivetest = chart.at15min.livetest.begin\n // prepareLivetest = chart.at10min.livetest.begin\n // prepareLivetest = chart.at05min.livetest.begin\n // prepareLivetest = chart.at04min.livetest.begin\n // prepareLivetest = chart.at03min.livetest.begin\n // prepareLivetest = chart.at02min.livetest.begin\n // prepareLivetest = chart.at01min.livetest.begin\n \n\n if (chart[label].livetest.positionBullish !== undefined && chart[label].livetest.positionTimestamp !== undefined) {\n if (chart[label].livetest.positionBullish === 1 && chart[label].livetest.positionTimestamp == chart.at01min.candle.end) {\n validNow.push(label)\n }\n }\n else { \n break \n }\n }\n if (validNow.length === 1) {\n if (validNow[0] === myChart) {\n return true\n }\n }\n else if (validNow.length > 1) { \n \n maxPPH = 9999\n bestChart = \"Not defined\"\n\n for (j = 0; j < validNow.length; j++) {\n\n label = validNow[j]\n\n if (chart[label].livetest.averageBullPerHour < maxPPH) {\n maxPPH = chart[label].livetest.averageBullPerHour\n bestChart = label\n }\n }\n if (bestChart == myChart) {\n return true\n }\n }\n else {\n return false\n }\n}\n", + "project": "Foundations", + "id": "60512dff-e289-4e6e-84a2-edcfe0508f23", + "savedPayload": { + "position": { + "x": 29164.94577627522, + "y": 32197.906565194076 + }, + "targetPosition": { + "x": 29444.267862933735, + "y": 31845.09050560391 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "16647069-28e2-4599-a903-778e24bacdb3", + "savedPayload": { + "position": { + "x": 29444.267862933735, + "y": 31845.09050560391 + }, + "targetPosition": { + "x": 29723.58994959225, + "y": 31492.27444601374 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "55a72601-e01d-4d69-8ee0-13b89597b83e", + "savedPayload": { + "position": { + "x": 29723.58994959225, + "y": 31492.27444601374 + }, + "targetPosition": { + "x": 30002.912036250764, + "y": 31139.458386423572 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "b00e9c0a-384f-4fce-a0e0-6031836ee135", + "savedPayload": { + "position": { + "x": 30002.912036250764, + "y": 31139.458386423572 + }, + "targetPosition": { + "x": 30282.234122909278, + "y": 30786.642326833404 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "triggerOff": { + "type": "Trigger Off Event", + "name": "New Trigger Off Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "false", + "project": "Foundations", + "id": "9142fa38-b012-401e-bf1b-93c35633d3de", + "savedPayload": { + "position": { + "x": 28494.277443472725, + "y": 30994.514673378653 + }, + "targetPosition": { + "x": 28941.266613331863, + "y": 30942.54658674234 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "11aad482-656e-41a0-825e-91f1e904feb5", + "savedPayload": { + "position": { + "x": 28941.266613331863, + "y": 30942.54658674234 + }, + "targetPosition": { + "x": 29388.255783191, + "y": 30890.57850010603 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "1ded5753-8c8b-4682-893b-f78ad8a02b12", + "savedPayload": { + "position": { + "x": 29388.255783191, + "y": 30890.57850010603 + }, + "targetPosition": { + "x": 29835.24495305014, + "y": 30838.610413469716 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "d0ad91ae-6317-43e0-be13-7d79c0639b38", + "savedPayload": { + "position": { + "x": 29835.24495305014, + "y": 30838.610413469716 + }, + "targetPosition": { + "x": 30282.234122909278, + "y": 30786.642326833404 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "takePosition": { + "type": "Take Position Event", + "name": "New Take Position Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "70dd0cb4-e52d-474d-9bbe-2c045eecf647", + "savedPayload": { + "position": { + "x": 28870.969884548605, + "y": 29669.353980199347 + }, + "targetPosition": { + "x": 29223.785944138774, + "y": 29948.67606685786 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "b2ab5946-55e4-433d-927e-f80b622faa59", + "savedPayload": { + "position": { + "x": 29223.785944138774, + "y": 29948.67606685786 + }, + "targetPosition": { + "x": 29576.60200372894, + "y": 30227.998153516375 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "42e9dabf-f99b-4ab7-a966-7189ee6f5b34", + "savedPayload": { + "position": { + "x": 29576.60200372894, + "y": 30227.998153516375 + }, + "targetPosition": { + "x": 29929.41806331911, + "y": 30507.32024017489 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "5ab5cd7a-3d12-4eae-95f7-7cc3bc25ef90", + "savedPayload": { + "position": { + "x": 29929.41806331911, + "y": 30507.32024017489 + }, + "targetPosition": { + "x": 30282.234122909278, + "y": 30786.642326833404 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "98492b18-c401-4bb3-aad3-acad4ce5d28c", + "savedPayload": { + "position": { + "x": 30282.234122909278, + "y": 30786.642326833404 + }, + "targetPosition": { + "x": 30729.223292768416, + "y": 30734.67424019709 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openStage": { + "type": "Open Stage", + "name": "New Open Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "0eefea24-a35d-4335-b1da-7748fe54166b", + "savedPayload": { + "position": { + "x": 31875.384013274626, + "y": 30188.321255518636 + }, + "targetPosition": { + "x": 31906.742552254924, + "y": 30486.677824129118 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "51a25c09-2307-49ac-95ae-69e3cfadd33a", + "savedPayload": { + "position": { + "x": 31906.742552254924, + "y": 30486.677824129118 + }, + "targetPosition": { + "x": 31938.10109123522, + "y": 30785.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInQuotedAsset": { + "type": "Target Size In Quoted Asset", + "name": "New Target Size In Quoted Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value", + "project": "Foundations", + "id": "70826f02-9521-465d-a2f9-a8b428e8a137", + "savedPayload": { + "position": { + "x": 32423.511287860187, + "y": 30432.363241364113 + }, + "targetPosition": { + "x": 32180.806189547704, + "y": 30608.698817051856 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "adf43117-2cd4-4481-b24d-4560fd384fd6", + "savedPayload": { + "position": { + "x": 32180.806189547704, + "y": 30608.698817051856 + }, + "targetPosition": { + "x": 31938.10109123522, + "y": 30785.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "d4256261-f04d-4806-9ed1-e6d188fc1af5", + "savedPayload": { + "position": { + "x": 31938.10109123522, + "y": 30785.0343927396 + }, + "targetPosition": { + "x": 31816.080098312483, + "y": 31059.09803003238 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openExecution": { + "type": "Open Execution", + "name": "New Open Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [ + { + "type": "Market Buy Order", + "name": "New Market Buy Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "7ed49b79-fcdc-465a-8d56-f89a1df21cd7", + "savedPayload": { + "position": { + "x": 33681.970197393865, + "y": 30259.680110340516 + }, + "targetPosition": { + "x": 33439.26509908138, + "y": 30436.01568602826 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "0790875b-c798-4f5f-9101-3d67816371b9", + "savedPayload": { + "position": { + "x": 33439.26509908138, + "y": 30436.01568602826 + }, + "targetPosition": { + "x": 33196.56000076889, + "y": 30612.351261716 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "a3bada0a-a3b9-4212-9ab4-6c387ee9f17f", + "savedPayload": { + "position": { + "x": 33196.56000076889, + "y": 30612.351261716 + }, + "targetPosition": { + "x": 32953.85490245641, + "y": 30788.686837403744 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "b8dd483d-61dd-4350-b287-359b922c9e14", + "savedPayload": { + "position": { + "x": 32953.85490245641, + "y": 30788.686837403744 + }, + "targetPosition": { + "x": 32711.149804143926, + "y": 30965.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{ \n\"fillProbability\": 1\n}", + "project": "Foundations", + "id": "e88e7082-3d94-405d-a0ee-d2ea114ca96c", + "savedPayload": { + "position": { + "x": 33265.287569385866, + "y": 30979.533021150633 + }, + "targetPosition": { + "x": 32985.2134414367, + "y": 31087.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "b0cd2e30-bc41-4e2a-8dd1-643809afe371", + "savedPayload": { + "position": { + "x": 33533.34071602227, + "y": 31331.085391859702 + }, + "targetPosition": { + "x": 33259.27707872949, + "y": 31209.064398936964 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "1d147b1b-e415-49ba-95e5-2a7767d1a5d3", + "savedPayload": { + "position": { + "x": 33259.27707872949, + "y": 31209.064398936964 + }, + "targetPosition": { + "x": 32985.2134414367, + "y": 31087.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{ \n\"percentage\": 0.1\n}", + "project": "Foundations", + "id": "ee0d0c14-6756-42b4-997e-16fd43cd4de5", + "savedPayload": { + "position": { + "x": 33092.723826300295, + "y": 31367.117533963385 + }, + "targetPosition": { + "x": 32985.2134414367, + "y": 31087.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "a045694d-31ca-429d-a66c-3888a694caa0", + "savedPayload": { + "position": { + "x": 32985.2134414367, + "y": 31087.043406014225 + }, + "targetPosition": { + "x": 32711.149804143926, + "y": 30965.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "9da3e440-919d-4910-bc65-c8bfce04afec", + "savedPayload": { + "position": { + "x": 32711.149804143926, + "y": 30965.022413091487 + }, + "targetPosition": { + "x": 32412.793235533445, + "y": 30996.380952071784 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Buy Order #1", + "id": "7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3" + } + } + } + ], + "marketSellOrders": [], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "6690067c-4a00-4305-83df-1e0f31ecaab3", + "savedPayload": { + "position": { + "x": 32412.793235533445, + "y": 30996.380952071784 + }, + "targetPosition": { + "x": 32114.436666922964, + "y": 31027.73949105208 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "cfd4bdf9-868b-43e4-be44-9cf088f7ec7b", + "savedPayload": { + "position": { + "x": 32114.436666922964, + "y": 31027.73949105208 + }, + "targetPosition": { + "x": 31816.080098312483, + "y": 31059.09803003238 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "190f4b42-0c72-4d7a-aba3-8417f5f92250", + "savedPayload": { + "position": { + "x": 30337.055383136143, + "y": 30513.983663473362 + }, + "targetPosition": { + "x": 30729.223292768416, + "y": 30734.67424019709 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "manageStage": { + "type": "Manage Stage", + "name": "New Manage Stage", + "project": "Foundations", + "managedStopLoss": { + "type": "Managed Stop Loss", + "name": "New Managed Stop Loss", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 - chart.at08hs.livetest.averageTradeDown) / 100 )", + "project": "Foundations", + "id": "8c72b560-8a0a-4b9e-95f1-ee0d73338325", + "savedPayload": { + "position": { + "x": 29398.716262878377, + "y": 29992.22449746795 + }, + "targetPosition": { + "x": 29807.7692036505, + "y": 29804.67266024507 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "name": "New Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "code": "chart.at15min.livetest.averageTradeDown > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01min.candle.close > ( portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.005 )", + "project": "Foundations", + "id": "0de67dc5-b211-413b-be67-75230162c198", + "savedPayload": { + "position": { + "x": 29976.176462948915, + "y": 28012.56803299375 + }, + "targetPosition": { + "x": 29934.07464812431, + "y": 28460.59418980658 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "240409c8-9141-4394-8ce1-551dbfe15f1f", + "savedPayload": { + "position": { + "x": 29934.07464812431, + "y": 28460.59418980658 + }, + "targetPosition": { + "x": 29891.972833299707, + "y": 28908.62034661941 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "12d39a8b-8185-4e7a-8e46-4a321e5b93a4", + "savedPayload": { + "position": { + "x": 29891.972833299707, + "y": 28908.62034661941 + }, + "targetPosition": { + "x": 29849.871018475103, + "y": 29356.64650343224 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "99a458db-5725-46d5-a38c-652fb80c93fc", + "savedPayload": { + "position": { + "x": 29849.871018475103, + "y": 29356.64650343224 + }, + "targetPosition": { + "x": 29807.7692036505, + "y": 29804.67266024507 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "1c49236e-125e-4568-931f-391ff70f36c5", + "savedPayload": { + "position": { + "x": 29807.7692036505, + "y": 29804.67266024507 + }, + "targetPosition": { + "x": 30174.720329598018, + "y": 30065.14697983502 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "if ( ( portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995 ) > portfolioEngine.portfolioCurrent.position.stopLoss.value ) {\nportfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995\n}\nelse { portfolioEngine.portfolioCurrent.position.stopLoss.value }", + "project": "Foundations", + "id": "2b89757f-fb94-4641-8c67-cdb109e99a28", + "savedPayload": { + "position": { + "x": 29073.866951755463, + "y": 29283.72402106517 + }, + "targetPosition": { + "x": 29440.81807770298, + "y": 29544.19834065512 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "4ec648a5-28d1-4077-87af-e67d8ef05461", + "savedPayload": { + "position": { + "x": 29440.81807770298, + "y": 29544.19834065512 + }, + "targetPosition": { + "x": 29807.7692036505, + "y": 29804.67266024507 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "8afd0e2f-54f7-42ca-928d-ef6e3fd62700", + "savedPayload": { + "position": { + "x": 30174.720329598018, + "y": 30065.14697983502 + }, + "targetPosition": { + "x": 30541.671455545536, + "y": 30325.62129942497 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "managedTakeProfit": { + "type": "Managed Take Profit", + "name": "New Managed Take Profit", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 + ( chart.at08hs.livetest.averageTradeUp ) ) / 100 )", + "project": "Foundations", + "id": "cea5e60f-a4fc-4902-a70d-86c6ee1558a1", + "savedPayload": { + "position": { + "x": 30667.97690001935, + "y": 28981.54282898648 + }, + "targetPosition": { + "x": 30625.875085194744, + "y": 29429.56898579931 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "9e413c1b-1ff7-462b-8e52-080ed6e69187", + "savedPayload": { + "position": { + "x": 30625.875085194744, + "y": 29429.56898579931 + }, + "targetPosition": { + "x": 30583.77327037014, + "y": 29877.59514261214 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "3c0565b8-cba4-4c78-bd6f-6400ebd05d8f", + "savedPayload": { + "position": { + "x": 30583.77327037014, + "y": 29877.59514261214 + }, + "targetPosition": { + "x": 30541.671455545536, + "y": 30325.62129942497 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "a3b83f75-3567-402f-9ab7-579781673068", + "savedPayload": { + "position": { + "x": 30541.671455545536, + "y": 30325.62129942497 + }, + "targetPosition": { + "x": 30729.223292768416, + "y": 30734.67424019709 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeStage": { + "type": "Close Stage", + "name": "New Close Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "targetRate()\n\nfunction targetRate() {\n switch (portfolioEngine.portfolioCurrent.position.exitType.value) {\n case 'No Exit': {\n return portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value\n break\n }\n case 'Take Profit': {\n return portfolioEngine.portfolioCurrent.position.takeProfit.finalValue.value\n break\n }\n case 'Stop Loss': {\n return portfolioEngine.portfolioCurrent.position.stopLoss.finalValue.value\n break\n }\n }\n}", + "project": "Foundations", + "id": "c9fcfc90-f4af-43f9-8996-a7699fee6328", + "savedPayload": { + "position": { + "x": 31944.52177274816, + "y": 32260.081736115244 + }, + "targetPosition": { + "x": 31743.782590840503, + "y": 32037.138288472026 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "524f1314-aadf-432d-b9e3-ea6dcb05b02b", + "savedPayload": { + "position": { + "x": 31743.782590840503, + "y": 32037.138288472026 + }, + "targetPosition": { + "x": 31543.043408932845, + "y": 31814.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInBaseAsset": { + "type": "Target Size In Base Asset", + "name": "New Target Size In Base Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value", + "project": "Foundations", + "id": "5652e4c6-1a48-4e7c-a9b1-11eaf236d812", + "savedPayload": { + "position": { + "x": 31357.63321230788, + "y": 32384.8287506059 + }, + "targetPosition": { + "x": 31450.338310620362, + "y": 32099.511795717353 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "5aeb56e8-a1bb-459e-9294-43fc04a876dc", + "savedPayload": { + "position": { + "x": 31450.338310620362, + "y": 32099.511795717353 + }, + "targetPosition": { + "x": 31543.043408932845, + "y": 31814.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "aed010f2-4d93-4b59-a648-7c595a535349", + "savedPayload": { + "position": { + "x": 31543.043408932845, + "y": 31814.194840828808 + }, + "targetPosition": { + "x": 31480.669901687517, + "y": 31520.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeExecution": { + "type": "Close Execution", + "name": "New Close Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [], + "marketSellOrders": [ + { + "type": "Market Sell Order", + "name": "New Market Sell Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "5d6d2fac-1c95-4793-b706-4ff6ce68cb25", + "savedPayload": { + "position": { + "x": 30441.019165507932, + "y": 33264.23592588583 + }, + "targetPosition": { + "x": 30533.724263820415, + "y": 32978.91897099728 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "d28548ce-c2d5-4ce4-809a-a34b37d71340", + "savedPayload": { + "position": { + "x": 30533.724263820415, + "y": 32978.91897099728 + }, + "targetPosition": { + "x": 30626.429362132898, + "y": 32693.602016108733 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "c0629fb9-a1a0-4608-a487-4c7d5073f0b0", + "savedPayload": { + "position": { + "x": 30626.429362132898, + "y": 32693.602016108733 + }, + "targetPosition": { + "x": 30719.13446044538, + "y": 32408.285061220187 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "d836d9cd-931d-434a-a76b-32e8ad9e6602", + "savedPayload": { + "position": { + "x": 30719.13446044538, + "y": 32408.285061220187 + }, + "targetPosition": { + "x": 30811.839558757863, + "y": 32122.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{\n \"fillProbability\": 1\n}", + "project": "Foundations", + "id": "e0e8dd85-abd4-4f85-96e5-fde46ddc9fb7", + "savedPayload": { + "position": { + "x": 30355.003568033215, + "y": 32436.942783960596 + }, + "targetPosition": { + "x": 30518.395278537722, + "y": 32185.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "4ae34e10-b660-4b5e-8929-5cc0b54b05bb", + "savedPayload": { + "position": { + "x": 29931.50671809744, + "y": 32310.088628067624 + }, + "targetPosition": { + "x": 30224.95099831758, + "y": 32247.715120822297 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "87d605c4-3969-47ca-b6cc-a0362fb8b6ed", + "savedPayload": { + "position": { + "x": 30224.95099831758, + "y": 32247.715120822297 + }, + "targetPosition": { + "x": 30518.395278537722, + "y": 32185.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{\n \"percentage\": 0.1\n}", + "project": "Foundations", + "id": "a4c7449c-ef92-4f87-bfd8-030283d30234", + "savedPayload": { + "position": { + "x": 30266.794108154096, + "y": 32021.949903072462 + }, + "targetPosition": { + "x": 30518.395278537722, + "y": 32185.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "33ffc2d7-9975-468a-8d09-d96a08e3b939", + "savedPayload": { + "position": { + "x": 30518.395278537722, + "y": 32185.34161357697 + }, + "targetPosition": { + "x": 30811.839558757863, + "y": 32122.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "6740487a-4684-4d17-9357-4baccb629adc", + "savedPayload": { + "position": { + "x": 30811.839558757863, + "y": 32122.968106331642 + }, + "targetPosition": { + "x": 31034.78300640108, + "y": 31922.228924423984 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Sell Order #1", + "id": "8e404329-d41f-41e0-ad5a-c84ee1fa2604" + } + } + } + ], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "8c202979-774d-40d9-ae18-ee5ef5cf75bf", + "savedPayload": { + "position": { + "x": 31034.78300640108, + "y": 31922.228924423984 + }, + "targetPosition": { + "x": 31257.7264540443, + "y": 31721.489742516325 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "3108d22a-c5ec-4648-8a8e-75fb1a930939", + "savedPayload": { + "position": { + "x": 31257.7264540443, + "y": 31721.489742516325 + }, + "targetPosition": { + "x": 31480.669901687517, + "y": 31520.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "5023c980-70cb-461b-a527-39a6ccb9d26c", + "savedPayload": { + "position": { + "x": 30817.925955121584, + "y": 30293.503255553427 + }, + "targetPosition": { + "x": 30729.223292768416, + "y": 30734.67424019709 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "5b4a8e14-86b2-41bf-8075-b8eb236d2041", + "savedPayload": { + "position": { + "x": 30729.223292768416, + "y": 30734.67424019709 + }, + "targetPosition": { + "x": 31034, + "y": 31065.75 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Portfolio Strategy", + "name": "12-hs", + "project": "Foundations", + "triggerStage": { + "type": "Trigger Stage", + "name": "New Trigger Stage", + "project": "Foundations", + "triggerOn": { + "type": "Trigger On Event", + "name": "New Trigger On Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Livetest Chart Comparison", + "code": "chart.at01hs.candle.close > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "isBestOption()\n\nfunction isBestOption() {\n\n const TIME_FRAME_LABEL = TS.projects.foundations.globals.timeFrames.marketTimeFramesArray().concat(TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray())\n \n for (k = 0; k < TIME_FRAME_LABEL.length; k++) {\n TIME_FRAME_LABEL[k] = 'at' + TIME_FRAME_LABEL[k][1].replace(/'|-/g,'')\n }\n\n const validNow = []\n validNow.length = 0\n\n myChart = \"at12hs\"\n\n for (i = 0; i < TIME_FRAME_LABEL.length; i++) {\n\n label = TIME_FRAME_LABEL[i]\n\n // prepareLivetest = chart.at24hs.livetest.begin\n // prepareLivetest = chart.at12hs.livetest.begin\n // prepareLivetest = chart.at08hs.livetest.begin\n // prepareLivetest = chart.at06hs.livetest.begin\n // prepareLivetest = chart.at04hs.livetest.begin\n // prepareLivetest = chart.at03hs.livetest.begin\n // prepareLivetest = chart.at02hs.livetest.begin\n // prepareLivetest = chart.at01hs.livetest.begin\n // prepareLivetest = chart.at45min.livetest.begin\n // prepareLivetest = chart.at40min.livetest.begin\n // prepareLivetest = chart.at30min.livetest.begin\n // prepareLivetest = chart.at20min.livetest.begin\n // prepareLivetest = chart.at15min.livetest.begin\n // prepareLivetest = chart.at10min.livetest.begin\n // prepareLivetest = chart.at05min.livetest.begin\n // prepareLivetest = chart.at04min.livetest.begin\n // prepareLivetest = chart.at03min.livetest.begin\n // prepareLivetest = chart.at02min.livetest.begin\n // prepareLivetest = chart.at01min.livetest.begin\n \n\n if (chart[label].livetest.positionBullish !== undefined && chart[label].livetest.positionTimestamp !== undefined) {\n if (chart[label].livetest.positionBullish === 1 && chart[label].livetest.positionTimestamp == chart.at01min.candle.end) {\n validNow.push(label)\n }\n }\n else { \n break \n }\n }\n if (validNow.length === 1) {\n if (validNow[0] === myChart) {\n return true\n }\n }\n else if (validNow.length > 1) { \n \n maxPPH = 9999\n bestChart = \"Not defined\"\n\n for (j = 0; j < validNow.length; j++) {\n\n label = validNow[j]\n\n if (chart[label].livetest.averageBullPerHour < maxPPH) {\n maxPPH = chart[label].livetest.averageBullPerHour\n bestChart = label\n }\n }\n if (bestChart == myChart) {\n return true\n }\n }\n else {\n return false\n }\n}\n", + "project": "Foundations", + "id": "64f43a7c-5385-4468-b932-8521bbf9e172", + "savedPayload": { + "position": { + "x": 28898.605653752602, + "y": 31529.682285306928 + }, + "targetPosition": { + "x": 29277.352486577838, + "y": 31286.67850627283 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "8e2173f2-3d36-4d4e-9727-50044047eb85", + "savedPayload": { + "position": { + "x": 29277.352486577838, + "y": 31286.67850627283 + }, + "targetPosition": { + "x": 29656.099319403074, + "y": 31043.674727238733 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "35a19f5d-cb17-4d08-83e5-c546c4366a2b", + "savedPayload": { + "position": { + "x": 29656.099319403074, + "y": 31043.674727238733 + }, + "targetPosition": { + "x": 30034.84615222831, + "y": 30800.670948204635 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "a89955e8-f346-4cbd-b20a-13e7a5ac0145", + "savedPayload": { + "position": { + "x": 30034.84615222831, + "y": 30800.670948204635 + }, + "targetPosition": { + "x": 30413.592985053547, + "y": 30557.667169170538 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "triggerOff": { + "type": "Trigger Off Event", + "name": "New Trigger Off Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "false", + "project": "Foundations", + "id": "5f7bb15f-e564-4931-95da-6074cbc37b43", + "savedPayload": { + "position": { + "x": 28655.016689643075, + "y": 30173.727833831796 + }, + "targetPosition": { + "x": 29094.660763495693, + "y": 30269.71266766648 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "c69345ea-4d10-442e-8f7b-659ba3789f68", + "savedPayload": { + "position": { + "x": 29094.660763495693, + "y": 30269.71266766648 + }, + "targetPosition": { + "x": 29534.30483734831, + "y": 30365.697501501167 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "5fa24b3c-f0b1-4e0c-a722-479e2b236f13", + "savedPayload": { + "position": { + "x": 29534.30483734831, + "y": 30365.697501501167 + }, + "targetPosition": { + "x": 29973.94891120093, + "y": 30461.682335335852 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "6df4951b-808d-4b69-b556-537267ef8240", + "savedPayload": { + "position": { + "x": 29973.94891120093, + "y": 30461.682335335852 + }, + "targetPosition": { + "x": 30413.592985053547, + "y": 30557.667169170538 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "takePosition": { + "type": "Take Position Event", + "name": "New Take Position Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "bd4bcd2d-921c-42f4-addf-3345f170536e", + "savedPayload": { + "position": { + "x": 29441.577868917157, + "y": 29042.679837869593 + }, + "targetPosition": { + "x": 29684.581647951254, + "y": 29421.42667069483 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "6b88c0ef-fa39-4825-a6e2-544eebeebbd6", + "savedPayload": { + "position": { + "x": 29684.581647951254, + "y": 29421.42667069483 + }, + "targetPosition": { + "x": 29927.58542698535, + "y": 29800.173503520065 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "07ed2e39-29ab-4dfb-9666-f575038d33e2", + "savedPayload": { + "position": { + "x": 29927.58542698535, + "y": 29800.173503520065 + }, + "targetPosition": { + "x": 30170.58920601945, + "y": 30178.9203363453 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "0f88038d-a0aa-4c29-aaa6-6b95906858f4", + "savedPayload": { + "position": { + "x": 30170.58920601945, + "y": 30178.9203363453 + }, + "targetPosition": { + "x": 30413.592985053547, + "y": 30557.667169170538 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "e6aaaf35-c3ec-4f24-9f6a-8a23510cf59f", + "savedPayload": { + "position": { + "x": 30413.592985053547, + "y": 30557.667169170538 + }, + "targetPosition": { + "x": 30853.237058906165, + "y": 30653.652003005223 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openStage": { + "type": "Open Stage", + "name": "New Open Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "c5391710-0bc9-4726-8983-1afe4b16fdef", + "savedPayload": { + "position": { + "x": 31905.384013274626, + "y": 30174.321255518636 + }, + "targetPosition": { + "x": 31936.742552254924, + "y": 30472.677824129118 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "a4f07cd1-514f-44e7-894a-dc5ae2980bde", + "savedPayload": { + "position": { + "x": 31936.742552254924, + "y": 30472.677824129118 + }, + "targetPosition": { + "x": 31968.10109123522, + "y": 30771.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInQuotedAsset": { + "type": "Target Size In Quoted Asset", + "name": "New Target Size In Quoted Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value", + "project": "Foundations", + "id": "83055e49-623a-4248-a7b3-4ef2d85ff15d", + "savedPayload": { + "position": { + "x": 32453.511287860187, + "y": 30418.363241364113 + }, + "targetPosition": { + "x": 32210.806189547704, + "y": 30594.698817051856 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "433da894-b48d-4ffa-aa4a-bf3015cba4cb", + "savedPayload": { + "position": { + "x": 32210.806189547704, + "y": 30594.698817051856 + }, + "targetPosition": { + "x": 31968.10109123522, + "y": 30771.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "5c52b2ea-54a4-4f7d-a9e5-bb217e8d0c4a", + "savedPayload": { + "position": { + "x": 31968.10109123522, + "y": 30771.0343927396 + }, + "targetPosition": { + "x": 31846.080098312483, + "y": 31045.09803003238 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openExecution": { + "type": "Open Execution", + "name": "New Open Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [ + { + "type": "Market Buy Order", + "name": "New Market Buy Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "f4bb5e19-f294-437d-a2ec-482ae1e9f947", + "savedPayload": { + "position": { + "x": 33711.970197393865, + "y": 30245.680110340516 + }, + "targetPosition": { + "x": 33469.26509908138, + "y": 30422.01568602826 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "4545a3dd-5278-4b02-90f4-d4d12e55316a", + "savedPayload": { + "position": { + "x": 33469.26509908138, + "y": 30422.01568602826 + }, + "targetPosition": { + "x": 33226.56000076889, + "y": 30598.351261716 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "10e8824a-498c-41b0-8e73-ccd8375309f5", + "savedPayload": { + "position": { + "x": 33226.56000076889, + "y": 30598.351261716 + }, + "targetPosition": { + "x": 32983.85490245641, + "y": 30774.686837403744 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "058c9e74-2ae4-4188-ad4a-7ab58f1dfe5d", + "savedPayload": { + "position": { + "x": 32983.85490245641, + "y": 30774.686837403744 + }, + "targetPosition": { + "x": 32741.149804143926, + "y": 30951.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{ \n\"fillProbability\": 1\n}", + "project": "Foundations", + "id": "3942f76e-0a76-4930-bec0-ed335bbc6085", + "savedPayload": { + "position": { + "x": 33295.287569385866, + "y": 30965.533021150633 + }, + "targetPosition": { + "x": 33015.2134414367, + "y": 31073.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "75cde372-6b68-4d89-a602-802c3df0675b", + "savedPayload": { + "position": { + "x": 33563.34071602227, + "y": 31317.085391859702 + }, + "targetPosition": { + "x": 33289.27707872949, + "y": 31195.064398936964 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "92c99226-4516-4f2e-a8e3-72194cdabe53", + "savedPayload": { + "position": { + "x": 33289.27707872949, + "y": 31195.064398936964 + }, + "targetPosition": { + "x": 33015.2134414367, + "y": 31073.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{ \n\"percentage\": 0.1\n}", + "project": "Foundations", + "id": "6f2f0a98-4d91-4812-bb8e-cbacc25793c4", + "savedPayload": { + "position": { + "x": 33122.723826300295, + "y": 31353.117533963385 + }, + "targetPosition": { + "x": 33015.2134414367, + "y": 31073.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "bdc1f751-f5d3-469e-8212-4c801b5b1c53", + "savedPayload": { + "position": { + "x": 33015.2134414367, + "y": 31073.043406014225 + }, + "targetPosition": { + "x": 32741.149804143926, + "y": 30951.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "127bc379-55d3-473a-a8ca-ab6699a85380", + "savedPayload": { + "position": { + "x": 32741.149804143926, + "y": 30951.022413091487 + }, + "targetPosition": { + "x": 32442.793235533445, + "y": 30982.380952071784 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Buy Order #1", + "id": "7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3" + } + } + } + ], + "marketSellOrders": [], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "ac6d3b82-7bff-4f79-9034-73c89308b303", + "savedPayload": { + "position": { + "x": 32442.793235533445, + "y": 30982.380952071784 + }, + "targetPosition": { + "x": 32144.436666922964, + "y": 31013.73949105208 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "164d184d-55ff-4614-8db9-2eb05fb21111", + "savedPayload": { + "position": { + "x": 32144.436666922964, + "y": 31013.73949105208 + }, + "targetPosition": { + "x": 31846.080098312483, + "y": 31045.09803003238 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "6433c79a-bd88-4463-9075-2c40f97e6193", + "savedPayload": { + "position": { + "x": 30553.976001454932, + "y": 30317.582338362354 + }, + "targetPosition": { + "x": 30853.237058906165, + "y": 30653.652003005223 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "manageStage": { + "type": "Manage Stage", + "name": "New Manage Stage", + "project": "Foundations", + "managedStopLoss": { + "type": "Managed Stop Loss", + "name": "New Managed Stop Loss", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 - chart.at12hs.livetest.averageTradeDown) / 100 )", + "project": "Foundations", + "id": "197c26ff-3ad0-44f2-af67-8450a34e617f", + "savedPayload": { + "position": { + "x": 29835.893607207567, + "y": 29519.415308857402 + }, + "targetPosition": { + "x": 30283.680913352822, + "y": 29474.844820244693 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "name": "New Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "code": "chart.at15min.livetest.averageTradeDown > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01min.candle.close > ( portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.005 )", + "project": "Foundations", + "id": "71f456be-23ea-4ef1-a6d9-0cfe563f918c", + "savedPayload": { + "position": { + "x": 31024.858824052564, + "y": 27834.523112563318 + }, + "targetPosition": { + "x": 30839.56434637763, + "y": 28244.60353948366 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "75b4b99b-757e-426c-bad6-7a0b8c70cb7e", + "savedPayload": { + "position": { + "x": 30839.56434637763, + "y": 28244.60353948366 + }, + "targetPosition": { + "x": 30654.269868702693, + "y": 28654.683966404005 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "8c8fbf93-9e21-4727-af1c-bedc1fcea06d", + "savedPayload": { + "position": { + "x": 30654.269868702693, + "y": 28654.683966404005 + }, + "targetPosition": { + "x": 30468.975391027758, + "y": 29064.76439332435 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "2d929eed-b627-441a-ab4a-94d7c640cc30", + "savedPayload": { + "position": { + "x": 30468.975391027758, + "y": 29064.76439332435 + }, + "targetPosition": { + "x": 30283.680913352822, + "y": 29474.844820244693 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "a6b987dc-d56b-40cb-a89b-fd662015e9a5", + "savedPayload": { + "position": { + "x": 30283.680913352822, + "y": 29474.844820244693 + }, + "targetPosition": { + "x": 30546.17374182314, + "y": 29840.35475855233 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "if ( ( portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995 ) > portfolioEngine.portfolioCurrent.position.stopLoss.value ) {\nportfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995\n}\nelse { portfolioEngine.portfolioCurrent.position.stopLoss.value }", + "project": "Foundations", + "id": "f572e10c-8cd0-46da-93a9-76538bcd4be8", + "savedPayload": { + "position": { + "x": 29758.69525641219, + "y": 28743.824943629417 + }, + "targetPosition": { + "x": 30021.188084882506, + "y": 29109.334881937055 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "6cc96b8f-d695-45ae-923a-d8e5fca0839c", + "savedPayload": { + "position": { + "x": 30021.188084882506, + "y": 29109.334881937055 + }, + "targetPosition": { + "x": 30283.680913352822, + "y": 29474.844820244693 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "bb5be3c0-5477-4d79-af6b-36fa92834b73", + "savedPayload": { + "position": { + "x": 30546.17374182314, + "y": 29840.35475855233 + }, + "targetPosition": { + "x": 30808.666570293455, + "y": 30205.864696859968 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "managedTakeProfit": { + "type": "Managed Take Profit", + "name": "New Managed Take Profit", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 + ( chart.at12hs.livetest.averageTradeUp ) ) / 100 )", + "project": "Foundations", + "id": "471c60d4-c92f-4008-94ff-db852ee0ed92", + "savedPayload": { + "position": { + "x": 31364.55000331826, + "y": 28975.623416098937 + }, + "targetPosition": { + "x": 31179.255525643326, + "y": 29385.70384301928 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "fcc0abee-95be-4a0b-bf48-b6f61210ab8c", + "savedPayload": { + "position": { + "x": 31179.255525643326, + "y": 29385.70384301928 + }, + "targetPosition": { + "x": 30993.96104796839, + "y": 29795.784269939624 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "e1dd70f8-aa79-46b2-b033-d7b778e41fd4", + "savedPayload": { + "position": { + "x": 30993.96104796839, + "y": 29795.784269939624 + }, + "targetPosition": { + "x": 30808.666570293455, + "y": 30205.864696859968 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "c6171e72-9d72-451a-aa82-436da5c2351a", + "savedPayload": { + "position": { + "x": 30808.666570293455, + "y": 30205.864696859968 + }, + "targetPosition": { + "x": 30853.237058906165, + "y": 30653.652003005223 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeStage": { + "type": "Close Stage", + "name": "New Close Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "targetRate()\n\nfunction targetRate() {\n switch (portfolioEngine.portfolioCurrent.position.exitType.value) {\n case 'No Exit': {\n return portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value\n break\n }\n case 'Take Profit': {\n return portfolioEngine.portfolioCurrent.position.takeProfit.finalValue.value\n break\n }\n case 'Stop Loss': {\n return portfolioEngine.portfolioCurrent.position.stopLoss.finalValue.value\n break\n }\n }\n}", + "project": "Foundations", + "id": "b9e6b26c-50a2-483f-b1ac-029b7c8774f9", + "savedPayload": { + "position": { + "x": 31974.52177274816, + "y": 32246.081736115244 + }, + "targetPosition": { + "x": 31773.782590840503, + "y": 32023.138288472026 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "c2472138-be71-48d3-8084-fffa8d09cca1", + "savedPayload": { + "position": { + "x": 31773.782590840503, + "y": 32023.138288472026 + }, + "targetPosition": { + "x": 31573.043408932845, + "y": 31800.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInBaseAsset": { + "type": "Target Size In Base Asset", + "name": "New Target Size In Base Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value", + "project": "Foundations", + "id": "cb0c8204-1f3b-44d7-a9a4-f3071012c992", + "savedPayload": { + "position": { + "x": 31387.63321230788, + "y": 32370.8287506059 + }, + "targetPosition": { + "x": 31480.338310620362, + "y": 32085.511795717353 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "ce19c1ef-0235-4264-91e4-66adc89cbd04", + "savedPayload": { + "position": { + "x": 31480.338310620362, + "y": 32085.511795717353 + }, + "targetPosition": { + "x": 31573.043408932845, + "y": 31800.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "da307d60-82b4-407a-bbd9-bb9bd7db6346", + "savedPayload": { + "position": { + "x": 31573.043408932845, + "y": 31800.194840828808 + }, + "targetPosition": { + "x": 31510.669901687517, + "y": 31506.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeExecution": { + "type": "Close Execution", + "name": "New Close Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [], + "marketSellOrders": [ + { + "type": "Market Sell Order", + "name": "New Market Sell Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "c84d6b5e-21d5-4a57-9bb7-7537e793ae2a", + "savedPayload": { + "position": { + "x": 30471.019165507932, + "y": 33250.23592588583 + }, + "targetPosition": { + "x": 30563.724263820415, + "y": 32964.91897099728 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "b4e15ecf-09a0-4dff-86b0-d12bfc6abbe4", + "savedPayload": { + "position": { + "x": 30563.724263820415, + "y": 32964.91897099728 + }, + "targetPosition": { + "x": 30656.429362132898, + "y": 32679.602016108733 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "6da495d1-72be-476b-916c-b1eb7609ca74", + "savedPayload": { + "position": { + "x": 30656.429362132898, + "y": 32679.602016108733 + }, + "targetPosition": { + "x": 30749.13446044538, + "y": 32394.285061220187 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "48094bec-a7e5-4c1c-84f5-3205c47b36cc", + "savedPayload": { + "position": { + "x": 30749.13446044538, + "y": 32394.285061220187 + }, + "targetPosition": { + "x": 30841.839558757863, + "y": 32108.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{\n \"fillProbability\": 1\n}", + "project": "Foundations", + "id": "6b336e57-9484-45be-bc7b-ef0dce916333", + "savedPayload": { + "position": { + "x": 30385.003568033215, + "y": 32422.942783960596 + }, + "targetPosition": { + "x": 30548.395278537722, + "y": 32171.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "42ffc6fd-dd61-4b7b-be41-97cc906dd134", + "savedPayload": { + "position": { + "x": 29961.50671809744, + "y": 32296.088628067624 + }, + "targetPosition": { + "x": 30254.95099831758, + "y": 32233.715120822297 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "12165ead-c200-4ece-8775-7daaacb44082", + "savedPayload": { + "position": { + "x": 30254.95099831758, + "y": 32233.715120822297 + }, + "targetPosition": { + "x": 30548.395278537722, + "y": 32171.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{\n \"percentage\": 0.1\n}", + "project": "Foundations", + "id": "99f443e9-e43d-405b-87dc-6717030750b6", + "savedPayload": { + "position": { + "x": 30296.794108154096, + "y": 32007.949903072462 + }, + "targetPosition": { + "x": 30548.395278537722, + "y": 32171.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "23a45866-5839-4154-afa9-d3e7a90029e7", + "savedPayload": { + "position": { + "x": 30548.395278537722, + "y": 32171.34161357697 + }, + "targetPosition": { + "x": 30841.839558757863, + "y": 32108.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "18665a6c-b8fd-4702-a71a-711e10c27255", + "savedPayload": { + "position": { + "x": 30841.839558757863, + "y": 32108.968106331642 + }, + "targetPosition": { + "x": 31064.78300640108, + "y": 31908.228924423984 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Sell Order #1", + "id": "8e404329-d41f-41e0-ad5a-c84ee1fa2604" + } + } + } + ], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "321b1fc5-d79c-4673-bc53-3473492c7671", + "savedPayload": { + "position": { + "x": 31064.78300640108, + "y": 31908.228924423984 + }, + "targetPosition": { + "x": 31287.7264540443, + "y": 31707.489742516325 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "bc8eb3c4-6a94-4e61-a4bf-edd0e182e082", + "savedPayload": { + "position": { + "x": 31287.7264540443, + "y": 31707.489742516325 + }, + "targetPosition": { + "x": 31510.669901687517, + "y": 31506.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "1989a754-12c4-4a44-bb36-a418574620c0", + "savedPayload": { + "position": { + "x": 31080.381550886843, + "y": 30265.186586574317 + }, + "targetPosition": { + "x": 30853.237058906165, + "y": 30653.652003005223 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "188f4864-b388-4b2b-8c6f-1577797ad46d", + "savedPayload": { + "position": { + "x": 30853.237058906165, + "y": 30653.652003005223 + }, + "targetPosition": { + "x": 31034, + "y": 31065.75 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Portfolio Strategy", + "name": "24-hs", + "project": "Foundations", + "triggerStage": { + "type": "Trigger Stage", + "name": "New Trigger Stage", + "project": "Foundations", + "triggerOn": { + "type": "Trigger On Event", + "name": "New Trigger On Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Livetest Chart Comparison", + "code": "chart.at01hs.candle.close > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "isBestOption()\n\nfunction isBestOption() {\n\n const TIME_FRAME_LABEL = TS.projects.foundations.globals.timeFrames.marketTimeFramesArray().concat(TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray())\n \n for (k = 0; k < TIME_FRAME_LABEL.length; k++) {\n TIME_FRAME_LABEL[k] = 'at' + TIME_FRAME_LABEL[k][1].replace(/'|-/g,'')\n }\n\n const validNow = []\n validNow.length = 0\n\n myChart = \"at24hs\"\n\n for (i = 0; i < TIME_FRAME_LABEL.length; i++) {\n\n label = TIME_FRAME_LABEL[i]\n\n // prepareLivetest = chart.at24hs.livetest.begin\n // prepareLivetest = chart.at12hs.livetest.begin\n // prepareLivetest = chart.at08hs.livetest.begin\n // prepareLivetest = chart.at06hs.livetest.begin\n // prepareLivetest = chart.at04hs.livetest.begin\n // prepareLivetest = chart.at03hs.livetest.begin\n // prepareLivetest = chart.at02hs.livetest.begin\n // prepareLivetest = chart.at01hs.livetest.begin\n // prepareLivetest = chart.at45min.livetest.begin\n // prepareLivetest = chart.at40min.livetest.begin\n // prepareLivetest = chart.at30min.livetest.begin\n // prepareLivetest = chart.at20min.livetest.begin\n // prepareLivetest = chart.at15min.livetest.begin\n // prepareLivetest = chart.at10min.livetest.begin\n // prepareLivetest = chart.at05min.livetest.begin\n // prepareLivetest = chart.at04min.livetest.begin\n // prepareLivetest = chart.at03min.livetest.begin\n // prepareLivetest = chart.at02min.livetest.begin\n // prepareLivetest = chart.at01min.livetest.begin\n \n\n if (chart[label].livetest.positionBullish !== undefined && chart[label].livetest.positionTimestamp !== undefined) {\n if (chart[label].livetest.positionBullish === 1 && chart[label].livetest.positionTimestamp == chart.at01min.candle.end) {\n validNow.push(label)\n }\n }\n else { \n break \n }\n }\n if (validNow.length === 1) {\n if (validNow[0] === myChart) {\n return true\n }\n }\n else if (validNow.length > 1) { \n \n maxPPH = 9999\n bestChart = \"Not defined\"\n\n for (j = 0; j < validNow.length; j++) {\n\n label = validNow[j]\n\n if (chart[label].livetest.averageBullPerHour < maxPPH) {\n maxPPH = chart[label].livetest.averageBullPerHour\n bestChart = label\n }\n }\n if (bestChart == myChart) {\n return true\n }\n }\n else {\n return false\n }\n}\n", + "project": "Foundations", + "id": "ec70d6b3-5b15-4e6a-9677-00430a3d3653", + "savedPayload": { + "position": { + "x": 28863.66864270308, + "y": 30811.183743655653 + }, + "targetPosition": { + "x": 29300.7971254958, + "y": 30704.325475228103 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "9d5d9292-2e23-45a9-a58f-699cebd7b27a", + "savedPayload": { + "position": { + "x": 29300.7971254958, + "y": 30704.325475228103 + }, + "targetPosition": { + "x": 29737.92560828852, + "y": 30597.467206800553 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "78453e77-4059-469e-8485-6ce0367717d0", + "savedPayload": { + "position": { + "x": 29737.92560828852, + "y": 30597.467206800553 + }, + "targetPosition": { + "x": 30175.054091081238, + "y": 30490.608938373003 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "7e7fc72c-d56c-4d2c-9016-bd2359466314", + "savedPayload": { + "position": { + "x": 30175.054091081238, + "y": 30490.608938373003 + }, + "targetPosition": { + "x": 30612.182573873957, + "y": 30383.750669945453 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "triggerOff": { + "type": "Trigger Off Event", + "name": "New Trigger Off Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "false", + "project": "Foundations", + "id": "6f53ded2-9501-4cb2-9ab3-fcab34894e52", + "savedPayload": { + "position": { + "x": 29073.555691219983, + "y": 29449.605437139267 + }, + "targetPosition": { + "x": 29458.212411883476, + "y": 29683.141745340814 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "e7c07719-212d-47ea-ab5c-85f2a5222f98", + "savedPayload": { + "position": { + "x": 29458.212411883476, + "y": 29683.141745340814 + }, + "targetPosition": { + "x": 29842.86913254697, + "y": 29916.67805354236 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "e1b6c36a-4b93-41a7-833e-c26a1afe462c", + "savedPayload": { + "position": { + "x": 29842.86913254697, + "y": 29916.67805354236 + }, + "targetPosition": { + "x": 30227.525853210464, + "y": 30150.214361743907 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "abb973d0-d521-42e9-a276-c4fd3ae98a5e", + "savedPayload": { + "position": { + "x": 30227.525853210464, + "y": 30150.214361743907 + }, + "targetPosition": { + "x": 30612.182573873957, + "y": 30383.750669945453 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "takePosition": { + "type": "Take Position Event", + "name": "New Take Position Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "adaea146-d898-4ed1-8cee-cd6d7431797d", + "savedPayload": { + "position": { + "x": 30184.749500163758, + "y": 28635.236738774576 + }, + "targetPosition": { + "x": 30291.607768591308, + "y": 29072.365221567296 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "add6e999-eee7-40c4-91f1-982adfebf0a6", + "savedPayload": { + "position": { + "x": 30291.607768591308, + "y": 29072.365221567296 + }, + "targetPosition": { + "x": 30398.466037018858, + "y": 29509.493704360015 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "ee1aed67-a6a1-4d76-8e37-1a145ecbb5ab", + "savedPayload": { + "position": { + "x": 30398.466037018858, + "y": 29509.493704360015 + }, + "targetPosition": { + "x": 30505.324305446407, + "y": 29946.622187152734 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "61890214-e2a9-4946-a996-b45efe94d7e6", + "savedPayload": { + "position": { + "x": 30505.324305446407, + "y": 29946.622187152734 + }, + "targetPosition": { + "x": 30612.182573873957, + "y": 30383.750669945453 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "3b77d775-0b3c-4ab8-9c54-be606a7a6cb2", + "savedPayload": { + "position": { + "x": 30612.182573873957, + "y": 30383.750669945453 + }, + "targetPosition": { + "x": 30996.83929453745, + "y": 30617.286978147 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openStage": { + "type": "Open Stage", + "name": "New Open Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "d2329ff3-ed44-49ff-bc57-9fa331e81c1d", + "savedPayload": { + "position": { + "x": 31845.384013274626, + "y": 30211.321255518636 + }, + "targetPosition": { + "x": 31876.742552254924, + "y": 30509.677824129118 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "205c7030-e762-4383-b725-601a3e6a0c64", + "savedPayload": { + "position": { + "x": 31876.742552254924, + "y": 30509.677824129118 + }, + "targetPosition": { + "x": 31908.10109123522, + "y": 30808.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInQuotedAsset": { + "type": "Target Size In Quoted Asset", + "name": "New Target Size In Quoted Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value", + "project": "Foundations", + "id": "c8d58775-6d82-474e-8534-5a86e500a377", + "savedPayload": { + "position": { + "x": 32393.511287860187, + "y": 30455.363241364113 + }, + "targetPosition": { + "x": 32150.806189547704, + "y": 30631.698817051856 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "4c95426e-165b-4af1-b5d2-890c7242e9fb", + "savedPayload": { + "position": { + "x": 32150.806189547704, + "y": 30631.698817051856 + }, + "targetPosition": { + "x": 31908.10109123522, + "y": 30808.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "da8b001f-920b-4bc4-85a7-fa788b31bc9b", + "savedPayload": { + "position": { + "x": 31908.10109123522, + "y": 30808.0343927396 + }, + "targetPosition": { + "x": 31786.080098312483, + "y": 31082.09803003238 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openExecution": { + "type": "Open Execution", + "name": "New Open Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [ + { + "type": "Market Buy Order", + "name": "New Market Buy Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "f27217e9-88f0-4483-875e-8278c30077d7", + "savedPayload": { + "position": { + "x": 33651.970197393865, + "y": 30282.680110340516 + }, + "targetPosition": { + "x": 33409.26509908138, + "y": 30459.01568602826 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "ead6ff8b-8668-4ea0-a37a-b462f1e3535f", + "savedPayload": { + "position": { + "x": 33409.26509908138, + "y": 30459.01568602826 + }, + "targetPosition": { + "x": 33166.56000076889, + "y": 30635.351261716 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "9b0712e5-e03b-4bd6-8248-f464e405b06e", + "savedPayload": { + "position": { + "x": 33166.56000076889, + "y": 30635.351261716 + }, + "targetPosition": { + "x": 32923.85490245641, + "y": 30811.686837403744 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "84eac536-3f69-4bae-9b85-b815ce64a224", + "savedPayload": { + "position": { + "x": 32923.85490245641, + "y": 30811.686837403744 + }, + "targetPosition": { + "x": 32681.149804143926, + "y": 30988.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{ \n\"fillProbability\": 1\n}", + "project": "Foundations", + "id": "db2eff0d-0f24-4f0a-a016-9ce82df5eac2", + "savedPayload": { + "position": { + "x": 33235.287569385866, + "y": 31002.533021150633 + }, + "targetPosition": { + "x": 32955.2134414367, + "y": 31110.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "738f615b-4fac-4122-bcde-0277edf5a368", + "savedPayload": { + "position": { + "x": 33503.34071602227, + "y": 31354.085391859702 + }, + "targetPosition": { + "x": 33229.27707872949, + "y": 31232.064398936964 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "f73af7dc-4eea-4fe0-9e98-16f90237ebd3", + "savedPayload": { + "position": { + "x": 33229.27707872949, + "y": 31232.064398936964 + }, + "targetPosition": { + "x": 32955.2134414367, + "y": 31110.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{ \n\"percentage\": 0.1\n}", + "project": "Foundations", + "id": "be643319-ac6b-4db1-9542-758649031c97", + "savedPayload": { + "position": { + "x": 33062.723826300295, + "y": 31390.117533963385 + }, + "targetPosition": { + "x": 32955.2134414367, + "y": 31110.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "e1061dfe-345a-4e8c-ad6b-b67fd8a83344", + "savedPayload": { + "position": { + "x": 32955.2134414367, + "y": 31110.043406014225 + }, + "targetPosition": { + "x": 32681.149804143926, + "y": 30988.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "d03d253a-c90c-4e7c-ba2c-033923a8be0f", + "savedPayload": { + "position": { + "x": 32681.149804143926, + "y": 30988.022413091487 + }, + "targetPosition": { + "x": 32382.793235533445, + "y": 31019.380952071784 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Buy Order #1", + "id": "7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3" + } + } + } + ], + "marketSellOrders": [], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "3df2841f-0522-4d47-b0b0-8afc2c22bd21", + "savedPayload": { + "position": { + "x": 32382.793235533445, + "y": 31019.380952071784 + }, + "targetPosition": { + "x": 32084.436666922964, + "y": 31050.73949105208 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "19811f60-5730-4c6a-ae09-987e484f7574", + "savedPayload": { + "position": { + "x": 32084.436666922964, + "y": 31050.73949105208 + }, + "targetPosition": { + "x": 31786.080098312483, + "y": 31082.09803003238 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "a577541f-faf3-4a25-a92b-ae49ae0e447b", + "savedPayload": { + "position": { + "x": 30822.914668355847, + "y": 30202.256588407177 + }, + "targetPosition": { + "x": 30996.83929453745, + "y": 30617.286978147 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "manageStage": { + "type": "Manage Stage", + "name": "New Manage Stage", + "project": "Foundations", + "managedStopLoss": { + "type": "Managed Stop Loss", + "name": "New Managed Stop Loss", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 - chart.at24hs.livetest.averageTradeDown) / 100 )", + "project": "Foundations", + "id": "e5643a15-981f-4866-881a-4e62a9aeb01b", + "savedPayload": { + "position": { + "x": 30402.90436973195, + "y": 29214.175477887067 + }, + "targetPosition": { + "x": 30840.901338493553, + "y": 29317.416241908104 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "name": "New Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "code": "chart.at15min.livetest.averageTradeDown > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01min.candle.close > ( portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.005 )", + "project": "Foundations", + "id": "61e0c651-8299-4be6-b089-05a42aa6ad9d", + "savedPayload": { + "position": { + "x": 32074.531773410097, + "y": 28006.63176303768 + }, + "targetPosition": { + "x": 31766.12416468096, + "y": 28334.327882755286 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "9c2764da-870f-435c-a6d8-8371381da85e", + "savedPayload": { + "position": { + "x": 31766.12416468096, + "y": 28334.327882755286 + }, + "targetPosition": { + "x": 31457.716555951825, + "y": 28662.024002472892 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "6d13dd19-5dfd-419c-8a90-7c43465b9770", + "savedPayload": { + "position": { + "x": 31457.716555951825, + "y": 28662.024002472892 + }, + "targetPosition": { + "x": 31149.30894722269, + "y": 28989.720122190498 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "2c6b9522-358e-4735-9799-c576ae1d6e33", + "savedPayload": { + "position": { + "x": 31149.30894722269, + "y": 28989.720122190498 + }, + "targetPosition": { + "x": 30840.901338493553, + "y": 29317.416241908104 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "816d9f2f-8372-4b42-8c41-2192cd2eb4ed", + "savedPayload": { + "position": { + "x": 30840.901338493553, + "y": 29317.416241908104 + }, + "targetPosition": { + "x": 30970.49069852602, + "y": 29748.35312564675 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "if ( ( portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995 ) > portfolioEngine.portfolioCurrent.position.stopLoss.value ) {\nportfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995\n}\nelse { portfolioEngine.portfolioCurrent.position.stopLoss.value }", + "project": "Foundations", + "id": "309fddc5-0b1c-40e7-811a-f722e53fd46c", + "savedPayload": { + "position": { + "x": 30581.72261842862, + "y": 28455.54247443081 + }, + "targetPosition": { + "x": 30711.311978461086, + "y": 28886.479358169458 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "d266ce7e-1de8-4727-877a-161bd1d811aa", + "savedPayload": { + "position": { + "x": 30711.311978461086, + "y": 28886.479358169458 + }, + "targetPosition": { + "x": 30840.901338493553, + "y": 29317.416241908104 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "695ff5b2-888f-4b7a-8b54-d997f290e5f3", + "savedPayload": { + "position": { + "x": 30970.49069852602, + "y": 29748.35312564675 + }, + "targetPosition": { + "x": 31100.080058558488, + "y": 30179.290009385397 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "managedTakeProfit": { + "type": "Managed Take Profit", + "name": "New Managed Take Profit", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 + ( chart.at24hs.livetest.averageTradeUp ) ) / 100 )", + "project": "Foundations", + "id": "402caab2-de31-4801-a7c3-0e1c63ec6ce0", + "savedPayload": { + "position": { + "x": 32025.302884745895, + "y": 29196.20165023258 + }, + "targetPosition": { + "x": 31716.89527601676, + "y": 29523.897769950185 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "558368a7-c270-4764-90b8-61f437031130", + "savedPayload": { + "position": { + "x": 31716.89527601676, + "y": 29523.897769950185 + }, + "targetPosition": { + "x": 31408.487667287623, + "y": 29851.59388966779 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "f0bb35c9-cee2-4938-88e6-f539af9f7079", + "savedPayload": { + "position": { + "x": 31408.487667287623, + "y": 29851.59388966779 + }, + "targetPosition": { + "x": 31100.080058558488, + "y": 30179.290009385397 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "5bb806a2-ce1e-48b1-8a59-d91149267c57", + "savedPayload": { + "position": { + "x": 31100.080058558488, + "y": 30179.290009385397 + }, + "targetPosition": { + "x": 30996.83929453745, + "y": 30617.286978147 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeStage": { + "type": "Close Stage", + "name": "New Close Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "targetRate()\n\nfunction targetRate() {\n switch (portfolioEngine.portfolioCurrent.position.exitType.value) {\n case 'No Exit': {\n return portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value\n break\n }\n case 'Take Profit': {\n return portfolioEngine.portfolioCurrent.position.takeProfit.finalValue.value\n break\n }\n case 'Stop Loss': {\n return portfolioEngine.portfolioCurrent.position.stopLoss.finalValue.value\n break\n }\n }\n}", + "project": "Foundations", + "id": "a402fc82-211d-49df-a7e8-79a6aabe0176", + "savedPayload": { + "position": { + "x": 31914.52177274816, + "y": 32283.081736115244 + }, + "targetPosition": { + "x": 31713.782590840503, + "y": 32060.138288472026 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "aa5cb5c0-21cd-47b7-9aff-94502b96496d", + "savedPayload": { + "position": { + "x": 31713.782590840503, + "y": 32060.138288472026 + }, + "targetPosition": { + "x": 31513.043408932845, + "y": 31837.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInBaseAsset": { + "type": "Target Size In Base Asset", + "name": "New Target Size In Base Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value", + "project": "Foundations", + "id": "e7324fdd-2bfd-4cae-99d9-44990455cf9b", + "savedPayload": { + "position": { + "x": 31327.63321230788, + "y": 32407.8287506059 + }, + "targetPosition": { + "x": 31420.338310620362, + "y": 32122.511795717353 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "2b25e3c9-6280-4bbf-8285-54c43246d5d8", + "savedPayload": { + "position": { + "x": 31420.338310620362, + "y": 32122.511795717353 + }, + "targetPosition": { + "x": 31513.043408932845, + "y": 31837.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "5d1f5eab-fbf1-4770-9a92-c861eb38a9ed", + "savedPayload": { + "position": { + "x": 31513.043408932845, + "y": 31837.194840828808 + }, + "targetPosition": { + "x": 31450.669901687517, + "y": 31543.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeExecution": { + "type": "Close Execution", + "name": "New Close Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [], + "marketSellOrders": [ + { + "type": "Market Sell Order", + "name": "New Market Sell Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "00a9b25c-5981-4f0b-848a-55bae79bfbfa", + "savedPayload": { + "position": { + "x": 30411.019165507932, + "y": 33287.23592588583 + }, + "targetPosition": { + "x": 30503.724263820415, + "y": 33001.91897099728 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "c465bc76-05c3-4c49-9ebb-a1c6f52e33ce", + "savedPayload": { + "position": { + "x": 30503.724263820415, + "y": 33001.91897099728 + }, + "targetPosition": { + "x": 30596.429362132898, + "y": 32716.602016108733 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "ac7ae370-2888-4efa-b4c1-1668791410c1", + "savedPayload": { + "position": { + "x": 30596.429362132898, + "y": 32716.602016108733 + }, + "targetPosition": { + "x": 30689.13446044538, + "y": 32431.285061220187 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "10f40ec9-1336-44c1-aef6-7cb434289c7d", + "savedPayload": { + "position": { + "x": 30689.13446044538, + "y": 32431.285061220187 + }, + "targetPosition": { + "x": 30781.839558757863, + "y": 32145.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{\n \"fillProbability\": 1\n}", + "project": "Foundations", + "id": "7d4ac0e9-22ca-4a08-8bde-7a08edeadbc8", + "savedPayload": { + "position": { + "x": 30325.003568033215, + "y": 32459.942783960596 + }, + "targetPosition": { + "x": 30488.395278537722, + "y": 32208.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "7234a7fb-1627-4c45-bc22-4fb300cc52a5", + "savedPayload": { + "position": { + "x": 29901.50671809744, + "y": 32333.088628067624 + }, + "targetPosition": { + "x": 30194.95099831758, + "y": 32270.715120822297 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "e4c1cb8f-c76d-4497-b317-c6fc8f9f63f6", + "savedPayload": { + "position": { + "x": 30194.95099831758, + "y": 32270.715120822297 + }, + "targetPosition": { + "x": 30488.395278537722, + "y": 32208.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{\n \"percentage\": 0.1\n}", + "project": "Foundations", + "id": "7f6e9ee2-2e2c-4ef9-bf5b-4d0ec2d687ab", + "savedPayload": { + "position": { + "x": 30236.794108154096, + "y": 32044.949903072462 + }, + "targetPosition": { + "x": 30488.395278537722, + "y": 32208.34161357697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "e5ffe1f7-c967-4d91-8f5a-6beb81c20840", + "savedPayload": { + "position": { + "x": 30488.395278537722, + "y": 32208.34161357697 + }, + "targetPosition": { + "x": 30781.839558757863, + "y": 32145.968106331642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "79251d12-6958-4c1c-9312-a2769f8711d7", + "savedPayload": { + "position": { + "x": 30781.839558757863, + "y": 32145.968106331642 + }, + "targetPosition": { + "x": 31004.78300640108, + "y": 31945.228924423984 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Sell Order #1", + "id": "8e404329-d41f-41e0-ad5a-c84ee1fa2604" + } + } + } + ], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "c7ba5cb3-c67d-4583-ad97-6e09163679d2", + "savedPayload": { + "position": { + "x": 31004.78300640108, + "y": 31945.228924423984 + }, + "targetPosition": { + "x": 31227.7264540443, + "y": 31744.489742516325 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "488fc4ac-4a83-46d1-acd8-be6bea38ac2d", + "savedPayload": { + "position": { + "x": 31227.7264540443, + "y": 31744.489742516325 + }, + "targetPosition": { + "x": 31450.669901687517, + "y": 31543.750560608667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "3a126b54-4615-4cce-822a-0258d1a6ca40", + "savedPayload": { + "position": { + "x": 31337.810985929602, + "y": 30323.623385461124 + }, + "targetPosition": { + "x": 30996.83929453745, + "y": 30617.286978147 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "ab8cee34-80ba-471f-914e-eb839e5164fe", + "savedPayload": { + "position": { + "x": 30996.83929453745, + "y": 30617.286978147 + }, + "targetPosition": { + "x": 31034, + "y": 31065.75 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Portfolio Strategy", + "name": "01-min", + "project": "Foundations", + "triggerStage": { + "type": "Trigger Stage", + "name": "New Trigger Stage", + "project": "Foundations", + "triggerOn": { + "type": "Trigger On Event", + "name": "New Trigger On Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Livetest Chart Comparison", + "code": "chart.at01hs.candle.close > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "isBestOption()\n\nfunction isBestOption() {\n\n const TIME_FRAME_LABEL = TS.projects.foundations.globals.timeFrames.marketTimeFramesArray().concat(TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray())\n \n for (k = 0; k < TIME_FRAME_LABEL.length; k++) {\n TIME_FRAME_LABEL[k] = 'at' + TIME_FRAME_LABEL[k][1].replace(/'|-/g,'')\n }\n\n const validNow = []\n validNow.length = 0\n\n myChart = \"at01min\"\n\n for (i = 0; i < TIME_FRAME_LABEL.length; i++) {\n\n label = TIME_FRAME_LABEL[i]\n\n // prepareLivetest = chart.at24hs.livetest.begin\n // prepareLivetest = chart.at12hs.livetest.begin\n // prepareLivetest = chart.at08hs.livetest.begin\n // prepareLivetest = chart.at06hs.livetest.begin\n // prepareLivetest = chart.at04hs.livetest.begin\n // prepareLivetest = chart.at03hs.livetest.begin\n // prepareLivetest = chart.at02hs.livetest.begin\n // prepareLivetest = chart.at01hs.livetest.begin\n // prepareLivetest = chart.at45min.livetest.begin\n // prepareLivetest = chart.at40min.livetest.begin\n // prepareLivetest = chart.at30min.livetest.begin\n // prepareLivetest = chart.at20min.livetest.begin\n // prepareLivetest = chart.at15min.livetest.begin\n // prepareLivetest = chart.at10min.livetest.begin\n // prepareLivetest = chart.at05min.livetest.begin\n // prepareLivetest = chart.at04min.livetest.begin\n // prepareLivetest = chart.at03min.livetest.begin\n // prepareLivetest = chart.at02min.livetest.begin\n // prepareLivetest = chart.at01min.livetest.begin\n \n\n if (chart[label].livetest.positionBullish !== undefined && chart[label].livetest.positionTimestamp !== undefined) {\n if (chart[label].livetest.positionBullish === 1 && chart[label].livetest.positionTimestamp == chart.at01min.candle.end) {\n validNow.push(label)\n }\n }\n else { \n break \n }\n }\n if (validNow.length === 1) {\n if (validNow[0] === myChart) {\n return true\n }\n }\n else if (validNow.length > 1) { \n \n maxPPH = 9999\n bestChart = \"Not defined\"\n\n for (j = 0; j < validNow.length; j++) {\n\n label = validNow[j]\n\n if (chart[label].livetest.averageBullPerHour < maxPPH) {\n maxPPH = chart[label].livetest.averageBullPerHour\n bestChart = label\n }\n }\n if (bestChart == myChart) {\n return true\n }\n }\n else {\n return false\n }\n}\n", + "project": "Foundations", + "id": "7d797fbe-6827-4a3b-8023-154983980188", + "savedPayload": { + "position": { + "x": 29063.920710377464, + "y": 30120.271405881744 + }, + "targetPosition": { + "x": 29512.061189279815, + "y": 30161.138399521737 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "004fe2bd-3d49-4439-b969-bfd7d8cc1245", + "savedPayload": { + "position": { + "x": 29512.061189279815, + "y": 30161.138399521737 + }, + "targetPosition": { + "x": 29960.201668182166, + "y": 30202.00539316173 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "2328019f-a84e-4b5f-9ef5-e8dd73d27c52", + "savedPayload": { + "position": { + "x": 29960.201668182166, + "y": 30202.00539316173 + }, + "targetPosition": { + "x": 30408.342147084517, + "y": 30242.872386801722 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "a5564543-6a3f-4fee-8934-f6a70a3d35f6", + "savedPayload": { + "position": { + "x": 30408.342147084517, + "y": 30242.872386801722 + }, + "targetPosition": { + "x": 30856.482625986868, + "y": 30283.739380441715 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "triggerOff": { + "type": "Trigger Off Event", + "name": "New Trigger Off Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "false", + "project": "Foundations", + "id": "13457fb3-d092-4611-b45b-494cd8ff6329", + "savedPayload": { + "position": { + "x": 29704.5392530809, + "y": 28900.61738089937 + }, + "targetPosition": { + "x": 29992.525096307392, + "y": 29246.397880784956 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "c3a74113-36a0-45b9-8eba-2c4f4af79e19", + "savedPayload": { + "position": { + "x": 29992.525096307392, + "y": 29246.397880784956 + }, + "targetPosition": { + "x": 30280.510939533884, + "y": 29592.178380670543 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "3f8a9e47-5018-46ca-adc9-9b3177a91637", + "savedPayload": { + "position": { + "x": 30280.510939533884, + "y": 29592.178380670543 + }, + "targetPosition": { + "x": 30568.496782760376, + "y": 29937.95888055613 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "a9f1d405-a11c-4912-a933-f5b0c11737c4", + "savedPayload": { + "position": { + "x": 30568.496782760376, + "y": 29937.95888055613 + }, + "targetPosition": { + "x": 30856.482625986868, + "y": 30283.739380441715 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "takePosition": { + "type": "Take Position Event", + "name": "New Take Position Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "8a73e207-83ea-41c6-b67d-6779bae99a69", + "savedPayload": { + "position": { + "x": 31019.95060054684, + "y": 28491.17746483231 + }, + "targetPosition": { + "x": 30979.083606906846, + "y": 28939.317943734663 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "46468ed3-c976-47e7-9668-0b89240081fd", + "savedPayload": { + "position": { + "x": 30979.083606906846, + "y": 28939.317943734663 + }, + "targetPosition": { + "x": 30938.216613266854, + "y": 29387.458422637013 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "9e955534-01a5-4bf6-b3af-d092c24dbdc8", + "savedPayload": { + "position": { + "x": 30938.216613266854, + "y": 29387.458422637013 + }, + "targetPosition": { + "x": 30897.34961962686, + "y": 29835.598901539364 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "e252da34-57ed-4b3c-aa43-af15de883f48", + "savedPayload": { + "position": { + "x": 30897.34961962686, + "y": 29835.598901539364 + }, + "targetPosition": { + "x": 30856.482625986868, + "y": 30283.739380441715 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "5bcb3112-89ef-4ede-b0cb-ec0fa593cfc5", + "savedPayload": { + "position": { + "x": 30856.482625986868, + "y": 30283.739380441715 + }, + "targetPosition": { + "x": 31144.46846921336, + "y": 30629.5198803273 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openStage": { + "type": "Open Stage", + "name": "New Open Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "1f1675e7-86bf-4dd6-a56a-5cddf0f78009", + "savedPayload": { + "position": { + "x": 30382.669244322642, + "y": 29961.257421697872 + }, + "targetPosition": { + "x": 30651.822416795625, + "y": 30093.758628287585 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "240614ba-5a15-4b06-ac2d-fe2d2561ba3b", + "savedPayload": { + "position": { + "x": 30651.822416795625, + "y": 30093.758628287585 + }, + "targetPosition": { + "x": 30920.975589268608, + "y": 30226.2598348773 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInQuotedAsset": { + "type": "Target Size In Quoted Asset", + "name": "New Target Size In Quoted Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value", + "project": "Foundations", + "id": "25fb62f8-5562-4099-899d-9646bd68e493", + "savedPayload": { + "position": { + "x": 30881.32123867319, + "y": 29627.571658546036 + }, + "targetPosition": { + "x": 30901.1484139709, + "y": 29926.915746711667 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "d0eb819a-902d-4afd-b54b-0e8a99182c0a", + "savedPayload": { + "position": { + "x": 30901.1484139709, + "y": 29926.915746711667 + }, + "targetPosition": { + "x": 30920.975589268608, + "y": 30226.2598348773 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "b95f635f-69ae-47ff-87c8-4425653a9753", + "savedPayload": { + "position": { + "x": 30920.975589268608, + "y": 30226.2598348773 + }, + "targetPosition": { + "x": 31087.81847084453, + "y": 30475.58583205257 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openExecution": { + "type": "Open Execution", + "name": "New Open Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [ + { + "type": "Market Buy Order", + "name": "New Market Buy Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "5d87aae2-6d0f-415e-abd4-d0568bdf8470", + "savedPayload": { + "position": { + "x": 33629.970197393865, + "y": 30326.680110340516 + }, + "targetPosition": { + "x": 33387.26509908138, + "y": 30503.01568602826 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "cde658f1-f02b-423b-be75-87969964e232", + "savedPayload": { + "position": { + "x": 33387.26509908138, + "y": 30503.01568602826 + }, + "targetPosition": { + "x": 33144.56000076889, + "y": 30679.351261716 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "1e59c33a-4ec7-48fe-ae00-72da8d9d917d", + "savedPayload": { + "position": { + "x": 33144.56000076889, + "y": 30679.351261716 + }, + "targetPosition": { + "x": 32901.85490245641, + "y": 30855.686837403744 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "336f0ed6-1c7f-4df3-9621-5f30fb998dd0", + "savedPayload": { + "position": { + "x": 32901.85490245641, + "y": 30855.686837403744 + }, + "targetPosition": { + "x": 32659.149804143926, + "y": 31032.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{ \n\"fillProbability\": 1\n}", + "project": "Foundations", + "id": "afa6cdf1-d4af-41c6-92b9-20b100870db4", + "savedPayload": { + "position": { + "x": 33213.287569385866, + "y": 31046.533021150633 + }, + "targetPosition": { + "x": 32933.2134414367, + "y": 31154.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "127a8477-c1f8-4be1-9555-682319214f97", + "savedPayload": { + "position": { + "x": 33481.34071602227, + "y": 31398.085391859702 + }, + "targetPosition": { + "x": 33207.27707872949, + "y": 31276.064398936964 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "0351db12-d1ed-4fde-9e42-a80cad83dc32", + "savedPayload": { + "position": { + "x": 33207.27707872949, + "y": 31276.064398936964 + }, + "targetPosition": { + "x": 32933.2134414367, + "y": 31154.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{ \n\"percentage\": 0.1\n}", + "project": "Foundations", + "id": "23a4927b-828f-4156-b0c6-18108b4f3544", + "savedPayload": { + "position": { + "x": 33040.723826300295, + "y": 31434.117533963385 + }, + "targetPosition": { + "x": 32933.2134414367, + "y": 31154.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "88244c18-ef83-45fd-a5e4-3f088bca0cf9", + "savedPayload": { + "position": { + "x": 32933.2134414367, + "y": 31154.043406014225 + }, + "targetPosition": { + "x": 32659.149804143926, + "y": 31032.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "323e6cbc-fa2c-48bf-b69c-c9200f5d7bd2", + "savedPayload": { + "position": { + "x": 32659.149804143926, + "y": 31032.022413091487 + }, + "targetPosition": { + "x": 32360.793235533445, + "y": 31063.380952071784 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Buy Order #1", + "id": "7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3" + } + } + } + ], + "marketSellOrders": [], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "4c06a069-9dd1-48c6-8fd6-cdf099d40382", + "savedPayload": { + "position": { + "x": 32360.793235533445, + "y": 31063.380952071784 + }, + "targetPosition": { + "x": 32062.436666922964, + "y": 31094.73949105208 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "980ee78e-f844-4c54-8d7e-43b0b3d0cbd6", + "savedPayload": { + "position": { + "x": 31220.319677434243, + "y": 30206.432659579586 + }, + "targetPosition": { + "x": 31087.81847084453, + "y": 30475.58583205257 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "6e5adf06-6c11-4a58-af7a-810219710058", + "savedPayload": { + "position": { + "x": 31114.727706266796, + "y": 30180.503748078852 + }, + "targetPosition": { + "x": 31144.46846921336, + "y": 30629.5198803273 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "manageStage": { + "type": "Manage Stage", + "name": "New Manage Stage", + "project": "Foundations", + "managedStopLoss": { + "type": "Managed Stop Loss", + "name": "New Managed Stop Loss", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 - chart.at01min.livetest.averageTradeDown) / 100 )", + "project": "Foundations", + "id": "07259cbb-0967-4fc4-b541-187bef85a3bf", + "savedPayload": { + "position": { + "x": 31038.304136253533, + "y": 29109.58247652654 + }, + "targetPosition": { + "x": 31419.046999842954, + "y": 29349.446754454137 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "name": "New Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "code": "chart.at15min.livetest.averageTradeDown > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01min.candle.close > ( portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.005 )", + "project": "Foundations", + "id": "1ff828b2-73b3-4f45-bee7-88046a7133e4", + "savedPayload": { + "position": { + "x": 33011.44695960463, + "y": 28510.24334159704 + }, + "targetPosition": { + "x": 32613.346969664213, + "y": 28720.044194811315 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "700dc01c-13c5-4876-aab4-29facb7f6531", + "savedPayload": { + "position": { + "x": 32613.346969664213, + "y": 28720.044194811315 + }, + "targetPosition": { + "x": 32215.246979723794, + "y": 28929.84504802559 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "80081969-b16b-42f4-b1ab-7df85157f3fe", + "savedPayload": { + "position": { + "x": 32215.246979723794, + "y": 28929.84504802559 + }, + "targetPosition": { + "x": 31817.146989783374, + "y": 29139.645901239863 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "14d150ff-7cce-4ef4-8f8f-bdd8ee1bc84b", + "savedPayload": { + "position": { + "x": 31817.146989783374, + "y": 29139.645901239863 + }, + "targetPosition": { + "x": 31419.046999842954, + "y": 29349.446754454137 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "165388f4-a761-4511-a19e-934ebd57d801", + "savedPayload": { + "position": { + "x": 31419.046999842954, + "y": 29349.446754454137 + }, + "targetPosition": { + "x": 31401.689873491956, + "y": 29799.11188559601 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "if ( ( portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995 ) > portfolioEngine.portfolioCurrent.position.stopLoss.value ) {\nportfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995\n}\nelse { portfolioEngine.portfolioCurrent.position.stopLoss.value }", + "project": "Foundations", + "id": "48e3932e-be33-47c9-9b66-0fac07c9cd8a", + "savedPayload": { + "position": { + "x": 31453.76125254495, + "y": 28450.116492170393 + }, + "targetPosition": { + "x": 31436.404126193953, + "y": 28899.781623312265 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "949514c0-4807-4ee8-bd5b-db241f05bffe", + "savedPayload": { + "position": { + "x": 31436.404126193953, + "y": 28899.781623312265 + }, + "targetPosition": { + "x": 31419.046999842954, + "y": 29349.446754454137 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "3798b35a-a641-4bfd-afd4-6680ee768630", + "savedPayload": { + "position": { + "x": 31401.689873491956, + "y": 29799.11188559601 + }, + "targetPosition": { + "x": 31384.332747140958, + "y": 30248.77701673788 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "managedTakeProfit": { + "type": "Managed Take Profit", + "name": "New Managed Take Profit", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 + ( chart.at01min.livetest.averageTradeUp ) ) / 100 )", + "project": "Foundations", + "id": "166f04bc-3628-41a9-9c24-90f0503ae82f", + "savedPayload": { + "position": { + "x": 32578.632716962216, + "y": 29619.37445709506 + }, + "targetPosition": { + "x": 32180.532727021797, + "y": 29829.175310309332 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "665959f8-2679-4cfa-8aa8-22ff73a8dfba", + "savedPayload": { + "position": { + "x": 32180.532727021797, + "y": 29829.175310309332 + }, + "targetPosition": { + "x": 31782.432737081377, + "y": 30038.976163523606 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "99d6cf42-33ab-4e60-8cbe-836b5df41f87", + "savedPayload": { + "position": { + "x": 31782.432737081377, + "y": 30038.976163523606 + }, + "targetPosition": { + "x": 31384.332747140958, + "y": 30248.77701673788 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "3816cc7d-83e6-4447-8acf-793ab965881c", + "savedPayload": { + "position": { + "x": 31384.332747140958, + "y": 30248.77701673788 + }, + "targetPosition": { + "x": 31144.46846921336, + "y": 30629.5198803273 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeStage": { + "type": "Close Stage", + "name": "New Close Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "targetRate()\n\nfunction targetRate() {\n switch (portfolioEngine.portfolioCurrent.position.exitType.value) {\n case 'No Exit': {\n return portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value\n break\n }\n case 'Take Profit': {\n return portfolioEngine.portfolioCurrent.position.takeProfit.finalValue.value\n break\n }\n case 'Stop Loss': {\n return portfolioEngine.portfolioCurrent.position.stopLoss.finalValue.value\n break\n }\n }\n}", + "project": "Foundations", + "id": "254711c6-921b-4a77-96c4-e1607ae4001c", + "savedPayload": { + "position": { + "x": 31892.52177274816, + "y": 32327.081736115244 + }, + "targetPosition": { + "x": 31691.782590840503, + "y": 32104.138288472026 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "824dad04-3f21-463b-9bbb-2f671f035266", + "savedPayload": { + "position": { + "x": 31691.782590840503, + "y": 32104.138288472026 + }, + "targetPosition": { + "x": 31491.043408932845, + "y": 31881.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInBaseAsset": { + "type": "Target Size In Base Asset", + "name": "New Target Size In Base Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value", + "project": "Foundations", + "id": "d49b6bc1-fe4c-4d3c-9cea-74b23b1d9f7a", + "savedPayload": { + "position": { + "x": 31305.63321230788, + "y": 32451.8287506059 + }, + "targetPosition": { + "x": 31398.338310620362, + "y": 32166.511795717353 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "a9393c90-9357-4ef3-9e7d-3423a41eb575", + "savedPayload": { + "position": { + "x": 31398.338310620362, + "y": 32166.511795717353 + }, + "targetPosition": { + "x": 31491.043408932845, + "y": 31881.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "e2251ac7-6456-479f-a6a9-948c3a35e798", + "savedPayload": { + "position": { + "x": 31571.777686187033, + "y": 30427.847765555856 + }, + "targetPosition": { + "x": 31386.21185768915, + "y": 30663.570745542736 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeExecution": { + "type": "Close Execution", + "name": "New Close Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [], + "marketSellOrders": [ + { + "type": "Market Sell Order", + "name": "New Market Sell Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "c9135f11-dd99-4ebd-ad8e-38db13d0ae59", + "savedPayload": { + "position": { + "x": 33391.25171339684, + "y": 30346.663741520977 + }, + "targetPosition": { + "x": 33112.685501849934, + "y": 30458.02291619644 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "ee33a924-ed59-43ac-a9cd-c6bdf8fd7be7", + "savedPayload": { + "position": { + "x": 33112.685501849934, + "y": 30458.02291619644 + }, + "targetPosition": { + "x": 32834.119290303024, + "y": 30569.382090871906 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "6f791e9f-c369-44e6-b74b-4b86626cf108", + "savedPayload": { + "position": { + "x": 32834.119290303024, + "y": 30569.382090871906 + }, + "targetPosition": { + "x": 32555.553078756115, + "y": 30680.74126554737 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "f5e21309-e1f8-46ee-9924-4dbc717451ca", + "savedPayload": { + "position": { + "x": 32555.553078756115, + "y": 30680.74126554737 + }, + "targetPosition": { + "x": 32276.9868672092, + "y": 30792.100440222835 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{\n \"fillProbability\": 1\n}", + "project": "Foundations", + "id": "d7336b4f-3d81-4fe1-a9ff-62942ee7c7d8", + "savedPayload": { + "position": { + "x": 32810.60602051366, + "y": 30942.199806777848 + }, + "targetPosition": { + "x": 32512.70984719608, + "y": 30977.666268720717 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "8663d5b5-96b8-4d0d-bc79-660db5c7e766", + "savedPayload": { + "position": { + "x": 32984.15580716984, + "y": 31348.79792571648 + }, + "targetPosition": { + "x": 32748.43282718296, + "y": 31163.2320972186 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "7b5aeb69-3ad8-48ed-bc38-49f77b4e4b81", + "savedPayload": { + "position": { + "x": 32748.43282718296, + "y": 31163.2320972186 + }, + "targetPosition": { + "x": 32512.70984719608, + "y": 30977.666268720717 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{\n \"percentage\": 0.1\n}", + "project": "Foundations", + "id": "a6ef5897-a686-4350-b9f5-1486e51cc078", + "savedPayload": { + "position": { + "x": 32548.17630913895, + "y": 31275.562442038292 + }, + "targetPosition": { + "x": 32512.70984719608, + "y": 30977.666268720717 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "ec448ea4-3090-4244-a71e-43886995d85b", + "savedPayload": { + "position": { + "x": 32512.70984719608, + "y": 30977.666268720717 + }, + "targetPosition": { + "x": 32276.9868672092, + "y": 30792.100440222835 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "769d1906-ac75-44a0-8b58-8d28de66d4a2", + "savedPayload": { + "position": { + "x": 32276.9868672092, + "y": 30792.100440222835 + }, + "targetPosition": { + "x": 31980.06186403585, + "y": 30749.257208662802 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Sell Order #1", + "id": "8e404329-d41f-41e0-ad5a-c84ee1fa2604" + } + } + } + ], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "edb61b38-f32e-4e25-b5e9-79d09443b623", + "savedPayload": { + "position": { + "x": 31980.06186403585, + "y": 30749.257208662802 + }, + "targetPosition": { + "x": 31683.1368608625, + "y": 30706.41397710277 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "b19a134c-9f97-4548-b54b-f28032fe54c8", + "savedPayload": { + "position": { + "x": 31683.1368608625, + "y": 30706.41397710277 + }, + "targetPosition": { + "x": 31386.21185768915, + "y": 30663.570745542736 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "36a6c8a9-7a0b-4dba-92f3-520388024e62", + "savedPayload": { + "position": { + "x": 31562.317786533727, + "y": 30462.481118314103 + }, + "targetPosition": { + "x": 31144.46846921336, + "y": 30629.5198803273 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "57a5e03f-78e3-411a-be29-03ca2d2a5465", + "savedPayload": { + "position": { + "x": 31144.46846921336, + "y": 30629.5198803273 + }, + "targetPosition": { + "x": 31034, + "y": 31065.75 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Portfolio Strategy", + "name": "02-min", + "project": "Foundations", + "triggerStage": { + "type": "Trigger Stage", + "name": "New Trigger Stage", + "project": "Foundations", + "triggerOn": { + "type": "Trigger On Event", + "name": "New Trigger On Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Livetest Chart Comparison", + "code": "chart.at01hs.candle.close > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "isBestOption()\n\nfunction isBestOption() {\n\n const TIME_FRAME_LABEL = TS.projects.foundations.globals.timeFrames.marketTimeFramesArray().concat(TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray())\n \n for (k = 0; k < TIME_FRAME_LABEL.length; k++) {\n TIME_FRAME_LABEL[k] = 'at' + TIME_FRAME_LABEL[k][1].replace(/'|-/g,'')\n }\n\n const validNow = []\n validNow.length = 0\n\n myChart = \"at02min\"\n\n for (i = 0; i < TIME_FRAME_LABEL.length; i++) {\n\n label = TIME_FRAME_LABEL[i]\n\n // prepareLivetest = chart.at24hs.livetest.begin\n // prepareLivetest = chart.at12hs.livetest.begin\n // prepareLivetest = chart.at08hs.livetest.begin\n // prepareLivetest = chart.at06hs.livetest.begin\n // prepareLivetest = chart.at04hs.livetest.begin\n // prepareLivetest = chart.at03hs.livetest.begin\n // prepareLivetest = chart.at02hs.livetest.begin\n // prepareLivetest = chart.at01hs.livetest.begin\n // prepareLivetest = chart.at45min.livetest.begin\n // prepareLivetest = chart.at40min.livetest.begin\n // prepareLivetest = chart.at30min.livetest.begin\n // prepareLivetest = chart.at20min.livetest.begin\n // prepareLivetest = chart.at15min.livetest.begin\n // prepareLivetest = chart.at10min.livetest.begin\n // prepareLivetest = chart.at05min.livetest.begin\n // prepareLivetest = chart.at04min.livetest.begin\n // prepareLivetest = chart.at03min.livetest.begin\n // prepareLivetest = chart.at02min.livetest.begin\n // prepareLivetest = chart.at01min.livetest.begin\n \n\n if (chart[label].livetest.positionBullish !== undefined && chart[label].livetest.positionTimestamp !== undefined) {\n if (chart[label].livetest.positionBullish === 1 && chart[label].livetest.positionTimestamp == chart.at01min.candle.end) {\n validNow.push(label)\n }\n }\n else { \n break \n }\n }\n if (validNow.length === 1) {\n if (validNow[0] === myChart) {\n return true\n }\n }\n else if (validNow.length > 1) { \n \n maxPPH = 9999\n bestChart = \"Not defined\"\n\n for (j = 0; j < validNow.length; j++) {\n\n label = validNow[j]\n\n if (chart[label].livetest.averageBullPerHour < maxPPH) {\n maxPPH = chart[label].livetest.averageBullPerHour\n bestChart = label\n }\n }\n if (bestChart == myChart) {\n return true\n }\n }\n else {\n return false\n }\n}\n", + "project": "Foundations", + "id": "89025520-2a14-41be-84b9-3c9a93354ebb", + "savedPayload": { + "position": { + "x": 29477.66143801226, + "y": 29531.816344392497 + }, + "targetPosition": { + "x": 29888.250938519184, + "y": 29715.9800272224 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "13168a33-621a-4666-9f65-488591c66fcc", + "savedPayload": { + "position": { + "x": 29888.250938519184, + "y": 29715.9800272224 + }, + "targetPosition": { + "x": 30298.84043902611, + "y": 29900.1437100523 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "bea1be83-cd1b-4b7e-aa97-f96a7f40324c", + "savedPayload": { + "position": { + "x": 30298.84043902611, + "y": 29900.1437100523 + }, + "targetPosition": { + "x": 30709.429939533034, + "y": 30084.3073928822 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "82b4e3b0-bb58-4735-8f91-18fa302d0385", + "savedPayload": { + "position": { + "x": 30709.429939533034, + "y": 30084.3073928822 + }, + "targetPosition": { + "x": 31120.01944003996, + "y": 30268.471075712103 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "triggerOff": { + "type": "Trigger Off Event", + "name": "New Trigger Off Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "false", + "project": "Foundations", + "id": "7df5197b-c6c2-4434-8f10-27e3beae72c2", + "savedPayload": { + "position": { + "x": 30479.590515579428, + "y": 28586.255039433072 + }, + "targetPosition": { + "x": 30639.69774669456, + "y": 29006.80904850283 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "5c35930a-9dcc-474e-9d5f-921ebfe07bd9", + "savedPayload": { + "position": { + "x": 30639.69774669456, + "y": 29006.80904850283 + }, + "targetPosition": { + "x": 30799.804977809694, + "y": 29427.363057572587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "eb78daa7-c5be-4a8b-8c7e-fe16f9423b02", + "savedPayload": { + "position": { + "x": 30799.804977809694, + "y": 29427.363057572587 + }, + "targetPosition": { + "x": 30959.912208924827, + "y": 29847.917066642345 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "b74a1701-1e35-4538-8f03-698623f4766b", + "savedPayload": { + "position": { + "x": 30959.912208924827, + "y": 29847.917066642345 + }, + "targetPosition": { + "x": 31120.01944003996, + "y": 30268.471075712103 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "takePosition": { + "type": "Take Position Event", + "name": "New Take Position Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "9cd42b7d-54a3-40a5-bb53-dab06ab0f2c6", + "savedPayload": { + "position": { + "x": 31856.674171359566, + "y": 28626.113073684402 + }, + "targetPosition": { + "x": 31672.510488529664, + "y": 29036.702574191328 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "8f674969-372f-47d4-bd6d-6dd7c2f08fd0", + "savedPayload": { + "position": { + "x": 31672.510488529664, + "y": 29036.702574191328 + }, + "targetPosition": { + "x": 31488.346805699763, + "y": 29447.292074698253 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "59c05d9c-d4f5-4e95-b61c-b73cbaa68db2", + "savedPayload": { + "position": { + "x": 31488.346805699763, + "y": 29447.292074698253 + }, + "targetPosition": { + "x": 31304.18312286986, + "y": 29857.881575205178 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "29672175-b484-4b0c-99c3-99eb13a3f1fa", + "savedPayload": { + "position": { + "x": 31304.18312286986, + "y": 29857.881575205178 + }, + "targetPosition": { + "x": 31120.01944003996, + "y": 30268.471075712103 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "daf2c169-582f-4a92-a915-bfb2ac46084c", + "savedPayload": { + "position": { + "x": 31120.01944003996, + "y": 30268.471075712103 + }, + "targetPosition": { + "x": 31280.126671155092, + "y": 30689.02508478186 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openStage": { + "type": "Open Stage", + "name": "New Open Stage", + "config": "{\n \"roundingErrorCorrectionFactor\": 1.01,\n \"absoluteDustInBaseAsset\": 0,\n \"absoluteDustInQuotedAsset\": 0\n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "3be8664c-d541-4bf0-9d1d-ab871db0d3ab", + "savedPayload": { + "position": { + "x": 30776.58829514567, + "y": 29809.615125466335 + }, + "targetPosition": { + "x": 30988.13493488038, + "y": 30022.330943441757 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "789e21d7-87e8-44e7-8094-e71213a8cd25", + "savedPayload": { + "position": { + "x": 30988.13493488038, + "y": 30022.330943441757 + }, + "targetPosition": { + "x": 31199.681574615093, + "y": 30235.04676141718 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInQuotedAsset": { + "type": "Target Size In Quoted Asset", + "name": "New Target Size In Quoted Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value", + "project": "Foundations", + "id": "bbe3970a-af4c-4800-b08d-1be28b490d8d", + "savedPayload": { + "position": { + "x": 31356.569539187385, + "y": 29655.92141525077 + }, + "targetPosition": { + "x": 31278.12555690124, + "y": 29945.484088333975 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "23e08a45-51fd-4a91-864b-d7577f6418e3", + "savedPayload": { + "position": { + "x": 31278.12555690124, + "y": 29945.484088333975 + }, + "targetPosition": { + "x": 31199.681574615093, + "y": 30235.04676141718 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "55b591c3-0837-4f89-a765-0630b11e2ac9", + "savedPayload": { + "position": { + "x": 31199.681574615093, + "y": 30235.04676141718 + }, + "targetPosition": { + "x": 31276.528429722875, + "y": 30525.037383438037 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openExecution": { + "type": "Open Execution", + "name": "New Open Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [ + { + "type": "Market Buy Order", + "name": "New Market Buy Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "115220af-7ec0-43ce-a0bd-ba778ade578e", + "savedPayload": { + "position": { + "x": 32228.451812793726, + "y": 28732.146771901083 + }, + "targetPosition": { + "x": 32150.00783050758, + "y": 29021.709444984288 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "eb260761-a48d-4bae-9a66-74f5c618b194", + "savedPayload": { + "position": { + "x": 32150.00783050758, + "y": 29021.709444984288 + }, + "targetPosition": { + "x": 32071.563848221434, + "y": 29311.272118067493 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "bab8fe5d-b8ce-4006-8b6a-7d975f02e6ad", + "savedPayload": { + "position": { + "x": 32071.563848221434, + "y": 29311.272118067493 + }, + "targetPosition": { + "x": 31993.11986593529, + "y": 29600.834791150697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "1b0aba87-8e00-4019-b97c-c2c1ac6892c0", + "savedPayload": { + "position": { + "x": 31993.11986593529, + "y": 29600.834791150697 + }, + "targetPosition": { + "x": 31914.675883649143, + "y": 29890.3974642339 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{ \n\"fillProbability\": 1\n}", + "project": "Foundations", + "id": "eebeccfe-508e-4911-b748-4a5d8f863f57", + "savedPayload": { + "position": { + "x": 32355.38190862188, + "y": 29554.157341455095 + }, + "targetPosition": { + "x": 32204.66650567, + "y": 29813.55060912612 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "758d076f-5f9b-4f80-a2b5-89dd28d420f9", + "savedPayload": { + "position": { + "x": 32784.647749711716, + "y": 29659.856898910555 + }, + "targetPosition": { + "x": 32494.657127690858, + "y": 29736.703754018337 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "a9be0d58-a626-4738-8b77-2817445ea7f1", + "savedPayload": { + "position": { + "x": 32494.657127690858, + "y": 29736.703754018337 + }, + "targetPosition": { + "x": 32204.66650567, + "y": 29813.55060912612 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{ \n\"percentage\": 0.1\n}", + "project": "Foundations", + "id": "039de72f-dc20-4632-aec1-b56aeb498ac8", + "savedPayload": { + "position": { + "x": 32464.059773341025, + "y": 29964.266012078 + }, + "targetPosition": { + "x": 32204.66650567, + "y": 29813.55060912612 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "827c04b1-67a7-49ff-ae8e-c9ac3ebaaf5e", + "savedPayload": { + "position": { + "x": 32204.66650567, + "y": 29813.55060912612 + }, + "targetPosition": { + "x": 31914.675883649143, + "y": 29890.3974642339 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "d5d91e58-af2a-46b7-b724-b01083a82e29", + "savedPayload": { + "position": { + "x": 31914.675883649143, + "y": 29890.3974642339 + }, + "targetPosition": { + "x": 31701.96006567372, + "y": 30101.944103968613 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Buy Order #1", + "id": "7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3" + } + } + } + ], + "marketSellOrders": [], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "a37ef957-4203-4691-8593-5f0f5c868b6f", + "savedPayload": { + "position": { + "x": 31701.96006567372, + "y": 30101.944103968613 + }, + "targetPosition": { + "x": 31489.244247698298, + "y": 30313.490743703325 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "f283e862-0fb5-4b5c-909e-8578bb195c11", + "savedPayload": { + "position": { + "x": 31489.244247698298, + "y": 30313.490743703325 + }, + "targetPosition": { + "x": 31276.528429722875, + "y": 30525.037383438037 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "3cce428a-a045-46a1-a80a-a4876703e5df", + "savedPayload": { + "position": { + "x": 31397.79264458431, + "y": 30254.681075157052 + }, + "targetPosition": { + "x": 31280.126671155092, + "y": 30689.02508478186 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "manageStage": { + "type": "Manage Stage", + "name": "New Manage Stage", + "project": "Foundations", + "managedStopLoss": { + "type": "Managed Stop Loss", + "name": "New Managed Stop Loss", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 - chart.at02min.livetest.averageTradeDown) / 100 )", + "project": "Foundations", + "id": "c527d10a-6973-4b7f-8e20-72d859e76376", + "savedPayload": { + "position": { + "x": 31673.23748282649, + "y": 29216.970579400873 + }, + "targetPosition": { + "x": 31955.466844139584, + "y": 29567.465354843825 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "name": "New Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "code": "chart.at15min.livetest.averageTradeDown > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01min.candle.close > ( portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.005 )", + "project": "Foundations", + "id": "44adea64-f0de-48ff-9a06-263bf6d0a2bc", + "savedPayload": { + "position": { + "x": 33734.07508447504, + "y": 29290.78371936575 + }, + "targetPosition": { + "x": 33289.42302439117, + "y": 29359.95412823527 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "0898268a-4941-4d29-90e2-ead5668c592b", + "savedPayload": { + "position": { + "x": 33289.42302439117, + "y": 29359.95412823527 + }, + "targetPosition": { + "x": 32844.77096430731, + "y": 29429.124537104788 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "3d99fcdb-0762-4f34-ad13-9869cd52af78", + "savedPayload": { + "position": { + "x": 32844.77096430731, + "y": 29429.124537104788 + }, + "targetPosition": { + "x": 32400.118904223447, + "y": 29498.294945974307 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "75df8e85-366e-43d4-af62-82d277ad3db8", + "savedPayload": { + "position": { + "x": 32400.118904223447, + "y": 29498.294945974307 + }, + "targetPosition": { + "x": 31955.466844139584, + "y": 29567.465354843825 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "5a5ad450-13cf-4c68-a220-4cb8eb2e25b7", + "savedPayload": { + "position": { + "x": 31955.466844139584, + "y": 29567.465354843825 + }, + "targetPosition": { + "x": 31793.044145368814, + "y": 29987.130539156296 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "if ( ( portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995 ) > portfolioEngine.portfolioCurrent.position.stopLoss.value ) {\nportfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995\n}\nelse { portfolioEngine.portfolioCurrent.position.stopLoss.value }", + "project": "Foundations", + "id": "d14ce717-8ce0-49f6-b95c-43782f052f35", + "savedPayload": { + "position": { + "x": 32280.312241681124, + "y": 28728.134986218884 + }, + "targetPosition": { + "x": 32117.889542910354, + "y": 29147.800170531355 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "78b8b32f-c682-486b-b08f-8b5a96cd8428", + "savedPayload": { + "position": { + "x": 32117.889542910354, + "y": 29147.800170531355 + }, + "targetPosition": { + "x": 31955.466844139584, + "y": 29567.465354843825 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "bdad7d61-9c6d-4ce3-a747-2e4b3488c32d", + "savedPayload": { + "position": { + "x": 31793.044145368814, + "y": 29987.130539156296 + }, + "targetPosition": { + "x": 31630.621446598045, + "y": 30406.795723468767 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "managedTakeProfit": { + "type": "Managed Take Profit", + "name": "New Managed Take Profit", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 + ( chart.at02min.livetest.averageTradeUp ) ) / 100 )", + "project": "Foundations", + "id": "f224f6bc-9625-49ac-8c56-07b3c6bd8051", + "savedPayload": { + "position": { + "x": 32964.577626849634, + "y": 30199.28449686021 + }, + "targetPosition": { + "x": 32519.92556676577, + "y": 30268.45490572973 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "da62cc8b-1c06-44f2-ad31-b16929cdb3f2", + "savedPayload": { + "position": { + "x": 32519.92556676577, + "y": 30268.45490572973 + }, + "targetPosition": { + "x": 32075.273506681908, + "y": 30337.62531459925 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "8b231e45-116e-4bbf-a19f-bbfcc42bb114", + "savedPayload": { + "position": { + "x": 32075.273506681908, + "y": 30337.62531459925 + }, + "targetPosition": { + "x": 31630.621446598045, + "y": 30406.795723468767 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "8b0c1246-7222-408a-9474-0dfb0c3840df", + "savedPayload": { + "position": { + "x": 31630.621446598045, + "y": 30406.795723468767 + }, + "targetPosition": { + "x": 31280.126671155092, + "y": 30689.02508478186 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeStage": { + "type": "Close Stage", + "name": "New Close Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "targetRate()\n\nfunction targetRate() {\n switch (portfolioEngine.portfolioCurrent.position.exitType.value) {\n case 'No Exit': {\n return portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value\n break\n }\n case 'Take Profit': {\n return portfolioEngine.portfolioCurrent.position.takeProfit.finalValue.value\n break\n }\n case 'Stop Loss': {\n return portfolioEngine.portfolioCurrent.position.stopLoss.finalValue.value\n break\n }\n }\n}", + "project": "Foundations", + "id": "33e839d9-64a4-4340-997d-f087083160cb", + "savedPayload": { + "position": { + "x": 31968.52177274816, + "y": 32354.081736115244 + }, + "targetPosition": { + "x": 31767.782590840503, + "y": 32131.138288472026 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "6d0055aa-1ab0-4482-b8a1-5df5bf2a5ac5", + "savedPayload": { + "position": { + "x": 31767.782590840503, + "y": 32131.138288472026 + }, + "targetPosition": { + "x": 31567.043408932845, + "y": 31908.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInBaseAsset": { + "type": "Target Size In Base Asset", + "name": "New Target Size In Base Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value", + "project": "Foundations", + "id": "84e6e9f2-f8ea-4166-b779-911f949a90e1", + "savedPayload": { + "position": { + "x": 31381.63321230788, + "y": 32478.8287506059 + }, + "targetPosition": { + "x": 31474.338310620362, + "y": 32193.511795717353 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "ea3a1f35-3c97-4a66-aadc-410548cce36f", + "savedPayload": { + "position": { + "x": 31474.338310620362, + "y": 32193.511795717353 + }, + "targetPosition": { + "x": 31567.043408932845, + "y": 31908.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "75d49c5c-b376-41ca-a292-5f8991e3d7e9", + "savedPayload": { + "position": { + "x": 31749.765924726067, + "y": 30637.02719739842 + }, + "targetPosition": { + "x": 31497.71543818122, + "y": 30799.724930119275 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeExecution": { + "type": "Close Execution", + "name": "New Close Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [], + "marketSellOrders": [ + { + "type": "Market Sell Order", + "name": "New Market Sell Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "b290ac3b-ae8f-40b5-aca2-e12647e094b7", + "savedPayload": { + "position": { + "x": 33497.01623999962, + "y": 31151.02419858232 + }, + "targetPosition": { + "x": 33197.38524925513, + "y": 31165.899324984286 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "2d8cbdaa-8aa9-42ee-914d-7dfcd5e8f463", + "savedPayload": { + "position": { + "x": 33197.38524925513, + "y": 31165.899324984286 + }, + "targetPosition": { + "x": 32897.75425851064, + "y": 31180.774451386253 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "12007ac8-0b03-4218-b803-82ea0968857e", + "savedPayload": { + "position": { + "x": 32897.75425851064, + "y": 31180.774451386253 + }, + "targetPosition": { + "x": 32598.12326776615, + "y": 31195.64957778822 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "eac273ac-a43c-46ad-8753-ad9e6914f995", + "savedPayload": { + "position": { + "x": 32598.12326776615, + "y": 31195.64957778822 + }, + "targetPosition": { + "x": 32298.492277021658, + "y": 31210.524704190186 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{\n \"fillProbability\": 1\n}", + "project": "Foundations", + "id": "6e325db3-e57d-45ad-83ff-4d77b625cbab", + "savedPayload": { + "position": { + "x": 32754.461288070335, + "y": 31525.75712888167 + }, + "targetPosition": { + "x": 32461.190009742513, + "y": 31462.57519073503 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "4aabe4e3-c1fd-4a2f-aa37-396ab0cd1930", + "savedPayload": { + "position": { + "x": 32786.58547518422, + "y": 31966.676163824723 + }, + "targetPosition": { + "x": 32623.88774246337, + "y": 31714.625677279877 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "722c4146-adad-4f3c-b1bc-68e5d90dcfb8", + "savedPayload": { + "position": { + "x": 32623.88774246337, + "y": 31714.625677279877 + }, + "targetPosition": { + "x": 32461.190009742513, + "y": 31462.57519073503 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{\n \"percentage\": 0.1\n}", + "project": "Foundations", + "id": "5b1a20f2-d407-4403-8112-2f956da63636", + "savedPayload": { + "position": { + "x": 32398.008071595876, + "y": 31755.846469062853 + }, + "targetPosition": { + "x": 32461.190009742513, + "y": 31462.57519073503 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "e5c13f86-d0aa-4445-8e9c-e9ad0486b556", + "savedPayload": { + "position": { + "x": 32461.190009742513, + "y": 31462.57519073503 + }, + "targetPosition": { + "x": 32298.492277021658, + "y": 31210.524704190186 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "25760857-f0ee-48b9-8f9f-4be644a756a5", + "savedPayload": { + "position": { + "x": 32298.492277021658, + "y": 31210.524704190186 + }, + "targetPosition": { + "x": 32031.566664074846, + "y": 31073.59144616655 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Sell Order #1", + "id": "8e404329-d41f-41e0-ad5a-c84ee1fa2604" + } + } + } + ], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "b288dbcd-1187-4746-997f-1a4f93af73f7", + "savedPayload": { + "position": { + "x": 32031.566664074846, + "y": 31073.59144616655 + }, + "targetPosition": { + "x": 31764.641051128034, + "y": 30936.658188142912 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "cbf0ede5-e37b-4e70-a314-f39c63a00ecc", + "savedPayload": { + "position": { + "x": 31764.641051128034, + "y": 30936.658188142912 + }, + "targetPosition": { + "x": 31497.71543818122, + "y": 30799.724930119275 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "7df3a9bc-223f-4f62-84c3-bea93c0c61f9", + "savedPayload": { + "position": { + "x": 31729.57315727183, + "y": 30666.71239517891 + }, + "targetPosition": { + "x": 31280.126671155092, + "y": 30689.02508478186 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "8a88c87d-9ebc-4641-a6f9-d8eef6b5c1e3", + "savedPayload": { + "position": { + "x": 31280.126671155092, + "y": 30689.02508478186 + }, + "targetPosition": { + "x": 31034, + "y": 31065.75 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Portfolio Strategy", + "name": "03-min", + "project": "Foundations", + "triggerStage": { + "type": "Trigger Stage", + "name": "New Trigger Stage", + "project": "Foundations", + "triggerOn": { + "type": "Trigger On Event", + "name": "New Trigger On Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Livetest Chart Comparison", + "code": "chart.at01hs.candle.close > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "isBestOption()\n\nfunction isBestOption() {\n\n const TIME_FRAME_LABEL = TS.projects.foundations.globals.timeFrames.marketTimeFramesArray().concat(TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray())\n \n for (k = 0; k < TIME_FRAME_LABEL.length; k++) {\n TIME_FRAME_LABEL[k] = 'at' + TIME_FRAME_LABEL[k][1].replace(/'|-/g,'')\n }\n\n const validNow = []\n validNow.length = 0\n\n myChart = \"at03min\"\n\n for (i = 0; i < TIME_FRAME_LABEL.length; i++) {\n\n label = TIME_FRAME_LABEL[i]\n\n // prepareLivetest = chart.at24hs.livetest.begin\n // prepareLivetest = chart.at12hs.livetest.begin\n // prepareLivetest = chart.at08hs.livetest.begin\n // prepareLivetest = chart.at06hs.livetest.begin\n // prepareLivetest = chart.at04hs.livetest.begin\n // prepareLivetest = chart.at03hs.livetest.begin\n // prepareLivetest = chart.at02hs.livetest.begin\n // prepareLivetest = chart.at01hs.livetest.begin\n // prepareLivetest = chart.at45min.livetest.begin\n // prepareLivetest = chart.at40min.livetest.begin\n // prepareLivetest = chart.at30min.livetest.begin\n // prepareLivetest = chart.at20min.livetest.begin\n // prepareLivetest = chart.at15min.livetest.begin\n // prepareLivetest = chart.at10min.livetest.begin\n // prepareLivetest = chart.at05min.livetest.begin\n // prepareLivetest = chart.at04min.livetest.begin\n // prepareLivetest = chart.at03min.livetest.begin\n // prepareLivetest = chart.at02min.livetest.begin\n // prepareLivetest = chart.at01min.livetest.begin\n \n\n if (chart[label].livetest.positionBullish !== undefined && chart[label].livetest.positionTimestamp !== undefined) {\n if (chart[label].livetest.positionBullish === 1 && chart[label].livetest.positionTimestamp == chart.at01min.candle.end) {\n validNow.push(label)\n }\n }\n else { \n break \n }\n }\n if (validNow.length === 1) {\n if (validNow[0] === myChart) {\n return true\n }\n }\n else if (validNow.length > 1) { \n \n maxPPH = 9999\n bestChart = \"Not defined\"\n\n for (j = 0; j < validNow.length; j++) {\n\n label = validNow[j]\n\n if (chart[label].livetest.averageBullPerHour < maxPPH) {\n maxPPH = chart[label].livetest.averageBullPerHour\n bestChart = label\n }\n }\n if (bestChart == myChart) {\n return true\n }\n }\n else {\n return false\n }\n}\n", + "project": "Foundations", + "id": "f39c8c65-9df3-4146-8fb2-89a39a6c74d2", + "savedPayload": { + "position": { + "x": 30060.05559791937, + "y": 29109.58679592134 + }, + "targetPosition": { + "x": 30388.600376698425, + "y": 29417.09017531256 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "bbfa83b2-8484-4e09-ae3f-500b8f26175c", + "savedPayload": { + "position": { + "x": 30388.600376698425, + "y": 29417.09017531256 + }, + "targetPosition": { + "x": 30717.14515547748, + "y": 29724.593554703784 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "83cfdf9c-2785-4257-9e41-6b46b84b685f", + "savedPayload": { + "position": { + "x": 30717.14515547748, + "y": 29724.593554703784 + }, + "targetPosition": { + "x": 31045.689934256534, + "y": 30032.096934095007 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "5c99d3de-19c5-44ec-a2d1-bc07883c604e", + "savedPayload": { + "position": { + "x": 31045.689934256534, + "y": 30032.096934095007 + }, + "targetPosition": { + "x": 31374.23471303559, + "y": 30339.60031348623 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "triggerOff": { + "type": "Trigger Off Event", + "name": "New Trigger Off Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "false", + "project": "Foundations", + "id": "1ea55915-ed68-43c3-95d2-8e272bd88446", + "savedPayload": { + "position": { + "x": 31314.720648264436, + "y": 28540.584450272556 + }, + "targetPosition": { + "x": 31329.599164457224, + "y": 28990.338416075974 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "f7b93fd0-6af5-4284-b015-9d9c952eeac6", + "savedPayload": { + "position": { + "x": 31329.599164457224, + "y": 28990.338416075974 + }, + "targetPosition": { + "x": 31344.477680650012, + "y": 29440.092381879393 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "5a702528-1881-4929-bf39-581118de624e", + "savedPayload": { + "position": { + "x": 31344.477680650012, + "y": 29440.092381879393 + }, + "targetPosition": { + "x": 31359.3561968428, + "y": 29889.84634768281 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "833ae5aa-b61a-4c9b-a3c1-ab742c8fa678", + "savedPayload": { + "position": { + "x": 31359.3561968428, + "y": 29889.84634768281 + }, + "targetPosition": { + "x": 31374.23471303559, + "y": 30339.60031348623 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "takePosition": { + "type": "Take Position Event", + "name": "New Take Position Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "08e027df-3cba-472b-ba7c-5794df558298", + "savedPayload": { + "position": { + "x": 32604.24823060048, + "y": 29025.42119837001 + }, + "targetPosition": { + "x": 32296.744851209256, + "y": 29353.965977149066 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "c9cb32e5-4213-4edc-94ba-09e43a2b21dc", + "savedPayload": { + "position": { + "x": 32296.744851209256, + "y": 29353.965977149066 + }, + "targetPosition": { + "x": 31989.241471818033, + "y": 29682.51075592812 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "ca0a1456-0c9a-4c41-826f-9b30173e4928", + "savedPayload": { + "position": { + "x": 31989.241471818033, + "y": 29682.51075592812 + }, + "targetPosition": { + "x": 31681.73809242681, + "y": 30011.055534707175 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "2cff3cd7-3b9e-402a-9796-fcacf51d1d26", + "savedPayload": { + "position": { + "x": 31681.73809242681, + "y": 30011.055534707175 + }, + "targetPosition": { + "x": 31374.23471303559, + "y": 30339.60031348623 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "17d8492c-6941-4a36-a925-270844790ee0", + "savedPayload": { + "position": { + "x": 31374.23471303559, + "y": 30339.60031348623 + }, + "targetPosition": { + "x": 31389.113229228376, + "y": 30789.354279289648 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openStage": { + "type": "Open Stage", + "name": "New Open Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "68f9f525-d267-4327-9cb5-f6e1db262f26", + "savedPayload": { + "position": { + "x": 31198.401898343793, + "y": 29794.09453383132 + }, + "targetPosition": { + "x": 31329.417644440655, + "y": 30063.973903688824 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "f6c8ca57-55e3-4ab9-a65d-9c2f00b6e26e", + "savedPayload": { + "position": { + "x": 31329.417644440655, + "y": 30063.973903688824 + }, + "targetPosition": { + "x": 31460.433390537517, + "y": 30333.853273546327 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInQuotedAsset": { + "type": "Target Size In Quoted Asset", + "name": "New Target Size In Quoted Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value", + "project": "Foundations", + "id": "52db6e18-787c-4bbd-8442-daf03f0b2ace", + "savedPayload": { + "position": { + "x": 31796.862424948522, + "y": 29837.047974857513 + }, + "targetPosition": { + "x": 31628.64790774302, + "y": 30085.45062420192 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "1f582d98-7c8a-47a8-8511-5e30900bf9d0", + "savedPayload": { + "position": { + "x": 31628.64790774302, + "y": 30085.45062420192 + }, + "targetPosition": { + "x": 31460.433390537517, + "y": 30333.853273546327 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "95c7c10a-4e11-4cb4-9c24-39408d126c45", + "savedPayload": { + "position": { + "x": 31460.433390537517, + "y": 30333.853273546327 + }, + "targetPosition": { + "x": 31438.95667002442, + "y": 30633.08353684869 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openExecution": { + "type": "Open Execution", + "name": "New Open Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [ + { + "type": "Market Buy Order", + "name": "New Market Buy Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "2e2d147f-a0a0-4cf6-a679-0549cc954eb9", + "savedPayload": { + "position": { + "x": 32921.452848418936, + "y": 29246.425701180477 + }, + "targetPosition": { + "x": 32753.238331213437, + "y": 29494.828350524884 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "e929bff2-7e45-482e-95fd-b7ad154ee6aa", + "savedPayload": { + "position": { + "x": 32753.238331213437, + "y": 29494.828350524884 + }, + "targetPosition": { + "x": 32585.023814007935, + "y": 29743.23099986929 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "b2005485-6069-42eb-8311-fbc1b91a253f", + "savedPayload": { + "position": { + "x": 32585.023814007935, + "y": 29743.23099986929 + }, + "targetPosition": { + "x": 32416.809296802432, + "y": 29991.633649213698 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "33c9d4f9-bdb3-4352-b7e9-fd0cdeed866c", + "savedPayload": { + "position": { + "x": 32416.809296802432, + "y": 29991.633649213698 + }, + "targetPosition": { + "x": 32248.59477959693, + "y": 30240.036298558105 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{ \n\"fillProbability\": 1\n}", + "project": "Foundations", + "id": "aab84d1d-c658-4fdc-8416-602e422cbc6d", + "savedPayload": { + "position": { + "x": 32774.59912592909, + "y": 30065.11160546632 + }, + "targetPosition": { + "x": 32547.825042899294, + "y": 30261.5130190712 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "543c5caf-a3e0-483c-b24d-1acb06977c14", + "savedPayload": { + "position": { + "x": 33146.28556950402, + "y": 30304.466460097392 + }, + "targetPosition": { + "x": 32847.055306201655, + "y": 30282.989739584296 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "9eba3430-3465-4881-9cb5-871f5ac330e1", + "savedPayload": { + "position": { + "x": 32847.055306201655, + "y": 30282.989739584296 + }, + "targetPosition": { + "x": 32547.825042899294, + "y": 30261.5130190712 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{ \n\"percentage\": 0.1\n}", + "project": "Foundations", + "id": "da6df8ed-e382-4562-8412-58cc9d087574", + "savedPayload": { + "position": { + "x": 32744.226456504173, + "y": 30488.287102100996 + }, + "targetPosition": { + "x": 32547.825042899294, + "y": 30261.5130190712 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "e3fe1ce5-fe7d-4310-84b7-16596bc00ed2", + "savedPayload": { + "position": { + "x": 32547.825042899294, + "y": 30261.5130190712 + }, + "targetPosition": { + "x": 32248.59477959693, + "y": 30240.036298558105 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "9ed68b26-ac8e-4d86-8752-a5a58bae67fc", + "savedPayload": { + "position": { + "x": 32248.59477959693, + "y": 30240.036298558105 + }, + "targetPosition": { + "x": 31978.715409739427, + "y": 30371.052044654967 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Buy Order #1", + "id": "7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3" + } + } + } + ], + "marketSellOrders": [], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "f551f393-138a-4a02-bc68-6f9feb9560eb", + "savedPayload": { + "position": { + "x": 31978.715409739427, + "y": 30371.052044654967 + }, + "targetPosition": { + "x": 31708.836039881924, + "y": 30502.06779075183 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "100336ab-4c0c-4f9c-ae5c-5412f253778a", + "savedPayload": { + "position": { + "x": 31708.836039881924, + "y": 30502.06779075183 + }, + "targetPosition": { + "x": 31438.95667002442, + "y": 30633.08353684869 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "d673ebed-d30d-47d2-af82-c78fa6e2659c", + "savedPayload": { + "position": { + "x": 31641.43500503663, + "y": 30416.75030527304 + }, + "targetPosition": { + "x": 31389.113229228376, + "y": 30789.354279289648 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "manageStage": { + "type": "Manage Stage", + "name": "New Manage Stage", + "project": "Foundations", + "managedStopLoss": { + "type": "Managed Stop Loss", + "name": "New Managed Stop Loss", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 - chart.at03min.livetest.averageTradeDown) / 100 )", + "project": "Foundations", + "id": "ec13425b-3d0e-4cb3-979f-7be68fc10de8", + "savedPayload": { + "position": { + "x": 32238.89952934369, + "y": 29524.702619265543 + }, + "targetPosition": { + "x": 32392.03145784243, + "y": 29947.846344817815 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "name": "New Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "code": "chart.at15min.livetest.averageTradeDown > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01min.candle.close > ( portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.005 )", + "project": "Foundations", + "id": "cd2bdc65-b0bf-48a6-8945-6e48e099bb43", + "savedPayload": { + "position": { + "x": 34164.10817796095, + "y": 30263.66923508072 + }, + "targetPosition": { + "x": 33721.08899793132, + "y": 30184.713512514994 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "3cfb7851-c60c-4cf2-9930-4f6feec7121c", + "savedPayload": { + "position": { + "x": 33721.08899793132, + "y": 30184.713512514994 + }, + "targetPosition": { + "x": 33278.06981790169, + "y": 30105.757789949268 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "3d4657af-26d7-4384-ac9d-337e87f1436f", + "savedPayload": { + "position": { + "x": 33278.06981790169, + "y": 30105.757789949268 + }, + "targetPosition": { + "x": 32835.05063787206, + "y": 30026.80206738354 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "cd55f472-0d9e-4167-ad26-2e06382c4525", + "savedPayload": { + "position": { + "x": 32835.05063787206, + "y": 30026.80206738354 + }, + "targetPosition": { + "x": 32392.03145784243, + "y": 29947.846344817815 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "5193d610-6296-4b9a-b33a-2b4b1b98fa5b", + "savedPayload": { + "position": { + "x": 32392.03145784243, + "y": 29947.846344817815 + }, + "targetPosition": { + "x": 32102.14420631154, + "y": 30292.03434780436 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "if ( ( portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995 ) > portfolioEngine.portfolioCurrent.position.stopLoss.value ) {\nportfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995\n}\nelse { portfolioEngine.portfolioCurrent.position.stopLoss.value }", + "project": "Foundations", + "id": "bbc9b4fa-eb78-4976-a020-3c0b3a35c15a", + "savedPayload": { + "position": { + "x": 32971.80596090421, + "y": 29259.470338844723 + }, + "targetPosition": { + "x": 32681.91870937332, + "y": 29603.65834183127 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "3feaf97c-957a-4ac3-910c-dd0c7db6bf25", + "savedPayload": { + "position": { + "x": 32681.91870937332, + "y": 29603.65834183127 + }, + "targetPosition": { + "x": 32392.03145784243, + "y": 29947.846344817815 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "c6b8a23b-af91-40ec-a928-56e0abd65be0", + "savedPayload": { + "position": { + "x": 32102.14420631154, + "y": 30292.03434780436 + }, + "targetPosition": { + "x": 31812.25695478065, + "y": 30636.222350790908 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "managedTakeProfit": { + "type": "Managed Take Profit", + "name": "New Managed Take Profit", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 + ( chart.at03min.livetest.averageTradeUp ) ) / 100 )", + "project": "Foundations", + "id": "b4231275-648b-4d4a-b2d7-e1efee63f18a", + "savedPayload": { + "position": { + "x": 33141.31449486953, + "y": 30873.089518488086 + }, + "targetPosition": { + "x": 32698.295314839903, + "y": 30794.13379592236 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "611d2f2c-17d9-4147-8665-91ef8d824549", + "savedPayload": { + "position": { + "x": 32698.295314839903, + "y": 30794.13379592236 + }, + "targetPosition": { + "x": 32255.276134810276, + "y": 30715.178073356634 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "0c12541f-9871-4aeb-b58a-d392e38c21a5", + "savedPayload": { + "position": { + "x": 32255.276134810276, + "y": 30715.178073356634 + }, + "targetPosition": { + "x": 31812.25695478065, + "y": 30636.222350790908 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "4848a960-4d3b-456e-b8e1-910f0ef44652", + "savedPayload": { + "position": { + "x": 31812.25695478065, + "y": 30636.222350790908 + }, + "targetPosition": { + "x": 31389.113229228376, + "y": 30789.354279289648 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeStage": { + "type": "Close Stage", + "name": "New Close Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "targetRate()\n\nfunction targetRate() {\n switch (portfolioEngine.portfolioCurrent.position.exitType.value) {\n case 'No Exit': {\n return portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value\n break\n }\n case 'Take Profit': {\n return portfolioEngine.portfolioCurrent.position.takeProfit.finalValue.value\n break\n }\n case 'Stop Loss': {\n return portfolioEngine.portfolioCurrent.position.stopLoss.finalValue.value\n break\n }\n }\n}", + "project": "Foundations", + "id": "7a8795ec-753c-47e0-a18c-8c2e9f508af0", + "savedPayload": { + "position": { + "x": 32024.52177274816, + "y": 32333.081736115244 + }, + "targetPosition": { + "x": 31823.782590840503, + "y": 32110.138288472026 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "4e125d6f-47fe-4bd0-9dd9-809de617f08f", + "savedPayload": { + "position": { + "x": 31823.782590840503, + "y": 32110.138288472026 + }, + "targetPosition": { + "x": 31623.043408932845, + "y": 31887.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInBaseAsset": { + "type": "Target Size In Base Asset", + "name": "New Target Size In Base Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value", + "project": "Foundations", + "id": "4ddc63fa-bde3-4966-a5f6-e7a4856bbde6", + "savedPayload": { + "position": { + "x": 31437.63321230788, + "y": 32457.8287506059 + }, + "targetPosition": { + "x": 31530.338310620362, + "y": 32172.511795717353 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "64a6679e-7d26-493f-9415-60fe176a2602", + "savedPayload": { + "position": { + "x": 31530.338310620362, + "y": 32172.511795717353 + }, + "targetPosition": { + "x": 31623.043408932845, + "y": 31887.194840828808 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "a5f27434-7cc6-43a3-9096-48f18ccfb11f", + "savedPayload": { + "position": { + "x": 31850.18981906839, + "y": 30892.66539722256 + }, + "targetPosition": { + "x": 31558.968255659973, + "y": 30964.707058821652 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeExecution": { + "type": "Close Execution", + "name": "New Close Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [], + "marketSellOrders": [ + { + "type": "Market Sell Order", + "name": "New Market Sell Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "ed432dfc-9380-48c6-b964-2bdb0e840636", + "savedPayload": { + "position": { + "x": 33335.87473936378, + "y": 31946.143873061756 + }, + "targetPosition": { + "x": 33047.648636522725, + "y": 31862.923000433202 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "90d8affd-33a7-43a3-98f9-bfc44a763f15", + "savedPayload": { + "position": { + "x": 33047.648636522725, + "y": 31862.923000433202 + }, + "targetPosition": { + "x": 32759.42253368167, + "y": 31779.70212780465 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "90295e93-06c1-46bd-9d16-a058ea4aeb64", + "savedPayload": { + "position": { + "x": 32759.42253368167, + "y": 31779.70212780465 + }, + "targetPosition": { + "x": 32471.196430840617, + "y": 31696.481255176095 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "1c921c61-8fc4-449d-85c9-3b29874e8265", + "savedPayload": { + "position": { + "x": 32471.196430840617, + "y": 31696.481255176095 + }, + "targetPosition": { + "x": 32182.970327999563, + "y": 31613.26038254754 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{\n \"fillProbability\": 1\n}", + "project": "Foundations", + "id": "dd552255-ed0f-4c3e-841a-700ef9cf2846", + "savedPayload": { + "position": { + "x": 32511.87787935716, + "y": 32059.465540825135 + }, + "targetPosition": { + "x": 32255.011989598654, + "y": 31904.48194595596 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "94c1c88b-4e77-4894-8031-2fa19238434f", + "savedPayload": { + "position": { + "x": 32399.095312796835, + "y": 32486.925072772792 + }, + "targetPosition": { + "x": 32327.053651197744, + "y": 32195.703509364375 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "82930df6-99c6-4f12-9793-afdd09b85cb0", + "savedPayload": { + "position": { + "x": 32327.053651197744, + "y": 32195.703509364375 + }, + "targetPosition": { + "x": 32255.011989598654, + "y": 31904.48194595596 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{\n \"percentage\": 0.1\n}", + "project": "Foundations", + "id": "5ed2e447-43da-416e-a44d-b66965e5ba82", + "savedPayload": { + "position": { + "x": 32100.028394729477, + "y": 32161.347835714463 + }, + "targetPosition": { + "x": 32255.011989598654, + "y": 31904.48194595596 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "7e82b7db-cbe7-4a18-83bd-ded6102dc020", + "savedPayload": { + "position": { + "x": 32255.011989598654, + "y": 31904.48194595596 + }, + "targetPosition": { + "x": 32182.970327999563, + "y": 31613.26038254754 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "1f572934-c110-41b6-bb73-4c649d7a684d", + "savedPayload": { + "position": { + "x": 32182.970327999563, + "y": 31613.26038254754 + }, + "targetPosition": { + "x": 31974.9696372197, + "y": 31397.07594130558 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Sell Order #1", + "id": "8e404329-d41f-41e0-ad5a-c84ee1fa2604" + } + } + } + ], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "5649766f-f7cc-4c46-a714-cb1d38926bec", + "savedPayload": { + "position": { + "x": 31974.9696372197, + "y": 31397.07594130558 + }, + "targetPosition": { + "x": 31766.968946439836, + "y": 31180.891500063615 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "92ff5381-c78f-4068-9f0f-93725a1da3c7", + "savedPayload": { + "position": { + "x": 31766.968946439836, + "y": 31180.891500063615 + }, + "targetPosition": { + "x": 31558.968255659973, + "y": 30964.707058821652 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "d335a1c8-48a9-4356-b782-324526a56b86", + "savedPayload": { + "position": { + "x": 31821.45238348996, + "y": 30914.185588232478 + }, + "targetPosition": { + "x": 31389.113229228376, + "y": 30789.354279289648 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "7525169f-7f89-4c21-b7ff-e94707e29ed5", + "savedPayload": { + "position": { + "x": 31389.113229228376, + "y": 30789.354279289648 + }, + "targetPosition": { + "x": 31034, + "y": 31065.75 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Portfolio Strategy", + "name": "04-min", + "project": "Foundations", + "triggerStage": { + "type": "Trigger Stage", + "name": "New Trigger Stage", + "project": "Foundations", + "triggerOn": { + "type": "Trigger On Event", + "name": "New Trigger On Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Livetest Chart Comparison", + "code": "chart.at01hs.candle.close > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "isBestOption()\n\nfunction isBestOption() {\n\n const TIME_FRAME_LABEL = TS.projects.foundations.globals.timeFrames.marketTimeFramesArray().concat(TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray())\n \n for (k = 0; k < TIME_FRAME_LABEL.length; k++) {\n TIME_FRAME_LABEL[k] = 'at' + TIME_FRAME_LABEL[k][1].replace(/'|-/g,'')\n }\n\n const validNow = []\n validNow.length = 0\n\n myChart = \"at04min\"\n\n for (i = 0; i < TIME_FRAME_LABEL.length; i++) {\n\n label = TIME_FRAME_LABEL[i]\n\n // prepareLivetest = chart.at24hs.livetest.begin\n // prepareLivetest = chart.at12hs.livetest.begin\n // prepareLivetest = chart.at08hs.livetest.begin\n // prepareLivetest = chart.at06hs.livetest.begin\n // prepareLivetest = chart.at04hs.livetest.begin\n // prepareLivetest = chart.at03hs.livetest.begin\n // prepareLivetest = chart.at02hs.livetest.begin\n // prepareLivetest = chart.at01hs.livetest.begin\n // prepareLivetest = chart.at45min.livetest.begin\n // prepareLivetest = chart.at40min.livetest.begin\n // prepareLivetest = chart.at30min.livetest.begin\n // prepareLivetest = chart.at20min.livetest.begin\n // prepareLivetest = chart.at15min.livetest.begin\n // prepareLivetest = chart.at10min.livetest.begin\n // prepareLivetest = chart.at05min.livetest.begin\n // prepareLivetest = chart.at04min.livetest.begin\n // prepareLivetest = chart.at03min.livetest.begin\n // prepareLivetest = chart.at02min.livetest.begin\n // prepareLivetest = chart.at01min.livetest.begin\n \n\n if (chart[label].livetest.positionBullish !== undefined && chart[label].livetest.positionTimestamp !== undefined) {\n if (chart[label].livetest.positionBullish === 1 && chart[label].livetest.positionTimestamp == chart.at01min.candle.end) {\n validNow.push(label)\n }\n }\n else { \n break \n }\n }\n if (validNow.length === 1) {\n if (validNow[0] === myChart) {\n return true\n }\n }\n else if (validNow.length > 1) { \n \n maxPPH = 9999\n bestChart = \"Not defined\"\n\n for (j = 0; j < validNow.length; j++) {\n\n label = validNow[j]\n\n if (chart[label].livetest.averageBullPerHour < maxPPH) {\n maxPPH = chart[label].livetest.averageBullPerHour\n bestChart = label\n }\n }\n if (bestChart == myChart) {\n return true\n }\n }\n else {\n return false\n }\n}\n", + "project": "Foundations", + "id": "ff88ab3e-d491-4d13-bd24-525c3ab90802", + "savedPayload": { + "position": { + "x": 30747.991746096395, + "y": 28899.337883611595 + }, + "targetPosition": { + "x": 30958.88887846937, + "y": 29296.858197000554 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "f656c6b5-b104-45d3-b02a-d03d6bdc1923", + "savedPayload": { + "position": { + "x": 30958.88887846937, + "y": 29296.858197000554 + }, + "targetPosition": { + "x": 31169.786010842345, + "y": 29694.378510389513 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "e47f3900-97cd-46c6-b273-eae5d6a99ffb", + "savedPayload": { + "position": { + "x": 31169.786010842345, + "y": 29694.378510389513 + }, + "targetPosition": { + "x": 31380.68314321532, + "y": 30091.898823778472 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "ebe7c28f-c7a0-4945-9012-3c90df8faeb7", + "savedPayload": { + "position": { + "x": 31380.68314321532, + "y": 30091.898823778472 + }, + "targetPosition": { + "x": 31591.580275588294, + "y": 30489.41913716743 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "triggerOff": { + "type": "Trigger Off Event", + "name": "New Trigger Off Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "false", + "project": "Foundations", + "id": "718e936a-d8b4-48b2-8415-3236aabf89bb", + "savedPayload": { + "position": { + "x": 32119.43034288033, + "y": 28768.554730405587 + }, + "targetPosition": { + "x": 31987.46782605732, + "y": 29198.77083209605 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "3cc17abc-4463-4d1c-aec4-a34c04133496", + "savedPayload": { + "position": { + "x": 31987.46782605732, + "y": 29198.77083209605 + }, + "targetPosition": { + "x": 31855.50530923431, + "y": 29628.98693378651 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "313ce860-7e6d-410a-a74e-b56476f055da", + "savedPayload": { + "position": { + "x": 31855.50530923431, + "y": 29628.98693378651 + }, + "targetPosition": { + "x": 31723.542792411303, + "y": 30059.20303547697 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "c3583fd1-0913-4c3f-8a55-c873051de04c", + "savedPayload": { + "position": { + "x": 31723.542792411303, + "y": 30059.20303547697 + }, + "targetPosition": { + "x": 31591.580275588294, + "y": 30489.41913716743 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "takePosition": { + "type": "Take Position Event", + "name": "New Take Position Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "95de4ed7-af8e-475f-b13f-306e4dad6e04", + "savedPayload": { + "position": { + "x": 33181.661529144134, + "y": 29645.830607675533 + }, + "targetPosition": { + "x": 32784.141215755175, + "y": 29856.727740048507 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "d69fe206-bf77-4f75-82ef-131c11b46109", + "savedPayload": { + "position": { + "x": 32784.141215755175, + "y": 29856.727740048507 + }, + "targetPosition": { + "x": 32386.620902366212, + "y": 30067.624872421482 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "89709c16-5204-4378-98cf-67198cb87037", + "savedPayload": { + "position": { + "x": 32386.620902366212, + "y": 30067.624872421482 + }, + "targetPosition": { + "x": 31989.100588977253, + "y": 30278.522004794457 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "2e211000-1fbb-43d3-8ab5-a862bd863f96", + "savedPayload": { + "position": { + "x": 31989.100588977253, + "y": 30278.522004794457 + }, + "targetPosition": { + "x": 31591.580275588294, + "y": 30489.41913716743 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "406515f1-aeae-49b4-a997-dea8c3d95aa1", + "savedPayload": { + "position": { + "x": 31591.580275588294, + "y": 30489.41913716743 + }, + "targetPosition": { + "x": 31459.617758765286, + "y": 30919.635238857893 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openStage": { + "type": "Open Stage", + "name": "New Open Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "70b86450-6252-43ea-9429-971ef441fb6f", + "savedPayload": { + "position": { + "x": 31889.384013274626, + "y": 30273.321255518636 + }, + "targetPosition": { + "x": 31920.742552254924, + "y": 30571.677824129118 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "1dc25d0a-217b-43c6-b740-677545975069", + "savedPayload": { + "position": { + "x": 31920.742552254924, + "y": 30571.677824129118 + }, + "targetPosition": { + "x": 31952.10109123522, + "y": 30870.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInQuotedAsset": { + "type": "Target Size In Quoted Asset", + "name": "New Target Size In Quoted Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value", + "project": "Foundations", + "id": "d991b763-a288-4b01-a048-cd0e7f88d577", + "savedPayload": { + "position": { + "x": 32437.511287860187, + "y": 30517.363241364113 + }, + "targetPosition": { + "x": 32194.806189547704, + "y": 30693.698817051856 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "66678d3e-70bc-4c6b-9993-3910c05ccf40", + "savedPayload": { + "position": { + "x": 32194.806189547704, + "y": 30693.698817051856 + }, + "targetPosition": { + "x": 31952.10109123522, + "y": 30870.0343927396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "52d64188-814f-4f92-a041-e9339860b10a", + "savedPayload": { + "position": { + "x": 31674.97453179939, + "y": 30511.972152534552 + }, + "targetPosition": { + "x": 31557.501571578665, + "y": 30788.015815053688 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openExecution": { + "type": "Open Execution", + "name": "New Open Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [ + { + "type": "Market Buy Order", + "name": "New Market Buy Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "9778da10-790d-43d8-b296-21a95625ad00", + "savedPayload": { + "position": { + "x": 33695.970197393865, + "y": 30344.680110340516 + }, + "targetPosition": { + "x": 33453.26509908138, + "y": 30521.01568602826 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "c806e210-dd4f-4dd2-a0e4-c56c44b58204", + "savedPayload": { + "position": { + "x": 33453.26509908138, + "y": 30521.01568602826 + }, + "targetPosition": { + "x": 33210.56000076889, + "y": 30697.351261716 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "ce715224-6a40-4468-8790-87569c31ef59", + "savedPayload": { + "position": { + "x": 33210.56000076889, + "y": 30697.351261716 + }, + "targetPosition": { + "x": 32967.85490245641, + "y": 30873.686837403744 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "594c4078-0d37-4bf3-9f4b-f4ec921c0ccc", + "savedPayload": { + "position": { + "x": 32967.85490245641, + "y": 30873.686837403744 + }, + "targetPosition": { + "x": 32725.149804143926, + "y": 31050.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{ \n\"fillProbability\": 1\n}", + "project": "Foundations", + "id": "fbbb0d89-b62e-4acb-b6d9-acd12702128d", + "savedPayload": { + "position": { + "x": 33279.287569385866, + "y": 31064.533021150633 + }, + "targetPosition": { + "x": 32999.2134414367, + "y": 31172.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "6152beb3-4b29-4344-9ad2-fa3f94ffe151", + "savedPayload": { + "position": { + "x": 33547.34071602227, + "y": 31416.085391859702 + }, + "targetPosition": { + "x": 33273.27707872949, + "y": 31294.064398936964 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "405749ed-0cac-4b67-b10e-66941d9a583e", + "savedPayload": { + "position": { + "x": 33273.27707872949, + "y": 31294.064398936964 + }, + "targetPosition": { + "x": 32999.2134414367, + "y": 31172.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{ \n\"percentage\": 0.1\n}", + "project": "Foundations", + "id": "64aba599-98ce-4570-a2f2-afe63455d045", + "savedPayload": { + "position": { + "x": 33106.723826300295, + "y": 31452.117533963385 + }, + "targetPosition": { + "x": 32999.2134414367, + "y": 31172.043406014225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "a9deb2e1-704a-44c3-9a73-255b9294d984", + "savedPayload": { + "position": { + "x": 32999.2134414367, + "y": 31172.043406014225 + }, + "targetPosition": { + "x": 32725.149804143926, + "y": 31050.022413091487 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "36d25b5f-1040-4b03-b814-6d5d8494d689", + "savedPayload": { + "position": { + "x": 32725.149804143926, + "y": 31050.022413091487 + }, + "targetPosition": { + "x": 32426.793235533445, + "y": 31081.380952071784 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Buy Order #1", + "id": "7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3" + } + } + } + ], + "marketSellOrders": [], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "0d373a39-4498-4e3d-888a-2efd0c58ce3e", + "savedPayload": { + "position": { + "x": 32426.793235533445, + "y": 31081.380952071784 + }, + "targetPosition": { + "x": 32128.436666922964, + "y": 31112.73949105208 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "759c80d5-c1b0-4b51-9a55-fe06fa25dbbd", + "savedPayload": { + "position": { + "x": 31855.2988759843, + "y": 30751.728551603028 + }, + "targetPosition": { + "x": 31557.501571578665, + "y": 30788.015815053688 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "a99391bd-0244-4def-b9e6-eb6169b92814", + "savedPayload": { + "position": { + "x": 31819.252357368, + "y": 30649.148722580532 + }, + "targetPosition": { + "x": 31459.617758765286, + "y": 30919.635238857893 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "manageStage": { + "type": "Manage Stage", + "name": "New Manage Stage", + "project": "Foundations", + "managedStopLoss": { + "type": "Managed Stop Loss", + "name": "New Managed Stop Loss", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 - chart.at04min.livetest.averageTradeDown) / 100 )", + "project": "Foundations", + "id": "00d50b49-0b3f-419b-b5eb-5810cfbe693a", + "savedPayload": { + "position": { + "x": 32673.992015913984, + "y": 29999.431054646615 + }, + "targetPosition": { + "x": 32681.432291058845, + "y": 30449.369541893226 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "name": "New Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "code": "chart.at15min.livetest.averageTradeDown > chart.at24hs.candle.min", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01min.candle.close > ( portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.005 )", + "project": "Foundations", + "id": "4d1cc4ac-7eac-41ff-8a2c-922cd57ba5b8", + "savedPayload": { + "position": { + "x": 34254.94548173219, + "y": 31323.472647240058 + }, + "targetPosition": { + "x": 33861.56718406385, + "y": 31104.94687090335 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "41b50453-0161-4859-875d-0c44f08a582a", + "savedPayload": { + "position": { + "x": 33861.56718406385, + "y": 31104.94687090335 + }, + "targetPosition": { + "x": 33468.18888639552, + "y": 30886.421094566642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "54983b6b-2c9d-4233-a3c3-9940dab7fa9d", + "savedPayload": { + "position": { + "x": 33468.18888639552, + "y": 30886.421094566642 + }, + "targetPosition": { + "x": 33074.81058872718, + "y": 30667.895318229934 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "fc3acd47-42fd-4822-ba38-e52202ba04ab", + "savedPayload": { + "position": { + "x": 33074.81058872718, + "y": 30667.895318229934 + }, + "targetPosition": { + "x": 32681.432291058845, + "y": 30449.369541893226 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "6d5e8ded-93f7-4b35-8566-c4c1a591a212", + "savedPayload": { + "position": { + "x": 32681.432291058845, + "y": 30449.369541893226 + }, + "targetPosition": { + "x": 32295.49426853537, + "y": 30680.78225280313 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "if ( ( portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995 ) > portfolioEngine.portfolioCurrent.position.stopLoss.value ) {\nportfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value * 0.995\n}\nelse { portfolioEngine.portfolioCurrent.position.stopLoss.value }", + "project": "Foundations", + "id": "35cb55e0-90e8-4528-adc1-7a12941cb468", + "savedPayload": { + "position": { + "x": 33453.3083361058, + "y": 29986.54412007342 + }, + "targetPosition": { + "x": 33067.37031358232, + "y": 30217.956830983323 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "57afc723-f002-4ff8-b240-b842804bd7e0", + "savedPayload": { + "position": { + "x": 33067.37031358232, + "y": 30217.956830983323 + }, + "targetPosition": { + "x": 32681.432291058845, + "y": 30449.369541893226 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "56df9c58-9a31-4070-84be-5cf49d00a9f7", + "savedPayload": { + "position": { + "x": 32295.49426853537, + "y": 30680.78225280313 + }, + "targetPosition": { + "x": 31909.556246011896, + "y": 30912.19496371303 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "managedTakeProfit": { + "type": "Managed Take Profit", + "name": "New Managed Take Profit", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * ( ( 100 + ( chart.at04min.livetest.averageTradeUp ) ) / 100 )", + "project": "Foundations", + "id": "645a6ef9-1777-434d-a2d9-e190ec847309", + "savedPayload": { + "position": { + "x": 33089.691139016904, + "y": 31567.772292723155 + }, + "targetPosition": { + "x": 32696.31284134857, + "y": 31349.246516386447 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "65e2830d-10e5-47c0-950b-730334ba6a66", + "savedPayload": { + "position": { + "x": 32696.31284134857, + "y": 31349.246516386447 + }, + "targetPosition": { + "x": 32302.934543680232, + "y": 31130.72074004974 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "04fbe148-2475-4679-9646-0a25415263c3", + "savedPayload": { + "position": { + "x": 32302.934543680232, + "y": 31130.72074004974 + }, + "targetPosition": { + "x": 31909.556246011896, + "y": 30912.19496371303 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "47caaa42-f531-49c9-9732-79e8bc0fa7f6", + "savedPayload": { + "position": { + "x": 31909.556246011896, + "y": 30912.19496371303 + }, + "targetPosition": { + "x": 31459.617758765286, + "y": 30919.635238857893 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeStage": { + "type": "Close Stage", + "name": "New Close Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "targetRate()\n\nfunction targetRate() {\n switch (portfolioEngine.portfolioCurrent.position.exitType.value) {\n case 'No Exit': {\n return portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value\n break\n }\n case 'Take Profit': {\n return portfolioEngine.portfolioCurrent.position.takeProfit.finalValue.value\n break\n }\n case 'Stop Loss': {\n return portfolioEngine.portfolioCurrent.position.stopLoss.finalValue.value\n break\n }\n }\n}", + "project": "Foundations", + "id": "5273ab9b-ea37-4a19-8594-bb2f936f9d2d", + "savedPayload": { + "position": { + "x": 32406.18425363373, + "y": 30913.98866683464 + }, + "targetPosition": { + "x": 32134.175567829236, + "y": 31040.524333138303 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "0aae99c1-8ff8-4a78-b076-0425d107e325", + "savedPayload": { + "position": { + "x": 32134.175567829236, + "y": 31040.524333138303 + }, + "targetPosition": { + "x": 31862.16688202474, + "y": 31167.059999441964 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInBaseAsset": { + "type": "Target Size In Base Asset", + "name": "New Target Size In Base Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value", + "project": "Foundations", + "id": "e21232e9-22fc-4fea-b60d-53a207126cc5", + "savedPayload": { + "position": { + "x": 32353.341770836752, + "y": 31511.65719705173 + }, + "targetPosition": { + "x": 32107.754326430746, + "y": 31339.358598246847 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "173adbf0-e0cb-4e4e-93b2-0a3a45ad50c1", + "savedPayload": { + "position": { + "x": 32107.754326430746, + "y": 31339.358598246847 + }, + "targetPosition": { + "x": 31862.16688202474, + "y": 31167.059999441964 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "9e6cd072-1630-4b68-94e7-c99eff14b297", + "savedPayload": { + "position": { + "x": 31862.16688202474, + "y": 31167.059999441964 + }, + "targetPosition": { + "x": 31563.332616916196, + "y": 31140.63875804348 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeExecution": { + "type": "Close Execution", + "name": "New Close Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [], + "marketSellOrders": [ + { + "type": "Market Sell Order", + "name": "New Market Sell Order", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "bd0c625e-bc9e-40cb-a7a1-2cc5ac958fbd", + "savedPayload": { + "position": { + "x": 32925.28939345121, + "y": 32645.859210676495 + }, + "targetPosition": { + "x": 32679.7019490452, + "y": 32473.560611871613 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "753ac949-3ebe-4cdf-83dd-bbfca226533a", + "savedPayload": { + "position": { + "x": 32679.7019490452, + "y": 32473.560611871613 + }, + "targetPosition": { + "x": 32434.114504639194, + "y": 32301.26201306673 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "d526dcdf-23d3-4085-a72e-cdbdab92105f", + "savedPayload": { + "position": { + "x": 32434.114504639194, + "y": 32301.26201306673 + }, + "targetPosition": { + "x": 32188.527060233188, + "y": 32128.96341426185 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "2f2a5820-b776-45fb-a251-285256ece7ef", + "savedPayload": { + "position": { + "x": 32188.527060233188, + "y": 32128.96341426185 + }, + "targetPosition": { + "x": 31942.93961582718, + "y": 31956.664815456967 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{\n \"fillProbability\": 1\n}", + "project": "Foundations", + "id": "18e27a93-a577-468a-b9c4-10a8885ea5b8", + "savedPayload": { + "position": { + "x": 32109.143470777606, + "y": 32485.489454834897 + }, + "targetPosition": { + "x": 31916.518374428695, + "y": 32255.49908056551 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "9591548f-dbb4-4d43-8787-cd72e894ecc6", + "savedPayload": { + "position": { + "x": 31863.675891631723, + "y": 32853.1676107826 + }, + "targetPosition": { + "x": 31890.09713303021, + "y": 32554.333345674055 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "46826e3f-9eb6-44f8-825a-a1551a8da331", + "savedPayload": { + "position": { + "x": 31890.09713303021, + "y": 32554.333345674055 + }, + "targetPosition": { + "x": 31916.518374428695, + "y": 32255.49908056551 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{\n \"percentage\": 0.1\n}", + "project": "Foundations", + "id": "6a3f6f52-3440-48a8-8f6c-a32556bd95e7", + "savedPayload": { + "position": { + "x": 31686.52800015931, + "y": 32448.12417691442 + }, + "targetPosition": { + "x": 31916.518374428695, + "y": 32255.49908056551 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "a337bd94-730a-4929-9ba9-265745b59aa5", + "savedPayload": { + "position": { + "x": 31916.518374428695, + "y": 32255.49908056551 + }, + "targetPosition": { + "x": 31942.93961582718, + "y": 31956.664815456967 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "03003ade-46b0-4251-b8aa-93b2cacf5a5f", + "savedPayload": { + "position": { + "x": 31942.93961582718, + "y": 31956.664815456967 + }, + "targetPosition": { + "x": 31816.40394952352, + "y": 31684.65612965247 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Sell Order #1", + "id": "8e404329-d41f-41e0-ad5a-c84ee1fa2604" + } + } + } + ], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "b5e62591-23b8-4247-98ac-3075cee5c716", + "savedPayload": { + "position": { + "x": 31816.40394952352, + "y": 31684.65612965247 + }, + "targetPosition": { + "x": 31689.868283219857, + "y": 31412.647443847975 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "76f601bf-607a-468f-8719-b4eaaf429b81", + "savedPayload": { + "position": { + "x": 31689.868283219857, + "y": 31412.647443847975 + }, + "targetPosition": { + "x": 31563.332616916196, + "y": 31140.63875804348 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "d7376b5c-e4c9-4c26-9901-d0588db9ad1e", + "savedPayload": { + "position": { + "x": 31827.998925374297, + "y": 31178.083137065216 + }, + "targetPosition": { + "x": 31459.617758765286, + "y": 30919.635238857893 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "b2171622-7c8b-45d8-98ef-f67f2e22bac0", + "savedPayload": { + "position": { + "x": 31459.617758765286, + "y": 30919.635238857893 + }, + "targetPosition": { + "x": 31034, + "y": 31065.75 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "8ace0ac9-0e49-47de-b3b8-65cdfaa0cc3f", + "savedPayload": { + "position": { + "x": 31034, + "y": 31065.75 + }, + "targetPosition": { + "x": 31034, + "y": 31065.75 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 4, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } +} \ No newline at end of file diff --git a/Projects/Portfolio-Management/Plugins/Portfolio-Systems/Masters-Lightning-Strike.json b/Projects/Portfolio-Management/Plugins/Portfolio-Systems/Masters-Lightning-Strike.json new file mode 100644 index 000000000..b1f9a0837 --- /dev/null +++ b/Projects/Portfolio-Management/Plugins/Portfolio-Systems/Masters-Lightning-Strike.json @@ -0,0 +1,3812 @@ +{ + "type": "Portfolio System", + "name": "Lightning Strike", + "config": "{\"codeName\":\"Masters-Lightning-Strike\"}", + "project": "Foundations", + "portfolioStrategies": [ + { + "type": "Portfolio Strategy", + "name": "My Portfolio Strategy", + "project": "Foundations", + "triggerStage": { + "type": "Trigger Stage", + "project": "Foundations", + "triggerOn": { + "type": "Trigger On Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "Inmediate Trigger On", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "e2ea7ded-2be1-43a3-a7fa-de3d9b8eeec4", + "savedPayload": { + "position": { + "x": 29614.345537114667, + "y": 29686.264363248512 + }, + "targetPosition": { + "x": 30059.096259318965, + "y": 29912.85964671243 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "e693623c-e11f-49e3-99da-1897c7a47563", + "savedPayload": { + "position": { + "x": 30059.096259318965, + "y": 29912.85964671243 + }, + "targetPosition": { + "x": 30503.948096117412, + "y": 30139.527093006473 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "9135663f-deeb-4b3f-8855-91750810a406", + "savedPayload": { + "position": { + "x": 30503.948096117412, + "y": 30139.527093006473 + }, + "targetPosition": { + "x": 30949.606420886405, + "y": 30366.48888962723 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "05f2f6b7-15ab-4386-a299-91a949de634e", + "savedPayload": { + "position": { + "x": 30949.606420886405, + "y": 30366.48888962723 + }, + "targetPosition": { + "x": 31395.222935590078, + "y": 30593.406010951592 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "triggerOff": { + "type": "Trigger Off Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "Never Trigger Off", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Close Above MA", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "false", + "project": "Foundations", + "id": "0eb59e3b-ccc8-4eab-a1f2-a7c8dea28949", + "savedPayload": { + "position": { + "x": 30777.836612408217, + "y": 28692.647426362768 + }, + "targetPosition": { + "x": 30932.059454816794, + "y": 29167.31041310742 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "31ab47dd-fe2d-47ac-9a77-08ec8beee068", + "savedPayload": { + "position": { + "x": 30932.059454816794, + "y": 29167.31041310742 + }, + "targetPosition": { + "x": 31086.31006690743, + "y": 29642.1636542021 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "fa93a965-e836-42b3-9784-79acda1468dd", + "savedPayload": { + "position": { + "x": 31086.31006690743, + "y": 29642.1636542021 + }, + "targetPosition": { + "x": 31240.740280232243, + "y": 30117.847206458973 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "8a46ebed-4ed4-4b70-882b-416ffa1b37f6", + "savedPayload": { + "position": { + "x": 31240.740280232243, + "y": 30117.847206458973 + }, + "targetPosition": { + "x": 31395.222935590078, + "y": 30593.406010951592 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "takePosition": { + "type": "Take Position Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "Inmediate Take Position", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "90dda64b-17fd-469c-8066-3855596795ab", + "savedPayload": { + "position": { + "x": 32310.303575265214, + "y": 28785.226973794255 + }, + "targetPosition": { + "x": 32083.882547130008, + "y": 29230.01160391372 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "4054a522-7863-4ac2-9eab-26db2a6f037f", + "savedPayload": { + "position": { + "x": 32083.882547130008, + "y": 29230.01160391372 + }, + "targetPosition": { + "x": 31848.83631252263, + "y": 29702.20922965271 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "0b8d71ab-6430-4e3f-840a-162745ab8d22", + "savedPayload": { + "position": { + "x": 31848.83631252263, + "y": 29702.20922965271 + }, + "targetPosition": { + "x": 31622.00489673196, + "y": 30147.8015863614 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "f8ca03db-0afa-4c98-abad-d9a5d17bdd36", + "savedPayload": { + "position": { + "x": 31622.00489673196, + "y": 30147.8015863614 + }, + "targetPosition": { + "x": 31395.222935590078, + "y": 30593.406010951592 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "a31576e1-6f47-4e02-8953-c863c79cf783", + "savedPayload": { + "position": { + "x": 31257.660610360945, + "y": 30783.509513979912 + }, + "targetPosition": { + "x": 31350.365708673427, + "y": 31068.826468868458 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "" + } + } + }, + "openStage": { + "type": "Open Stage", + "config": "{\n \"roundingErrorCorrectionFactor\": 1.01,\n \"absoluteDustInBaseAsset\": 0,\n \"absoluteDustInQuotedAsset\": 0\n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "Entry Target Rate", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "c9aada83-91b0-4b34-955a-858bd201b4e2", + "savedPayload": { + "position": { + "x": 32053.25964936278, + "y": 29325.41438209381 + }, + "targetPosition": { + "x": 32105.254754356094, + "y": 29821.797185559502 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "9158b840-9adc-4476-9137-72cc97037498", + "savedPayload": { + "position": { + "x": 32105.254754356094, + "y": 29821.797185559502 + }, + "targetPosition": { + "x": 32157.172363266734, + "y": 30317.794022937276 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInQuotedAsset": { + "type": "Target Size In Quoted Asset", + "name": "New Target Size In Quoted Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "Target Size in Quoted Asset", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value\n", + "project": "Foundations", + "id": "a1796525-0b97-4b83-bf89-6f084f69cae2", + "savedPayload": { + "position": { + "x": 32964.4235848001, + "y": 29730.818183696843 + }, + "targetPosition": { + "x": 32560.836858717368, + "y": 30024.266048044417 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "8ca6e0cd-15ac-4743-aed2-965ec3dff80c", + "savedPayload": { + "position": { + "x": 32560.836858717368, + "y": 30024.266048044417 + }, + "targetPosition": { + "x": 32157.172363266734, + "y": 30317.794022937276 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "a3827280-3a20-433b-a297-51994eb7198e", + "savedPayload": { + "position": { + "x": 31715.09179990865, + "y": 30618.427255887935 + }, + "targetPosition": { + "x": 31593.07080698591, + "y": 30892.490893180715 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openExecution": { + "type": "Open Execution", + "name": "New Open Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "Buy Orders", + "config": "{\n\"percentageOfStageTargetSize\": 100\n}", + "project": "Foundations", + "marketBuyOrders": [], + "marketSellOrders": [], + "limitBuyOrders": [ + { + "type": "Limit Buy Order", + "name": "Limit Buy", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": true\n}", + "project": "Foundations", + "orderRate": { + "type": "Order Rate", + "name": "New Order Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "chart.at01min.support.support4Rate", + "project": "Foundations", + "id": "d6637c4c-8cec-497e-83c5-2cce8375c193", + "savedPayload": { + "position": { + "x": 32788.14051281736, + "y": 30278.800033969157 + }, + "targetPosition": { + "x": 32638.140512817354, + "y": 30538.60765510449 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "3ff96eb6-5965-4f82-98d4-cd23bf8d0369", + "savedPayload": { + "position": { + "x": 32638.140512817354, + "y": 30538.60765510449 + }, + "targetPosition": { + "x": 32488.140512817354, + "y": 30798.415276239823 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Create Order Event", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "My Javascript Code", + "code": "true", + "project": "Foundations", + "id": "3c441caf-e674-475e-aa34-8cc028743089", + "savedPayload": { + "position": { + "x": 33584.395061988485, + "y": 30310.33130454887 + }, + "targetPosition": { + "x": 33310.3314246957, + "y": 30432.352297471607 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "4162428b-4e63-4529-87be-beac9ffc13f0", + "savedPayload": { + "position": { + "x": 33310.3314246957, + "y": 30432.352297471607 + }, + "targetPosition": { + "x": 33036.26778740292, + "y": 30554.373290394346 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "2395b55f-c4f9-478a-a20c-3a6ac69b9439", + "savedPayload": { + "position": { + "x": 33036.26778740292, + "y": 30554.373290394346 + }, + "targetPosition": { + "x": 32762.204150110134, + "y": 30676.394283317084 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "91a2d093-075b-443e-8d54-de0e50fdac61", + "savedPayload": { + "position": { + "x": 32762.204150110134, + "y": 30676.394283317084 + }, + "targetPosition": { + "x": 32488.140512817354, + "y": 30798.415276239823 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "cancelOrderEvent": { + "type": "Cancel Order Event", + "name": "New Cancel Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Cancel Order Event", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "My Javascript Code", + "code": "true", + "project": "Foundations", + "id": "98e8e55b-b65e-436d-9d98-2b7f1eef0119", + "savedPayload": { + "position": { + "x": 33661.91763369793, + "y": 31047.909305221132 + }, + "targetPosition": { + "x": 33368.473353477784, + "y": 30985.535797975805 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "70d79bb0-a78b-4d2e-b7ee-90335c1c7afb", + "savedPayload": { + "position": { + "x": 33368.473353477784, + "y": 30985.535797975805 + }, + "targetPosition": { + "x": 33075.02907325764, + "y": 30923.162290730477 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "cc2b8c5e-90d8-4017-8726-b27d696ab4ef", + "savedPayload": { + "position": { + "x": 33075.02907325764, + "y": 30923.162290730477 + }, + "targetPosition": { + "x": 32781.584793037495, + "y": 30860.78878348515 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "14564d4f-22a0-4c7c-be38-ad1323f3dcf8", + "savedPayload": { + "position": { + "x": 32781.584793037495, + "y": 30860.78878348515 + }, + "targetPosition": { + "x": 32488.140512817354, + "y": 30798.415276239823 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedExchangeEvents": { + "type": "Simulated Exchange Events", + "name": "New Simulated Exchange Events", + "project": "Foundations", + "simulatedPartialFill": { + "type": "Simulated Partial Fill", + "name": "New Simulated Partial Fill", + "config": "{ \n\"fillProbability\": 1\n}", + "project": "Foundations", + "id": "294c2555-7134-454e-bfcd-66ba4be59dfc", + "savedPayload": { + "position": { + "x": 32838.674124938196, + "y": 31029.209117319482 + }, + "targetPosition": { + "x": 32688.879694725012, + "y": 31021.35872388304 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedActualRate": { + "type": "Simulated Actual Rate", + "name": "New Simulated Actual Rate", + "project": "Foundations", + "id": "bc1381f8-3d46-45e9-830a-369628b699c4", + "savedPayload": { + "position": { + "x": 32789.24928567884, + "y": 31132.83044770465 + }, + "targetPosition": { + "x": 32688.879694725012, + "y": 31021.35872388304 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "simulatedFeesPaid": { + "type": "Simulated Fees Paid", + "name": "New Simulated Fees Paid", + "config": "{ \n\"percentage\": 0.1\n}", + "project": "Foundations", + "id": "b1020734-07c6-42e9-937b-c173acf381a6", + "savedPayload": { + "position": { + "x": 32681.02930128857, + "y": 31171.153154096228 + }, + "targetPosition": { + "x": 32688.879694725012, + "y": 31021.35872388304 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "1ecbcd0b-9822-4caa-aced-c6e38c33afb5", + "savedPayload": { + "position": { + "x": 32688.879694725012, + "y": 31021.35872388304 + }, + "targetPosition": { + "x": 32488.140512817354, + "y": 30798.415276239823 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "b278718b-6ff9-44b4-8c6d-acdad79aabb5", + "savedPayload": { + "position": { + "x": 32488.140512817354, + "y": 30798.415276239823 + }, + "targetPosition": { + "x": 32189.783944206873, + "y": 30829.77381522012 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Limit Order", + "name": "Limit Buy Order #1", + "id": "008e16b8-9487-4db3-81e1-d11c19a7f59e" + }, + "referenceParentCombinedNodePath": [ + [ + "Low-Frequency", + "Portfolio Engine", + "Foundations", + "eb20f622-71bf-4479-a574-d2320e1d4bd1" + ], + [ + "New Exchange Orders", + "Exchange Orders", + "Foundations", + "07f9794a-dea7-4075-bdea-00e4b90960a6" + ], + [ + "New Limit Buy Orders", + "Limit Buy Orders", + "Foundations", + "f8247166-0cc2-4b14-ba38-37795aa65d87" + ], + [ + "Limit Buy Order #1", + "Limit Order", + "Foundations", + "008e16b8-9487-4db3-81e1-d11c19a7f59e" + ] + ] + } + } + ], + "limitSellOrders": [], + "id": "e635ed9f-3c8c-45bf-8be0-e3836fa0844e", + "savedPayload": { + "position": { + "x": 32189.783944206873, + "y": 30829.77381522012 + }, + "targetPosition": { + "x": 31891.42737559639, + "y": 30861.132354200417 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "" + } + } + } + ], + "id": "6bdce67c-b2c2-40b6-940e-6c929d074e05", + "savedPayload": { + "position": { + "x": 31891.42737559639, + "y": 30861.132354200417 + }, + "targetPosition": { + "x": 31593.07080698591, + "y": 30892.490893180715 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "d2fc92c9-b2cc-4332-aad3-d82234f01bf4", + "savedPayload": { + "position": { + "x": 31593.07080698591, + "y": 30892.490893180715 + }, + "targetPosition": { + "x": 31350.365708673427, + "y": 31068.826468868458 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "manageStage": { + "type": "Manage Stage", + "project": "Foundations", + "managedStopLoss": { + "type": "Managed Stop Loss", + "name": "New Managed Stop Loss", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "Stop Loss Phase #1", + "code": "if (portfolioEngine.portfolioLast.limitOrders.orderName.value === 'Limit Buy') \n{ portfolioEngine.portfolioLast.limitOrders.rate.value } \nelse \n{ 0 }", + "project": "Foundations", + "id": "5b32bb95-b7be-427a-b448-bbc3f6c63275", + "savedPayload": { + "position": { + "x": 33444.873603041866, + "y": 31518.857444803754 + }, + "targetPosition": { + "x": 32948.375578616426, + "y": 31466.63871479898 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "b65f8638-f70a-45a4-9649-47d71ea1aa9d", + "savedPayload": { + "position": { + "x": 32948.375578616426, + "y": 31466.63871479898 + }, + "targetPosition": { + "x": 32451.11407091601, + "y": 31414.428076285833 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "8df55ed2-98c6-473e-8a09-0fd0f55af210", + "savedPayload": { + "position": { + "x": 32451.11407091601, + "y": 31414.428076285833 + }, + "targetPosition": { + "x": 31953.896472627435, + "y": 31362.35443300038 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "managedTakeProfit": { + "type": "Managed Take Profit", + "name": "New Managed Take Profit", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "chart.at01min.candle.close * 1.2", + "project": "Foundations", + "id": "bb6b732f-e20d-4945-a545-ff2826ec145e", + "savedPayload": { + "position": { + "x": 32563.556597032002, + "y": 32732.137344678427 + }, + "targetPosition": { + "x": 32360.50700259472, + "y": 32275.97597459398 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "d0d56645-d5b6-4b61-8970-b32163e23daa", + "savedPayload": { + "position": { + "x": 32360.50700259472, + "y": 32275.97597459398 + }, + "targetPosition": { + "x": 32157.15421564119, + "y": 31819.11996495485 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "6f5ed0dc-4133-473b-9095-cf809e6ca000", + "savedPayload": { + "position": { + "x": 32157.15421564119, + "y": 31819.11996495485 + }, + "targetPosition": { + "x": 31953.896472627435, + "y": 31362.35443300038 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "c44831c2-dacf-4853-b70a-69e5b4276dff", + "savedPayload": { + "position": { + "x": 31593.07080698591, + "y": 31245.1620445562 + }, + "targetPosition": { + "x": 31350.365708673427, + "y": 31068.826468868458 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeStage": { + "type": "Close Stage", + "config": "{\n \"roundingErrorCorrectionFactor\": 1.01,\n \"absoluteDustInBaseAsset\": 0,\n \"absoluteDustInQuotedAsset\": 0\n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "Target Rate Formula", + "code": "portfolioEngine.portfolioLast.limitOrders.orderStatistics.actualRate.value", + "project": "Foundations", + "id": "326c2266-7d3a-43ca-9847-e6a7ca93ddb5", + "savedPayload": { + "position": { + "x": 32167.009150921418, + "y": 32774.76069066403 + }, + "targetPosition": { + "x": 31833.11772863275, + "y": 32403.841913134645 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "9937bbc6-860d-4460-aca0-0bd2517b76e5", + "savedPayload": { + "position": { + "x": 31833.11772863275, + "y": 32403.841913134645 + }, + "targetPosition": { + "x": 31499.446363259507, + "y": 32033.184047213203 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInBaseAsset": { + "type": "Target Size In Base Asset", + "name": "New Target Size In Base Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value", + "project": "Foundations", + "id": "7400ed81-c264-4e91-b467-89acf86dfcf6", + "savedPayload": { + "position": { + "x": 31191.49857989301, + "y": 32982.804274555354 + }, + "targetPosition": { + "x": 31345.493266037513, + "y": 32508.024171062556 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "0e21ecb7-0090-478c-b439-48c1e6e79da1", + "savedPayload": { + "position": { + "x": 31345.493266037513, + "y": 32508.024171062556 + }, + "targetPosition": { + "x": 31499.446363259507, + "y": 32033.184047213203 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "5fe56eb2-92f0-407c-b400-4a19e748b5ec", + "savedPayload": { + "position": { + "x": 31320.034117606272, + "y": 31647.587703977144 + }, + "targetPosition": { + "x": 31257.660610360945, + "y": 31354.143423757003 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeExecution": { + "type": "Close Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "Race to Break Even", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [], + "marketSellOrders": [], + "limitBuyOrders": [], + "limitSellOrders": [ + { + "type": "Limit Sell Order", + "name": "Profit 0.6", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "orderRate": { + "type": "Order Rate", + "name": "New Order Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.exitTargetRate.value * 1.008", + "project": "Foundations", + "id": "53978d5a-9efe-43c9-8f90-33095de4527f", + "savedPayload": { + "position": { + "x": 32226.24344862895, + "y": 32521.60033154521 + }, + "targetPosition": { + "x": 31918.580903761293, + "y": 32374.483700063996 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "31dfa984-8378-49cc-8429-82245a6401b3", + "savedPayload": { + "position": { + "x": 31918.580903761293, + "y": 32374.483700063996 + }, + "targetPosition": { + "x": 31564.141897771595, + "y": 32205.051295419304 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "b090d786-eab4-4a8c-bd9d-9d453f3359fa", + "savedPayload": { + "position": { + "x": 32032.409742191638, + "y": 33529.5344583752 + }, + "targetPosition": { + "x": 31918.69998819087, + "y": 33207.89019774663 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "96e2f7c4-9eb8-4dfc-b186-793785812ffc", + "savedPayload": { + "position": { + "x": 31918.69998819087, + "y": 33207.89019774663 + }, + "targetPosition": { + "x": 31804.931900418153, + "y": 32886.072558189335 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "60b82e59-a9f8-414f-9483-c516518d8e8e", + "savedPayload": { + "position": { + "x": 31804.931900418153, + "y": 32886.072558189335 + }, + "targetPosition": { + "x": 31690.99884170641, + "y": 32563.844512411095 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "5837fa08-1862-4a07-a10d-c1a35cbca9df", + "savedPayload": { + "position": { + "x": 31690.99884170641, + "y": 32563.844512411095 + }, + "targetPosition": { + "x": 31564.141897771595, + "y": 32205.051295419304 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "cancelOrderEvent": { + "type": "Cancel Order Event", + "name": "New Cancel Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "portfolioEngine.exchangeOrders.limitSellOrders.limitOrders[6].orderCounters.periods.value >= 2", + "project": "Foundations", + "id": "1362c6f6-45e3-4bcf-9d07-2138493dd413", + "savedPayload": { + "position": { + "x": 30958.927095784515, + "y": 33473.47243930165 + }, + "targetPosition": { + "x": 31106.01383128465, + "y": 33165.04035704302 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "a" + } + } + }, + "id": "89d67597-c113-4e7e-94ee-03f4e8c69c19", + "savedPayload": { + "position": { + "x": 31106.01383128465, + "y": 33165.04035704302 + }, + "targetPosition": { + "x": 31252.963121046443, + "y": 32856.99049940381 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "acb050f9-35d5-400a-a5f5-8810c1fa9df5", + "savedPayload": { + "position": { + "x": 31252.963121046443, + "y": 32856.99049940381 + }, + "targetPosition": { + "x": 31400.100329616864, + "y": 32548.745011836843 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "2dbc0df0-6c1c-4e5d-bbd0-3b1893706a93", + "savedPayload": { + "position": { + "x": 31400.100329616864, + "y": 32548.745011836843 + }, + "targetPosition": { + "x": 31564.141897771595, + "y": 32205.051295419304 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "b80fe127-d306-4fc1-a3a8-95bf88de046f", + "savedPayload": { + "position": { + "x": 30911.91577284464, + "y": 32038.414234899974 + }, + "targetPosition": { + "x": 30811.77371507451, + "y": 31755.62178757232 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Limit Order", + "name": "Limit Sell Order #7", + "id": "5bfce673-ceb2-4104-bd7e-75d62453164e" + }, + "referenceParentCombinedNodePath": [ + [ + "Low-Frequency", + "Portfolio Engine", + "Foundations", + "eb20f622-71bf-4479-a574-d2320e1d4bd1" + ], + [ + "New Exchange Orders", + "Exchange Orders", + "Foundations", + "07f9794a-dea7-4075-bdea-00e4b90960a6" + ], + [ + "New Limit Sell Orders", + "Limit Sell Orders", + "Foundations", + "1b0f368b-51b9-4c61-9c7b-b0b308cf7ba9" + ], + [ + "Limit Sell Order #7", + "Limit Order", + "Foundations", + "5bfce673-ceb2-4104-bd7e-75d62453164e" + ] + ] + } + }, + { + "type": "Limit Sell Order", + "name": "Profit 0.5", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "orderRate": { + "type": "Order Rate", + "name": "New Order Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.exitTargetRate.value * 1.007", + "project": "Foundations", + "id": "4df6dc0e-887a-4627-9fd1-75926327eb09", + "savedPayload": { + "position": { + "x": 31947.37163445384, + "y": 32796.64795817013 + }, + "targetPosition": { + "x": 31719.240148699042, + "y": 32542.971660415038 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "8306171d-b7d4-4b7f-a5c5-2bc320581a55", + "savedPayload": { + "position": { + "x": 31719.240148699042, + "y": 32542.971660415038 + }, + "targetPosition": { + "x": 31432.347172201655, + "y": 32223.99431482714 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "portfolioEngine.portfolioLast.limitOrders.orderName.value === 'Profit 0.6'", + "project": "Foundations", + "id": "b5c796b8-6da7-4e15-9063-7b778a6f92e7", + "savedPayload": { + "position": { + "x": 31358.28385683019, + "y": 33648.324339075916 + }, + "targetPosition": { + "x": 31376.031980643544, + "y": 33307.64979540346 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "4e968238-bb89-4633-8840-17a3eee97127", + "savedPayload": { + "position": { + "x": 31376.031980643544, + "y": 33307.64979540346 + }, + "targetPosition": { + "x": 31393.818371948895, + "y": 32965.93872675965 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "b6f8f8a7-6201-40b8-85ef-f566d24f6f41", + "savedPayload": { + "position": { + "x": 31393.818371948895, + "y": 32965.93872675965 + }, + "targetPosition": { + "x": 31411.499076037275, + "y": 32625.314162567658 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "f2509852-f910-40aa-9786-4858a185755b", + "savedPayload": { + "position": { + "x": 31411.499076037275, + "y": 32625.314162567658 + }, + "targetPosition": { + "x": 31432.347172201655, + "y": 32223.99431482714 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "cancelOrderEvent": { + "type": "Cancel Order Event", + "name": "New Cancel Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "code": "chart.at24hs.candlesProbability.begin > chart.at24hs.candlesProbability.begin", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "portfolioEngine.exchangeOrders.limitSellOrders.limitOrders[5].orderCounters.periods.value >= 2", + "project": "Foundations", + "id": "30d37563-9245-4814-a2d2-e81566fdfafb", + "savedPayload": { + "position": { + "x": 30372.482740223073, + "y": 33177.940874522115 + }, + "targetPosition": { + "x": 30625.795367545423, + "y": 32949.88705388291 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "7572eda9-8711-454e-abd3-ee9f4bae2a60", + "savedPayload": { + "position": { + "x": 30625.795367545423, + "y": 32949.88705388291 + }, + "targetPosition": { + "x": 30879.6529831055, + "y": 32721.382337493917 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "fc3d3165-f40a-4224-aea1-8b7c55c29468", + "savedPayload": { + "position": { + "x": 30879.6529831055, + "y": 32721.382337493917 + }, + "targetPosition": { + "x": 31133.8800353613, + "y": 32492.629327210394 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "036b27b4-55f7-4f1b-80cc-914950ce3016", + "savedPayload": { + "position": { + "x": 31133.8800353613, + "y": 32492.629327210394 + }, + "targetPosition": { + "x": 31432.347172201655, + "y": 32223.99431482714 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "8a730b1e-e8d8-4ca0-9342-e58b27b3c0a2", + "savedPayload": { + "position": { + "x": 30796.072928201625, + "y": 32055.21064799869 + }, + "targetPosition": { + "x": 30811.77371507451, + "y": 31755.62178757232 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Limit Order", + "name": "Limit Sell Order #6", + "id": "90d28d1e-6fd2-4a83-a423-3f34bf455004" + }, + "referenceParentCombinedNodePath": [ + [ + "Low-Frequency", + "Portfolio Engine", + "Foundations", + "eb20f622-71bf-4479-a574-d2320e1d4bd1" + ], + [ + "New Exchange Orders", + "Exchange Orders", + "Foundations", + "07f9794a-dea7-4075-bdea-00e4b90960a6" + ], + [ + "New Limit Sell Orders", + "Limit Sell Orders", + "Foundations", + "1b0f368b-51b9-4c61-9c7b-b0b308cf7ba9" + ], + [ + "Limit Sell Order #6", + "Limit Order", + "Foundations", + "90d28d1e-6fd2-4a83-a423-3f34bf455004" + ] + ] + } + }, + { + "type": "Limit Sell Order", + "name": "Profit 0.4", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "orderRate": { + "type": "Order Rate", + "name": "New Order Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.exitTargetRate.value * 1.006", + "project": "Foundations", + "id": "8cffe4c6-a60c-442c-9c67-27860832bdff", + "savedPayload": { + "position": { + "x": 31548.211316179266, + "y": 32884.3188231011 + }, + "targetPosition": { + "x": 31434.14584043107, + "y": 32561.8039580411 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "882824fb-0d18-4c48-8cb1-c60fb9b2e4b3", + "savedPayload": { + "position": { + "x": 31434.14584043107, + "y": 32561.8039580411 + }, + "targetPosition": { + "x": 31303.2875129115, + "y": 32191.75354170856 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "portfolioEngine.portfolioLast.limitOrders.orderName.value === 'Profit 0.5'", + "project": "Foundations", + "id": "546d2700-547f-4fbc-b8cc-5b73a97ab69d", + "savedPayload": { + "position": { + "x": 30698.91354794959, + "y": 33460.255204806424 + }, + "targetPosition": { + "x": 30845.804325899364, + "y": 33152.102822068424 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "631f4eaa-9716-46e5-9022-a0f00231e34c", + "savedPayload": { + "position": { + "x": 30845.804325899364, + "y": 33152.102822068424 + }, + "targetPosition": { + "x": 30992.681324142817, + "y": 32843.90636057539 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "aec594bc-6efe-4273-971e-0112bc46ec2b", + "savedPayload": { + "position": { + "x": 30992.681324142817, + "y": 32843.90636057539 + }, + "targetPosition": { + "x": 31139.538817171982, + "y": 32535.584162567917 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "029f599b-b17f-4851-88d7-9c80b1662af5", + "savedPayload": { + "position": { + "x": 31139.538817171982, + "y": 32535.584162567917 + }, + "targetPosition": { + "x": 31303.2875129115, + "y": 32191.75354170856 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "cancelOrderEvent": { + "type": "Cancel Order Event", + "name": "New Cancel Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "portfolioEngine.exchangeOrders.limitSellOrders.limitOrders[4].orderCounters.periods.value >= 2", + "project": "Foundations", + "id": "5e1a76ec-7ab1-47d5-8f65-9e2aed7e5526", + "savedPayload": { + "position": { + "x": 29978.74115806557, + "y": 32660.46628851325 + }, + "targetPosition": { + "x": 30300.284766726683, + "y": 32546.66880793689 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "a8091739-137a-4ba3-9427-02c44396d1c5", + "savedPayload": { + "position": { + "x": 30300.284766726683, + "y": 32546.66880793689 + }, + "targetPosition": { + "x": 30622.20537803662, + "y": 32432.751604891397 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "6e36cc24-a86d-4889-a57f-de80068d33f0", + "savedPayload": { + "position": { + "x": 30622.20537803662, + "y": 32432.751604891397 + }, + "targetPosition": { + "x": 30944.328943839944, + "y": 32318.81007283237 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "07757b18-bb3e-45f5-8ae6-a635b479e703", + "savedPayload": { + "position": { + "x": 30944.328943839944, + "y": 32318.81007283237 + }, + "targetPosition": { + "x": 31303.2875129115, + "y": 32191.75354170856 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "e065f375-4663-45f0-8d7a-e5eee5d90cb4", + "savedPayload": { + "position": { + "x": 30682.62038603202, + "y": 32026.397372877276 + }, + "targetPosition": { + "x": 30811.77371507451, + "y": 31755.62178757232 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Limit Order", + "name": "Limit Sell Order #5", + "id": "3c44b04d-6b6b-4278-ba85-898b1f12cdfa" + }, + "referenceParentCombinedNodePath": [ + [ + "Low-Frequency", + "Portfolio Engine", + "Foundations", + "eb20f622-71bf-4479-a574-d2320e1d4bd1" + ], + [ + "New Exchange Orders", + "Exchange Orders", + "Foundations", + "07f9794a-dea7-4075-bdea-00e4b90960a6" + ], + [ + "New Limit Sell Orders", + "Limit Sell Orders", + "Foundations", + "1b0f368b-51b9-4c61-9c7b-b0b308cf7ba9" + ], + [ + "Limit Sell Order #5", + "Limit Order", + "Foundations", + "3c44b04d-6b6b-4278-ba85-898b1f12cdfa" + ] + ] + } + }, + { + "type": "Limit Sell Order", + "name": "Profit 0.3", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "orderRate": { + "type": "Order Rate", + "name": "New Order Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.exitTargetRate.value * 1.005", + "project": "Foundations", + "id": "ed5df221-812e-47e0-8ee5-34cee0346cea", + "savedPayload": { + "position": { + "x": 31158.51909517061, + "y": 32845.503086253884 + }, + "targetPosition": { + "x": 31176.200927774764, + "y": 32504.417103149208 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "5673a468-77ac-4312-a1b1-ea5e9d070988", + "savedPayload": { + "position": { + "x": 31176.200927774764, + "y": 32504.417103149208 + }, + "targetPosition": { + "x": 31196.59695497345, + "y": 32112.128743916008 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "portfolioEngine.portfolioLast.limitOrders.orderName.value === 'Profit 0.4'", + "project": "Foundations", + "id": "fcd99b77-0333-4105-950d-eb03ffc2129e", + "savedPayload": { + "position": { + "x": 30152.725744553733, + "y": 33052.75239234119 + }, + "targetPosition": { + "x": 30406.488540719874, + "y": 32824.21747384216 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "b5c038b2-15ae-450f-8f86-242e2402257d", + "savedPayload": { + "position": { + "x": 30406.488540719874, + "y": 32824.21747384216 + }, + "targetPosition": { + "x": 30660.172033357696, + "y": 32595.691911189846 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "12e843fe-9a85-4300-b4e5-097af10db775", + "savedPayload": { + "position": { + "x": 30660.172033357696, + "y": 32595.691911189846 + }, + "targetPosition": { + "x": 30913.885231247605, + "y": 32367.015684571852 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "c9610e5d-0cb9-426a-af86-f7bfdb230d7b", + "savedPayload": { + "position": { + "x": 30913.885231247605, + "y": 32367.015684571852 + }, + "targetPosition": { + "x": 31196.59695497345, + "y": 32112.128743916008 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "cancelOrderEvent": { + "type": "Cancel Order Event", + "name": "New Cancel Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "code": "chart.at24hs.candlesProbability.begin > chart.at24hs.candlesProbability.begin", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "portfolioEngine.exchangeOrders.limitSellOrders.limitOrders[3].orderCounters.periods.value >= 2", + "project": "Foundations", + "id": "ed52c351-2965-4e4d-916e-0d882efc332e", + "savedPayload": { + "position": { + "x": 29792.987109898088, + "y": 32039.510992700474 + }, + "targetPosition": { + "x": 30134.076625253387, + "y": 32057.1605228485 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "675c8f52-d97a-4afc-a2e4-bedcd501662f", + "savedPayload": { + "position": { + "x": 30134.076625253387, + "y": 32057.1605228485 + }, + "targetPosition": { + "x": 30475.158219884866, + "y": 32074.806729858356 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "c9155dd9-9e2c-4254-8d2c-63d9c32e40eb", + "savedPayload": { + "position": { + "x": 30475.158219884866, + "y": 32074.806729858356 + }, + "targetPosition": { + "x": 30816.453195252943, + "y": 32092.489815598798 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "cbf59193-c567-4b58-a83c-d9871204a520", + "savedPayload": { + "position": { + "x": 30816.453195252943, + "y": 32092.489815598798 + }, + "targetPosition": { + "x": 31196.59695497345, + "y": 32112.128743916008 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "e8cb9d8f-6e16-4b5c-a5e4-141f2047ce19", + "savedPayload": { + "position": { + "x": 30588.83026743129, + "y": 31956.360969479978 + }, + "targetPosition": { + "x": 30811.77371507451, + "y": 31755.62178757232 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Limit Order", + "name": "Limit Sell Order #4", + "id": "7fb716f8-8bba-4c0d-8df3-69a7bc9ae317" + }, + "referenceParentCombinedNodePath": [ + [ + "Low-Frequency", + "Portfolio Engine", + "Foundations", + "eb20f622-71bf-4479-a574-d2320e1d4bd1" + ], + [ + "New Exchange Orders", + "Exchange Orders", + "Foundations", + "07f9794a-dea7-4075-bdea-00e4b90960a6" + ], + [ + "New Limit Sell Orders", + "Limit Sell Orders", + "Foundations", + "1b0f368b-51b9-4c61-9c7b-b0b308cf7ba9" + ], + [ + "Limit Sell Order #4", + "Limit Order", + "Foundations", + "7fb716f8-8bba-4c0d-8df3-69a7bc9ae317" + ] + ] + } + }, + { + "type": "Limit Sell Order", + "name": "Profit 0.2", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "orderRate": { + "type": "Order Rate", + "name": "New Order Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.exitTargetRate.value * 1.004", + "project": "Foundations", + "id": "25c6516a-f1d9-461f-b012-6d5524320da9", + "savedPayload": { + "position": { + "x": 30812.844113213963, + "y": 32660.515782967275 + }, + "targetPosition": { + "x": 30959.53074678532, + "y": 32352.53074093093 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "29b9bd1b-a6e8-4a75-9df9-527db78c0e7b", + "savedPayload": { + "position": { + "x": 30959.53074678532, + "y": 32352.53074093093 + }, + "targetPosition": { + "x": 31128.56779071538, + "y": 31997.713635987035 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "portfolioEngine.portfolioLast.limitOrders.orderName.value === 'Profit 0.3'", + "project": "Foundations", + "id": "a0b1e36b-640d-4ec8-96ea-d26597b61e8e", + "savedPayload": { + "position": { + "x": 29804.352197392087, + "y": 32467.148920498068 + }, + "targetPosition": { + "x": 30125.907001830434, + "y": 32353.29092736564 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "dab80166-691d-47b6-964a-76df68e98c42", + "savedPayload": { + "position": { + "x": 30125.907001830434, + "y": 32353.29092736564 + }, + "targetPosition": { + "x": 30447.758596062507, + "y": 32239.26264579912 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "97061747-71e5-4abe-b339-30e3fd35519f", + "savedPayload": { + "position": { + "x": 30447.758596062507, + "y": 32239.26264579912 + }, + "targetPosition": { + "x": 30769.840994373364, + "y": 32125.03172804365 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "998dc335-6c8b-4559-9bbd-8c73bc5844da", + "savedPayload": { + "position": { + "x": 30769.840994373364, + "y": 32125.03172804365 + }, + "targetPosition": { + "x": 31128.56779071538, + "y": 31997.713635987035 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "cancelOrderEvent": { + "type": "Cancel Order Event", + "name": "New Cancel Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "portfolioEngine.exchangeOrders.limitSellOrders.limitOrders[2].orderCounters.periods.value >= 2", + "project": "Foundations", + "id": "54de11dd-16f2-4c11-b530-c9b1bcb8a3de", + "savedPayload": { + "position": { + "x": 29860.13313779977, + "y": 31393.81865287888 + }, + "targetPosition": { + "x": 30168.101886767312, + "y": 31540.460555517115 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "77ebec63-371b-40c5-9aa7-4779d885b269", + "savedPayload": { + "position": { + "x": 30168.101886767312, + "y": 31540.460555517115 + }, + "targetPosition": { + "x": 30476.55684009257, + "y": 31687.305773593755 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "34f00d60-b8aa-4eda-8276-5bbaa3d6d4ea", + "savedPayload": { + "position": { + "x": 30476.55684009257, + "y": 31687.305773593755 + }, + "targetPosition": { + "x": 30784.72831837753, + "y": 31834.035325805817 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "431cdafe-93a5-4647-8ea4-89fd44d9abf0", + "savedPayload": { + "position": { + "x": 30784.72831837753, + "y": 31834.035325805817 + }, + "targetPosition": { + "x": 31128.56779071538, + "y": 31997.713635987035 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "5d13da4a-9bdf-44f9-8e7b-ca05423ce0a4", + "savedPayload": { + "position": { + "x": 30528.981267746854, + "y": 31855.76384534245 + }, + "targetPosition": { + "x": 30811.77371507451, + "y": 31755.62178757232 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Limit Order", + "name": "Limit Sell Order #3", + "id": "a5d970bf-0f85-4546-9c4a-a0a113e7ea04" + }, + "referenceParentCombinedNodePath": [ + [ + "Low-Frequency", + "Portfolio Engine", + "Foundations", + "eb20f622-71bf-4479-a574-d2320e1d4bd1" + ], + [ + "New Exchange Orders", + "Exchange Orders", + "Foundations", + "07f9794a-dea7-4075-bdea-00e4b90960a6" + ], + [ + "New Limit Sell Orders", + "Limit Sell Orders", + "Foundations", + "1b0f368b-51b9-4c61-9c7b-b0b308cf7ba9" + ], + [ + "Limit Sell Order #3", + "Limit Order", + "Foundations", + "a5d970bf-0f85-4546-9c4a-a0a113e7ea04" + ] + ] + } + }, + { + "type": "Limit Sell Order", + "name": "Profit 0.1", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "orderRate": { + "type": "Order Rate", + "name": "New Order Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.exitTargetRate.value * 1.003", + "project": "Foundations", + "id": "f6a2eda5-75a8-4305-961d-9a1c52b1d837", + "savedPayload": { + "position": { + "x": 30563.86379158337, + "y": 32357.928426319493 + }, + "targetPosition": { + "x": 30817.764150040988, + "y": 32129.07671568887 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "66b3fe34-fe06-408f-8181-fc696710c2a9", + "savedPayload": { + "position": { + "x": 30817.764150040988, + "y": 32129.07671568887 + }, + "targetPosition": { + "x": 31109.46893109646, + "y": 31866.147179757805 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "portfolioEngine.portfolioLast.limitOrders.orderName.value === 'Profit 0.2'", + "project": "Foundations", + "id": "f0c458d6-d23f-48c4-9156-593429089f97", + "savedPayload": { + "position": { + "x": 29706.07733211601, + "y": 31794.350114796194 + }, + "targetPosition": { + "x": 30046.822904391942, + "y": 31811.930465798825 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "488d1160-ae61-45c0-b295-b533b38bbeb5", + "savedPayload": { + "position": { + "x": 30046.822904391942, + "y": 31811.930465798825 + }, + "targetPosition": { + "x": 30388.054151700322, + "y": 31829.45673824515 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "c296ade6-4a0b-40d3-8ace-f02649f96da5", + "savedPayload": { + "position": { + "x": 30388.054151700322, + "y": 31829.45673824515 + }, + "targetPosition": { + "x": 30729.190154471245, + "y": 31846.83685937668 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "8182ab58-4809-48ee-a481-06a6954dc89f", + "savedPayload": { + "position": { + "x": 30729.190154471245, + "y": 31846.83685937668 + }, + "targetPosition": { + "x": 31109.46893109646, + "y": 31866.147179757805 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "cancelOrderEvent": { + "type": "Cancel Order Event", + "name": "New Cancel Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "portfolioEngine.exchangeOrders.limitSellOrders.limitOrders[1].orderCounters.periods.value >= 2", + "project": "Foundations", + "id": "d255fc7b-cb37-471b-8fed-9031a1170765", + "savedPayload": { + "position": { + "x": 30168.560326628227, + "y": 30822.8882995854 + }, + "targetPosition": { + "x": 30397.233735642047, + "y": 31076.474377012506 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "317e867c-c4a0-48db-9bdf-75d5225f22bc", + "savedPayload": { + "position": { + "x": 30397.233735642047, + "y": 31076.474377012506 + }, + "targetPosition": { + "x": 30625.747747545884, + "y": 31329.828001166636 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "c287f36d-074b-498c-ad12-be1bf473be63", + "savedPayload": { + "position": { + "x": 30625.747747545884, + "y": 31329.828001166636 + }, + "targetPosition": { + "x": 30854.509315754025, + "y": 31583.427362495073 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "7c575bbe-7429-4167-aba5-e7a3b59bd958", + "savedPayload": { + "position": { + "x": 30854.509315754025, + "y": 31583.427362495073 + }, + "targetPosition": { + "x": 31109.46893109646, + "y": 31866.147179757805 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "de750ccf-154f-4495-a9fd-cee163cccf66", + "savedPayload": { + "position": { + "x": 30512.184854648138, + "y": 31739.921000699436 + }, + "targetPosition": { + "x": 30811.77371507451, + "y": 31755.62178757232 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Limit Order", + "name": "Limit Sell Order #2", + "id": "e133f5d4-034b-4333-9ea4-a6b52183476e" + }, + "referenceParentCombinedNodePath": [ + [ + "Low-Frequency", + "Portfolio Engine", + "Foundations", + "eb20f622-71bf-4479-a574-d2320e1d4bd1" + ], + [ + "New Exchange Orders", + "Exchange Orders", + "Foundations", + "07f9794a-dea7-4075-bdea-00e4b90960a6" + ], + [ + "New Limit Sell Orders", + "Limit Sell Orders", + "Foundations", + "1b0f368b-51b9-4c61-9c7b-b0b308cf7ba9" + ], + [ + "Limit Sell Order #2", + "Limit Order", + "Foundations", + "e133f5d4-034b-4333-9ea4-a6b52183476e" + ] + ] + } + }, + { + "type": "Limit Sell Order", + "name": "Profit 0.0", + "config": "{\n\"percentageOfAlgorithmSize\": 100, \n\"spawnMultipleOrders\": false \n}", + "project": "Foundations", + "orderRate": { + "type": "Order Rate", + "name": "New Order Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.exitTargetRate.value * 1.002", + "project": "Foundations", + "id": "9344ebf6-3efa-4904-a952-d2dbb1b0ead1", + "savedPayload": { + "position": { + "x": 30410.26963417929, + "y": 31794.68065670642 + }, + "targetPosition": { + "x": 30750.566814320024, + "y": 31767.794674652483 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "ef824607-7571-4f06-84d6-ce4e97e4cc62", + "savedPayload": { + "position": { + "x": 30750.566814320024, + "y": 31767.794674652483 + }, + "targetPosition": { + "x": 31142.128049335588, + "y": 31736.808105691816 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "portfolioEngine.portfolioLast.limitOrders.orderName.value === 'Profit 0.1'", + "project": "Foundations", + "id": "91c9b7c1-1250-450e-b7b3-b5b5bf4abd77", + "savedPayload": { + "position": { + "x": 30344.95885407582, + "y": 30580.386880577542 + }, + "targetPosition": { + "x": 30538.406108295792, + "y": 30861.274297492913 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "cb5f3c82-b13e-4edb-a738-89f653250d56", + "savedPayload": { + "position": { + "x": 30538.406108295792, + "y": 30861.274297492913 + }, + "targetPosition": { + "x": 30732.145253834915, + "y": 31142.449256664135 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "ff70b3ad-19b0-4be5-bf58-f3b9253ac170", + "savedPayload": { + "position": { + "x": 30732.145253834915, + "y": 31142.449256664135 + }, + "targetPosition": { + "x": 30926.169212353423, + "y": 31423.65588284892 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "5658a835-b46f-40c4-a7c1-5d5d6f10b95b", + "savedPayload": { + "position": { + "x": 30926.169212353423, + "y": 31423.65588284892 + }, + "targetPosition": { + "x": 31142.128049335588, + "y": 31736.808105691816 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "c077f171-dabc-49e6-8956-3e1144a0b0ef", + "savedPayload": { + "position": { + "x": 30540.998129769552, + "y": 31626.46845852983 + }, + "targetPosition": { + "x": 30811.77371507451, + "y": 31755.62178757232 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Limit Order", + "name": "Limit Sell Order #1", + "id": "929c1c8c-1964-4495-991c-0a516f1e9ba0" + }, + "referenceParentCombinedNodePath": [ + [ + "Low-Frequency", + "Portfolio Engine", + "Foundations", + "eb20f622-71bf-4479-a574-d2320e1d4bd1" + ], + [ + "New Exchange Orders", + "Exchange Orders", + "Foundations", + "07f9794a-dea7-4075-bdea-00e4b90960a6" + ], + [ + "New Limit Sell Orders", + "Limit Sell Orders", + "Foundations", + "1b0f368b-51b9-4c61-9c7b-b0b308cf7ba9" + ], + [ + "Limit Sell Order #1", + "Limit Order", + "Foundations", + "929c1c8c-1964-4495-991c-0a516f1e9ba0" + ] + ] + } + } + ], + "id": "0fe764ce-3312-4964-9841-b55500e3f80a", + "savedPayload": { + "position": { + "x": 30811.77371507451, + "y": 31755.62178757232 + }, + "targetPosition": { + "x": 31034.717162717727, + "y": 31554.88260566466 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "33993524-848d-4d57-a503-075c5df4a31b", + "savedPayload": { + "position": { + "x": 31034.717162717727, + "y": 31554.88260566466 + }, + "targetPosition": { + "x": 31257.660610360945, + "y": 31354.143423757003 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "f4d8925b-697e-4f52-ad2e-d368780739d0", + "savedPayload": { + "position": { + "x": 31257.660610360945, + "y": 31354.143423757003 + }, + "targetPosition": { + "x": 31350.365708673427, + "y": 31068.826468868458 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "711041eb-3055-4611-b64f-570363bae854", + "savedPayload": { + "position": { + "x": 31350.365708673427, + "y": 31068.826468868458 + }, + "targetPosition": { + "x": 31050.365708673427, + "y": 31068.826468868458 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "628b758d-ffff-445f-9d4f-8aa480a13db3", + "savedPayload": { + "position": { + "x": 31050.365708673427, + "y": 31068.826468868458 + }, + "targetPosition": { + "x": 31050.365708673427, + "y": 31068.826468868458 + }, + "floatingObject": { + "isPinned": true, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "" + } + } +} \ No newline at end of file diff --git a/Projects/Portfolio-Management/Plugins/Portfolio-Systems/Sparta-WHB-BTC-USDT.json b/Projects/Portfolio-Management/Plugins/Portfolio-Systems/Sparta-WHB-BTC-USDT.json new file mode 100644 index 000000000..cf87e0f5e --- /dev/null +++ b/Projects/Portfolio-Management/Plugins/Portfolio-Systems/Sparta-WHB-BTC-USDT.json @@ -0,0 +1,9413 @@ +{ + "type": "Portfolio System", + "name": "WHB v2", + "config": "{\"codeName\":\"Sparta-WHB-BTC-USDT\"}", + "project": "Foundations", + "portfolioStrategies": [ + { + "type": "Portfolio Strategy", + "name": "Steep", + "project": "Foundations", + "triggerStage": { + "type": "Trigger Stage", + "project": "Foundations", + "triggerOn": { + "type": "Trigger On Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "Steep", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "3 Closes Below MA", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage && \nchart.at01hs.candle.previous.close < chart.at01hs.bollingerBand.previous.movingAverage && \nchart.at01hs.candle.previous.previous.close < chart.at01hs.bollingerBand.previous.previous.movingAverage", + "project": "Foundations", + "id": "123b1af6-9639-4b6d-a4c3-7a8a9287169c", + "savedPayload": { + "position": { + "x": 31005.05379151858, + "y": 28880.31625586885 + }, + "targetPosition": { + "x": 31170.703378725375, + "y": 28912.515273838642 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "427da1e1-cc4a-4c78-88f6-c254d87cc88f", + "savedPayload": { + "position": { + "x": 31170.703378725375, + "y": 28912.515273838642 + }, + "targetPosition": { + "x": 31502.002553138962, + "y": 28976.913309778225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "Breakdown", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.deviation", + "project": "Foundations", + "id": "1b9e755e-eefe-4b0d-addd-1e19b6a597b6", + "savedPayload": { + "position": { + "x": 31068.061607158517, + "y": 28716.17528435501 + }, + "targetPosition": { + "x": 31212.708589152, + "y": 28803.087959496082 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "55bf7721-7fb2-42f0-8a3c-c2b97e278a29", + "savedPayload": { + "position": { + "x": 31212.708589152, + "y": 28803.087959496082 + }, + "targetPosition": { + "x": 31502.002553138962, + "y": 28976.913309778225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "2H Down", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at02hs.bollingerChannel.direction === \"Down\"", + "project": "Foundations", + "id": "e8db5fac-2f00-47fe-ac57-dc93ad15f2b5", + "savedPayload": { + "position": { + "x": 31183.40910516998, + "y": 28583.483166790633 + }, + "targetPosition": { + "x": 31289.60692115964, + "y": 28714.626547786498 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "11e00b31-e7eb-4fe9-b006-dcd640dbbd3b", + "savedPayload": { + "position": { + "x": 31289.60692115964, + "y": 28714.626547786498 + }, + "targetPosition": { + "x": 31502.002553138962, + "y": 28976.913309778225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "Deviation > 200", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.bollingerBand.deviation > 200", + "project": "Foundations", + "id": "7671ca91-4b4c-40c5-b0c2-199169b013e8", + "savedPayload": { + "position": { + "x": 31337.183674945023, + "y": 28498.24453088107 + }, + "targetPosition": { + "x": 31392.12330100967, + "y": 28657.800790513455 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "dd938286-61b3-41e4-bfbb-db34971ffa47", + "savedPayload": { + "position": { + "x": 31392.12330100967, + "y": 28657.800790513455 + }, + "targetPosition": { + "x": 31502.002553138962, + "y": 28976.913309778225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "Candle Size < 750", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.candle.max - chart.at01hs.candle.min < 750", + "project": "Foundations", + "id": "19b7edeb-b180-429f-9adf-61bf47262033", + "savedPayload": { + "position": { + "x": 31510.837833897836, + "y": 28470.7404141053 + }, + "targetPosition": { + "x": 31507.892740311545, + "y": 28639.464712662942 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "8f94ab97-1574-4136-9404-b66dfc1e3b9f", + "savedPayload": { + "position": { + "x": 31507.892740311545, + "y": 28639.464712662942 + }, + "targetPosition": { + "x": 31502.002553138962, + "y": 28976.913309778225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "Deviation < 1000", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.bollingerBand.deviation < 1000", + "project": "Foundations", + "id": "0aa38939-f2ef-4c2b-bfc1-a45bda2ac50e", + "savedPayload": { + "position": { + "x": 31683.426327596266, + "y": 28504.288218864018 + }, + "targetPosition": { + "x": 31622.951736110503, + "y": 28661.82991583542 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "0b2efc27-4aa5-472c-bb7a-73fc3796cc0e", + "savedPayload": { + "position": { + "x": 31622.951736110503, + "y": 28661.82991583542 + }, + "targetPosition": { + "x": 31502.002553138962, + "y": 28976.913309778225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "Not Completly Oversold", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at02hs.percentageBandwidth.movingAverage >= 30 || \nchart.at03hs.percentageBandwidth.movingAverage >= 30 || \nchart.at04hs.percentageBandwidth.movingAverage >= 30 || \nchart.at06hs.percentageBandwidth.movingAverage >= 30 || \nchart.at08hs.percentageBandwidth.movingAverage >= 30", + "project": "Foundations", + "id": "8f02c79c-1807-42ce-a9e8-e707ec73e9e4", + "savedPayload": { + "position": { + "x": 31834.132436565407, + "y": 28594.841584790447 + }, + "targetPosition": { + "x": 31723.422475423256, + "y": 28722.19882645304 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "0ff24392-a128-4d59-8049-301e99ce941e", + "savedPayload": { + "position": { + "x": 31723.422475423256, + "y": 28722.19882645304 + }, + "targetPosition": { + "x": 31502.002553138962, + "y": 28976.913309778225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "Slope Not Extreme, or...", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.bollingerSubChannel.slope != \"Extreme\" || \n(chart.at01hs.bollingerSubChannel.period <= 6 && \nchart.at08hs.bollingerChannel.direction === \"Down\" && \nchart.at06hs.bollingerChannel.direction === \"Down\" && \nchart.at04hs.bollingerChannel.direction === \"Down\" && \nchart.at02hs.bollingerSubChannel.slope === (\"Extreme\" || \"Steep\"))", + "project": "Foundations", + "id": "231acfc1-6010-4d84-822f-056d1f3f9dc8", + "savedPayload": { + "position": { + "x": 31944.77877987828, + "y": 28731.478439528517 + }, + "targetPosition": { + "x": 31797.186704298503, + "y": 28813.290062945085 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "da235bf3-976c-4832-a565-98a6bb13236d", + "savedPayload": { + "position": { + "x": 31797.186704298503, + "y": 28813.290062945085 + }, + "targetPosition": { + "x": 31502.002553138962, + "y": 28976.913309778225 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "c94fdd47-c451-4c27-ad56-82b346d60f87", + "savedPayload": { + "position": { + "x": 31502.002553138962, + "y": 28976.913309778225 + }, + "targetPosition": { + "x": 31554.799185090036, + "y": 29310.258124729084 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 4, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "f5bf32a8-54eb-42ef-bc75-86caf1fd16a2", + "savedPayload": { + "position": { + "x": 31554.79918509004, + "y": 29310.258124729084 + }, + "targetPosition": { + "x": 31589.996939724093, + "y": 29532.488001362988 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "triggerOff": { + "type": "Trigger Off Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Close Above MA", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.candle.close > chart.at01hs.bollingerBand.movingAverage", + "project": "Foundations", + "id": "bd638ed9-46fa-42d5-9dfd-5ff8921f83cd", + "savedPayload": { + "position": { + "x": 32119.00366678732, + "y": 28804.372706425536 + }, + "targetPosition": { + "x": 31986.75198502151, + "y": 28986.4015301599 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "e5fbd2ee-9cef-4887-a270-8fb307dff36d", + "savedPayload": { + "position": { + "x": 31986.75198502151, + "y": 28986.4015301599 + }, + "targetPosition": { + "x": 31854.500303255707, + "y": 29168.430353894262 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "faabf32b-db1f-49d2-8a74-39e9f653867c", + "savedPayload": { + "position": { + "x": 31854.500303255707, + "y": 29168.430353894262 + }, + "targetPosition": { + "x": 31722.248621489904, + "y": 29350.459177628625 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "d33d5a40-93e6-4a51-9bf0-389702d7c57c", + "savedPayload": { + "position": { + "x": 31722.2486214899, + "y": 29350.459177628625 + }, + "targetPosition": { + "x": 31589.996939724093, + "y": 29532.488001362988 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "takePosition": { + "type": "Take Position Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "Steep", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "3 Closes Below MA", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage && \nchart.at01hs.candle.previous.close < chart.at01hs.bollingerBand.previous.movingAverage && \nchart.at01hs.candle.previous.previous.close < chart.at01hs.bollingerBand.previous.previous.movingAverage", + "project": "Foundations", + "id": "b5967d93-adf2-4a9e-9f1f-8ddb83c11e89", + "savedPayload": { + "position": { + "x": 32210.455765766405, + "y": 28942.418808005306 + }, + "targetPosition": { + "x": 32188.82772094722, + "y": 29109.77707692949 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "946e10ee-70f9-4489-8ac9-c523116f997d", + "savedPayload": { + "position": { + "x": 32188.82772094722, + "y": 29109.77707692949 + }, + "targetPosition": { + "x": 32145.571631308856, + "y": 29444.493614777857 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "Breakdown", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.deviation", + "project": "Foundations", + "id": "35e54c04-f05e-4790-9431-da49c89895a4", + "savedPayload": { + "position": { + "x": 32349.278321457634, + "y": 28981.036338549908 + }, + "targetPosition": { + "x": 32281.37609140804, + "y": 29135.522097292556 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "299cc453-ffa7-4bcc-84be-fcf9187e0188", + "savedPayload": { + "position": { + "x": 32281.37609140804, + "y": 29135.522097292556 + }, + "targetPosition": { + "x": 32145.571631308856, + "y": 29444.493614777857 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "2H Down", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at02hs.bollingerChannel.direction === \"Down\"", + "project": "Foundations", + "id": "91d65f47-922b-4e28-874a-7ccb83389509", + "savedPayload": { + "position": { + "x": 32471.597772603338, + "y": 29057.200421327947 + }, + "targetPosition": { + "x": 32362.922392171844, + "y": 29186.298152477917 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "74da641c-243d-4e2c-86e7-b215d804796d", + "savedPayload": { + "position": { + "x": 32362.922392171844, + "y": 29186.298152477917 + }, + "targetPosition": { + "x": 32145.571631308856, + "y": 29444.493614777857 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "Deviation > 200", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.bollingerBand.deviation > 200", + "project": "Foundations", + "id": "8616a334-50d8-437a-9631-96e1b6611f77", + "savedPayload": { + "position": { + "x": 32567.504524733486, + "y": 29164.74069531799 + }, + "targetPosition": { + "x": 32426.86022692528, + "y": 29257.991668471277 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "98acfea3-5f57-4dd2-ad9b-f13643c04b3a", + "savedPayload": { + "position": { + "x": 32426.86022692528, + "y": 29257.991668471277 + }, + "targetPosition": { + "x": 32145.571631308856, + "y": 29444.493614777857 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "Candle Size < 750", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.candle.max - chart.at01hs.candle.min < 750", + "project": "Foundations", + "id": "bc3a1d72-8424-40e4-bf3b-e9aec5365cfe", + "savedPayload": { + "position": { + "x": 32629.228783169907, + "y": 29294.944887087993 + }, + "targetPosition": { + "x": 32468.00973254955, + "y": 29344.794462984613 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "4219ab16-929b-4489-80f8-2e2970e170dd", + "savedPayload": { + "position": { + "x": 32468.00973254955, + "y": 29344.794462984613 + }, + "targetPosition": { + "x": 32145.571631308856, + "y": 29444.493614777857 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "Deviation < 1000", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.bollingerBand.deviation < 1000", + "project": "Foundations", + "id": "7ef4294e-31a6-4a56-b4cc-ed4a3f205bb2", + "savedPayload": { + "position": { + "x": 32651.770015582377, + "y": 29437.2646273749 + }, + "targetPosition": { + "x": 32483.03722082454, + "y": 29439.674289842555 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "7bacba88-87bc-491a-95fa-4024d49438f5", + "savedPayload": { + "position": { + "x": 32483.03722082454, + "y": 29439.674289842555 + }, + "targetPosition": { + "x": 32145.571631308856, + "y": 29444.493614777857 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "Not Completly Oversold", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at02hs.percentageBandwidth.movingAverage >= 30 || \nchart.at03hs.percentageBandwidth.movingAverage >= 30 || \nchart.at04hs.percentageBandwidth.movingAverage >= 30 || \nchart.at06hs.percentageBandwidth.movingAverage >= 30 || \nchart.at08hs.percentageBandwidth.movingAverage >= 30", + "project": "Foundations", + "id": "d717997d-c2f4-4332-abd3-cf4a0f25cb65", + "savedPayload": { + "position": { + "x": 32633.302065378724, + "y": 29580.170017228756 + }, + "targetPosition": { + "x": 32470.7252540221, + "y": 29534.944549745123 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "63558a06-3dab-46c6-b361-2d55aca38eea", + "savedPayload": { + "position": { + "x": 32470.7252540221, + "y": 29534.944549745123 + }, + "targetPosition": { + "x": 32145.571631308856, + "y": 29444.493614777857 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "Slope Not Extreme, or...", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.bollingerSubChannel.slope != \"Extreme\" || \n(chart.at01hs.bollingerSubChannel.period <= 6 && \nchart.at08hs.bollingerChannel.direction === \"Down\" && \nchart.at06hs.bollingerChannel.direction === \"Down\" && \nchart.at04hs.bollingerChannel.direction === \"Down\" && \nchart.at02hs.bollingerSubChannel.slope === (\"Extreme\" || \"Steep\"))", + "project": "Foundations", + "id": "e8563aee-5cd1-4953-a1c4-890a47ef8af3", + "savedPayload": { + "position": { + "x": 32575.321096051302, + "y": 29712.08371185467 + }, + "targetPosition": { + "x": 32432.071274470487, + "y": 29622.887012829065 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "d900ad86-c048-45d3-9b26-dc8665b8aba8", + "savedPayload": { + "position": { + "x": 32432.071274470487, + "y": 29622.887012829065 + }, + "targetPosition": { + "x": 32145.571631308856, + "y": 29444.493614777857 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "8H Deviation", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at08hs.bollingerBand.deviation < 1575", + "project": "Foundations", + "id": "84f24347-1102-48e1-9d13-b7ae0f043e5e", + "savedPayload": { + "position": { + "x": 32482.52438090893, + "y": 29822.31884823501 + }, + "targetPosition": { + "x": 32370.20679770891, + "y": 29696.37710374929 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "182deaef-3884-4ddd-b08b-2a554a130832", + "savedPayload": { + "position": { + "x": 32370.20679770891, + "y": 29696.37710374929 + }, + "targetPosition": { + "x": 32145.571631308856, + "y": 29444.493614777857 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "24H Below Top Band", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at24hs.candle.open < \nchart.at24hs.bollingerBand.movingAverage + chart.at24hs.bollingerBand.deviation || \nchart.at24hs.candle.close < \nchart.at24hs.bollingerBand.movingAverage + chart.at24hs.bollingerBand.deviation", + "project": "Foundations", + "id": "7ea70416-894f-4fae-ad62-db36e510519f", + "savedPayload": { + "position": { + "x": 32362.429757929123, + "y": 29901.94483121383 + }, + "targetPosition": { + "x": 32290.143715722363, + "y": 29749.461092401838 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "eb6577c9-7823-490c-9a25-81165b4d4f6b", + "savedPayload": { + "position": { + "x": 32290.143715722363, + "y": 29749.461092401838 + }, + "targetPosition": { + "x": 32145.571631308856, + "y": 29444.493614777857 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "a8a86bab-322e-4f20-8f2d-74671e8d2b7e", + "savedPayload": { + "position": { + "x": 32145.571631308856, + "y": 29444.493614777857 + }, + "targetPosition": { + "x": 31812.226816357994, + "y": 29497.290246728935 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 4, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "97e60ce9-228e-459d-b2cc-2ba447266e22", + "savedPayload": { + "position": { + "x": 31812.226816357997, + "y": 29497.290246728935 + }, + "targetPosition": { + "x": 31589.996939724093, + "y": 29532.488001362988 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "166df39d-b70e-4061-9557-a6bb41a74bea", + "savedPayload": { + "position": { + "x": 31589.996939724093, + "y": 29532.488001362988 + }, + "targetPosition": { + "x": 31325.49357619248, + "y": 29896.545648831714 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "" + } + } + }, + "openStage": { + "type": "Open Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "My Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "4f34635c-d4e2-47c1-8c75-cd18d577fe33", + "savedPayload": { + "position": { + "x": 31997.583655824033, + "y": 29150.113995300362 + }, + "targetPosition": { + "x": 31950.803525390038, + "y": 29370.19720546547 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "9f6351ce-0ca2-44f2-9e85-e9365265131b", + "savedPayload": { + "position": { + "x": 31950.803525390038, + "y": 29370.19720546547 + }, + "targetPosition": { + "x": 31904.023394956042, + "y": 29590.280415630576 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInBaseAsset": { + "type": "Target Size In Base Asset", + "name": "New Target Size In Base Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value", + "project": "Foundations", + "id": "492cee3d-1709-41c5-bfd8-e700a3fdf3da", + "savedPayload": { + "position": { + "x": 32331.99882728886, + "y": 29451.22276816185 + }, + "targetPosition": { + "x": 32118.01111112245, + "y": 29520.751591896213 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "df940eb5-ea9b-485d-a03a-27491d496fc3", + "savedPayload": { + "position": { + "x": 32118.01111112245, + "y": 29520.751591896213 + }, + "targetPosition": { + "x": 31904.023394956042, + "y": 29590.280415630576 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "dbfab28a-d209-4896-96bb-05a26db8b73f", + "savedPayload": { + "position": { + "x": 31904.023394956042, + "y": 29590.280415630576 + }, + "targetPosition": { + "x": 31753.4690085253, + "y": 29757.488001362988 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openExecution": { + "type": "Open Execution", + "name": "New Open Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [], + "marketSellOrders": [ + { + "type": "Market Sell Order", + "name": "Quick Entry", + "config": "{\n\"percentageOfAlgorithmSize\": 100\n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "cc515fe8-2957-4ef9-aef8-e65512f6ebf0", + "savedPayload": { + "position": { + "x": 33294.051479681046, + "y": 30084.948914400957 + }, + "targetPosition": { + "x": 33073.96826951594, + "y": 30038.16878396696 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "be9e2b59-adac-4ec8-8b16-73c9c1367eff", + "savedPayload": { + "position": { + "x": 33073.96826951594, + "y": 30038.16878396696 + }, + "targetPosition": { + "x": 32853.88505935084, + "y": 29991.388653532966 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "95614ecb-8d7a-4a56-8ca8-3a51ec209f45", + "savedPayload": { + "position": { + "x": 32853.88505935084, + "y": 29991.388653532966 + }, + "targetPosition": { + "x": 32633.80184918573, + "y": 29944.60852309897 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "938d2ee7-fd7b-409a-8ba3-2e10898ecf2c", + "savedPayload": { + "position": { + "x": 32633.80184918573, + "y": 29944.60852309897 + }, + "targetPosition": { + "x": 32413.71863902062, + "y": 29897.828392664975 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "c54cb995-2b02-426e-bfe3-dea00d502d56", + "savedPayload": { + "position": { + "x": 32413.71863902062, + "y": 29897.828392664975 + }, + "targetPosition": { + "x": 32193.63542885551, + "y": 29851.04826223098 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Sell Order #1", + "id": "8e404329-d41f-41e0-ad5a-c84ee1fa2604" + } + } + } + ], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "f3ccceff-a347-4100-b429-0788d0035868", + "savedPayload": { + "position": { + "x": 32193.63542885551, + "y": 29851.04826223098 + }, + "targetPosition": { + "x": 31973.552218690405, + "y": 29804.268131796984 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "" + } + } + } + ], + "id": "381d75d8-f6de-4841-b6a3-fc3c01884438", + "savedPayload": { + "position": { + "x": 31973.552218690405, + "y": 29804.268131796984 + }, + "targetPosition": { + "x": 31753.4690085253, + "y": 29757.488001362988 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "262e5a8c-cb38-43be-840d-a41ee5f4665f", + "savedPayload": { + "position": { + "x": 31753.4690085253, + "y": 29757.488001362988 + }, + "targetPosition": { + "x": 31325.49357619248, + "y": 29896.545648831714 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "manageStage": { + "type": "Manage Stage", + "project": "Foundations", + "managedStopLoss": { + "type": "Managed Stop Loss", + "name": "New Managed Stop Loss", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.03", + "project": "Foundations", + "id": "098e918d-2dee-44f7-97bd-9d3a9ef0458a", + "savedPayload": { + "position": { + "x": 32360.843014587925, + "y": 29791.488649001705 + }, + "targetPosition": { + "x": 32193.63542885551, + "y": 29942.04303543245 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "shortcutKey": "q" + } + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Close Below 5%", + "code": "chart.at24hs.candlesProbability.begin > chart.at24hs.candlesProbability.begin", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.candle.close < portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.95", + "project": "Foundations", + "id": "96683629-b453-49a5-a871-94a0deb2a017", + "savedPayload": { + "position": { + "x": 34638.78823280886, + "y": 42092.97813669627 + }, + "targetPosition": { + "x": 34280.52498747986, + "y": 42209.64474025648 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "c48e62b6-cdf5-4ee0-9872-6487a99d1861", + "savedPayload": { + "position": { + "x": 34280.52498747986, + "y": 42209.64474025648 + }, + "targetPosition": { + "x": 33923.1116008822, + "y": 42326.16307704813 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "e502afa9-3ac9-4d7c-9a1c-02a66181c75c", + "savedPayload": { + "position": { + "x": 33923.1116008822, + "y": 42326.16307704813 + }, + "targetPosition": { + "x": 33558.76134734045, + "y": 42444.986107039396 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "2ae990f4-51b6-47de-8cb4-3acd042c1218", + "savedPayload": { + "position": { + "x": 32407.62314502192, + "y": 30011.571859166812 + }, + "targetPosition": { + "x": 32193.63542885551, + "y": 29942.04303543245 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "92bc3860-4ffb-44e8-bd90-15b05113b3d2", + "savedPayload": { + "position": { + "x": 32193.63542885551, + "y": 29942.04303543245 + }, + "targetPosition": { + "x": 31973.552218690405, + "y": 29988.823165866444 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "P1: Trailing 5.25% Above MA", + "project": "Foundations", + "formula": { + "type": "Formula", + "code": "if (chart.at01hs.bollingerBand.movingAverage * 1.0525 < portfolioEngine.portfolioCurrent.position.stopLoss.value) \n{chart.at01hs.bollingerBand.movingAverage * 1.0525} \nelse {portfolioEngine.portfolioCurrent.position.stopLoss.value}", + "project": "Foundations", + "id": "6f65573a-c2ac-476a-9ca1-738971e3ff78", + "savedPayload": { + "position": { + "x": 32633.80184918573, + "y": 29848.482774564458 + }, + "targetPosition": { + "x": 32413.71863902062, + "y": 29895.262904998453 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "e29bf8a5-014c-4868-b50a-c4b79b2b2eb3", + "savedPayload": { + "position": { + "x": 32413.71863902062, + "y": 29895.262904998453 + }, + "targetPosition": { + "x": 32193.63542885551, + "y": 29942.04303543245 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "89593e32-77e8-4216-a351-64c852d06784", + "savedPayload": { + "position": { + "x": 31973.552218690405, + "y": 29988.823165866444 + }, + "targetPosition": { + "x": 31753.4690085253, + "y": 30035.60329630044 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "managedTakeProfit": { + "type": "Managed Take Profit", + "name": "New Managed Take Profit", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "P1: 60% of Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "chart.at01hs.bollingerBand.movingAverage * 0.6", + "project": "Foundations", + "id": "1766975c-17c8-477e-b2e5-cb6ff1c7ddd3", + "savedPayload": { + "position": { + "x": 33243.77589392457, + "y": 44217.173364739894 + }, + "targetPosition": { + "x": 32875.97952606871, + "y": 44295.367468016324 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "3H Oversold", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at03hs.percentageBandwidth.previous.movingAverage <= 10", + "project": "Foundations", + "id": "c3f076df-8b01-4a9a-ad60-9bf53433e4bf", + "savedPayload": { + "position": { + "x": 34822.2938532815, + "y": 43764.34329691682 + }, + "targetPosition": { + "x": 34455.03132389151, + "y": 43685.34844787522 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "553fde3a-dcb6-41b2-89c8-ba278a2fd4e0", + "savedPayload": { + "position": { + "x": 34455.03132389151, + "y": 43685.34844787522 + }, + "targetPosition": { + "x": 34087.78350608559, + "y": 43607.993606521195 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "fa198094-34dd-4f2e-8d57-002ca886ba71", + "savedPayload": { + "position": { + "x": 34087.78350608559, + "y": 43607.993606521195 + }, + "targetPosition": { + "x": 33712.650761554105, + "y": 43527.982361267816 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "3H Entering Oversold", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at03hs.percentageBandwidth.movingAverage <= 30", + "project": "Foundations", + "id": "f1452048-936e-4c93-a615-66ed6b18bd11", + "savedPayload": { + "position": { + "x": 34391.87298691226, + "y": 44394.49714732125 + }, + "targetPosition": { + "x": 34112.422220981185, + "y": 44144.33876770716 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "d85e95b6-4108-40d6-9ed0-a382f8d5015a", + "savedPayload": { + "position": { + "x": 34112.422220981185, + "y": 44144.33876770716 + }, + "targetPosition": { + "x": 33832.04646806877, + "y": 43892.28913547288 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "24H Up", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at24hs.bollingerChannel.direction === \"Up\"", + "project": "Foundations", + "id": "67baba53-16eb-4a64-b7ae-f8b2e999e710", + "savedPayload": { + "position": { + "x": 33676.59791272445, + "y": 44627.510804703576 + }, + "targetPosition": { + "x": 33754.36449344698, + "y": 44260.24428468091 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "f3a53caf-c1d2-4786-869d-3e4ed1c9b71b", + "savedPayload": { + "position": { + "x": 33754.36449344698, + "y": 44260.24428468091 + }, + "targetPosition": { + "x": 33832.04646806877, + "y": 43892.28913547288 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "034c0358-0163-4448-9511-8e154f07226e", + "savedPayload": { + "position": { + "x": 33832.04646806877, + "y": 43892.28913547288 + }, + "targetPosition": { + "x": 33712.650761554105, + "y": 43527.982361267816 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "a2d912bb-6362-4505-91b6-8b726dd670c7", + "savedPayload": { + "position": { + "x": 32759.63293779008, + "y": 44653.10041030377 + }, + "targetPosition": { + "x": 32875.97952606871, + "y": 44295.367468016324 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "17a900a2-bcfd-4e3f-b115-baa06c2b077a", + "savedPayload": { + "position": { + "x": 32875.97952606871, + "y": 44295.367468016324 + }, + "targetPosition": { + "x": 32592.300784791652, + "y": 43980.257561410894 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "P2: 85% MA - 4 Deviations", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "if (chart.at01hs.bollingerBand.movingAverage * 0.85 - \nchart.at01hs.bollingerBand.deviation * 4 > 1) \n{chart.at01hs.bollingerBand.movingAverage * 0.85 - \nchart.at01hs.bollingerBand.deviation * 4} \nelse {portfolioEngine.portfolioCurrent.position.takeProfit.value}", + "project": "Foundations", + "id": "77e53622-cb53-410d-892f-cd474b28c29e", + "savedPayload": { + "position": { + "x": 33495.22620472527, + "y": 44496.38487943116 + }, + "targetPosition": { + "x": 33127.49377102165, + "y": 44574.69078749455 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "8H Oversold", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "8H %B < 15", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at08hs.percentageBandwidth.previous.movingAverage <= 15", + "project": "Foundations", + "id": "5fbde96a-6337-465e-8304-ca3def2b6410", + "savedPayload": { + "position": { + "x": 34243.62673331682, + "y": 32952.63334142916 + }, + "targetPosition": { + "x": 33957.288628657, + "y": 32849.59455565638 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "b855a2c5-d616-4379-a31a-5e187f36bfc4", + "savedPayload": { + "position": { + "x": 33957.288628657, + "y": 32849.59455565638 + }, + "targetPosition": { + "x": 33600.27271127449, + "y": 32712.745784019895 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "1H Extreme", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01hs.bollingerSubChannel.slope === \"Extreme\"", + "project": "Foundations", + "id": "9bff4bf4-56cd-46ea-adf1-273dbe6c8299", + "savedPayload": { + "position": { + "x": 33873.27645333929, + "y": 33326.33795759283 + }, + "targetPosition": { + "x": 33755.785180124105, + "y": 33062.0506435577 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 4, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "3dbea2ad-06be-4a8e-ba8e-7718704e1dbe", + "savedPayload": { + "position": { + "x": 33755.785180124105, + "y": 33062.0506435577 + }, + "targetPosition": { + "x": 33600.27271127449, + "y": 32712.745784019895 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "1H Channel Period > 5", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01hs.bollingerSubChannel.period >= 5", + "project": "Foundations", + "id": "f969b936-fd9a-45f2-bf59-4a18d691bc06", + "savedPayload": { + "position": { + "x": 33294.948132355086, + "y": 33307.57916758515 + }, + "targetPosition": { + "x": 33398.80053051494, + "y": 33037.76315343866 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 4, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "a8ac6da5-2f72-4c53-953a-4135624d6230", + "savedPayload": { + "position": { + "x": 33398.80053051494, + "y": 33037.76315343866 + }, + "targetPosition": { + "x": 33600.27271127449, + "y": 32712.745784019895 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "15b3728c-3b03-4a2b-9e05-6b7f772e6bf3", + "savedPayload": { + "position": { + "x": 33600.09233405482, + "y": 32713.052462498414 + }, + "targetPosition": { + "x": 33364.91802958786, + "y": 32184.446931480266 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Situation", + "name": "24H Previous Up", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "8H %B < 40", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at08hs.percentageBandwidth.movingAverage <= 40", + "project": "Foundations", + "id": "867dd327-29de-4b01-af95-8e18191a299a", + "savedPayload": { + "position": { + "x": 33232.96997713928, + "y": 33293.15662036049 + }, + "targetPosition": { + "x": 33143.7395791063, + "y": 33018.2205885998 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "eef8d507-fcf6-4efa-9fcb-9e58ccc0af36", + "savedPayload": { + "position": { + "x": 33143.7395791063, + "y": 33018.2205885998 + }, + "targetPosition": { + "x": 33024.95300690553, + "y": 32652.425736955072 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "1H Extreme", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": " chart.at01hs.bollingerSubChannel.slope === \"Extreme\"", + "project": "Foundations", + "id": "f2fa836d-23f0-47cb-ba81-550089468d9a", + "savedPayload": { + "position": { + "x": 32817.54037258285, + "y": 33291.17393675563 + }, + "targetPosition": { + "x": 32906.92488799972, + "y": 33015.860919404135 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "f75a18be-7ac8-4276-89bd-b3ff8ea5c69f", + "savedPayload": { + "position": { + "x": 32906.92488799972, + "y": 33015.860919404135 + }, + "targetPosition": { + "x": 33024.95300690553, + "y": 32652.425736955072 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "1H Channel Period > 3", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01hs.bollingerSubChannel.period >= 3", + "project": "Foundations", + "id": "5556b779-ef49-4a0b-ad26-1cdbfd6a01b8", + "savedPayload": { + "position": { + "x": 32481.522170511933, + "y": 33047.3687245535 + }, + "targetPosition": { + "x": 32715.931948145964, + "y": 32876.988914305985 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "a8762e6c-04a8-49dc-a6e7-de73f24bb295", + "savedPayload": { + "position": { + "x": 32715.931948145964, + "y": 32876.988914305985 + }, + "targetPosition": { + "x": 33024.95300690553, + "y": 32652.425736955072 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "24H Previous Up", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at24hs.bollingerChannel.previous.direction === \"Up\"", + "project": "Foundations", + "id": "42cf65fc-dc6a-4a45-9e14-1820db151b51", + "savedPayload": { + "position": { + "x": 32349.138897072844, + "y": 32652.460327990262 + }, + "targetPosition": { + "x": 32638.01162963985, + "y": 32652.430339790644 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "8137faa0-d59a-4eab-ad95-ca8d2250bbf6", + "savedPayload": { + "position": { + "x": 32638.01162963985, + "y": 32652.430339790644 + }, + "targetPosition": { + "x": 33024.95300690553, + "y": 32652.425736955072 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "c688240e-5e54-456d-b219-16994f799907", + "savedPayload": { + "position": { + "x": 33024.85661168532, + "y": 32652.541303446687 + }, + "targetPosition": { + "x": 33364.91802958786, + "y": 32184.446931480266 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "6e59e30a-bd6e-45ad-afb9-f1bab0a759d9", + "savedPayload": { + "position": { + "x": 33011.10113437551, + "y": 44932.361402320355 + }, + "targetPosition": { + "x": 33127.49377102165, + "y": 44574.69078749455 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "62709ed5-832a-43e8-8f74-29a359af7127", + "savedPayload": { + "position": { + "x": 33127.49377102165, + "y": 44574.69078749455 + }, + "targetPosition": { + "x": 32876.00272997652, + "y": 44295.394406276 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "P3: 90% MA - 4 Deviations", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "if (chart.at01hs.bollingerBand.movingAverage * 0.9 - \nchart.at01hs.bollingerBand.deviation * 4 > 1) \n{chart.at01hs.bollingerBand.movingAverage * 0.9 - \nchart.at01hs.bollingerBand.deviation * 4} \nelse {portfolioEngine.portfolioCurrent.position.takeProfit.value}", + "project": "Foundations", + "id": "2d4907e5-54f3-4677-b191-15a85b95c64e", + "savedPayload": { + "position": { + "x": 33746.72979952964, + "y": 44775.69066180111 + }, + "targetPosition": { + "x": 33378.90210642431, + "y": 44853.878282876656 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "12H Previous Oversold", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "12H Previous %B < 15", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at12hs.percentageBandwidth.previous.movingAverage <= 15", + "project": "Foundations", + "id": "7e9cefff-d831-4c3d-ba5a-42ef48397d0f", + "savedPayload": { + "position": { + "x": 34695.71434337151, + "y": 33293.08114598767 + }, + "targetPosition": { + "x": 34426.219366430625, + "y": 33189.66276481467 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "d1d9d786-da85-4a7b-b5b5-3278dcdccfa8", + "savedPayload": { + "position": { + "x": 34426.219366430625, + "y": 33189.66276481467 + }, + "targetPosition": { + "x": 34068.913221882816, + "y": 33052.5829310025 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "1H Extreme", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": " chart.at01hs.bollingerSubChannel.slope === \"Extreme\"", + "project": "Foundations", + "id": "512f3976-5707-426d-b6cf-63306b90b71a", + "savedPayload": { + "position": { + "x": 34342.09651889751, + "y": 33666.15939721835 + }, + "targetPosition": { + "x": 34224.411502229836, + "y": 33401.80945903616 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "1e09d719-39f0-4e66-afe9-e46f816c0b8a", + "savedPayload": { + "position": { + "x": 34224.411502229836, + "y": 33401.80945903616 + }, + "targetPosition": { + "x": 34068.913221882816, + "y": 33052.5829310025 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "1H Channel Period > 15", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01hs.bollingerSubChannel.period >= 15", + "project": "Foundations", + "id": "53159d45-d2aa-4faf-b9a8-b6643623a64b", + "savedPayload": { + "position": { + "x": 33828.598899474586, + "y": 33679.678472946456 + }, + "targetPosition": { + "x": 33932.075692170314, + "y": 33409.595905810056 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "a3cf6274-a828-41f0-a293-8e79ecfe4e39", + "savedPayload": { + "position": { + "x": 33932.075692170314, + "y": 33409.595905810056 + }, + "targetPosition": { + "x": 34068.913221882816, + "y": 33052.5829310025 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "7f47a98b-6d2e-40e4-8105-82a9fa301600", + "savedPayload": { + "position": { + "x": 34068.45976789383, + "y": 33052.72724491617 + }, + "targetPosition": { + "x": 33833.17542765723, + "y": 32524.060990712995 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Situation", + "name": "24H Previous Previous Up", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "24H %B MA < 70 || 12H %B MA < 40", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at24hs.percentageBandwidth.movingAverage <= 70 || \nchart.at12hs.percentageBandwidth.movingAverage <= 40", + "project": "Foundations", + "id": "52ec70e3-9089-4cba-beb3-c8310ab966b5", + "savedPayload": { + "position": { + "x": 33703.8666330563, + "y": 33639.36540023706 + }, + "targetPosition": { + "x": 33614.74980018023, + "y": 33364.62733437233 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "9bb204df-4376-4a7d-996f-8e41d75f49c3", + "savedPayload": { + "position": { + "x": 33614.74980018023, + "y": 33364.62733437233 + }, + "targetPosition": { + "x": 33493.82621586253, + "y": 32992.22125165118 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "24H Previous Previous Up", + "code": "chart.at24hs.candlesProbability.begin > chart.at24hs.candlesProbability.begin", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at24hs.bollingerChannel.previous.previous.direction === \"Up\"", + "project": "Foundations", + "id": "a18dfaba-685b-4ac6-8435-211bb8d59f2b", + "savedPayload": { + "position": { + "x": 33283.81700283746, + "y": 33639.31844472735 + }, + "targetPosition": { + "x": 33373.05078307878, + "y": 33364.3526382158 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "b9ddf58a-89b4-4fec-899a-ab905e97234a", + "savedPayload": { + "position": { + "x": 33373.05078307878, + "y": 33364.3526382158 + }, + "targetPosition": { + "x": 33493.82621586253, + "y": 32992.22125165118 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "1H Extreme", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01hs.bollingerSubChannel.slope === \"Extreme\"", + "project": "Foundations", + "id": "1d3956c4-c13a-414f-86ce-49acc5557ebe", + "savedPayload": { + "position": { + "x": 32943.59354095317, + "y": 33392.39569456909 + }, + "targetPosition": { + "x": 33177.40473170763, + "y": 33222.34533967507 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "ee9eaf68-0a23-45a3-8aaf-42b97ebf4584", + "savedPayload": { + "position": { + "x": 33177.40473170763, + "y": 33222.34533967507 + }, + "targetPosition": { + "x": 33493.82621586253, + "y": 32992.22125165118 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "1H Channel Period > 5", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01hs.bollingerSubChannel.period >= 5", + "project": "Foundations", + "id": "4f684afd-4c77-42b0-8b2b-64994ab95e09", + "savedPayload": { + "position": { + "x": 32813.179025521735, + "y": 32992.72553035201 + }, + "targetPosition": { + "x": 33102.91979316418, + "y": 32992.447870175834 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "5ca55797-a76b-4be7-921d-bdd84773a407", + "savedPayload": { + "position": { + "x": 33102.91979316418, + "y": 32992.447870175834 + }, + "targetPosition": { + "x": 33493.82621586253, + "y": 32992.22125165118 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "73890378-cc74-4c04-8e2b-e467429bcdb5", + "savedPayload": { + "position": { + "x": 33493.09435485519, + "y": 32992.428397271855 + }, + "targetPosition": { + "x": 33833.17542765723, + "y": 32524.060990712995 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "41a619aa-ca95-4184-a651-0fdfced33f96", + "savedPayload": { + "position": { + "x": 33262.63941407412, + "y": 45211.64995234969 + }, + "targetPosition": { + "x": 33378.90210642431, + "y": 44853.878282876656 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "c51fe1c0-ac69-4b35-913f-76e24ee4c4b2", + "savedPayload": { + "position": { + "x": 33378.90210642431, + "y": 44853.878282876656 + }, + "targetPosition": { + "x": 33127.49377102165, + "y": 44574.69078749455 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "P4: MA - 3 Deviations", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "if (chart.at01hs.bollingerBand.movingAverage - \nchart.at01hs.bollingerBand.deviation * 3 > 1) \n{chart.at01hs.bollingerBand.movingAverage - \nchart.at01hs.bollingerBand.deviation * 3} \nelse {portfolioEngine.portfolioCurrent.position.takeProfit.value}", + "project": "Foundations", + "id": "d1425de3-3c9f-4b1a-a3ad-b5b2a604f857", + "savedPayload": { + "position": { + "x": 33998.30841882255, + "y": 45055.08857559459 + }, + "targetPosition": { + "x": 33630.43173546354, + "y": 45133.19350111821 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "24H Previous Oversold", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "24H Previous %B < 20", + "code": "chart.at24hs.candlesProbability.begin > chart.at24hs.candlesProbability.begin", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at24hs.percentageBandwidth.previous.movingAverage <= 20", + "project": "Foundations", + "id": "1ff4ea62-15ff-4409-9e8c-0c5576958be6", + "savedPayload": { + "position": { + "x": 35338.76802635148, + "y": 33278.09806016178 + }, + "targetPosition": { + "x": 35050.607380771195, + "y": 33293.05166331734 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "13f09ae8-9b15-4e6a-be3c-d0745b7252a3", + "savedPayload": { + "position": { + "x": 35050.607380771195, + "y": 33293.05166331734 + }, + "targetPosition": { + "x": 34665.928838696214, + "y": 33313.14174019087 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "1H Extreme", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": " chart.at01hs.bollingerSubChannel.slope === \"Extreme\"", + "project": "Foundations", + "id": "90d32cba-ec65-4a52-a96a-02e5436b790e", + "savedPayload": { + "position": { + "x": 35229.47477087738, + "y": 33678.908926403354 + }, + "targetPosition": { + "x": 34986.737052190976, + "y": 33521.34625199651 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "5a58f7e1-75da-4e8f-a4c5-185a59e8c938", + "savedPayload": { + "position": { + "x": 34986.737052190976, + "y": 33521.34625199651 + }, + "targetPosition": { + "x": 34665.928838696214, + "y": 33313.14174019087 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "1H Channel Period > 10", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01hs.bollingerSubChannel.period >=10", + "project": "Foundations", + "id": "fff48225-fa90-4ed5-aca8-4ae98a55e135", + "savedPayload": { + "position": { + "x": 34906.121839460946, + "y": 33938.12031677051 + }, + "targetPosition": { + "x": 34802.3015375152, + "y": 33667.9642831174 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "e01c18f1-b9f7-4cc7-91be-6d18c3168f13", + "savedPayload": { + "position": { + "x": 34802.3015375152, + "y": 33667.9642831174 + }, + "targetPosition": { + "x": 34665.928838696214, + "y": 33313.14174019087 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "1H EMA 20 > 50 or Convergence", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01hs.popularEMA.ema20 > chart.at01hs.popularEMA.ema50 || \n(chart.at01hs.popularEMA.ema50 - chart.at01hs.popularEMA.ema20 < \nchart.at01hs.popularEMA.previous.ema50 - chart.at01hs.popularEMA.previous.ema20 && \nchart.at01hs.popularEMA.previous.ema50 - chart.at01hs.popularEMA.previous.ema20 < chart.at01hs.popularEMA.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.ema20 && \nchart.at01hs.popularEMA.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.ema20 < \nchart.at01hs.popularEMA.previous.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.previous.ema20 && \nchart.at01hs.popularEMA.previous.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.previous.ema20 < \nchart.at01hs.popularEMA.previous.previous.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.previous.previous.ema20 && \nchart.at01hs.popularEMA.previous.previous.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.previous.previous.ema20 < \nchart.at01hs.popularEMA.previous.previous.previous.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.previous.previous.previous.ema20)\n", + "project": "Foundations", + "id": "7ee960b5-be23-4649-92ca-fc4ea5adc99b", + "savedPayload": { + "position": { + "x": 34518.42022038992, + "y": 33948.92803411055 + }, + "targetPosition": { + "x": 34567.94504898394, + "y": 33680.45115904884 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "4262c963-84df-44ba-ac06-7ecb331ba24d", + "savedPayload": { + "position": { + "x": 34567.94504898394, + "y": 33680.45115904884 + }, + "targetPosition": { + "x": 34665.928838696214, + "y": 33313.14174019087 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "186df69f-9a0d-49af-9394-0dbd05f18628", + "savedPayload": { + "position": { + "x": 32423.015473918247, + "y": 33845.65576175177 + }, + "targetPosition": { + "x": 32364.354495680876, + "y": 33458.09807532873 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Situation", + "name": "24H Previous Previous Up", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "24H Previous Previous Up", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at24hs.bollingerChannel.previous.previous.direction === \"Up\"", + "project": "Foundations", + "id": "d08197af-2643-4f8c-83ac-8eb33a9ff474", + "savedPayload": { + "position": { + "x": 34781.0165301627, + "y": 33911.93077734872 + }, + "targetPosition": { + "x": 34565.204078135605, + "y": 33717.55661407596 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "750174f5-0953-4204-bb06-9f68030e9185", + "savedPayload": { + "position": { + "x": 34565.204078135605, + "y": 33717.55661407596 + }, + "targetPosition": { + "x": 34241.78832150958, + "y": 33426.24331802757 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "1H Extreme", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01hs.bollingerSubChannel.slope === \"Extreme\"", + "project": "Foundations", + "id": "9d8a9727-239e-42db-952a-7c04e065ffca", + "savedPayload": { + "position": { + "x": 34391.98813707952, + "y": 34133.11388122734 + }, + "targetPosition": { + "x": 34331.94808636943, + "y": 33850.487237195775 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "f42f3843-bf81-4782-b129-f06e98f354d8", + "savedPayload": { + "position": { + "x": 34331.94808636943, + "y": 33850.487237195775 + }, + "targetPosition": { + "x": 34241.78832150958, + "y": 33426.24331802757 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "1H Channel Period > 5", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01hs.bollingerSubChannel.period >=5", + "project": "Foundations", + "id": "99b3c782-ecb4-43ca-9624-962220c38981", + "savedPayload": { + "position": { + "x": 33947.42116475734, + "y": 34088.51265712523 + }, + "targetPosition": { + "x": 34064.79300241385, + "y": 33824.4120269806 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "0fdfb277-cfa0-4fc6-aee9-db2cc997b208", + "savedPayload": { + "position": { + "x": 34064.79300241385, + "y": 33824.4120269806 + }, + "targetPosition": { + "x": 34241.78832150958, + "y": 33426.24331802757 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "24H %B < 60 || 12H %B < 30", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at24hs.percentageBandwidth.movingAverage <= 60 || \nchart.at12hs.percentageBandwidth.movingAverage <= 30", + "project": "Foundations", + "id": "90331db7-a6e8-47a6-be28-4e679b728ce3", + "savedPayload": { + "position": { + "x": 33618.33661954022, + "y": 33786.89059294938 + }, + "targetPosition": { + "x": 33868.57460713826, + "y": 33642.100856107776 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "ef2973eb-d707-41cc-b492-96dbf5215de1", + "savedPayload": { + "position": { + "x": 33868.57460713826, + "y": 33642.100856107776 + }, + "targetPosition": { + "x": 34241.78832150958, + "y": 33426.24331802757 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "91020a9c-998e-407c-94f1-774941d9033c", + "savedPayload": { + "position": { + "x": 32134.334260521005, + "y": 33774.83897364228 + }, + "targetPosition": { + "x": 32364.354495680876, + "y": 33458.09807532873 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Situation", + "name": "25% Target", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "25% Target", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01hs.candle.close <= portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.8", + "project": "Foundations", + "id": "a8a904a9-cbf3-40cb-89ef-8066d65fe443", + "savedPayload": { + "position": { + "x": 31368.884197312917, + "y": 33616.60233832919 + }, + "targetPosition": { + "x": 31561.01038088771, + "y": 33585.871693039386 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "b841c21b-789a-49bf-b959-f91613e089a8", + "savedPayload": { + "position": { + "x": 31561.01038088771, + "y": 33585.871693039386 + }, + "targetPosition": { + "x": 31983.36916711004, + "y": 33518.71317937429 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "66105054-6e57-4aec-ada2-14054981fd68", + "savedPayload": { + "position": { + "x": 31977.987194895824, + "y": 33519.36908130506 + }, + "targetPosition": { + "x": 32364.354495680876, + "y": 33458.09807532873 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "830013bf-e507-4960-9742-1a9b8ffdd16a", + "savedPayload": { + "position": { + "x": 33514.25261428654, + "y": 45491.03442789774 + }, + "targetPosition": { + "x": 33630.43173546354, + "y": 45133.19350111821 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "b30e4c2c-fe06-4217-af5a-5c728463388a", + "savedPayload": { + "position": { + "x": 33630.43173546354, + "y": 45133.19350111821 + }, + "targetPosition": { + "x": 33378.90210642431, + "y": 44853.878282876656 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "P5: MA - 1.5 Deviations", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "if (chart.at01hs.bollingerBand.movingAverage - \nchart.at01hs.bollingerBand.deviation * 1.5 > 1) \n{chart.at01hs.bollingerBand.movingAverage - \nchart.at01hs.bollingerBand.deviation * 1.5} \nelse {portfolioEngine.portfolioCurrent.position.takeProfit.value}", + "project": "Foundations", + "id": "b04ad21c-bd81-401e-8b70-c158ab668f66", + "savedPayload": { + "position": { + "x": 34249.83731637627, + "y": 45334.51435975802 + }, + "targetPosition": { + "x": 33882.03802546636, + "y": 45412.59712835855 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "24H Previous Oversold", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "24H Previous MA < 10", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at24hs.percentageBandwidth.previous.movingAverage <= 10", + "project": "Foundations", + "id": "7637580c-cda0-4056-ad4a-de67510050fa", + "savedPayload": { + "position": { + "x": 35805.98259373731, + "y": 33617.30870594634 + }, + "targetPosition": { + "x": 35516.17426602678, + "y": 33632.32400828913 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "ecaa9841-49d1-45da-8249-17e373c7d662", + "savedPayload": { + "position": { + "x": 35516.17426602678, + "y": 33632.32400828913 + }, + "targetPosition": { + "x": 35134.53309036711, + "y": 33652.21031258191 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "1H Extreme", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01hs.bollingerSubChannel.slope === \"Extreme\"", + "project": "Foundations", + "id": "f6f6d914-5813-4389-b29e-6c7edc4927e0", + "savedPayload": { + "position": { + "x": 35698.027454281284, + "y": 34018.03896648841 + }, + "targetPosition": { + "x": 35455.42832042836, + "y": 33860.529539601295 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 4, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "9fb9d04e-da7e-45a8-af44-e87d65e5650f", + "savedPayload": { + "position": { + "x": 35455.42832042836, + "y": 33860.529539601295 + }, + "targetPosition": { + "x": 35134.53309036711, + "y": 33652.21031258191 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "1H Channel Period > 10", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01hs.bollingerSubChannel.period >=10", + "project": "Foundations", + "id": "a08871c1-b85d-4afc-9480-7eeca7598dd1", + "savedPayload": { + "position": { + "x": 35375.44376892006, + "y": 34279.44930796344 + }, + "targetPosition": { + "x": 35271.61230608678, + "y": 34009.06726085498 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "1dcf89ef-e3e3-4d6e-bbfb-16ccdeeec348", + "savedPayload": { + "position": { + "x": 35271.61230608678, + "y": 34009.06726085498 + }, + "targetPosition": { + "x": 35134.53309036711, + "y": 33652.21031258191 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "1H EMA 20 > 50 or Convergence", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01hs.popularEMA.ema20 > chart.at01hs.popularEMA.ema50 || (chart.at01hs.popularEMA.ema50 - chart.at01hs.popularEMA.ema20 < chart.at01hs.popularEMA.previous.ema50 - chart.at01hs.popularEMA.previous.ema20 && chart.at01hs.popularEMA.previous.ema50 - chart.at01hs.popularEMA.previous.ema20 < chart.at01hs.popularEMA.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.ema20 && chart.at01hs.popularEMA.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.ema20 < chart.at01hs.popularEMA.previous.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.previous.ema20 && chart.at01hs.popularEMA.previous.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.previous.ema20 < chart.at01hs.popularEMA.previous.previous.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.previous.previous.ema20 && chart.at01hs.popularEMA.previous.previous.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.previous.previous.ema20 < chart.at01hs.popularEMA.previous.previous.previous.previous.previous.ema50 - chart.at01hs.popularEMA.previous.previous.previous.previous.previous.ema20)", + "project": "Foundations", + "id": "5dc14b5f-4a07-413a-83ac-7c57eb96a8d3", + "savedPayload": { + "position": { + "x": 34961.25244715373, + "y": 34301.41622102096 + }, + "targetPosition": { + "x": 35035.984554323484, + "y": 34021.37349525996 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "8a062525-23e1-48dc-83c1-c0cec0e30907", + "savedPayload": { + "position": { + "x": 35035.984554323484, + "y": 34021.37349525996 + }, + "targetPosition": { + "x": 35134.53309036711, + "y": 33652.21031258191 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "f3086330-375a-4871-a7a8-f12b0543f1c3", + "savedPayload": { + "position": { + "x": 33656.391255662646, + "y": 45795.193550058 + }, + "targetPosition": { + "x": 33482.19781525667, + "y": 45453.79318455375 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Situation", + "name": "24H Previous Previous Up", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "24H Previous Previous Up", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at24hs.bollingerChannel.previous.previous.direction === \"Up\"", + "project": "Foundations", + "id": "aca8f925-5511-4d06-92bb-29b637072f66", + "savedPayload": { + "position": { + "x": 35221.448236917, + "y": 34238.84091242368 + }, + "targetPosition": { + "x": 34999.24802375348, + "y": 34038.69150782797 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "d0ff1bab-8072-4dab-97b8-69d3cb9d0d48", + "savedPayload": { + "position": { + "x": 34999.24802375348, + "y": 34038.69150782797 + }, + "targetPosition": { + "x": 34710.27111427777, + "y": 33778.30055669087 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "24H %B < 50 || 12H %B < 17.5", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at24hs.percentageBandwidth.movingAverage <= 50 || \nchart.at12hs.percentageBandwidth.movingAverage <= 17.5", + "project": "Foundations", + "id": "7673df58-3326-4d28-9005-47214b0f05c0", + "savedPayload": { + "position": { + "x": 34849.69553980323, + "y": 34433.84654535772 + }, + "targetPosition": { + "x": 34789.4007551432, + "y": 34150.07746763843 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "5435a45d-891a-4456-8521-6587003fb171", + "savedPayload": { + "position": { + "x": 34789.4007551432, + "y": 34150.07746763843 + }, + "targetPosition": { + "x": 34710.27111427777, + "y": 33778.30055669087 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "1H Extreme", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01hs.bollingerSubChannel.slope === \"Extreme\"", + "project": "Foundations", + "id": "4eadea14-f412-4849-b3f6-187e72b13bd8", + "savedPayload": { + "position": { + "x": 34438.356929860296, + "y": 34390.29795381175 + }, + "targetPosition": { + "x": 34555.873344690175, + "y": 34125.77944469855 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 4, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "a94adefc-e6c3-4531-ab91-84d23096900a", + "savedPayload": { + "position": { + "x": 34555.873344690175, + "y": 34125.77944469855 + }, + "targetPosition": { + "x": 34710.27111427777, + "y": 33778.30055669087 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "1H Channel Period > 5", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01hs.bollingerSubChannel.period >=5", + "project": "Foundations", + "id": "c69a88a9-be56-4dd6-88d9-c360b06fa501", + "savedPayload": { + "position": { + "x": 34130.9156620008, + "y": 34113.680513759726 + }, + "targetPosition": { + "x": 34381.43508657729, + "y": 33968.63433105027 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 4, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "fe46196d-b481-4b9f-8908-43b5e7094d7f", + "savedPayload": { + "position": { + "x": 34381.43508657729, + "y": 33968.63433105027 + }, + "targetPosition": { + "x": 34710.27111427777, + "y": 33778.30055669087 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "80b47c3e-843a-43f5-8f74-5d2a437457fc", + "savedPayload": { + "position": { + "x": 33363.97082011691, + "y": 45818.57514438174 + }, + "targetPosition": { + "x": 33482.19781525667, + "y": 45453.79318455375 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Situation", + "name": "66% Target", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "66% Target", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at01hs.candle.close <= portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.6", + "project": "Foundations", + "id": "8a74b52a-5fc5-4ed0-85a3-4092e474081c", + "savedPayload": { + "position": { + "x": 31525.997647079836, + "y": 33968.84520620832 + }, + "targetPosition": { + "x": 31717.946154827056, + "y": 33938.197396061994 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "f27c3841-bbe5-40a0-81e1-031db8512b53", + "savedPayload": { + "position": { + "x": 31717.946154827056, + "y": 33938.197396061994 + }, + "targetPosition": { + "x": 32140.451455302973, + "y": 33871.063180422716 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "ff1379fd-2b18-4c17-b69b-5aed7bffc5c9", + "savedPayload": { + "position": { + "x": 33140.62017145511, + "y": 45627.77730070817 + }, + "targetPosition": { + "x": 33482.19781525667, + "y": 45453.79318455375 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "5e8f7f0f-0a93-4f9d-ac7c-da2b53d38919", + "savedPayload": { + "position": { + "x": 33765.90072736201, + "y": 45770.381912893994 + }, + "targetPosition": { + "x": 33882.03802546636, + "y": 45412.59712835855 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "ac38aa6f-c935-4bd3-90f5-69163e3f23ac", + "savedPayload": { + "position": { + "x": 33882.03802546636, + "y": 45412.59712835855 + }, + "targetPosition": { + "x": 33630.43173546354, + "y": 45133.19350111821 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "P6: Lower Band", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.deviation", + "project": "Foundations", + "id": "5a0e05fc-2b96-46dd-b913-fa10420404c0", + "savedPayload": { + "position": { + "x": 34385.14035183749, + "y": 45971.333939917546 + }, + "targetPosition": { + "x": 34133.66195645854, + "y": 45692.03695603169 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "9dc858f9-63b4-48a4-bcfc-5cee9a7219b4", + "savedPayload": { + "position": { + "x": 34133.66195645854, + "y": 45692.03695603169 + }, + "targetPosition": { + "x": 33882.03802546636, + "y": 45412.59712835855 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "116048c4-81d3-469d-842c-390bb32de8ce", + "savedPayload": { + "position": { + "x": 31904.023394956042, + "y": 30202.810882032853 + }, + "targetPosition": { + "x": 31753.4690085253, + "y": 30035.60329630044 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "7c129ba3-8e7d-422a-9e40-d3a362b2f251", + "savedPayload": { + "position": { + "x": 31753.4690085253, + "y": 30035.60329630044 + }, + "targetPosition": { + "x": 31325.49357619248, + "y": 29896.545648831714 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeStage": { + "type": "Close Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "3d3dc6e9-d5c3-405d-bea2-ff0867368e87", + "savedPayload": { + "position": { + "x": 32243.079520609397, + "y": 30305.081232522054 + }, + "targetPosition": { + "x": 32019.312094151537, + "y": 30328.600136757275 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "93fa6d49-ec93-4df0-aa39-0e41982a794a", + "savedPayload": { + "position": { + "x": 32019.312094151537, + "y": 30328.600136757275 + }, + "targetPosition": { + "x": 31795.544667693677, + "y": 30352.119040992497 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInQuotedAsset": { + "type": "Target Size In Quoted Asset", + "name": "New Target Size In Quoted Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.sizeFilled.value - portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.feesPaid.value", + "project": "Foundations", + "id": "6e98a177-0236-4e1c-8d32-7c67df342fac", + "savedPayload": { + "position": { + "x": 32060.04803122529, + "y": 30716.176688461223 + }, + "targetPosition": { + "x": 31927.796349459484, + "y": 30534.14786472686 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "85c5712b-61bc-4eaf-92a9-4fdacd110f85", + "savedPayload": { + "position": { + "x": 31927.796349459484, + "y": 30534.14786472686 + }, + "targetPosition": { + "x": 31795.544667693677, + "y": 30352.119040992497 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "4cd64320-79e3-4a06-a892-02756d235dbe", + "savedPayload": { + "position": { + "x": 31795.544667693677, + "y": 30352.119040992497 + }, + "targetPosition": { + "x": 31589.996939724093, + "y": 30260.60329630044 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeExecution": { + "type": "Close Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [ + { + "type": "Market Buy Order", + "name": "Quick Exit", + "config": "{\n\"percentageOfAlgorithmSize\": 100,\n\"spawnMultipleOrders\": false\n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "142e80e8-6ef4-443c-91c2-96e0a2041523", + "savedPayload": { + "position": { + "x": 31874.825811155613, + "y": 34146.6437056437 + }, + "targetPosition": { + "x": 31812.445905074535, + "y": 33851.37487731961 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "2e4205ca-82db-4481-a5f9-8bd3d3619eac", + "savedPayload": { + "position": { + "x": 31812.445905074535, + "y": 33851.37487731961 + }, + "targetPosition": { + "x": 31749.981144612633, + "y": 33556.00675479701 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "4067e6b8-f217-4094-a02f-4da7014704a1", + "savedPayload": { + "position": { + "x": 31749.981144612633, + "y": 33556.00675479701 + }, + "targetPosition": { + "x": 31683.01083656471, + "y": 33239.05030250354 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "092bc2da-ac37-407f-8e2f-6492ae11502c", + "savedPayload": { + "position": { + "x": 31684.072556664978, + "y": 31155.67300213188 + }, + "targetPosition": { + "x": 31660.553652429757, + "y": 30931.90557567402 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "3b1d6016-48ec-4460-8200-30bc40049643", + "savedPayload": { + "position": { + "x": 31660.553652429757, + "y": 30931.90557567402 + }, + "targetPosition": { + "x": 31637.034748194535, + "y": 30708.13814921616 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Buy Order #1", + "id": "7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3" + } + } + } + ], + "marketSellOrders": [], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "f46a0d35-2aea-47d3-96c9-ec3e063c5168", + "savedPayload": { + "position": { + "x": 31637.034748194535, + "y": 30708.13814921616 + }, + "targetPosition": { + "x": 31613.515843959314, + "y": 30484.3707227583 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "13f97380-5bfb-4f7d-a690-ffefb67fdfb9", + "savedPayload": { + "position": { + "x": 31613.515843959314, + "y": 30484.3707227583 + }, + "targetPosition": { + "x": 31589.996939724093, + "y": 30260.60329630044 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "bdaf22d5-ad3a-43e4-8a9e-848b8f32eff4", + "savedPayload": { + "position": { + "x": 31589.996939724093, + "y": 30260.60329630044 + }, + "targetPosition": { + "x": 31325.49357619248, + "y": 29896.545648831714 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "5a5f437d-1a17-4619-95e6-925b7686c87c", + "savedPayload": { + "position": { + "x": 31325.49357619248, + "y": 29896.545648831714 + }, + "targetPosition": { + "x": 30875.49357619248, + "y": 29896.545648831714 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Portfolio Strategy", + "name": "Xtreme", + "project": "Foundations", + "triggerStage": { + "type": "Trigger Stage", + "project": "Foundations", + "triggerOn": { + "type": "Trigger On Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "Xtreme", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "3 Closes Below MA", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage && \nchart.at01hs.candle.previous.close < chart.at01hs.bollingerBand.previous.movingAverage && \nchart.at01hs.candle.previous.previous.close < chart.at01hs.bollingerBand.previous.previous.movingAverage", + "project": "Foundations", + "id": "afc33e4f-53e2-4106-83c3-9efa7e7bebc5", + "savedPayload": { + "position": { + "x": 30751.059406018547, + "y": 30881.062122342755 + }, + "targetPosition": { + "x": 30583.701137094362, + "y": 30859.434077523572 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "0f055de8-0eb0-4a8c-aea8-0acc7480ac6c", + "savedPayload": { + "position": { + "x": 30583.701137094362, + "y": 30859.434077523572 + }, + "targetPosition": { + "x": 30248.984599245996, + "y": 30816.177987885203 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "Breakdown", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.deviation", + "project": "Foundations", + "id": "34bd2c52-c5aa-4e69-9b82-414008ee0b80", + "savedPayload": { + "position": { + "x": 30712.441875473945, + "y": 31019.88467803398 + }, + "targetPosition": { + "x": 30557.956116731297, + "y": 30951.98244798439 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "4ccae6ab-5911-4e5b-aa69-57e157a5acf9", + "savedPayload": { + "position": { + "x": 30557.956116731297, + "y": 30951.98244798439 + }, + "targetPosition": { + "x": 30248.984599245996, + "y": 30816.177987885203 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "2H Down", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at02hs.bollingerChannel.direction === \"Down\"", + "project": "Foundations", + "id": "527f0ba5-4997-44c4-94d8-095c7b3d869e", + "savedPayload": { + "position": { + "x": 30636.277792695906, + "y": 31142.204129179685 + }, + "targetPosition": { + "x": 30507.180061545936, + "y": 31033.52874874819 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "bfed975b-1086-4648-b900-2c493bcd2278", + "savedPayload": { + "position": { + "x": 30507.180061545936, + "y": 31033.52874874819 + }, + "targetPosition": { + "x": 30248.984599245996, + "y": 30816.177987885203 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "Deviation > 200", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.bollingerBand.deviation > 200", + "project": "Foundations", + "id": "56266555-5754-48e1-be35-51840b451a61", + "savedPayload": { + "position": { + "x": 30528.737518705864, + "y": 31238.110881309833 + }, + "targetPosition": { + "x": 30435.486545552576, + "y": 31097.466583501624 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "ca52539f-eab7-4867-80a9-4c03295df977", + "savedPayload": { + "position": { + "x": 30435.486545552576, + "y": 31097.466583501624 + }, + "targetPosition": { + "x": 30248.984599245996, + "y": 30816.177987885203 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "Candle Size < 750", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.candle.max - chart.at01hs.candle.min < 750", + "project": "Foundations", + "id": "63b99ed2-4919-4262-aa74-ca9de1f83e0a", + "savedPayload": { + "position": { + "x": 30398.53332693586, + "y": 31299.835139746254 + }, + "targetPosition": { + "x": 30348.68375103924, + "y": 31138.616089125902 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "04132e51-a148-4e3b-a41a-d47deaa5113d", + "savedPayload": { + "position": { + "x": 30348.68375103924, + "y": 31138.616089125902 + }, + "targetPosition": { + "x": 30248.984599245996, + "y": 30816.177987885203 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "Deviation < 1000", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.bollingerBand.deviation < 1000", + "project": "Foundations", + "id": "5de63c96-ba0b-4329-8f5d-36414ecec5f3", + "savedPayload": { + "position": { + "x": 30256.21358664895, + "y": 31322.376372158727 + }, + "targetPosition": { + "x": 30253.8039241813, + "y": 31153.643577400886 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "206f98c9-6ebc-47bf-97f9-7a2369cf2a20", + "savedPayload": { + "position": { + "x": 30253.8039241813, + "y": 31153.643577400886 + }, + "targetPosition": { + "x": 30248.984599245996, + "y": 30816.177987885203 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "Not Completly Oversold", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at02hs.percentageBandwidth.movingAverage >= 30 || \nchart.at03hs.percentageBandwidth.movingAverage >= 30 || \nchart.at04hs.percentageBandwidth.movingAverage >= 30 || \nchart.at06hs.percentageBandwidth.movingAverage >= 30 || \nchart.at08hs.percentageBandwidth.movingAverage >= 30", + "project": "Foundations", + "id": "09a75c6c-1d70-4826-9926-b65c58db8ec9", + "savedPayload": { + "position": { + "x": 30113.308196795097, + "y": 31303.90842195507 + }, + "targetPosition": { + "x": 30158.53366427873, + "y": 31141.33161059845 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "e5cc491c-ca57-4138-8c28-9b0f3aa706d7", + "savedPayload": { + "position": { + "x": 30158.53366427873, + "y": 31141.33161059845 + }, + "targetPosition": { + "x": 30248.984599245996, + "y": 30816.177987885203 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "1H Extreme", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "if (chart.at01hs.bollingerSubChannel.slope != \"Extreme\") {true} else {if (chart.at01hs.bollingerSubChannel.period <=7) {true} else {false}}", + "project": "Foundations", + "id": "67f3557c-8ecd-46bc-afbc-433af0bc47de", + "savedPayload": { + "position": { + "x": 29981.394502169183, + "y": 31245.92745262765 + }, + "targetPosition": { + "x": 30070.591201194788, + "y": 31102.677631046834 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "f9dbefdb-09bf-4d90-964f-35b02cde3ce4", + "savedPayload": { + "position": { + "x": 30070.591201194788, + "y": 31102.677631046834 + }, + "targetPosition": { + "x": 30248.984599245996, + "y": 30816.177987885203 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "2H %B MA > 70", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at02hs.percentageBandwidth.movingAverage >= 70 || \nchart.at02hs.percentageBandwidth.previous.movingAverage >= 70 || \nchart.at02hs.percentageBandwidth.previous.previous.movingAverage >= 70 || \nchart.at02hs.percentageBandwidth.previous.previous.previous.movingAverage >= 70 || \nchart.at02hs.percentageBandwidth.previous.previous.previous.previous.movingAverage >= 70 || \nchart.at02hs.percentageBandwidth.previous.previous.previous.previous.previous.movingAverage >= 70", + "project": "Foundations", + "id": "3e758bbf-798d-4350-b600-f66e65b79a94", + "savedPayload": { + "position": { + "x": 29871.159365788844, + "y": 31153.130737485277 + }, + "targetPosition": { + "x": 29997.10111027456, + "y": 31040.813154285253 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "d4c531a6-e637-4fd8-a2b8-b8b248bf4a0a", + "savedPayload": { + "position": { + "x": 29997.10111027456, + "y": 31040.813154285253 + }, + "targetPosition": { + "x": 30248.984599245996, + "y": 30816.177987885203 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "24H Deviation > 2000", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "chart.at24hs.bollingerBand.deviation > 2000", + "project": "Foundations", + "id": "6dc8d475-f68f-4405-8418-5869e7ca3785", + "savedPayload": { + "position": { + "x": 29791.533382810023, + "y": 31033.036114505467 + }, + "targetPosition": { + "x": 29944.017121622015, + "y": 30960.750072298713 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "445f4ffc-bac0-44f2-9441-cf01424fd36e", + "savedPayload": { + "position": { + "x": 29944.017121622015, + "y": 30960.750072298713 + }, + "targetPosition": { + "x": 30248.984599245996, + "y": 30816.177987885203 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "8a5bd03d-6958-4fd0-bd5d-84afb04a6bed", + "savedPayload": { + "position": { + "x": 30248.984599245996, + "y": 30816.177987885203 + }, + "targetPosition": { + "x": 30196.187967294918, + "y": 30482.833172934344 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 4, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "b21fbf4b-4ed3-4536-93f3-531ca2700817", + "savedPayload": { + "position": { + "x": 30196.187967294918, + "y": 30482.833172934344 + }, + "targetPosition": { + "x": 30160.990212660865, + "y": 30260.60329630044 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "triggerOff": { + "type": "Trigger Off Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.candle.close > chart.at01hs.bollingerBand.movingAverage", + "project": "Foundations", + "id": "3b591e8c-1739-4466-b9f3-87be08d0db90", + "savedPayload": { + "position": { + "x": 29631.983485597637, + "y": 30988.71859123789 + }, + "targetPosition": { + "x": 29764.235167363444, + "y": 30806.68976750353 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "20b59f4c-8ec5-4be8-9d06-f1b223045e83", + "savedPayload": { + "position": { + "x": 29764.235167363444, + "y": 30806.68976750353 + }, + "targetPosition": { + "x": 29896.48684912925, + "y": 30624.660943769166 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "4b8da5dc-c9d7-4794-ba8a-ad3a737f82c6", + "savedPayload": { + "position": { + "x": 29896.48684912925, + "y": 30624.660943769166 + }, + "targetPosition": { + "x": 30028.738530895058, + "y": 30442.632120034803 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "4e265461-a65e-4f61-a123-f74d32a3d14f", + "savedPayload": { + "position": { + "x": 30028.738530895058, + "y": 30442.632120034803 + }, + "targetPosition": { + "x": 30160.990212660865, + "y": 30260.60329630044 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "takePosition": { + "type": "Take Position Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "Xtreme", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "3 Closes Below MA", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage && \nchart.at01hs.candle.previous.close < chart.at01hs.bollingerBand.previous.movingAverage && \nchart.at01hs.candle.previous.previous.close < chart.at01hs.bollingerBand.previous.previous.movingAverage", + "project": "Foundations", + "id": "88151639-ba25-411f-ab3a-8e002e9948f2", + "savedPayload": { + "position": { + "x": 29526.220573149483, + "y": 30848.61490531186 + }, + "targetPosition": { + "x": 29552.618889125024, + "y": 30681.94249783643 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "fc0bf247-86a1-4352-a85b-a0515a158629", + "savedPayload": { + "position": { + "x": 29552.618889125024, + "y": 30681.94249783643 + }, + "targetPosition": { + "x": 29605.415521076102, + "y": 30348.59768288557 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "Breakdown", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.candle.close < chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.deviation", + "project": "Foundations", + "id": "5ce80f14-1175-4cce-8f3f-cd05977d02e8", + "savedPayload": { + "position": { + "x": 29375.582830582956, + "y": 30799.66973575593 + }, + "targetPosition": { + "x": 29452.193727414004, + "y": 30649.312384799145 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "449a1458-781c-4214-9ddc-4e268891db36", + "savedPayload": { + "position": { + "x": 29452.193727414004, + "y": 30649.312384799145 + }, + "targetPosition": { + "x": 29605.415521076102, + "y": 30348.59768288557 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "2H Down", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at02hs.bollingerChannel.direction === \"Down\"", + "project": "Foundations", + "id": "660a8819-2e1b-46f9-b8ff-0f07b772ffb7", + "savedPayload": { + "position": { + "x": 29247.442713100412, + "y": 30706.57049086126 + }, + "targetPosition": { + "x": 29366.76698242564, + "y": 30587.246221536032 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "b9a2cd43-d129-444e-9684-04ba93aa939e", + "savedPayload": { + "position": { + "x": 29366.76698242564, + "y": 30587.246221536032 + }, + "targetPosition": { + "x": 29605.415521076102, + "y": 30348.59768288557 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "Deviation > 200", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.bollingerBand.deviation > 200", + "project": "Foundations", + "id": "9d354242-8f6f-4dd4-8488-f453699caf51", + "savedPayload": { + "position": { + "x": 29154.34346820574, + "y": 30578.430373378716 + }, + "targetPosition": { + "x": 29304.70081916253, + "y": 30501.81947654767 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "2d429ceb-6816-4f9d-b211-4034080d39a3", + "savedPayload": { + "position": { + "x": 29304.70081916253, + "y": 30501.81947654767 + }, + "targetPosition": { + "x": 29605.415521076102, + "y": 30348.59768288557 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "Candle Size < 750", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.candle.max - chart.at01hs.candle.min < 750", + "project": "Foundations", + "id": "85a4f5bd-4255-4b8d-bb4e-62eddb053030", + "savedPayload": { + "position": { + "x": 29105.398298649812, + "y": 30427.79263081219 + }, + "targetPosition": { + "x": 29272.070706125243, + "y": 30401.39431483665 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "0b3dba7b-79a2-425e-be41-0368ea2f005d", + "savedPayload": { + "position": { + "x": 29272.070706125243, + "y": 30401.39431483665 + }, + "targetPosition": { + "x": 29605.415521076102, + "y": 30348.59768288557 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "Deviation < 1000", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.bollingerBand.deviation < 1000", + "project": "Foundations", + "id": "89150469-6c19-4781-8c80-f3ac0728d734", + "savedPayload": { + "position": { + "x": 29105.398298649812, + "y": 30269.402734958956 + }, + "targetPosition": { + "x": 29272.070706125243, + "y": 30295.801050934493 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "c27245cb-4562-4e8b-8cd2-171427de3d04", + "savedPayload": { + "position": { + "x": 29272.070706125243, + "y": 30295.801050934493 + }, + "targetPosition": { + "x": 29605.415521076102, + "y": 30348.59768288557 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "Not Completly Oversold", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at02hs.percentageBandwidth.movingAverage >= 30 || \nchart.at03hs.percentageBandwidth.movingAverage >= 30 || \nchart.at04hs.percentageBandwidth.movingAverage >= 30 || \nchart.at06hs.percentageBandwidth.movingAverage >= 30 || \nchart.at08hs.percentageBandwidth.movingAverage >= 30", + "project": "Foundations", + "id": "72d449b1-2eaf-449c-b4c2-7e54165620e4", + "savedPayload": { + "position": { + "x": 29154.34346820574, + "y": 30118.764992392425 + }, + "targetPosition": { + "x": 29304.70081916253, + "y": 30195.375889223473 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "72c0840a-0162-4fb5-8fe0-1043a3500942", + "savedPayload": { + "position": { + "x": 29304.70081916253, + "y": 30195.375889223473 + }, + "targetPosition": { + "x": 29605.415521076102, + "y": 30348.59768288557 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "1H Extreme", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "if (chart.at01hs.bollingerSubChannel.slope != \"Extreme\") {true} else {if (chart.at01hs.bollingerSubChannel.period <=7) {true} else {false}}", + "project": "Foundations", + "id": "fd550ee5-bb66-4475-9712-165aff7123a2", + "savedPayload": { + "position": { + "x": 29247.442713100412, + "y": 29990.62487490988 + }, + "targetPosition": { + "x": 29366.76698242564, + "y": 30109.94914423511 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "27abcda3-5917-4345-b070-f506dd03d511", + "savedPayload": { + "position": { + "x": 29366.76698242564, + "y": 30109.94914423511 + }, + "targetPosition": { + "x": 29605.415521076102, + "y": 30348.59768288557 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "2H %B MA > 70", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at02hs.percentageBandwidth.movingAverage >= 70 || \nchart.at02hs.percentageBandwidth.previous.movingAverage >= 70 || \nchart.at02hs.percentageBandwidth.previous.previous.movingAverage >= 70 || \nchart.at02hs.percentageBandwidth.previous.previous.previous.movingAverage >= 70 || \nchart.at02hs.percentageBandwidth.previous.previous.previous.previous.movingAverage >= 70 || \nchart.at02hs.percentageBandwidth.previous.previous.previous.previous.previous.movingAverage >= 70", + "project": "Foundations", + "id": "ae35fa99-f82e-421d-9df7-695e52a2dbe3", + "savedPayload": { + "position": { + "x": 29375.582830582956, + "y": 29897.52563001521 + }, + "targetPosition": { + "x": 29452.193727414004, + "y": 30047.882980971997 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "055aec39-19b4-4001-8c7e-4e9d0b46a41d", + "savedPayload": { + "position": { + "x": 29452.193727414004, + "y": 30047.882980971997 + }, + "targetPosition": { + "x": 29605.415521076102, + "y": 30348.59768288557 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "935320b2-9c4b-4f95-a23b-eca780f9968e", + "savedPayload": { + "position": { + "x": 29605.415521076102, + "y": 30348.59768288557 + }, + "targetPosition": { + "x": 29938.76033602696, + "y": 30295.801050934493 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 4, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "9473e9a0-df49-4111-aeb3-c3398a2cca06", + "savedPayload": { + "position": { + "x": 29938.76033602696, + "y": 30295.801050934493 + }, + "targetPosition": { + "x": 30160.990212660865, + "y": 30260.60329630044 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "7653910c-4637-4b93-909a-934356164e61", + "savedPayload": { + "position": { + "x": 30160.990212660865, + "y": 30260.60329630044 + }, + "targetPosition": { + "x": 30425.49357619248, + "y": 29896.545648831714 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "" + } + } + }, + "openStage": { + "type": "Open Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "My Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "20253ca8-c331-4d15-83dd-3615e5b3bd94", + "savedPayload": { + "position": { + "x": 29753.403496560924, + "y": 30642.977302363066 + }, + "targetPosition": { + "x": 29800.18362699492, + "y": 30422.89409219796 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "e2d8b919-87fd-4d37-86b7-7c1e7d6268ff", + "savedPayload": { + "position": { + "x": 29800.18362699492, + "y": 30422.89409219796 + }, + "targetPosition": { + "x": 29846.963757428915, + "y": 30202.810882032853 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInBaseAsset": { + "type": "Target Size In Base Asset", + "name": "New Target Size In Base Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value", + "project": "Foundations", + "id": "a90e0c3d-a8f5-4cce-a763-2cc1a0d64502", + "savedPayload": { + "position": { + "x": 29418.9883250961, + "y": 30341.86852950158 + }, + "targetPosition": { + "x": 29632.976041262507, + "y": 30272.339705767215 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "1f3a30b8-30b5-46e9-b8b7-1ceb4bf80aae", + "savedPayload": { + "position": { + "x": 29632.976041262507, + "y": 30272.339705767215 + }, + "targetPosition": { + "x": 29846.963757428915, + "y": 30202.810882032853 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "82010f4f-3614-4bdc-8c40-4d99e9e31312", + "savedPayload": { + "position": { + "x": 29846.963757428915, + "y": 30202.810882032853 + }, + "targetPosition": { + "x": 29997.51814385966, + "y": 30035.60329630044 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "openExecution": { + "type": "Open Execution", + "name": "New Open Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [], + "marketSellOrders": [ + { + "type": "Market Sell Order", + "name": "Quick Entry", + "config": "{\n\"percentageOfAlgorithmSize\": 100\n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "1fe7e332-45dd-45c0-b106-63cdaea4bed4", + "savedPayload": { + "position": { + "x": 28456.935672703912, + "y": 29708.14238326247 + }, + "targetPosition": { + "x": 28677.01888286902, + "y": 29754.922513696467 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "f2f65162-a972-4815-885c-a82298951d0b", + "savedPayload": { + "position": { + "x": 28677.01888286902, + "y": 29754.922513696467 + }, + "targetPosition": { + "x": 28897.102093034126, + "y": 29801.702644130462 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "0662db35-3b83-4fad-be6c-aed4105f1804", + "savedPayload": { + "position": { + "x": 28897.102093034126, + "y": 29801.702644130462 + }, + "targetPosition": { + "x": 29117.185303199232, + "y": 29848.482774564458 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "8c738920-803e-4d81-81d7-f08f9d94d4b6", + "savedPayload": { + "position": { + "x": 29117.185303199232, + "y": 29848.482774564458 + }, + "targetPosition": { + "x": 29337.26851336434, + "y": 29895.262904998453 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "b4d78477-d485-45cc-ba6e-d97c76cf7dcc", + "savedPayload": { + "position": { + "x": 29337.26851336434, + "y": 29895.262904998453 + }, + "targetPosition": { + "x": 29557.351723529446, + "y": 29942.04303543245 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Sell Order #1", + "id": "8e404329-d41f-41e0-ad5a-c84ee1fa2604" + } + } + } + ], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "8243f9c5-daa7-4793-9752-ade0c6dc895a", + "savedPayload": { + "position": { + "x": 29557.351723529446, + "y": 29942.04303543245 + }, + "targetPosition": { + "x": 29777.434933694552, + "y": 29988.823165866444 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "" + } + } + } + ], + "id": "a2395358-86a8-43ae-8473-fd8bc36631b7", + "savedPayload": { + "position": { + "x": 29777.434933694552, + "y": 29988.823165866444 + }, + "targetPosition": { + "x": 29997.51814385966, + "y": 30035.60329630044 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "17b1363e-f9cb-4a68-bb06-666749e377e9", + "savedPayload": { + "position": { + "x": 29997.51814385966, + "y": 30035.60329630044 + }, + "targetPosition": { + "x": 30425.49357619248, + "y": 29896.545648831714 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "manageStage": { + "type": "Manage Stage", + "project": "Foundations", + "managedStopLoss": { + "type": "Managed Stop Loss", + "name": "New Managed Stop Loss", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "New Phase", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 1.03", + "project": "Foundations", + "id": "2477d7a0-e2ef-4f98-8859-c9abdd65f330", + "savedPayload": { + "position": { + "x": 29390.144137797033, + "y": 30001.602648661723 + }, + "targetPosition": { + "x": 29557.351723529446, + "y": 29851.04826223098 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "shortcutKey": "q" + } + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Close Below 5%", + "code": "chart.at24hs.candlesProbability.begin > chart.at24hs.candlesProbability.begin", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at01hs.candle.close < portfolioEngine.portfolioCurrent.position.entryTargetRate.value * 0.95", + "project": "Foundations", + "id": "aa5d897c-69c4-4c32-a25d-76662d7e110f", + "savedPayload": { + "position": { + "x": 27325.1684375298, + "y": 44444.82123618727 + }, + "targetPosition": { + "x": 27668.892281625405, + "y": 44333.112685233806 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "ac91438d-54f6-4de5-bd93-2414037fd447", + "savedPayload": { + "position": { + "x": 27668.892281625405, + "y": 44333.112685233806 + }, + "targetPosition": { + "x": 28012.827239025, + "y": 44221.30705964097 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "ba1814d0-9aac-443f-8ce8-9f19e860b532", + "savedPayload": { + "position": { + "x": 28012.827239025, + "y": 44221.30705964097 + }, + "targetPosition": { + "x": 28366.495333972656, + "y": 44106.29452966068 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "784ae520-1c92-4923-b9b1-b3da21840959", + "savedPayload": { + "position": { + "x": 29343.364007363038, + "y": 29781.519438496616 + }, + "targetPosition": { + "x": 29557.351723529446, + "y": 29851.04826223098 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "48832805-7cb3-4fe7-b465-5e20cb5393ce", + "savedPayload": { + "position": { + "x": 29557.351723529446, + "y": 29851.04826223098 + }, + "targetPosition": { + "x": 29777.434933694552, + "y": 29804.268131796984 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "P1: Trailing 4% Above MA", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "if (chart.at01hs.bollingerBand.movingAverage * 1.04 < portfolioEngine.portfolioCurrent.position.stopLoss.value) \n{chart.at01hs.bollingerBand.movingAverage * 1.04} \nelse {portfolioEngine.portfolioCurrent.position.stopLoss.value}", + "project": "Foundations", + "id": "1348c680-76ae-4766-bb6d-b8885b8b976c", + "savedPayload": { + "position": { + "x": 29117.185303199232, + "y": 29944.60852309897 + }, + "targetPosition": { + "x": 29337.26851336434, + "y": 29897.828392664975 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "b65434d1-738d-4df6-9b40-cb3674874299", + "savedPayload": { + "position": { + "x": 29337.26851336434, + "y": 29897.828392664975 + }, + "targetPosition": { + "x": 29557.351723529446, + "y": 29851.04826223098 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "e0588afd-77c9-41e2-9ba3-6ad4661b299e", + "savedPayload": { + "position": { + "x": 29777.434933694552, + "y": 29804.268131796984 + }, + "targetPosition": { + "x": 29997.51814385966, + "y": 29757.488001362988 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "managedTakeProfit": { + "type": "Managed Take Profit", + "name": "New Managed Take Profit", + "project": "Foundations", + "phases": [ + { + "type": "Phase", + "name": "P 1", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "chart.at01hs.bollingerBand.movingAverage * 0.6", + "project": "Foundations", + "id": "da970219-d04e-4e81-b13f-11206c1ac444", + "savedPayload": { + "position": { + "x": 29482.421654831764, + "y": 29353.5440061638 + }, + "targetPosition": { + "x": 29696.40937099817, + "y": 29423.072829898163 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "3H Oversold", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at03hs.percentageBandwidth.previous.movingAverage <= 10", + "project": "Foundations", + "id": "598ad9f2-1628-484a-8064-dc02a603a76a", + "savedPayload": { + "position": { + "x": 27071.083083360936, + "y": 43186.95536219166 + }, + "targetPosition": { + "x": 27424.9056420415, + "y": 43261.838424006404 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "8d0ee4a2-12bc-4397-88eb-0336f5727cc5", + "savedPayload": { + "position": { + "x": 27424.9056420415, + "y": 43261.838424006404 + }, + "targetPosition": { + "x": 27778.90697465858, + "y": 43336.664991675934 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "7aec6373-83e5-49e9-a929-24793f0edf63", + "savedPayload": { + "position": { + "x": 27778.90697465858, + "y": 43336.664991675934 + }, + "targetPosition": { + "x": 28142.75951403162, + "y": 43413.32984242594 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "3H Entering Oversold", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at03hs.percentageBandwidth.movingAverage <= 30", + "project": "Foundations", + "id": "80b84359-b9be-4edb-959f-019c7db1a646", + "savedPayload": { + "position": { + "x": 27489.699772514286, + "y": 42576.609177254824 + }, + "targetPosition": { + "x": 27758.669361546286, + "y": 42818.31994258685 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "b49b85e8-3e0f-4690-81aa-63bcc653bf61", + "savedPayload": { + "position": { + "x": 27758.669361546286, + "y": 42818.31994258685 + }, + "targetPosition": { + "x": 28027.794895514067, + "y": 43060.20082600905 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "24H Up", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at24hs.bollingerChannel.direction === \"Up\"", + "project": "Foundations", + "id": "ab06f5d1-3b5b-46bb-a11f-53bdfb934128", + "savedPayload": { + "position": { + "x": 28176.60175389199, + "y": 42353.81624123092 + }, + "targetPosition": { + "x": 28102.258539816678, + "y": 42706.73053007794 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "c7e3d21c-8c14-4803-baf0-993d5ea14115", + "savedPayload": { + "position": { + "x": 28102.258539816678, + "y": 42706.73053007794 + }, + "targetPosition": { + "x": 28027.794895514067, + "y": 43060.20082600905 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "66e824e8-bcb1-4d2f-b0c0-71d69c21c21d", + "savedPayload": { + "position": { + "x": 28027.794895514067, + "y": 43060.20082600905 + }, + "targetPosition": { + "x": 28142.75951403162, + "y": 43413.32984242594 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "45d39511-6b07-4481-aae9-2db4bb322f55", + "savedPayload": { + "position": { + "x": 29649.629240564176, + "y": 29202.989619733056 + }, + "targetPosition": { + "x": 29696.40937099817, + "y": 29423.072829898163 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "af39b8d4-dff2-4b71-85b8-25f18c617aca", + "savedPayload": { + "position": { + "x": 29696.40937099817, + "y": 29423.072829898163 + }, + "targetPosition": { + "x": 29846.963757428915, + "y": 29590.280415630576 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "P 2", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "chart.at01hs.bollingerBand.movingAverage * 0.7", + "project": "Foundations", + "id": "6e57c877-ec29-43b0-9003-6a4bc491437b", + "savedPayload": { + "position": { + "x": 29325.77177440232, + "y": 29302.645374599746 + }, + "targetPosition": { + "x": 29545.854984567428, + "y": 29255.86524416575 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "4H Previous %B < 15", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at04hs.percentageBandwidth.previous.movingAverage <= 15", + "project": "Foundations", + "id": "70a8d00a-b4e5-4bf7-b778-5044173db6e0", + "savedPayload": { + "position": { + "x": 29742.404954949372, + "y": 28437.110872961883 + }, + "targetPosition": { + "x": 29711.652710022572, + "y": 28603.0351386133 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "02fdb9bc-e3fe-4133-9992-33c81371e710", + "savedPayload": { + "position": { + "x": 29711.652710022572, + "y": 28603.0351386133 + }, + "targetPosition": { + "x": 29680.900465095772, + "y": 28768.95940426472 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 4, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "74c4dbfb-5dee-4404-9eda-2f93ba6fc5b5", + "savedPayload": { + "position": { + "x": 29680.900465095772, + "y": 28768.95940426472 + }, + "targetPosition": { + "x": 29650.148220168972, + "y": 28934.883669916137 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 4, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "4H %B < 50", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at04hs.percentageBandwidth.movingAverage <= 50", + "project": "Foundations", + "id": "0ecf3b89-510e-41e2-bb99-fca45f1ecade", + "savedPayload": { + "position": { + "x": 29959.369583785854, + "y": 28538.916563411498 + }, + "targetPosition": { + "x": 29867.46174662707, + "y": 28680.442221752288 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "a9031b3b-9d32-42c7-929d-7d83f7fa0fac", + "savedPayload": { + "position": { + "x": 29867.46174662707, + "y": 28680.442221752288 + }, + "targetPosition": { + "x": 29775.553909468283, + "y": 28821.967880093078 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "24H Up", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at24hs.bollingerChannel.direction === \"Up\"", + "project": "Foundations", + "id": "6131bc6f-dacb-4247-a4fc-d18f8d204491", + "savedPayload": { + "position": { + "x": 30076.268611381856, + "y": 28668.746086430983 + }, + "targetPosition": { + "x": 29925.91126042507, + "y": 28745.35698326203 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "4f96a644-8447-4406-94c9-d466e0d4d7f9", + "savedPayload": { + "position": { + "x": 29925.91126042507, + "y": 28745.35698326203 + }, + "targetPosition": { + "x": 29775.553909468283, + "y": 28821.967880093078 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "9253d35a-1ff4-4889-aa4c-d2d9cc495879", + "savedPayload": { + "position": { + "x": 29775.553909468283, + "y": 28821.967880093078 + }, + "targetPosition": { + "x": 29650.148220168972, + "y": 28934.883669916137 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "ca7f0fa8-4f3b-4090-bc50-ff76e84401f2", + "savedPayload": { + "position": { + "x": 29650.148220168972, + "y": 28934.883669916137 + }, + "targetPosition": { + "x": 29545.854984567428, + "y": 29255.86524416575 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 4, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "cbc568dd-3da9-4818-8501-6c7f48b2a42e", + "savedPayload": { + "position": { + "x": 29545.854984567428, + "y": 29255.86524416575 + }, + "targetPosition": { + "x": 29696.40937099817, + "y": 29423.072829898163 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "P 3", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "chart.at01hs.bollingerBand.movingAverage * 0.8", + "project": "Foundations", + "id": "b20cc025-3f64-4362-bc52-a43fa66de135", + "savedPayload": { + "position": { + "x": 29175.217387971577, + "y": 29135.437788867333 + }, + "targetPosition": { + "x": 29395.300598136684, + "y": 29088.657658433338 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "6H Previous %B < 15", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at06hs.percentageBandwidth.previous.movingAverage <= 15", + "project": "Foundations", + "id": "ad489932-52d2-423a-bb47-db08d9934027", + "savedPayload": { + "position": { + "x": 29981.89280956224, + "y": 28650.78487122785 + }, + "targetPosition": { + "x": 29825.771276117594, + "y": 28938.61789382996 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "d0a8b6d2-862f-4dc8-894f-98a147328521", + "savedPayload": { + "position": { + "x": 29825.771276117594, + "y": 28938.61789382996 + }, + "targetPosition": { + "x": 29669.585522356138, + "y": 29226.727431425534 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 4, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "51dea0e4-a5b0-419e-9077-f5d60ad8e4cd", + "savedPayload": { + "position": { + "x": 29669.585522356138, + "y": 29226.727431425534 + }, + "targetPosition": { + "x": 29506.044327624586, + "y": 29529.552362571285 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 4, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "5H %B < 50", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at06hs.percentageBandwidth.movingAverage <= 50", + "project": "Foundations", + "id": "10317b11-632c-4cbf-ad84-7ec0b75f999e", + "savedPayload": { + "position": { + "x": 30329.48781851751, + "y": 28977.90356084682 + }, + "targetPosition": { + "x": 30075.45829094806, + "y": 29183.831935140162 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "8beb8b51-1353-4670-b392-b4e6c9c2cdf0", + "savedPayload": { + "position": { + "x": 30075.45829094806, + "y": 29183.831935140162 + }, + "targetPosition": { + "x": 29820.861884606456, + "y": 29390.02512544318 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "24H Up", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at24hs.bollingerChannel.direction === \"Up\"", + "project": "Foundations", + "id": "d87940c6-f532-4acd-96da-06e846214122", + "savedPayload": { + "position": { + "x": 30471.565397665327, + "y": 29457.727703136974 + }, + "targetPosition": { + "x": 30146.50762476932, + "y": 29423.88892145403 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "b2b584bd-42c3-4a54-94d1-afcc2e676afc", + "savedPayload": { + "position": { + "x": 30146.50762476932, + "y": 29423.88892145403 + }, + "targetPosition": { + "x": 29820.861884606456, + "y": 29390.02512544318 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "0d104bb9-af75-4f6f-97b6-9d1bbad410b3", + "savedPayload": { + "position": { + "x": 29820.861884606456, + "y": 29390.02512544318 + }, + "targetPosition": { + "x": 29506.044327624586, + "y": 29529.552362571285 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "74fa819d-43c6-44b7-8ec4-64bd97c2ce29", + "savedPayload": { + "position": { + "x": 29499.59383373823, + "y": 28767.676084183724 + }, + "targetPosition": { + "x": 29395.300598136684, + "y": 29088.657658433338 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 4, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "d909c920-b2a7-457f-96a4-1841a61b0428", + "savedPayload": { + "position": { + "x": 29395.300598136684, + "y": 29088.657658433338 + }, + "targetPosition": { + "x": 29545.854984567428, + "y": 29255.86524416575 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "P 4", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "chart.at01hs.bollingerBand.movingAverage * 0.85", + "project": "Foundations", + "id": "72e1f768-6908-4402-8935-41705cb7c2e1", + "savedPayload": { + "position": { + "x": 29024.663001540834, + "y": 28968.23020313492 + }, + "targetPosition": { + "x": 29244.74621170594, + "y": 28921.450072700925 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "8H %B 0< 15 && 1H Extreme", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at08hs.percentageBandwidth.previous.movingAverage <= 15 && chart.at01hs.bollingerSubChannel.slope === \"Extreme\" && chart.at01hs.bollingerSubChannel.period >= 5", + "project": "Foundations", + "id": "72c3f3e2-037a-4840-a2ac-5f682a578c14", + "savedPayload": { + "position": { + "x": 29804.637102984852, + "y": 28252.7489206925 + }, + "targetPosition": { + "x": 29648.504109564885, + "y": 28540.547359335746 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "a3c4a2c7-bb79-4d9d-9a6f-bd56fc231211", + "savedPayload": { + "position": { + "x": 29648.504109564885, + "y": 28540.547359335746 + }, + "targetPosition": { + "x": 29492.322875865997, + "y": 28828.55512402293 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 4, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "ea20d7db-4468-457c-b65f-a52744fb6fc5", + "savedPayload": { + "position": { + "x": 29492.322875865997, + "y": 28828.55512402293 + }, + "targetPosition": { + "x": 29328.62956693359, + "y": 29131.262122363867 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 4, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "8H %B < 40 && 1H Extreme", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at08hs.percentageBandwidth.movingAverage <= 40 && chart.at01hs.bollingerSubChannel.slope === \"Extreme\" && chart.at01hs.bollingerSubChannel.period >= 3", + "project": "Foundations", + "id": "6485a5b2-2959-4358-947e-98d0f3c88011", + "savedPayload": { + "position": { + "x": 30151.901715772736, + "y": 28579.53869806398 + }, + "targetPosition": { + "x": 29897.87054562819, + "y": 28785.43917096133 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "d8553226-ae92-4b87-ae86-5b53607d3bd3", + "savedPayload": { + "position": { + "x": 29897.87054562819, + "y": 28785.43917096133 + }, + "targetPosition": { + "x": 29643.384284542568, + "y": 28991.610412978054 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "24H Previous Up", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at24hs.bollingerChannel.previous.direction === \"Up\"", + "project": "Foundations", + "id": "d1a82d5f-7ff4-4c23-9147-a13f5199f21f", + "savedPayload": { + "position": { + "x": 30289.705061672685, + "y": 28889.315462823295 + }, + "targetPosition": { + "x": 29966.80578955676, + "y": 28940.45076690135 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "c80b06ad-0f63-41c0-a485-0bc97313fd48", + "savedPayload": { + "position": { + "x": 29966.80578955676, + "y": 28940.45076690135 + }, + "targetPosition": { + "x": 29643.384284542568, + "y": 28991.610412978054 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "5a234bc0-ff31-4650-878e-c21a11204d2a", + "savedPayload": { + "position": { + "x": 29643.384284542568, + "y": 28991.610412978054 + }, + "targetPosition": { + "x": 29328.62956693359, + "y": 29131.262122363867 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "248f0567-8e65-41c6-9580-71229332c7bb", + "savedPayload": { + "position": { + "x": 29349.039447307485, + "y": 28600.46849845131 + }, + "targetPosition": { + "x": 29244.74621170594, + "y": 28921.450072700925 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 4, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "d52d95cd-0d77-468c-a7f1-497c2476fe33", + "savedPayload": { + "position": { + "x": 29244.74621170594, + "y": 28921.450072700925 + }, + "targetPosition": { + "x": 29395.300598136684, + "y": 29088.657658433338 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "P 5", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "chart.at01hs.bollingerBand.movingAverage * 0.9", + "project": "Foundations", + "id": "a39ae165-abd6-4725-ac6a-4edbef7200e4", + "savedPayload": { + "position": { + "x": 28874.10861511009, + "y": 28801.02261740251 + }, + "targetPosition": { + "x": 29094.191825275197, + "y": 28754.242486968513 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Complex", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at12hs.percentageBandwidth.previous.movingAverage <= 15 && chart.at01hs.bollingerSubChannel.slope === \"Extreme\" && chart.at01hs.bollingerSubChannel.period >= 15", + "project": "Foundations", + "id": "0d7d916c-3334-4422-8998-28f78bcbaf78", + "savedPayload": { + "position": { + "x": 29626.852651557296, + "y": 27854.412596549788 + }, + "targetPosition": { + "x": 29470.872113859252, + "y": 28142.02995175356 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "60ecd582-0e23-4c8a-8077-7201d263cca2", + "savedPayload": { + "position": { + "x": 29470.872113859252, + "y": 28142.02995175356 + }, + "targetPosition": { + "x": 29314.925710555595, + "y": 28429.728397178154 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 4, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "4d364cc4-cdb0-4fba-bc23-235dcb482a4e", + "savedPayload": { + "position": { + "x": 29314.925710555595, + "y": 28429.728397178154 + }, + "targetPosition": { + "x": 29151.230115442748, + "y": 28732.828238907165 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 4, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "Complex", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "(chart.at24hs.percentageBandwidth.movingAverage <= 70 || chart.at12hs.percentageBandwidth.movingAverage <= 40 ) && chart.at01hs.bollingerSubChannel.slope === \"Extreme\" && chart.at01hs.bollingerSubChannel.period >=5", + "project": "Foundations", + "id": "ddebbd89-cba4-4d06-8fe9-a13fcbd4ba18", + "savedPayload": { + "position": { + "x": 29974.837687373285, + "y": 28180.998803689024 + }, + "targetPosition": { + "x": 29720.344895940783, + "y": 28387.1199984587 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "2bf45ba3-ea96-40d1-a8eb-1f5b58eb97e3", + "savedPayload": { + "position": { + "x": 29720.344895940783, + "y": 28387.1199984587 + }, + "targetPosition": { + "x": 29465.843714005918, + "y": 28593.35451224177 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "24H Prev Prev Up", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at24hs.bollingerChannel.previous.previous.direction === \"Up\"", + "project": "Foundations", + "id": "877fda2b-35d0-45b5-9457-3f791f5ceeb0", + "savedPayload": { + "position": { + "x": 30112.68406589672, + "y": 28490.873530397894 + }, + "targetPosition": { + "x": 29789.31487584841, + "y": 28542.21548831045 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "658ac695-5997-4780-9d05-8ca8cdd9cd6a", + "savedPayload": { + "position": { + "x": 29789.31487584841, + "y": 28542.21548831045 + }, + "targetPosition": { + "x": 29465.843714005918, + "y": 28593.35451224177 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "11b94bab-c0d6-4b49-95c2-4a65f5794288", + "savedPayload": { + "position": { + "x": 29465.843714005918, + "y": 28593.35451224177 + }, + "targetPosition": { + "x": 29151.230115442748, + "y": 28732.828238907165 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "6b6a705b-b008-4784-8e06-a7ff7138725b", + "savedPayload": { + "position": { + "x": 29198.48506087674, + "y": 28433.2609127189 + }, + "targetPosition": { + "x": 29094.191825275197, + "y": 28754.242486968513 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 4, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "46eafddb-7478-432f-818f-0c458b59171b", + "savedPayload": { + "position": { + "x": 29094.191825275197, + "y": 28754.242486968513 + }, + "targetPosition": { + "x": 29244.74621170594, + "y": 28921.450072700925 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "P 6", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.deviation * 1.75", + "project": "Foundations", + "id": "29d4e7bb-f154-44c4-825c-24719949e808", + "savedPayload": { + "position": { + "x": 28723.554228679346, + "y": 28633.815031670096 + }, + "targetPosition": { + "x": 28943.637438844453, + "y": 28587.0349012361 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at24hs.percentageBandwidth.previous.movingAverage <= 30 && chart.at01hs.bollingerSubChannel.slope === \"Extreme\" && chart.at01hs.bollingerSubChannel.period >=10", + "project": "Foundations", + "id": "d5ac2bb6-e328-40f7-bae6-26c46b85f9ea", + "savedPayload": { + "position": { + "x": 29330.981787307115, + "y": 27401.307727421008 + }, + "targetPosition": { + "x": 29213.900573775267, + "y": 27706.85195144544 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "c57b02c1-e38e-4c24-8ca0-5d5790f8c475", + "savedPayload": { + "position": { + "x": 29213.900573775267, + "y": 27706.85195144544 + }, + "targetPosition": { + "x": 29096.70219428782, + "y": 28012.931991067246 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 4, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "cbfd82c7-c57c-4d1e-9a95-b05ad5765eca", + "savedPayload": { + "position": { + "x": 29096.70219428782, + "y": 28012.931991067246 + }, + "targetPosition": { + "x": 28973.934047922325, + "y": 28334.44699354504 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "(chart.at24hs.percentageBandwidth.movingAverage <= 60 || chart.at12hs.percentageBandwidth.movingAverage <= 30 ) && chart.at01hs.bollingerSubChannel.slope === \"Extreme\" && chart.at01hs.bollingerSubChannel.period >=5", + "project": "Foundations", + "id": "7af7ef05-50d0-4db9-ae3c-8aed6a9842cd", + "savedPayload": { + "position": { + "x": 29797.01493301418, + "y": 27782.60705158718 + }, + "targetPosition": { + "x": 29542.97123290233, + "y": 27988.541815813493 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "0b79e13b-e44f-41bb-9450-47881760fb81", + "savedPayload": { + "position": { + "x": 29542.97123290233, + "y": 27988.541815813493 + }, + "targetPosition": { + "x": 29288.607805506792, + "y": 28194.72442858351 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "24H Prev Prev Up", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at24hs.bollingerChannel.previous.previous.direction === \"Up\"", + "project": "Foundations", + "id": "8c6bbc80-2d99-434a-ad29-12505c118c41", + "savedPayload": { + "position": { + "x": 29934.871135292517, + "y": 28092.4659743285 + }, + "targetPosition": { + "x": 29611.970373198405, + "y": 28143.62483547059 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "ce4d9250-7aee-432f-b0f7-a25a0d3739d1", + "savedPayload": { + "position": { + "x": 29611.970373198405, + "y": 28143.62483547059 + }, + "targetPosition": { + "x": 29288.607805506792, + "y": 28194.72442858351 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "defc1a9e-ccaa-424b-be17-0efc30e2c0a6", + "savedPayload": { + "position": { + "x": 29288.607805506792, + "y": 28194.72442858351 + }, + "targetPosition": { + "x": 28973.934047922325, + "y": 28334.44699354504 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "9fb1dbd3-fed7-424c-add0-f6b7481dab05", + "savedPayload": { + "position": { + "x": 29047.930674445997, + "y": 28266.053326986486 + }, + "targetPosition": { + "x": 28943.637438844453, + "y": 28587.0349012361 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 4, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "8c0276f0-0551-4ce2-9287-0c9bfe22085a", + "savedPayload": { + "position": { + "x": 28943.637438844453, + "y": 28587.0349012361 + }, + "targetPosition": { + "x": 29094.191825275197, + "y": 28754.242486968513 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "P 7", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.deviation * 1.25", + "project": "Foundations", + "id": "4e6d15ed-8c85-43cd-90e3-a73eeed22389", + "savedPayload": { + "position": { + "x": 28572.999842248602, + "y": 28466.607445937683 + }, + "targetPosition": { + "x": 28793.08305241371, + "y": 28419.827315503688 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "nextPhaseEvent": { + "type": "Next Phase Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at24hs.percentageBandwidth.previous.movingAverage <= 30 && chart.at01hs.bollingerSubChannel.slope === \"Extreme\" && chart.at01hs.bollingerSubChannel.period >=10", + "project": "Foundations", + "id": "c29560f8-3916-4e7b-bd05-ec4c5c70aaad", + "savedPayload": { + "position": { + "x": 28614.237536737477, + "y": 27292.94138175167 + }, + "targetPosition": { + "x": 28465.71329903059, + "y": 27567.10884813224 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "29cd95e8-e310-4279-8fc6-a886eaeb939d", + "savedPayload": { + "position": { + "x": 28465.71329903059, + "y": 27567.10884813224 + }, + "targetPosition": { + "x": 28317.012496973126, + "y": 27841.800562973116 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 4, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "7849fb9b-2762-47fa-bc35-690f40049780", + "savedPayload": { + "position": { + "x": 28317.012496973126, + "y": 27841.800562973116 + }, + "targetPosition": { + "x": 28165.249805895422, + "y": 28123.352905972468 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 4, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "(chart.at24hs.percentageBandwidth.movingAverage <= 50 || chart.at12hs.percentageBandwidth.movingAverage <= 17.5 ) && chart.at01hs.bollingerSubChannel.slope === \"Extreme\" && chart.at01hs.bollingerSubChannel.period >=5", + "project": "Foundations", + "id": "f15eb65a-7dfa-4d09-b624-3a3d3e2b6420", + "savedPayload": { + "position": { + "x": 28989.617856883167, + "y": 27667.694975200517 + }, + "targetPosition": { + "x": 28723.84405968392, + "y": 27830.516196959812 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "b4307590-5fe4-4997-a25c-3221fcaea5ea", + "savedPayload": { + "position": { + "x": 28723.84405968392, + "y": 27830.516196959812 + }, + "targetPosition": { + "x": 28457.918946894002, + "y": 27993.628006146144 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 4, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "code": "chart.at24hs.bollingerChannel.previous.previous.direction === \"Up\"", + "project": "Foundations", + "id": "98b65fea-6bb0-4a9a-8d31-3997e56c6c63", + "savedPayload": { + "position": { + "x": 29074.09025988845, + "y": 27896.40337816961 + }, + "targetPosition": { + "x": 28766.065460017075, + "y": 27945.013397505205 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "7a79c0f2-514b-441a-ae08-5e1c1d815095", + "savedPayload": { + "position": { + "x": 28766.065460017075, + "y": 27945.013397505205 + }, + "targetPosition": { + "x": 28457.918946894002, + "y": 27993.628006146144 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 3, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "e2165070-d0eb-428c-a168-dfacb74f0844", + "savedPayload": { + "position": { + "x": 28457.918946894002, + "y": 27993.628006146144 + }, + "targetPosition": { + "x": 28165.249805895422, + "y": 28123.352905972468 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "5ea9ce09-4324-4961-a5c0-9018bd9e8d36", + "savedPayload": { + "position": { + "x": 28897.376288015254, + "y": 28098.845741254074 + }, + "targetPosition": { + "x": 28793.08305241371, + "y": 28419.827315503688 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 4, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "64a62511-14f3-45ad-897b-543abba98920", + "savedPayload": { + "position": { + "x": 28793.08305241371, + "y": 28419.827315503688 + }, + "targetPosition": { + "x": 28943.637438844453, + "y": 28587.0349012361 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + { + "type": "Phase", + "name": "P 8", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "chart.at01hs.bollingerBand.movingAverage - chart.at01hs.bollingerBand.deviation", + "project": "Foundations", + "id": "96ea6099-ad3a-4240-95d9-1486bb21c131", + "savedPayload": { + "position": { + "x": 28491.97427955222, + "y": 28085.412144038863 + }, + "targetPosition": { + "x": 28642.528665982965, + "y": 28252.619729771275 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "moveToPhaseEvents": [], + "announcements": [], + "id": "cd3e2a56-39ae-4a5e-8190-f2b65ba6f8e2", + "savedPayload": { + "position": { + "x": 28642.528665982965, + "y": 28252.619729771275 + }, + "targetPosition": { + "x": 28793.08305241371, + "y": 28419.827315503688 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "1d7d8a99-1d8d-41e4-9544-61ae4667aa1a", + "savedPayload": { + "position": { + "x": 29846.963757428915, + "y": 29590.280415630576 + }, + "targetPosition": { + "x": 29997.51814385966, + "y": 29757.488001362988 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "fa22b9a6-5479-4409-b77a-b9a20b365f95", + "savedPayload": { + "position": { + "x": 29997.51814385966, + "y": 29757.488001362988 + }, + "targetPosition": { + "x": 30425.49357619248, + "y": 29896.545648831714 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeStage": { + "type": "Close Stage", + "config": "{\n\"roundingErrorCorrectionFactor\": 1.01, \n\"absoluteDustInBaseAsset\": 0,\n\"absoluteDustInQuotedAsset\": 0 \n}", + "project": "Foundations", + "initialTargets": { + "type": "Initial Targets", + "name": "New Initial Targets", + "project": "Foundations", + "targetRate": { + "type": "Target Rate", + "name": "New Target Rate", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value", + "project": "Foundations", + "id": "00a8423d-4604-4d28-aa43-0fe8410c1a4e", + "savedPayload": { + "position": { + "x": 29507.90763177556, + "y": 29488.010065141374 + }, + "targetPosition": { + "x": 29731.67505823342, + "y": 29464.491160906153 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "62dec497-f190-41dc-b7a6-430ffb78fa3c", + "savedPayload": { + "position": { + "x": 29731.67505823342, + "y": 29464.491160906153 + }, + "targetPosition": { + "x": 29955.44248469128, + "y": 29440.97225667093 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "targetSizeInQuotedAsset": { + "type": "Target Size In Quoted Asset", + "name": "New Target Size In Quoted Asset", + "project": "Foundations", + "formula": { + "type": "Formula", + "name": "New Formula", + "code": "portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.sizeFilled.value - portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.feesPaid.value", + "project": "Foundations", + "id": "8bbc979f-5425-49af-807b-38944be9b312", + "savedPayload": { + "position": { + "x": 29690.939121159667, + "y": 29076.914609202206 + }, + "targetPosition": { + "x": 29823.190802925474, + "y": 29258.94343293657 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "e4a38608-0a48-4e4c-b291-36ee1a1b85c5", + "savedPayload": { + "position": { + "x": 29823.190802925474, + "y": 29258.94343293657 + }, + "targetPosition": { + "x": 29955.44248469128, + "y": 29440.97225667093 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "7421d18f-87c9-4790-8e17-16642ba1efac", + "savedPayload": { + "position": { + "x": 29955.44248469128, + "y": 29440.97225667093 + }, + "targetPosition": { + "x": 30160.990212660865, + "y": 29532.488001362988 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "closeExecution": { + "type": "Close Execution", + "project": "Foundations", + "executionAlgorithms": [ + { + "type": "Execution Algorithm", + "name": "New Execution Algorithm", + "config": "{\n\"percentageOfStageTargetSize\": 100 \n}", + "project": "Foundations", + "marketBuyOrders": [ + { + "type": "Market Buy Order", + "name": "Quick Exit", + "config": "{\n\"percentageOfAlgorithmSize\": 100,\n\"spawnMultipleOrders\": false\n}", + "project": "Foundations", + "createOrderEvent": { + "type": "Create Order Event", + "name": "New Create Order Event", + "project": "Foundations", + "situations": [ + { + "type": "Situation", + "name": "New Situation", + "project": "Foundations", + "conditions": [ + { + "type": "Condition", + "name": "New Condition", + "project": "Foundations", + "javascriptCode": { + "type": "Javascript Code", + "name": "New Javascript Code", + "code": "true", + "project": "Foundations", + "id": "f9b6428b-706c-4762-b526-e65ce3a9eba1", + "savedPayload": { + "position": { + "x": 29460.942125428694, + "y": 40358.56240724004 + }, + "targetPosition": { + "x": 29498.898481877543, + "y": 40717.53713246653 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": {} + } + }, + "id": "7ce28ab2-846f-44e3-8d42-66e702d7cf6f", + "savedPayload": { + "position": { + "x": 29498.898481877543, + "y": 40717.53713246653 + }, + "targetPosition": { + "x": 29537.43884732665, + "y": 41076.85064928551 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "17c82be6-9c06-467f-8e89-bc76d7f3b0d8", + "savedPayload": { + "position": { + "x": 29537.43884732665, + "y": 41076.85064928551 + }, + "targetPosition": { + "x": 29575.93986746006, + "y": 41446.2259069736 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "announcements": [], + "id": "acb7cd15-47a6-4b89-a991-02d53cbd5d88", + "savedPayload": { + "position": { + "x": 30066.91459571998, + "y": 28637.41829553155 + }, + "targetPosition": { + "x": 30090.4334999552, + "y": 28861.18572198941 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "4f521b37-053e-45a1-9cc0-a2b54430a6f1", + "savedPayload": { + "position": { + "x": 30090.4334999552, + "y": 28861.18572198941 + }, + "targetPosition": { + "x": 30113.952404190422, + "y": 29084.953148447268 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + }, + "referenceParent": { + "type": "Market Order", + "name": "Market Buy Order #1", + "id": "7d6c3ac9-4869-4ff3-a9f2-2a6f8a31ccf3" + } + } + } + ], + "marketSellOrders": [], + "limitBuyOrders": [], + "limitSellOrders": [], + "id": "7bacad1e-a99b-4dee-ba33-4857babf5f60", + "savedPayload": { + "position": { + "x": 30113.952404190422, + "y": 29084.953148447268 + }, + "targetPosition": { + "x": 30137.471308425644, + "y": 29308.720574905128 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "2fb3a68a-bccc-4f15-a093-81d7230e3534", + "savedPayload": { + "position": { + "x": 30137.471308425644, + "y": 29308.720574905128 + }, + "targetPosition": { + "x": 30160.990212660865, + "y": 29532.488001362988 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 2, + "distanceToParent": 2, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "announcements": [], + "id": "b0b4389a-74f6-4807-af15-1b8c43c247cb", + "savedPayload": { + "position": { + "x": 30160.990212660865, + "y": 29532.488001362988 + }, + "targetPosition": { + "x": 30425.49357619248, + "y": 29896.545648831714 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 2, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + }, + "id": "c6dfb2a4-3e3d-4a44-a9da-00251dae88a7", + "savedPayload": { + "position": { + "x": 30425.49357619248, + "y": 29896.545648831714 + }, + "targetPosition": { + "x": 30875.49357619248, + "y": 29896.545648831714 + }, + "floatingObject": { + "isPinned": false, + "isFrozen": false, + "isCollapsed": false, + "angleToParent": 1, + "distanceToParent": 3, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false + } + } + } + ], + "id": "975c2fc3-a8f5-43e9-900f-4a4f2430d128", + "savedPayload": { + "position": { + "x": 30875.49357619248, + "y": 29896.545648831714 + }, + "targetPosition": { + "x": 30875.49357619248, + "y": 29896.545648831714 + }, + "floatingObject": { + "isPinned": true, + "isFrozen": false, + "isCollapsed": true, + "angleToParent": 1, + "distanceToParent": 4, + "arrangementStyle": 0 + }, + "uiObject": { + "isRunning": false, + "shortcutKey": "w" + } + } +} \ No newline at end of file diff --git a/Projects/Portfolio-Management/Schemas/App-Schema/portfolio-bot.json b/Projects/Portfolio-Management/Schemas/App-Schema/portfolio-bot.json new file mode 100644 index 000000000..01cc499bc --- /dev/null +++ b/Projects/Portfolio-Management/Schemas/App-Schema/portfolio-bot.json @@ -0,0 +1,84 @@ +{ + "type": "Portfolio Bot", + "menuItems": [ + { + "action": "Configure", + "label": "Configure", + "iconPathOn": "configuration", + "iconPathOff": "configuration", + "dontShowAtFullscreen": true, + "actionFunction": "uiObject.configEditor.activate", + "actionProject": "Foundations" + }, + { + "action": "Add UI Object", + "label": "Add Process Definition", + "relatedUiObject": "Process Definition", + "actionFunction": "payload.executeAction", + "actionProject": "Visual-Scripting", + "relatedUiObjectProject": "Foundations" + }, + { + "action": "Add UI Object", + "label": "Add Product Definition", + "relatedUiObject": "Product Definition", + "actionFunction": "payload.executeAction", + "actionProject": "Visual-Scripting", + "relatedUiObjectProject": "Foundations" + }, + { + "action": "Add UI Object", + "label": "Add Product Definition Folder", + "relatedUiObject": "Product Definition Folder", + "actionFunction": "payload.executeAction", + "actionProject": "Visual-Scripting", + "relatedUiObjectProject": "Foundations" + }, + { + "action": "Delete UI Object", + "actionProject": "Visual-Scripting", + "askConfirmation": true, + "confirmationLabel": "Confirm to Delete", + "label": "Delete", + "iconPathOn": "delete-entity", + "iconPathOff": "delete-entity", + "actionFunction": "payload.executeAction" + } + ], + "isTitleAllwaysVisible": true, + "addLeftIcons": true, + "editors": { + "config": true + }, + "initialValues": { + "config": "{ \n \"codeName\": \"\"\n}" + }, + "level": 3, + "attachingRules": { + "compatibleTypes": "->Portfolio Mine->" + }, + "childrenNodesProperties": [ + { + "name": "processes", + "type": "array", + "childType": "Process Definition", + "autoAdd": true, + "project": "Foundations" + }, + { + "name": "products", + "type": "array", + "childType": "Product Definition", + "autoAdd": true, + "project": "Foundations" + }, + { + "name": "productDefinitionFolders", + "type": "array", + "childType": "Product Definition Folder", + "autoAdd": true, + "project": "Foundations" + } + ], + "propertyNameAtParent": "portfolioBots" +} \ No newline at end of file diff --git a/Projects/Portfolio-Management/Schemas/App-Schema/portfolio-engine.json b/Projects/Portfolio-Management/Schemas/App-Schema/portfolio-engine.json new file mode 100644 index 000000000..c11c4df8c --- /dev/null +++ b/Projects/Portfolio-Management/Schemas/App-Schema/portfolio-engine.json @@ -0,0 +1,49 @@ +{ + "type": "Portfolio Engine", + "menuItems": [ + { + "action": "Add Missing Children", + "label": "Add Missing Children", + "relatedUiObject": "Portfolio Engine", + "actionFunction": "payload.executeAction", + "actionProject": "Visual-Scripting", + "relatedUiObjectProject": "Portfolio-Management" + }, + { + "action": "Delete UI Object", + "actionProject": "Visual-Scripting", + "askConfirmation": true, + "confirmationLabel": "Confirm to Delete", + "label": "Delete", + "iconPathOn": "delete-entity", + "iconPathOff": "delete-entity", + "actionFunction": "payload.executeAction" + } + ], + "isHierarchyHead": true, + "addLeftIcons": true, + "level": 0, + "childrenNodesProperties": [ + { + "name": "portfolioCurrent", + "type": "node", + "childType": "Portfolio Current", + "autoAdd": false, + "project": "Foundations" + }, + { + "name": "portfolioLast", + "type": "node", + "childType": "Portfolio Last", + "autoAdd": false, + "project": "Foundations" + }, + { + "name": "exchangeOrders", + "type": "node", + "childType": "Exchange Orders", + "autoAdd": false, + "project": "Foundations" + } + ] +} \ No newline at end of file diff --git a/Projects/Portfolio-Management/Schemas/App-Schema/portfolio-management-project.json b/Projects/Portfolio-Management/Schemas/App-Schema/portfolio-management-project.json new file mode 100644 index 000000000..4e4590cab --- /dev/null +++ b/Projects/Portfolio-Management/Schemas/App-Schema/portfolio-management-project.json @@ -0,0 +1,63 @@ +{ + "type": "Portfolio-Management Project", + "menuItems": [ + { + "action": "Add Missing Children", + "label": "Add Missing Children", + "iconPathOn": "portfolio-management-project", + "iconPathOff": "portfolio-management-project", + "iconProject": "Portfolio-Management", + "actionFunction": "payload.executeAction", + "actionProject": "Visual-Scripting" + }, + { + "action": "Add UI Object", + "label": "Add Portfolio Mine", + "relatedUiObject": "Portfolio Mine", + "relatedUiObjectProject": "Portfolio-Management", + "actionFunction": "payload.executeAction", + "actionProject": "Visual-Scripting" + }, + { + "action": "Add UI Object", + "label": "Add Portfolio Engine", + "relatedUiObject": "Portfolio Engine", + "relatedUiObjectProject": "Portfolio-Management", + "actionFunction": "payload.executeAction", + "actionProject": "Visual-Scripting" + }, + { + "action": "Add UI Object", + "label": "Add Portfolio System", + "relatedUiObject": "Portfolio System", + "relatedUiObjectProject": "Portfolio-Management", + "actionFunction": "payload.executeAction", + "actionProject": "Visual-Scripting" + }, + { + "action": "Delete UI Object", + "actionProject": "Visual-Scripting", + "askConfirmation": true, + "confirmationLabel": "Confirm to Delete", + "actionFunction": "payload.executeAction", + "label": "Delete", + "iconPathOn": "delete-entity", + "iconPathOff": "delete-entity" + } + ], + "isProjectHead": true, + "isTitleAllwaysVisible": false, + "addLeftIcons": true, + "isPinned": true, + "positionLocked": true, + "icon": "portfolio-management-project", + "childrenNodesProperties": [ + { + "name": "projectDefinition", + "type": "node", + "childType": "Project Definition", + "project": "Foundations", + "autoAdd": true + } + ] +} \ No newline at end of file diff --git a/Projects/Portfolio-Management/Schemas/App-Schema/portfolio-mine.json b/Projects/Portfolio-Management/Schemas/App-Schema/portfolio-mine.json new file mode 100644 index 000000000..86fdd35ce --- /dev/null +++ b/Projects/Portfolio-Management/Schemas/App-Schema/portfolio-mine.json @@ -0,0 +1,65 @@ +{ + "type": "Portfolio Mine", + "menuItems": [ + { + "action": "Configure", + "label": "Configure", + "iconPathOn": "configuration", + "iconPathOff": "configuration", + "iconProject": "Foundations", + "dontShowAtFullscreen": true, + "actionFunction": "uiObject.configEditor.activate", + "actionProject": "Foundations" + }, + { + "action": "Add UI Object", + "label": "Add Portfolio Bot", + "relatedUiObject": "Portfolio Bot", + "relatedUiObjectProject": "Portfolio-Management", + "actionFunction": "payload.executeAction", + "actionProject": "Visual-Scripting" + }, + { + "action": "Add UI Object", + "label": "Add Plotter", + "relatedUiObject": "Plotter", + "relatedUiObjectProject": "Foundations", + "actionFunction": "payload.executeAction", + "actionProject": "Visual-Scripting" + }, + { + "action": "Delete UI Object", + "actionProject": "Visual-Scripting", + "askConfirmation": true, + "confirmationLabel": "Confirm to Delete", + "label": "Delete", + "iconPathOn": "delete-entity", + "iconPathOff": "delete-entity", + "actionFunction": "payload.executeAction" + } + ], + "isTitleAllwaysVisible": true, + "isHierarchyHead": true, + "addLeftIcons": true, + "editors": { + "config": true + }, + "level": 0, + "initialValues": { + "config": "{ \n\"codeName\": \"Type a name with no spaces or dashes\"\n}" + }, + "childrenNodesProperties": [ + { + "name": "portfolioBots", + "type": "array", + "childType": "Portfolio Bot", + "project": "Portfolio-Management" + }, + { + "name": "plotters", + "type": "array", + "childType": "Plotter", + "project": "Foundations" + } + ] +} \ No newline at end of file diff --git a/Projects/Portfolio-Management/Schemas/App-Schema/portfolio-system.json b/Projects/Portfolio-Management/Schemas/App-Schema/portfolio-system.json new file mode 100644 index 000000000..dfce150e3 --- /dev/null +++ b/Projects/Portfolio-Management/Schemas/App-Schema/portfolio-system.json @@ -0,0 +1,52 @@ +{ + "type": "Portfolio System", + "menuItems": [ + { + "action": "Add UI Object", + "label": "Add Portfolio Strategy", + "relatedUiObject": "Portfolio Strategy", + "actionFunction": "payload.executeAction", + "actionProject": "Visual-Scripting", + "relatedUiObjectProject": "Foundations" + }, + { + "action": "Add UI Object", + "disableIfPropertyIsDefined": true, + "propertyToCheckFor": "dynamicIndicators", + "label": "Add Dynamic Indicators", + "relatedUiObject": "Dynamic Indicators", + "actionFunction": "payload.executeAction", + "actionProject": "Visual-Scripting", + "relatedUiObjectProject": "Foundations" + }, + { + "action": "Delete UI Object", + "actionProject": "Visual-Scripting", + "askConfirmation": true, + "confirmationLabel": "Confirm to Delete", + "label": "Delete", + "iconPathOn": "delete-entity", + "iconPathOff": "delete-entity", + "actionFunction": "payload.executeAction" + } + ], + "isHierarchyHead": true, + "addLeftIcons": true, + "level": 0, + "childrenNodesProperties": [ + { + "name": "portfolioStrategies", + "type": "array", + "childType": "Portfolio Strategy", + "autoAdd": true, + "project": "Foundations" + }, + { + "name": "dynamicIndicators", + "type": "node", + "childType": "Dynamic Indicators", + "autoAdd": true, + "project": "Foundations" + } + ] +} \ No newline at end of file diff --git a/Projects/Portfolio-Management/Schemas/Docs-Nodes/T/Trading/Trading-Bot/portfolio-bot.json b/Projects/Portfolio-Management/Schemas/Docs-Nodes/T/Trading/Trading-Bot/portfolio-bot.json new file mode 100644 index 000000000..05c3d3816 --- /dev/null +++ b/Projects/Portfolio-Management/Schemas/Docs-Nodes/T/Trading/Trading-Bot/portfolio-bot.json @@ -0,0 +1,45 @@ +{ + "type": "Portfolio Bot", + "definition": { + "text": "A portfolio bot is a computer program that—based on datasets exposed as products by other bots (counting sensors, indicators and even other portfolio bots)—applies the portfolio logic defined on a Portfolio System to, on one side, generate a complete portfolio simulation (outputting datasets that include trades, the action of strategies, validation of conditions, etc.), and on the other side, manage the execution of orders when on a forward testing or live portfolio session.", + "updated": 1609861419818, + "translations": [ + { + "language": "ES", + "text": "Un Portfolio Bot es un programa informático que, basado en conjuntos de datos expuestos como productos por otros bots (sensores de conteo, indicadores e incluso otros portfolio bots ), aplica la lógica portfolio definida en un Portfolio System para, por un lado, generar una simulación de portfolio completa (generando conjuntos de datos que incluyen operaciones, la acción de estrategias, validación de condiciones, etc.) y, por otro lado, gestiona la ejecución de órdenes en una sesión ya sea en vivo o no.", + "updated": 1624375084844 + } + ] + }, + "paragraphs": [ + { + "style": "Block", + "text": "Content" + }, + { + "style": "Text", + "text": "In Superalgos, a portfolio bot is a computer program designed to leverage the Superalgos infrastructure to provide smart portfolio features to users building, testing, and deploying portfolio systems. As such, a portfolio bot does not feature portfolio logic in and of itself. Instead, it executes the logic defined in portfolio systems." + }, + { + "style": "Text", + "text": "Put in other words, when Superalgos users define portfolio systems and the portfolio strategies within, they are not building a portfolio bot. Instead, they are defining a set of instructions that a portfolio bot will then interpret and execute." + }, + { + "style": "Text", + "text": "Portfolio bots have access to every piece of infrastructure built in Superalgos. One of the noteworthy sections of the infrastructure relevant to portfolio bots are portfolio mines themselves. Portfolio bots may be quite complex pieces of software. To name two of the most prominent characteristics: the bot needs to consider multiple dimensions of information and needs to be highly reliable, as its activity entails monetary transactions." + }, + { + "style": "Text", + "text": "Portfolio mines make building portfolio bots a more accessible feat, providing a framework to produce compartmentalized definitions for the bots' processes and products, just like data mines do for sensors and indicators." + }, + { + "style": "Block", + "text": "Configuring" + }, + { + "style": "Title", + "text": "Portfolio Bot Configuration", + "updated": 1609861438022 + } + ] +} \ No newline at end of file diff --git a/Projects/Portfolio-Management/Schemas/Docs-Nodes/T/Trading/Trading-Engine/trading-engine.json b/Projects/Portfolio-Management/Schemas/Docs-Nodes/T/Trading/Trading-Engine/trading-engine.json new file mode 100644 index 000000000..8b4a7a4a5 --- /dev/null +++ b/Projects/Portfolio-Management/Schemas/Docs-Nodes/T/Trading/Trading-Engine/trading-engine.json @@ -0,0 +1,66 @@ +{ + "type": "Portfolio Engine", + "definition": { + "text": "The portfolio engine hierarchy is the data structure used by the portfolio bot to keep runtime information highly accessible and exposed to others.", + "translations": [ + { + "language": "ES", + "text": "La jerarquia portfolio engine es la estructura de datos utilizada por el robot comercial para mantener la información en tiempo de ejecución altamente accesible y expuesta a otros.", + "updated": 1624452474129 + } + ] + }, + "paragraphs": [ + { + "style": "Block", + "text": "Content" + }, + { + "style": "Text", + "text": "You will use this hierarchy for two main purposes:" + }, + { + "style": "List", + "text": "To let your portfolio systems access the information processed by the portfolio bot. This allows strategies to keep track of and react to current and past events—including those involving the exchange, such as orders placed or filled—as the bot is running." + }, + { + "style": "List", + "text": "To keep track of the actions of the portfolio bot via the design space visual environment and panels over the charts. By analyzing runtime information, you may gain a detailed understanding of what happens, when, and why, throughout a portfolio session." + }, + { + "style": "Title", + "text": "Frequently Asked Questions" + }, + { + "style": "Subtitle", + "text": "Can a Portfolio Engine be shared between two Portfolio Bots?" + }, + { + "style": "Text", + "text": "The same portfolio engine can be used from multiple portfolio sessions, because it is just a node-based representation of a data structure.", + "updated": 1621987910896 + }, + { + "style": "Text", + "text": "Every time a Task is ran, a snapshot of that data structure, together with a snapshot of the Network and the Bots definitions at their Data Mine is sent from the UI to the Task Server, and from there is consumed by the running Bot. That means that a second Bot can receive the same Portfolio Engine snapshot and it will never know if other bots were fed with the same information or not.", + "updated": 1621987965915 + }, + { + "style": "Subtitle", + "text": "Do I need to change something at the Portfolio Engine?" + }, + { + "style": "Text", + "text": "You don't need to physically change anything inside portfolio engine via the UI. The portfolio engine is a visual representation of the data structure that the portfolio system uses to store its values, so to speak." + }, + { + "style": "Subtitle", + "text": "Can I change the values inside the Portfolio Engine?" + }, + { + "style": "Text", + "text": "You access the Portfolio Engine from within your portfolio system if there is something in there you would like to change. This is the whole purpose of the User Defined Code node.", + "updated": 1621988418300 + } + ] +} \ No newline at end of file diff --git a/Projects/Portfolio-Management/Schemas/Docs-Nodes/T/Trading/Trading-Mine/trading-mine.json b/Projects/Portfolio-Management/Schemas/Docs-Nodes/T/Trading/Trading-Mine/trading-mine.json new file mode 100644 index 000000000..97dcf85d4 --- /dev/null +++ b/Projects/Portfolio-Management/Schemas/Docs-Nodes/T/Trading/Trading-Mine/trading-mine.json @@ -0,0 +1,41 @@ +{ + "type": "Portfolio Mine", + "definition": { + "text": "A portfolio mine is a hierarchy that contains definitions of portfolio bots and their plotters. These definitions make up the actual programs of such bots—the source code.", + "translations": [ + { + "language": "ES", + "text": "Un portfolio mine es una jerarquía que contiene definiciones de portfolio bots y sus conspiradores. Estas definiciones constituyen los programas reales de dichos bots: el código fuente.", + "updated": 1628906153772 + } + ] + }, + "paragraphs": [ + { + "style": "Block", + "text": "Content" + }, + { + "style": "Text", + "text": "Altough Superalgos is starting out with a single portfolio bot, the system is prepared to feature as many portfolio bots as developers are willing to create. As such, a portfolio mine is a catalog of portfolio bots." + }, + { + "style": "Text", + "text": "Notice that, in the context of Superalgos, a portfolio bot has nothing to do with the portfolio logic. Think of portfolio logic as the business rules which—in Superalgos—are defined in portfolio systems. Anyone may build a Portfolio System, meaning that creating portfolio systems and the portfolio strategies within does not require coding.", + "updated": 1609861342619 + }, + { + "style": "Text", + "text": "Portfolio mines work similarly to data mines in the sense that they provide the same kind of tools to structure the definitions of bots, including process definitions, product definitions, and plotters." + }, + { + "style": "Block", + "text": "Configuring" + }, + { + "style": "Title", + "text": "Portfolio Mine Configuration", + "updated": 1609861240385 + } + ] +} \ No newline at end of file diff --git a/Projects/Portfolio-Management/Schemas/Docs-Nodes/T/Trading/Trading-System/trading-system.json b/Projects/Portfolio-Management/Schemas/Docs-Nodes/T/Trading/Trading-System/trading-system.json new file mode 100644 index 000000000..abb92d5ad --- /dev/null +++ b/Projects/Portfolio-Management/Schemas/Docs-Nodes/T/Trading/Trading-System/trading-system.json @@ -0,0 +1,39 @@ +{ + "type": "Portfolio System", + "definition": { + "text": "A portfolio system is a framework handling the low-level logic that serves to structure the processes and methods used to implement and deploy portfolio strategies.", + "translations": [ + { + "language": "ES", + "text": "Un portfolio system es un marco que maneja la lógica de bajo nivel que sirve para estructurar los procesos y métodos utilizados para implementar y desplegar estrategias de portfolio.", + "updated": 1624375355452 + } + ] + }, + "paragraphs": [ + { + "style": "Block", + "text": "Content" + }, + { + "style": "Text", + "text": "In practical terms, a portfolio system is a hierarchical arrangement organizing the actionable aspects of your investment plan. The hierarchy contains definitions regarding any number of portfolio strategies, all operating on the same market and sharing the same initial capital allocation." + }, + { + "style": "Text", + "text": "You use a portfolio system to define strategies following the Superalgos Protocol, splitting strategies into four stages: trigger, open, manage, and close." + }, + { + "style": "Text", + "text": "The concept of describing strategies in stages is fundamental to the methodical aspect of the portfolio system, as it provides a framework to run every strategy with the same framework, which contributes to developing scalable portfolio systems that may grow to any number of strategies." + }, + { + "style": "Text", + "text": "When a portfolio system features more than one strategy, the first strategy has precedence over the second, the second over the third, and so on. This means that strategies are evaluated in a sequence. When a given strategy is triggered-on, the remaining strategies in the queue are no longer evaluated until the strategy triggers off. In other words, when multiple strategies are deployed within a single portfolio system, only one strategy may trade at any given moment, and precedence is given by the order around the portfolio system node." + }, + { + "style": "Text", + "text": "As a corollary to the above, if you wish strategies to operate in different markets, or you wish strategies to be able to take positions simultaneously, then you must set up those strategies in different portfolio systems." + } + ] +} \ No newline at end of file diff --git a/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/APIs/ExchangeAPI.js b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/APIs/ExchangeAPI.js new file mode 100644 index 000000000..232db427a --- /dev/null +++ b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/APIs/ExchangeAPI.js @@ -0,0 +1,284 @@ +exports.newPortfolioManagementBotModulesExchangeAPI = function (processIndex) { + + let MODULE_NAME = "Exchange API"; + + let thisObject = { + getOrder: getOrder, + createOrder: createOrder, + cancelOrder: cancelOrder, + initialize: initialize, + finalize: finalize + }; + + let portfolioSystem + + let exchangeId + let options = {} + let exchange + + const ccxt = SA.nodeModules.ccxt + + return thisObject; + + function initialize() { + portfolioSystem = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioSystem + + exchangeId = TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.parentNode.parentNode.config.codeName + + let key + let secret + let uid + let password + let sandBox = TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.parentNode.parentNode.config.sandbox || false; + + if (TS.projects.foundations.globals.taskConstants.TASK_NODE.keyReference !== undefined) { + if (TS.projects.foundations.globals.taskConstants.TASK_NODE.keyReference.referenceParent !== undefined) { + key = TS.projects.foundations.globals.taskConstants.TASK_NODE.keyReference.referenceParent.config.codeName + secret = TS.projects.foundations.globals.taskConstants.TASK_NODE.keyReference.referenceParent.config.secret + uid = TS.projects.foundations.globals.taskConstants.TASK_NODE.keyReference.referenceParent.config.uid + password = TS.projects.foundations.globals.taskConstants.TASK_NODE.keyReference.referenceParent.config.password + } + } + const exchangeClass = ccxt[exchangeId] + const exchangeConstructorParams = { + 'apiKey': key, + 'secret': secret, + 'uid': uid, + 'password': password, + 'timeout': 30000, + 'enableRateLimit': true, + verbose: false, + 'adjustForTimeDifference': true, + options: options + } + exchange = new exchangeClass(exchangeConstructorParams) + // enable sandbox mode based on exchange sandbox param value + if (sandBox) { + exchange.setSandboxMode(sandBox); + } + console.log('Sandbox mode = ' + sandBox); + // uncomment the following line if you want to log the exchange api being used + // console.log(exchange.urls.api); + } + + function finalize() { + portfolioSystem = undefined + exchangeId = undefined + options = undefined + exchange = undefined + } + + async function getOrder(portfolioSystemOrder, portfolioEngineOrder) { + + let orderId = portfolioEngineOrder.exchangeId.value + const symbol = TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.baseAsset.referenceParent.config.codeName + '/' + TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.quotedAsset.referenceParent.config.codeName + + /* Basic Logging */ + logInfo("getOrder -> orderId = " + orderId) + logInfo("getOrder -> symbol = " + symbol) + + /* Basic Validations */ + if (exchange.has['fetchOrder'] === false) { + logError("getOrder -> Exchange does not support fetchOrder command."); + return + } + + try { + let order = await exchange.fetchOrder(orderId, symbol) + + logInfo("getOrder -> Response from the Exchange: " + JSON.stringify(order)); + return order + } catch (err) { + const message = 'Get Order Unexpected Error' + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - ' + message, + placeholder: {} + } + let contextInfo = { + symbol: symbol, + orderId: orderId + } + + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, err, portfolioSystemOrder.name, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addError([portfolioSystemOrder.id, message, docs]) + + logError("getOrder -> Error = " + err.message); + if (/[0-9a-z]+ NotFound/.test(err.message)) { + logInfo("getOrder -> NotFound, so order is actually closed.") + order = { + status: 'NotFound' + } + return order + } + } + } + + async function createOrder(portfolioSystemOrder, portfolioEngineOrder) { + + let price = portfolioEngineOrder.rate.value // CCXT: how much quote currency you are willing to pay for a trade lot of base currency (for limit orders only) + let type // CCXT: a string literal type of order, ccxt currently unifies market and limit orders only + let side // CCXT: a string literal for the direction of your order, buy or sell + let symbol = TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.baseAsset.referenceParent.config.codeName + '/' + TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.quotedAsset.referenceParent.config.codeName // CCXT: a string literal symbol of the market you wish to trade on, like BTC/USD, ZEC/ETH, DOGE/DASH, etc + let amount = portfolioEngineOrder.orderBaseAsset.size.value // CCXT: how much of currency you want to trade, in Base Asset. + + switch (portfolioSystemOrder.type) { + case 'Market Buy Order': { + type = 'market' + side = 'buy' + break + } + case 'Market Sell Order': { + type = 'market' + side = 'sell' + break + } + case 'Limit Buy Order': { + type = 'limit' + side = 'buy' + break + } + case 'Limit Sell Order': { + type = 'limit' + side = 'sell' + break + } + } + + /* Basic Logging */ + logInfo("createOrder -> symbol = " + symbol); + logInfo("createOrder -> side = " + side); + logInfo("createOrder -> type = " + type); + logInfo("createOrder -> amount = " + amount); + logInfo("createOrder -> price = " + price); + + /* Basic Validations */ + if (side !== "buy" && side !== "sell") { + logError("createOrder -> side must be either 'buy' or 'sell'."); + return + } + if (exchange.has['createOrder'] === false) { + logError("createOrder -> Exchange does not support createOrder command."); + return + } + + try { + let order = await (exchange.createOrder(symbol, type, side, amount, price)) + + logInfo("createOrder -> Response from the Exchange: " + JSON.stringify(order)); + return order.id + } catch (err) { + + let exchangeApiKey = TS.projects.foundations.globals.taskConstants.TASK_NODE.keyReference.referenceParent + let message = 'Create Order Unexpected Error' + + logError("createOrder -> Error = " + err.message) + logError("createOrder -> symbol = " + symbol); + logError("createOrder -> side = " + side); + logError("createOrder -> type = " + type); + logError("createOrder -> amount = " + amount); + logError("createOrder -> price = " + price); + if ( + err.message.indexOf('API-key format invalid') >= 0 || + err.message.indexOf('Invalid API-key, IP, or permissions for action.') >= 0 || + err.message.indexOf('"code":-2015') >= 0 + ) { + logError('The exchange says the API key provided is not good or it is not in the correct format. This is what you are using:') + errorFooter() + + message = 'Invalid Exchange API Key' + } + if ( + err.message.indexOf('Signature for this request is not valid.') >= 0 || + err.message.indexOf('"code":-1022') >= 0 + ) { + logError('The exchange says the secret provided is not good, incorrect or not in the correct format. This is what you are using:') + errorFooter() + + message = 'Invalid Exchange API Secret' + } + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - ' + message, + placeholder: {} + } + + let contextInfo = { + symbol: symbol, + side: side, + type: type, + amount: amount, + price: price, + key: exchangeApiKey.config.codeName, + secret: exchangeApiKey.config.secret, + keyLength: exchangeApiKey.config.codeName.length, + secretLength: exchangeApiKey.config.secret.length + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, err, exchangeApiKey.name, undefined, exchangeApiKey.config, undefined, contextInfo) + + portfolioSystem.addError([exchangeApiKey.id, message, docs]) + + function errorFooter() { + logError('key: ->' + exchangeApiKey.config.codeName + '<-') + logError('secret: ->' + exchangeApiKey.config.secret + '<-') + logError('key.length:' + exchangeApiKey.config.codeName.length) + logError('secret.length:' + exchangeApiKey.config.secret.length) + logError('Double check that you copied the key at the codeName property and the secret at secret property without bringing any invisible caracter from the exchange web site, or leaving any character from the sample text. Also check that the keys are not disabled at the exchange ot that they are not restricted by IP.') + logError('As a remainder. Binance key and secret are 64 bytes in lenght each one. ') + } + } + } + + async function cancelOrder(portfolioSystemOrder, portfolioEngineOrder) { + + let orderId = portfolioEngineOrder.exchangeId.value + + /* Basic Logging */ + logInfo("cancelOrder -> Entering function. orderId = " + orderId); + + const symbol = TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.baseAsset.referenceParent.config.codeName + '/' + TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.quotedAsset.referenceParent.config.codeName + + /* Basic Validations */ + if (exchange.has['fetchOrder'] === false) { + logError("cancelOrder -> Exchange does not support fetchOrder command."); + return + } + + try { + let order = await exchange.cancelOrder(orderId, symbol) + + logInfo("cancelOrder -> Response from the Exchange: " + JSON.stringify(order)); + return true + } catch (err) { + const message = 'Cancel Order Unexpected Error' + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - ' + message, + placeholder: {} + } + let contextInfo = { + symbol: symbol, + orderId: orderId + } + + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, err, portfolioSystemOrder.name, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addError([portfolioSystemOrder.id, message, docs]) + logError("cancelOrder -> Error = " + err.message); + } + } + + function logInfo(message) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[INFO] ' + message) + } + + function logError(message) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] ' + message) + } + }; + diff --git a/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/OrdersCalculations.js b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/OrdersCalculations.js new file mode 100644 index 000000000..eafd98284 --- /dev/null +++ b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/OrdersCalculations.js @@ -0,0 +1,352 @@ +exports.newPortfolioManagementBotModulesOrdersCalculations = function (processIndex) { + /* + When we are live portfolio, we need to syncronize with the exchange. + */ + + let thisObject = { + actualSizeCalculation: actualSizeCalculation, + actualRateCalculation: actualRateCalculation, + feesToBePaidCalculation: feesToBePaidCalculation, + amountReceivedCalculation: amountReceivedCalculation, + percentageFilledCalculation: percentageFilledCalculation, + feesPaidCalculation: feesPaidCalculation, + sizeFilledCalculation: sizeFilledCalculation, + initialize: initialize, + finalize: finalize + } + + let portfolioEngine + let portfolioSystem + let sessionParameters + + return thisObject + + function initialize() { + sessionParameters = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters + portfolioEngine = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioEngine + portfolioSystem = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioSystem + } + + function finalize() { + sessionParameters = undefined + portfolioEngine = undefined + portfolioSystem = undefined + } + + async function actualSizeCalculation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, order, applyFeePercentage) { + /* + When we submit the order to the exchange, we do it specifying the order size + in Base Asset. It is mandatory to be in Base Asset as per CCXT Library API and + probably as per the Exchange API too. + + The exchange might take that size or might change it a little + bit. For example, if it does not accept as many decimals as we are sending. + + We have also seen that for Market Orders, the exchange usually does not take + the size requested exactly. Sometimes is a little bit less or even a little bit + more. For Limit orders it is usually the same. + + If it happens that the size accepted (Actual Size) is different than the + size requested (Size), we need to make several adjustments so that the + accounting syncronizes with reality. + */ + + /* This calculation needs to happen only once, the first time the order is checked. */ + if (portfolioEngineOrder.orderBaseAsset.actualSize.value !== portfolioEngineOrder.orderBaseAsset.actualSize.config.initialValue) { return } + + if ( order.amount !== undefined) { + /* We receive the actual size from the exchange at the order.amount field. */ + portfolioEngineOrder.orderBaseAsset.actualSize.value = order.amount + } + + recalculateActualSize() + recalculateSizePlaced() + + function recalculateActualSize() { + /* + We will recalculate the Quoted Asset Actual Size. This will also give to it an initial value. + In the next formula, we are unsing the rate of the order because we dont know yet the Actual Rate. + This rate might be replaced afteerwards for the Actual Rate when this is calculated again once + the Actual Rate is known. + */ + portfolioEngineOrder.orderQuotedAsset.actualSize.value = portfolioEngineOrder.orderBaseAsset.actualSize.value * portfolioEngineOrder.rate.value + + portfolioEngineOrder.orderBaseAsset.actualSize.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineOrder.orderBaseAsset.actualSize.value, 10) + portfolioEngineOrder.orderQuotedAsset.actualSize.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineOrder.orderQuotedAsset.actualSize.value, 10) + } + + function recalculateSizePlaced() { + /* + We will also recalculate the Size Placed that was previously calculated with the order Size, + and now we will do it with the order Actual Size. + + We need to unaccount the previous size placed and correctly account + for the the new actual sizes we now know. + */ + portfolioEngineStage.stageBaseAsset.sizePlaced.value = + portfolioEngineStage.stageBaseAsset.sizePlaced.value - + portfolioEngineOrder.orderBaseAsset.size.value + + portfolioEngineStage.stageBaseAsset.sizePlaced.value = + portfolioEngineStage.stageBaseAsset.sizePlaced.value + + portfolioEngineOrder.orderBaseAsset.actualSize.value + + portfolioEngineStage.stageQuotedAsset.sizePlaced.value = + portfolioEngineStage.stageQuotedAsset.sizePlaced.value - + portfolioEngineOrder.orderQuotedAsset.size.value + + portfolioEngineStage.stageQuotedAsset.sizePlaced.value = + portfolioEngineStage.stageQuotedAsset.sizePlaced.value + + portfolioEngineOrder.orderQuotedAsset.actualSize.value + + portfolioEngineStage.stageBaseAsset.sizePlaced.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineStage.stageBaseAsset.sizePlaced.value, 10) + portfolioEngineStage.stageQuotedAsset.sizePlaced.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineStage.stageQuotedAsset.sizePlaced.value, 10) + } + } + + async function actualRateCalculation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, order, applyFeePercentage) { + /* + Actual Rate Calculation: Let's remember that the exchange may not take the rate + we send it with the order (in Limit orders) and for any reason change it a little bit. + For example we might have sent a rate with too many decimals and the exchange truncate + them. Another thing that might happen is that we send a rate that is matching orders already + at the order book. In this case we would get an actual rate not only different than the one + we sent, but also, better since the portfolio engine inside the exchange would match orders + with the first orders best by price. + + In the case of Market Orders we don't even send a rate. For all those reason + we get and store the Actual Rate at which the order was filled. + */ + if (order.average !== undefined) { + /* + We will use the average whenever is available. As of today it is not 100% clear when this is + available, but it seems sometimes it is not. In those cases we use the price. + */ + portfolioEngineOrder.orderStatistics.actualRate.value = order.average + } else if (order.price !== undefined) { + /* + We use the order.price when the average is not available. + */ + portfolioEngineOrder.orderStatistics.actualRate.value = order.price + } + + portfolioEngineOrder.orderStatistics.actualRate.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineOrder.orderStatistics.actualRate.value, 10) + + /* + If the Actual Rate happens to be exctly the same than the order rate, then there is + nothing else to do here. Otherwise there are adjustments to be made. + */ + if (portfolioEngineOrder.orderStatistics.actualRate.value === portfolioEngineOrder.rate.value) { return } + + let previousQuotedAssetActualSize = portfolioEngineOrder.orderQuotedAsset.actualSize.value + + recalculateActualSize() + recalculateSizePlaced() + + function recalculateActualSize() { + /* + Now we know the Actual Rate at which the order was filled. Since the actual rate + is not the same as the Rate we defined for the order, we need to syncronize + the Actual Order Size for Quoted Asset since it was calculated with the Order Size that we + now know it is not the one really used at the exchange. We will recalculate the + Actual Size in Quoted Asset and not in Base Asset, since the Actual Size in Base Asset + is the one we accepted by the exchange, so that is fixed, regardless of how we initially + got the Order Size in Base Asset, either from direct imput from the user or calculated + from the Order Size in Quoted Asset input it by the user. So here we go. + */ + previousQuotedAssetActualSize = portfolioEngineOrder.orderQuotedAsset.actualSize.value + + portfolioEngineOrder.orderQuotedAsset.actualSize.value = + portfolioEngineOrder.orderBaseAsset.actualSize.value * + portfolioEngineOrder.orderStatistics.actualRate.value + + portfolioEngineOrder.orderQuotedAsset.actualSize.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineOrder.orderQuotedAsset.actualSize.value, 10) + + const message = 'Calculating - Actual Size Recalculated' + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Warning - ' + message, + placeholder: {} + } + contextInfo = { + previousQuotedAssetActualSize: previousQuotedAssetActualSize, + recalculatedQuotedAssetActualSize: portfolioEngineOrder.orderQuotedAsset.actualSize.value, + actualRate: portfolioEngineOrder.orderStatistics.actualRate.value, + orderRate: portfolioEngineOrder.rate.value + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addWarning( + [ + [portfolioEngineOrder.orderQuotedAsset.actualSize.id, portfolioEngineOrder.orderStatistics.actualRate.id], + message, + docs + ] + ) + } + + function recalculateSizePlaced() { + let previousStageQuotedAssetSizePlaced = portfolioEngineStage.stageQuotedAsset.sizePlaced.value + /* + Since we changed the Actual Size in Quoted Asset, we need to fix the Size Placed in Quoted Asset + that was previously calculated with the previous value of actualSize. + */ + portfolioEngineStage.stageQuotedAsset.sizePlaced.value = + portfolioEngineStage.stageQuotedAsset.sizePlaced.value - + previousQuotedAssetActualSize + + portfolioEngineStage.stageQuotedAsset.sizePlaced.value = + portfolioEngineStage.stageQuotedAsset.sizePlaced.value + + portfolioEngineOrder.orderQuotedAsset.actualSize.value + + portfolioEngineStage.stageQuotedAsset.sizePlaced.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineStage.stageQuotedAsset.sizePlaced.value, 10) + + const message = 'Calculating - Size Placed Recalculated' + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Warning - ' + message, + placeholder: {} + } + contextInfo = { + previousStageQuotedAssetSizePlaced: previousStageQuotedAssetSizePlaced, + recalculatedStageQuotedAssetSizePlaced: portfolioEngineStage.stageQuotedAsset.sizePlaced.value, + actualRate: portfolioEngineOrder.orderStatistics.actualRate.value, + orderRate: portfolioEngineOrder.rate.value + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addWarning( + [ + [portfolioEngineStage.stageQuotedAsset.sizePlaced.id, portfolioEngineOrder.orderStatistics.actualRate.id], + message, + docs + ] + ) + } + } + + async function feesToBePaidCalculation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, order, applyFeePercentage) { + /* + The Fees To Be Paid are the fees that will be paid once the order is 100% Filled. + */ + switch (portfolioEngineOrder.type) { + case 'Market Order': { + await applyFeePercentage( + 'feesToBePaid', + portfolioEngineOrder, + portfolioSystemOrder, + sessionParameters.feeStructure.config.taker, + 100 + ) + break + } + case 'Limit Order': { + await applyFeePercentage( + 'feesToBePaid', + portfolioEngineOrder, + portfolioSystemOrder, + sessionParameters.feeStructure.config.maker, + 100 + ) + break + } + } + } + + async function percentageFilledCalculation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, order, applyFeePercentage) { + /* + Percentage Filled Calculation: The only relevant information we get from the exchange is the order.filled. + We know this field will go up until reaching the Actual Size. Once it reaches that number + the order will be 100% filled. + */ + if (order.filled !== undefined) { + portfolioEngineOrder.orderStatistics.percentageFilled.value = order.filled * 100 / portfolioEngineOrder.orderBaseAsset.actualSize.value + portfolioEngineOrder.orderStatistics.percentageFilled.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineOrder.orderStatistics.percentageFilled.value, 10) + } + } + + async function feesPaidCalculation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, order, applyFeePercentage) { + /* + Within the order information received from the exchange we can not see the fees paid so we need to + calculate them ourselves. Knwowing the Fees Paid is critical to later update the balances correctly, + since at every trade we will receive less than just the Actual Size. In fact we will receive the Actual + Size minus the Fees Paid. + + The percentage at which the exchange will charge fees needs to be configured at the the Session Fees Parameters. + */ + switch (portfolioEngineOrder.type) { + case 'Market Order': { + await applyFeePercentage( + 'feesPaid', + portfolioEngineOrder, + portfolioSystemOrder, + sessionParameters.feeStructure.config.taker, + portfolioEngineOrder.orderStatistics.percentageFilled.value + ) + break + } + case 'Limit Order': { + await applyFeePercentage( + 'feesPaid', + portfolioEngineOrder, + portfolioSystemOrder, + sessionParameters.feeStructure.config.maker, + portfolioEngineOrder.orderStatistics.percentageFilled.value + ) + break + } + } + } + + async function sizeFilledCalculation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, order, applyFeePercentage) { + /* + CCXT returns order.filled with an amount denominated in Base Asset. We will + take it from there for our Order Base Asset. The amount in order.filled does + not reflect the Fees Paid, even if we are paying the fees in Base Asset. + */ + if (order.filled !== undefined) { + portfolioEngineOrder.orderBaseAsset.sizeFilled.value = order.filled + portfolioEngineOrder.orderBaseAsset.sizeFilled.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineOrder.orderBaseAsset.sizeFilled.value, 10) + } + /* + For Quoted Asset, CCXT does not return any field with the size filled, so we + need to calculate that by ourselves. + */ + portfolioEngineOrder.orderQuotedAsset.sizeFilled.value = + portfolioEngineOrder.orderQuotedAsset.actualSize.value * portfolioEngineOrder.orderStatistics.percentageFilled.value / 100 + + portfolioEngineOrder.orderQuotedAsset.sizeFilled.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineOrder.orderQuotedAsset.sizeFilled.value, 10) + } + + async function amountReceivedCalculation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, order, applyFeePercentage) { + /* + This calculation is for informational purposes, so that users do not have to calculate + it by themselves. The Amount Received out of the trade depends if we are Buying or Selling + the Base Asset. If we are Buying, then the Amount Receiced will be in Base Asset. If we + are selling then it will be in Quoted Asset. + */ + + switch (true) { + case portfolioSystemOrder.type === 'Market Buy Order' || portfolioSystemOrder.type === 'Limit Buy Order': { + /* + In this case the Amount Received is in Base Asset. + */ + portfolioEngineOrder.orderBaseAsset.amountReceived.value = + portfolioEngineOrder.orderBaseAsset.sizeFilled.value - + portfolioEngineOrder.orderBaseAsset.feesPaid.value + break + } + case portfolioSystemOrder.type === 'Market Sell Order' || portfolioSystemOrder.type === 'Limit Sell Order': { + /* + In this case the Amount Received is in Quoted Asset. + */ + portfolioEngineOrder.orderQuotedAsset.amountReceived.value = + portfolioEngineOrder.orderQuotedAsset.sizeFilled.value - + portfolioEngineOrder.orderQuotedAsset.feesPaid.value + break + } + } + } +} diff --git a/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/OrdersSimulations.js b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/OrdersSimulations.js new file mode 100644 index 000000000..26a7bda74 --- /dev/null +++ b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/OrdersSimulations.js @@ -0,0 +1,538 @@ +exports.newPortfolioManagementBotModulesOrdersSimulations = function (processIndex) { + /* + When we are backtesting or paper portfolio, we need to simulate what would have happened at the exchange. + */ + + let thisObject = { + actualSizeSimulation: actualSizeSimulation, + actualRateSimulation: actualRateSimulation, + feesToBePaidSimulation: feesToBePaidSimulation, + amountReceivedSimulation: amountReceivedSimulation, + percentageFilledSimulation: percentageFilledSimulation, + feesPaidSimulation: feesPaidSimulation, + sizeFilledSimulation: sizeFilledSimulation, + initialize: initialize, + finalize: finalize + } + + let portfolioEngine + let portfolioSystem + let sessionParameters + + return thisObject + + function initialize() { + sessionParameters = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters + portfolioEngine = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioEngine + portfolioSystem = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioSystem + } + + function finalize() { + sessionParameters = undefined + portfolioEngine = undefined + portfolioSystem = undefined + } + + async function actualSizeSimulation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, applyFeePercentage) { + /* + The Actual Size is the size the exchange accepts for the order, + regarless of the size sent in the request to the exchange. + + While backtesting and paper portfolio, we do not really need to + simulate an Actual Size. We will just copy to that field the + size of the order. + + This calculation needs to happen only once, so as to set these values. + */ + if (portfolioEngineOrder.orderBaseAsset.actualSize.value !== portfolioEngineOrder.orderBaseAsset.actualSize.config.initialValue) { return } + + portfolioEngineOrder.orderBaseAsset.actualSize.value = portfolioEngineOrder.orderBaseAsset.size.value + portfolioEngineOrder.orderQuotedAsset.actualSize.value = portfolioEngineOrder.orderQuotedAsset.size.value + } + + function actualRateSimulation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, applyFeePercentage) { + /* Actual Rate Simulation */ + let previousQuotedAssetActualSize = portfolioEngineOrder.orderQuotedAsset.actualSize.value + + if (portfolioEngineOrder.orderStatistics.actualRate.value === portfolioEngineOrder.orderStatistics.actualRate.config.initialValue) { + /* + The default value for the Actual Rate is the rate of the order. + */ + portfolioEngineOrder.orderStatistics.actualRate.value = portfolioEngineOrder.rate.value + } + + basedOnSessionParameters() + basedOnPortfolioSystem() + considerBestMatchWithOrderBook() + recalculateActualSize() + recalculateSizePlaced() + + function basedOnSessionParameters() { + /* + The default way to calculate the Actual Rate is to apply the Slippage defined + at the Session Parameters Definition. We are not going to apply the default if there + is a definition for this order on how to calculate the actual rate. + */ + if (portfolioSystemOrder.simulatedExchangeEvents !== undefined) { + if (portfolioSystemOrder.simulatedExchangeEvents.simulatedActualRate !== undefined) { + return + } + } + switch (portfolioEngineOrder.type) { + case 'Market Order': { + + /* Actual Rate is simulated based on the Session Paremeters */ + let slippageAmount = portfolioEngineOrder.rate.value * sessionParameters.slippage.config.marketOrderRate / 100 + if (slippageAmount !== 0) { + switch (portfolioSystemOrder.type) { + case 'Market Sell Order': { + portfolioEngineOrder.orderStatistics.actualRate.value = portfolioEngineOrder.rate.value - slippageAmount + portfolioEngineOrder.orderStatistics.actualRate.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineOrder.orderStatistics.actualRate.value, 10) + + const message = 'Simulating - Slippage Subtracted' + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Warning - ' + message, + placeholder: {} + } + contextInfo = { + slippageAmount: slippageAmount, + orderRate: portfolioEngineOrder.rate.value, + actualRate: portfolioEngineOrder.orderStatistics.actualRate.value + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addWarning( + [ + [sessionParameters.slippage.id, portfolioEngineOrder.rate.id, portfolioEngineOrder.orderStatistics.actualRate.id], + message, + docs + ] + ) + break + } + case 'Market Buy Order': { + portfolioEngineOrder.orderStatistics.actualRate.value = portfolioEngineOrder.rate.value + slippageAmount + portfolioEngineOrder.orderStatistics.actualRate.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineOrder.orderStatistics.actualRate.value, 10) + + const message = 'Simulating - Slippage Added' + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Warning - ' + message, + placeholder: {} + } + contextInfo = { + slippageAmount: slippageAmount, + orderRate: portfolioEngineOrder.rate.value, + actualRate: portfolioEngineOrder.orderStatistics.actualRate.value + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addWarning( + [ + [sessionParameters.slippage.id, portfolioEngineOrder.rate.id, portfolioEngineOrder.orderStatistics.actualRate.id], + message, + docs + ] + ) + break + } + } + } + break + } + case 'Limit Order': { + /* In Limit Orders the actual rate is the rate of the order, there is no slippage */ + portfolioEngineOrder.orderStatistics.actualRate.value = portfolioEngineOrder.rate.value + break + } + } + } + + function basedOnPortfolioSystem() { + /* + If the user specified a Formula to simulate the Actual Rate for this order, + we use that formula here. Note that if this Formula exists, this will override + the calculation based on Slippage. + */ + if (portfolioSystemOrder.simulatedExchangeEvents !== undefined) { + if (portfolioSystemOrder.simulatedExchangeEvents.simulatedActualRate !== undefined) { + if (portfolioSystemOrder.simulatedExchangeEvents.simulatedActualRate.formula !== undefined) { + /* Calculate this only once for this order */ + if (portfolioEngineOrder.orderStatistics.actualRate.value === portfolioEngineOrder.orderStatistics.actualRate.config.initialValue) { + let newValue = portfolioSystem.formulas.get(portfolioSystemOrder.simulatedExchangeEvents.simulatedActualRate.formula.id) + newValue = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(newValue, 10) + + const message = 'Simulating - Actual Rate Based On Formula' + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Warning - ' + message, + placeholder: {} + } + contextInfo = { + previousActualRate: portfolioEngineOrder.orderStatistics.actualRate.value, + recalculatedActualRate: newValue + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addWarning( + [ + portfolioSystemOrder.simulatedExchangeEvents.simulatedActualRate.formula.id, + message, + docs + ] + ) + portfolioEngineOrder.orderStatistics.actualRate.value = newValue + } + } + } + } + } + + function considerBestMatchWithOrderBook() { + /* + Until here we have got the Actual Rate based on the formula definition or based on session parameters slippage. + The last check is about watching what happened in the market. Let's remember that the exchange will + fill the order with the best possible matches at it's order book. That means that if the rate + we set for the order was too low (for a sale order) or too hight (for a buy order), the actual rate + should be better than expected. + + We don't know what it is at the order book, but whe know that the last candle includes trades that bounced between + the min an max of the candle. That could tell us the above the max and below the min, the order would be matched + with orders at the order book. For that reason, we do this: + */ + switch (true) { + case portfolioSystemOrder.type === 'Market Buy Order' || portfolioSystemOrder.type === 'Limit Buy Order': { + if (portfolioEngineOrder.orderStatistics.actualRate.value > portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value) { + + const message = 'Simulating - Actual Rate Too Hight' + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Warning - ' + message, + placeholder: {} + } + contextInfo = { + previousActualRate: portfolioEngineOrder.orderStatistics.actualRate.value, + recalculatedActualRate: portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addWarning( + [ + [portfolioEngineOrder.orderStatistics.actualRate.id, portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.id], + message, + docs + ] + ) + portfolioEngineOrder.orderStatistics.actualRate.value = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value + } + break + } + case portfolioSystemOrder.type === 'Market Sell Order' || portfolioSystemOrder.type === 'Limit Sell Order': { + if (portfolioEngineOrder.orderStatistics.actualRate.value < portfolioEngine.portfolioCurrent.portfolioEpisode.candle.min.value) { + + const message = 'Simulating - Actual Rate Too Low' + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Warning - ' + message, + placeholder: {} + } + contextInfo = { + previousActualRate: portfolioEngineOrder.orderStatistics.actualRate.value, + recalculatedActualRate: portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addWarning( + [ + [portfolioEngineOrder.orderStatistics.actualRate.id, portfolioEngine.portfolioCurrent.portfolioEpisode.candle.min.id], + message, + docs + ] + ) + portfolioEngineOrder.orderStatistics.actualRate.value = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.min.value + } + break + } + } + portfolioEngineOrder.orderStatistics.actualRate.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineOrder.orderStatistics.actualRate.value, 10) + } + + function recalculateActualSize() { + if (portfolioEngineOrder.orderStatistics.actualRate.value === portfolioEngineOrder.rate.value) { return } + /* + Now that we have an Actual Rate, we need to adjust the Actual Size in Quoted Asset, since + Base Asset is what the exchange accepts as input and give information at. Quotes Asset properties are always calculated. + */ + portfolioEngineOrder.orderQuotedAsset.actualSize.value = + portfolioEngineOrder.orderBaseAsset.actualSize.value * + portfolioEngineOrder.orderStatistics.actualRate.value + + portfolioEngineOrder.orderQuotedAsset.actualSize.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineOrder.orderQuotedAsset.actualSize.value, 10) + + const message = 'Simulating - Actual Size Recalculated' + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Warning - ' + message, + placeholder: {} + } + contextInfo = { + previousQuotedAssetActualSize: previousQuotedAssetActualSize, + recalculatedQuotedAssetActualSize: portfolioEngineOrder.orderQuotedAsset.actualSize.value, + actualRate: portfolioEngineOrder.orderStatistics.actualRate.value, + orderRate: portfolioEngineOrder.rate.value + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addWarning( + [ + [portfolioEngineOrder.orderQuotedAsset.actualSize.id, portfolioEngineOrder.orderStatistics.actualRate.id], + message, + docs + ] + ) + } + + function recalculateSizePlaced() { + if (portfolioEngineOrder.orderStatistics.actualRate.value === portfolioEngineOrder.rate.value) { return } + /* + Since the Actual Rate might have changed, we need to recalculate the Size Placed, where we accumulate all the Size Placed of + all orders of a Stage. For Base Asset there is nothing to do, since the Actual Rate does not have an inpact on it. + + For Quoted Asset, we need to first unaccount what this same orded added before to Size Placed (with the precious Actual Size) and + account with the new Actual Size. + */ + let previousStageQuotedAssetSizePlaced = portfolioEngineStage.stageQuotedAsset.sizePlaced.value + + portfolioEngineStage.stageQuotedAsset.sizePlaced.value = + portfolioEngineStage.stageQuotedAsset.sizePlaced.value - + previousQuotedAssetActualSize + + portfolioEngineStage.stageQuotedAsset.sizePlaced.value = + portfolioEngineStage.stageQuotedAsset.sizePlaced.value + + portfolioEngineOrder.orderQuotedAsset.actualSize.value + + portfolioEngineStage.stageQuotedAsset.sizePlaced.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineStage.stageQuotedAsset.sizePlaced.value, 10) + + const message = 'Simulating - Size Placed Recalculated' + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Warning - ' + message, + placeholder: {} + } + contextInfo = { + previousStageQuotedAssetSizePlaced: previousStageQuotedAssetSizePlaced, + recalculatedStageQuotedAssetSizePlaced: portfolioEngineStage.stageQuotedAsset.sizePlaced.value, + actualRate: portfolioEngineOrder.orderStatistics.actualRate.value, + orderRate: portfolioEngineOrder.rate.value + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addWarning( + [ + [portfolioEngineStage.stageQuotedAsset.sizePlaced.id, portfolioEngineOrder.orderStatistics.actualRate.id], + message, + docs + ] + ) + } + } + + async function feesToBePaidSimulation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, applyFeePercentage) { + /* + The Fees To Be Paid are the fees that will be paid once the order is 100% Filled. + */ + switch (portfolioEngineOrder.type) { + case 'Market Order': { + await applyFeePercentage( + 'feesToBePaid', + portfolioEngineOrder, + portfolioSystemOrder, + sessionParameters.feeStructure.config.taker, + 100 + ) + break + } + case 'Limit Order': { + await applyFeePercentage( + 'feesToBePaid', + portfolioEngineOrder, + portfolioSystemOrder, + sessionParameters.feeStructure.config.maker, + 100 + ) + break + } + } + } + + function percentageFilledSimulation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, applyFeePercentage) { + /* + When we are live, it is the exchange who knows which order was filled and in + which amount. Since we are backtesting here, we need to simulate what happens + at the exchange. We can not simulate that an order is filled if the candle we + see did not touch the order. + + For limit buy orders we are going to check if the price was below the order actual rate, and + for limit sell orders we are going to check if the price was above the order actual rate. + + If we have a partial filling defined specifically for this order, + we are going to use it to estimate how much of the order we will consider filled. + */ + let orderWasHit + switch (portfolioSystemOrder.type) { + case 'Limit Buy Order': { + if (portfolioEngine.portfolioCurrent.portfolioEpisode.candle.min.value <= portfolioEngineOrder.orderStatistics.actualRate.value) { + orderWasHit = true + } + break + } + case 'Limit Sell Order': { + if (portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value >= portfolioEngineOrder.orderStatistics.actualRate.value) { + orderWasHit = true + } + break + } + case 'Market Buy Order': { + orderWasHit = true + break + } + case 'Market Sell Order': { + orderWasHit = true + break + } + } + if (orderWasHit === true) { + /* + Initially, we will assume that 100% of the order was filled. This might be overwritten + if there is a configuration for this order that details how much is must be considered + filled each time we check this. + */ + portfolioEngineOrder.orderStatistics.percentageFilled.value = 100 + + /* Based on the Portfolio System Definition */ + if (portfolioSystemOrder.simulatedExchangeEvents !== undefined) { + if (portfolioSystemOrder.simulatedExchangeEvents.simulatedPartialFill !== undefined) { + if (portfolioSystemOrder.simulatedExchangeEvents.simulatedPartialFill.config.fillProbability !== undefined) { + + /* Percentage Filled */ + let percentageFilled = portfolioSystemOrder.simulatedExchangeEvents.simulatedPartialFill.config.fillProbability * 100 + if (portfolioEngineOrder.orderStatistics.percentageFilled.value + percentageFilled > 100) { + percentageFilled = 100 - portfolioEngineOrder.orderStatistics.percentageFilled.value + } + portfolioEngineOrder.orderStatistics.percentageFilled.value = portfolioEngineOrder.orderStatistics.percentageFilled.value + percentageFilled + portfolioEngineOrder.orderStatistics.percentageFilled.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineOrder.orderStatistics.percentageFilled.value, 10) + } + } + } + } + } + + function feesPaidSimulation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, applyFeePercentage) { + /* + The way the Fess Paid are calculated is as follows: From the order Actual Size we apply the % of fee, + that would give us the total fees for that order. To that we apply the % filled of the orders, + that give use the final result of the fees paid for the current % filled. + + But before that, we will see if there is an specific definition on how to simulate the fees for + this order, or if there is not, we use the Fees Structure defined at the Session Parameters. + */ + + /* Based on the Portfolio System Definition */ + if (portfolioSystemOrder.simulatedExchangeEvents !== undefined) { + if (portfolioSystemOrder.simulatedExchangeEvents.simulatedFeesPaid !== undefined) { + if (portfolioSystemOrder.simulatedExchangeEvents.simulatedFeesPaid.config.percentage !== undefined) { + applyFeePercentage( + 'feesPaid', + portfolioEngineOrder, + portfolioSystemOrder, + portfolioSystemOrder.simulatedExchangeEvents.simulatedFeesPaid.config.percentage, + portfolioEngineOrder.orderStatistics.percentageFilled.value + ) + return + } + } + } + + /* + Another way to simulate the Fees Paid is by using the Session Paremeters configuration for Fees. + */ + switch (portfolioEngineOrder.type) { + case 'Market Order': { + applyFeePercentage( + 'feesPaid', + portfolioEngineOrder, + portfolioSystemOrder, + sessionParameters.feeStructure.config.taker, + portfolioEngineOrder.orderStatistics.percentageFilled.value + ) + break + } + case 'Limit Order': { + applyFeePercentage( + 'feesPaid', + portfolioEngineOrder, + portfolioSystemOrder, + sessionParameters.feeStructure.config.maker, + portfolioEngineOrder.orderStatistics.percentageFilled.value + ) + break + } + } + } + + function sizeFilledSimulation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, applyFeePercentage) { + /* + Size Filled is the amount of Base Asset or Quoted Asset that at the exchange matches + another counterparty order. We calculate this using the Percentage Filled we already simulated. + */ + + portfolioEngineOrder.orderBaseAsset.sizeFilled.value = + portfolioEngineOrder.orderBaseAsset.actualSize.value * + portfolioEngineOrder.orderStatistics.percentageFilled.value / 100 + + portfolioEngineOrder.orderQuotedAsset.sizeFilled.value = + portfolioEngineOrder.orderQuotedAsset.actualSize.value * + portfolioEngineOrder.orderStatistics.percentageFilled.value / 100 + + portfolioEngineOrder.orderBaseAsset.sizeFilled.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineOrder.orderBaseAsset.sizeFilled.value, 10) + portfolioEngineOrder.orderQuotedAsset.sizeFilled.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineOrder.orderQuotedAsset.sizeFilled.value, 10) + } + + async function amountReceivedSimulation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, order, applyFeePercentage) { + /* + This simulation is for informational purposes, so that users do not have to calculate + it by themselves. The Amount Received out of the trade depends if we are Buying or Selling + the Base Asset. If we are Buying, then the Amount Receiced will be in Base Asset. If we + are selling then it will be in Quoted Asset. + */ + + switch (true) { + case portfolioSystemOrder.type === 'Market Buy Order' || portfolioSystemOrder.type === 'Limit Buy Order': { + /* + In this case the Amount Received is in Base Asset. + */ + portfolioEngineOrder.orderBaseAsset.amountReceived.value = + portfolioEngineOrder.orderBaseAsset.sizeFilled.value - + portfolioEngineOrder.orderBaseAsset.feesPaid.value + break + } + case portfolioSystemOrder.type === 'Market Sell Order' || portfolioSystemOrder.type === 'Limit Sell Order': { + /* + In this case the Amount Received is in Quoted Asset. + */ + portfolioEngineOrder.orderQuotedAsset.amountReceived.value = + portfolioEngineOrder.orderQuotedAsset.sizeFilled.value - + portfolioEngineOrder.orderQuotedAsset.feesPaid.value + break + } + } + } +} \ No newline at end of file diff --git a/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioEngine.js b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioEngine.js new file mode 100644 index 000000000..dff0b8c1b --- /dev/null +++ b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioEngine.js @@ -0,0 +1,229 @@ +exports.newPortfolioManagementBotModulesPortfolioEngine = function (processIndex) { + /* + We call the Portfolio Engine to the data structure that is needed in order to exevute the + portfolio protocol with the specific rules defined at the Portfolio System. + */ + + let thisObject = { + mantain: mantain, + reset: reset, + getNodeById: getNodeById, + cloneValues: cloneValues, + setCurrentCandle: setCurrentCandle, + setCurrentCycle: setCurrentCycle, + initializeNode: initializeNode, + initialize: initialize, + finalize: finalize + } + + let portfolioEngine + let sessionParameters + let nodesMap = new Map() + + return thisObject + + function initialize() { + + portfolioEngine = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioEngine + sessionParameters = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters + + initializeNodeMap(portfolioEngine) + + if (TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_FIRST_LOOP === true) { + /* + Here we will go through all the nodes in the Portfolio Engine hiriarchy and + apply the initial value to the value property when needed + */ + initializeNode(portfolioEngine) + } + } + + function finalize() { + portfolioEngine = undefined + sessionParameters = undefined + nodesMap = undefined + } + + function mantain() { + } + + function reset() { + + } + + function getNodeById(NodeId) { + return nodesMap.get(NodeId) + } + + function setCurrentCandle(candle) { + portfolioEngine.portfolioCurrent.portfolioEpisode.candle.begin.value = candle.begin + portfolioEngine.portfolioCurrent.portfolioEpisode.candle.end.value = candle.end + portfolioEngine.portfolioCurrent.portfolioEpisode.candle.open.value = candle.open + portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value = candle.close + portfolioEngine.portfolioCurrent.portfolioEpisode.candle.min.value = candle.min + portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value = candle.max + } + + function setCurrentCycle(cycle) { + portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.value = cycle + portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.lastBegin.value = portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.begin.value + portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.lastEnd.value = portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.end.value + switch (cycle) { + case 'First': { + portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.begin.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.candle.begin.value + + sessionParameters.timeFrame.config.value + portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.end.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.candle.begin.value + + sessionParameters.timeFrame.config.value + + sessionParameters.timeFrame.config.value / 2 - 1 + break + } + case 'Second': { + portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.begin.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.candle.begin.value + + sessionParameters.timeFrame.config.value + + sessionParameters.timeFrame.config.value / 2 + portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.end.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.candle.begin.value + + sessionParameters.timeFrame.config.value + + sessionParameters.timeFrame.config.value * 4 / 4 - 1 + break + } + } + /* + We can not have the last begin or last end to be zero, because that would prevent + objects starting with lastBegin in zero to being saved on file. For that reason + we will do this: + */ + if (portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.lastBegin.value === 0) { + portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.lastBegin.value = portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.begin.value + } + if (portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.lastEnd.value === 0) { + portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.lastEnd.value = portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.end.value + } + } + + function cloneValues(originNode, destinationNode) { + if (originNode === undefined) { return } + if (destinationNode === undefined) { return } + + /* Here copy the node value */ + destinationNode.value = originNode.value + + /* Now we go down through all the children of the origin node, assuming the destination node has the same children structure*/ + let schemaDocument = TS.projects.foundations.globals.taskConstants.APP_SCHEMA_MAP.get(originNode.project + '-' + originNode.type) + if (schemaDocument === undefined) { return } + + if (schemaDocument.childrenNodesProperties !== undefined) { + let previousPropertyName // Since there are cases where there are many properties with the same name,because they can hold nodes of different types but only one at the time, we have to avoind counting each property of those as individual children. + for (let i = 0; i < schemaDocument.childrenNodesProperties.length; i++) { + let property = schemaDocument.childrenNodesProperties[i] + + switch (property.type) { + case 'node': { + if (property.name !== previousPropertyName) { + if (originNode[property.name] !== undefined && destinationNode[property.name] !== undefined) { + cloneValues(originNode[property.name], destinationNode[property.name]) + } + previousPropertyName = property.name + } + break + } + case 'array': { + if (originNode[property.name] !== undefined && destinationNode[property.name] !== undefined) { + let originNodePropertyArray = originNode[property.name] + let destinationNodePropertyArray = destinationNode[property.name] + for (let m = 0; m < originNodePropertyArray.length; m++) { + cloneValues(originNodePropertyArray[m], destinationNodePropertyArray[m]) + } + } + break + } + } + } + } + } + + function initializeNodeMap(node) { + if (node === undefined) { return } + /* Add to Node Map */ + nodesMap.set(node.id, node) + + /* Now we go down through all this node children */ + let schemaDocument = TS.projects.foundations.globals.taskConstants.APP_SCHEMA_MAP.get(node.project + '-' + node.type) + if (schemaDocument === undefined) { return } + + if (schemaDocument.childrenNodesProperties !== undefined) { + let previousPropertyName // Since there are cases where there are many properties with the same name,because they can hold nodes of different types but only one at the time, we have to avoind counting each property of those as individual children. + for (let i = 0; i < schemaDocument.childrenNodesProperties.length; i++) { + let property = schemaDocument.childrenNodesProperties[i] + + switch (property.type) { + case 'node': { + if (property.name !== previousPropertyName) { + if (node[property.name] !== undefined) { + initializeNodeMap(node[property.name]) + } + previousPropertyName = property.name + } + break + } + case 'array': { + if (node[property.name] !== undefined) { + let nodePropertyArray = node[property.name] + for (let m = 0; m < nodePropertyArray.length; m++) { + initializeNodeMap(nodePropertyArray[m]) + } + } + break + } + } + } + } + } + + function initializeNode(node) { + if (node === undefined) { return } + + /* Here we initialize the node value */ + if (node.config !== undefined) { + if (node.config.initialValue !== undefined) { + node.value = node.config.initialValue + } + } + + /* Now we go down through all this node children */ + let schemaDocument = TS.projects.foundations.globals.taskConstants.APP_SCHEMA_MAP.get(node.project + '-' + node.type) + if (schemaDocument === undefined) { return } + + if (schemaDocument.childrenNodesProperties !== undefined) { + let previousPropertyName // Since there are cases where there are many properties with the same name,because they can hold nodes of different types but only one at the time, we have to avoind counting each property of those as individual children. + for (let i = 0; i < schemaDocument.childrenNodesProperties.length; i++) { + let property = schemaDocument.childrenNodesProperties[i] + + switch (property.type) { + case 'node': { + if (property.name !== previousPropertyName) { + if (node[property.name] !== undefined) { + initializeNode(node[property.name]) + } + previousPropertyName = property.name + } + break + } + case 'array': { + if (node[property.name] !== undefined) { + let nodePropertyArray = node[property.name] + for (let m = 0; m < nodePropertyArray.length; m++) { + initializeNode(nodePropertyArray[m]) + } + } + break + } + } + } + } + } +} + diff --git a/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioEpisode.js b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioEpisode.js new file mode 100644 index 000000000..c6554f046 --- /dev/null +++ b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioEpisode.js @@ -0,0 +1,319 @@ +exports.newPortfolioManagementBotModulesPortfolioEpisode = function (processIndex) { + /* + This module packages all functions related to Episodes. + */ + let thisObject = { + mantain: mantain, + reset: reset, + openEpisode: openEpisode, + updateExitType: updateExitType, + closeEpisode: closeEpisode, + cycleBasedStatistics: cycleBasedStatistics, + initialize: initialize, + finalize: finalize + } + + let portfolioEngine + let portfolioSystem + let sessionParameters + + return thisObject + + function initialize() { + portfolioSystem = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioSystem + portfolioEngine = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioEngine + sessionParameters = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters + } + + function finalize() { + portfolioEngine = undefined + portfolioSystem = undefined + sessionParameters = undefined + } + + function mantain() { + updateCounters() + updateStatistics() + updateEnds() + updateDistanceToPortfolioEventsCounters() + } + + function reset() { + resetPortfolioEngineDataStructure() + } + + function openEpisode() { + /* + This function is called each time the simulation starts. That does not mean the Episode + must be opened there, since it might happen that it is looping at the end of the market + or the task / session was restarted. We will only execute if the episode was never opened before. + */ + if (portfolioEngine.portfolioCurrent.portfolioEpisode.begin.value !== portfolioEngine.portfolioCurrent.portfolioEpisode.begin.config.initialValue) { return } + + /* Starting begin and end */ + portfolioEngine.portfolioCurrent.portfolioEpisode.begin.value = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.begin.value + portfolioEngine.portfolioCurrent.portfolioEpisode.end.value = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.end.value + + /* Getting the begin Balance from the session configuration */ + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.beginBalance.value = sessionParameters.sessionBaseAsset.config.initialBalance + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.beginBalance.value = sessionParameters.sessionQuotedAsset.config.initialBalance + + /* The current balance is also the begin balance, that is how this starts. */ + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value = sessionParameters.sessionBaseAsset.config.initialBalance + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value = sessionParameters.sessionQuotedAsset.config.initialBalance + + /* Recording the opening at the Portfolio Engine Data Structure */ + portfolioEngine.portfolioCurrent.portfolioEpisode.status.value = 'Open' + portfolioEngine.portfolioCurrent.portfolioEpisode.serialNumber.value = 1 + portfolioEngine.portfolioCurrent.portfolioEpisode.identifier.value = SA.projects.foundations.utilities.miscellaneousFunctions.genereteUniqueId() + portfolioEngine.portfolioCurrent.portfolioEpisode.beginRate.value = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value + } + + function updateExitType(exitType) { + portfolioEngine.portfolioCurrent.portfolioEpisode.exitType.value = exitType + } + + function closeEpisode() { + portfolioEngine.portfolioCurrent.portfolioEpisode.status.value = 'Closed' + portfolioEngine.portfolioCurrent.portfolioEpisode.end.value = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.end.value + portfolioEngine.portfolioCurrent.portfolioEpisode.endRate.value = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.endBalance.value = portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.endBalance.value = portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value + } + + function resetEpisode() { + TS.projects.foundations.globals.processModuleObjects.MODULE_OBJECTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_MODULE_OBJECT.initializeNode(portfolioEngine.portfolioCurrent.learningEpisode) + } + + function updateEnds() { + if (portfolioEngine.portfolioCurrent.portfolioEpisode.status.value === 'Open') { + portfolioEngine.portfolioCurrent.portfolioEpisode.end.value = portfolioEngine.portfolioCurrent.portfolioEpisode.end.value + sessionParameters.timeFrame.config.value + portfolioEngine.portfolioCurrent.portfolioEpisode.endRate.value = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.endBalance.value = portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.endBalance.value = portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value + } + } + + function resetPortfolioEngineDataStructure() { + if (portfolioEngine.portfolioCurrent.portfolioEpisode.status.value === 'Closed') { + resetEpisode() + } + } + + function updateCounters() { + if (portfolioEngine.portfolioCurrent.portfolioEpisode.status.value === 'Open') { + portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeCounters.periods.value++ + } + } + + function updateStatistics() { + + /* Daus Calculation */ + portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeStatistics.days.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeCounters.periods.value * + sessionParameters.timeFrame.config.value / + SA.projects.foundations.globals.timeConstants.ONE_DAY_IN_MILISECONDS + } + + function cycleBasedStatistics() { + + calculateAssetsStatistics() + calculateEpisodeStatistics() + + function calculateAssetsStatistics() { + /* Updating Profit Loss */ + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.profitLoss.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value - + sessionParameters.sessionBaseAsset.config.initialBalance + + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.profitLoss.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value - + sessionParameters.sessionQuotedAsset.config.initialBalance + + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.profitLoss.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.profitLoss.value, 10) + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.profitLoss.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.profitLoss.value, 10) + + /* + Updating ROI + + https://www.investopedia.com/articles/basics/10/guide-to-calculating-roi.asp + */ + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.ROI.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.profitLoss.value / + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.beginBalance.value * 100 + + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.ROI.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.profitLoss.value / + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.beginBalance.value * 100 + + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.ROI.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.ROI.value, 10) + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.ROI.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.ROI.value, 10) + + /* Updating Hit Ratio */ + if (portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeCounters.positions.value > 0) { + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.hitRatio.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.hits.value / + portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeCounters.positions.value + + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.hitRatio.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.hits.value / + portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeCounters.positions.value + + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.hitRatio.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.hitRatio.value, 10) + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.hitRatio.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.hitRatio.value, 10) + } + + /* + Updating Annualized Rate Of Return + + https://www.investopedia.com/terms/a/annualized-rate.asp + */ + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.annualizedRateOfReturn.value = + Math.pow( + ( + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.beginBalance.value + + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.profitLoss.value + ) / portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.beginBalance.value + , + (365 / portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeStatistics.days.value) + ) - 1 + + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.annualizedRateOfReturn.value = + Math.pow( + ( + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.beginBalance.value + + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.profitLoss.value + ) / portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.beginBalance.value + , + (365 / portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeStatistics.days.value) + ) - 1 + + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.annualizedRateOfReturn.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.annualizedRateOfReturn.value, 10) + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.annualizedRateOfReturn.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.annualizedRateOfReturn.value, 10) + + /* Updating Hit or Fail */ + if (portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.profitLoss.value > 0) { + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.hitFail.value = 'Hit' + } else { + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.hitFail.value = 'Fail' + } + if (portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.profitLoss.value > 0) { + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.hitFail.value = 'Hit' + } else { + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.hitFail.value = 'Fail' + } + } + + function calculateEpisodeStatistics() { + /* Updating Profit Loss */ + portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeStatistics.profitLoss.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.profitLoss.value * portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value + + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.profitLoss.value + + portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeStatistics.profitLoss.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeStatistics.profitLoss.value, 10) + + /* + Updating ROI + + https://www.investopedia.com/articles/basics/10/guide-to-calculating-roi.asp + */ + portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeStatistics.ROI.value = + ( + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.profitLoss.value * portfolioEngine.portfolioCurrent.portfolioEpisode.endRate.value + + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.profitLoss.value + ) / ( + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.beginBalance.value * portfolioEngine.portfolioCurrent.portfolioEpisode.beginRate.value + + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.beginBalance.value + ) * 100 + + portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeStatistics.ROI.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeStatistics.ROI.value, 10) + + /* + Updating Annualized Rate Of Return + + https://www.investopedia.com/terms/a/annualized-rate.asp + */ + portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeStatistics.annualizedRateOfReturn.value = + Math.pow( + ( + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.beginBalance.value * portfolioEngine.portfolioCurrent.portfolioEpisode.beginRate.value + + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.beginBalance.value + + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.profitLoss.value + + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.profitLoss.value + ) / + ( + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.beginBalance.value * portfolioEngine.portfolioCurrent.portfolioEpisode.beginRate.value + + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.beginBalance.value + ) + , + (365 / portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeStatistics.days.value) + ) - 1 + + portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeStatistics.annualizedRateOfReturn.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeStatistics.annualizedRateOfReturn.value, 10) + + /* Updating Hit or Fail */ + if (portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeStatistics.profitLoss.value > 0) { + portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeStatistics.hitFail.value = 'Hit' + } else { + portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeStatistics.hitFail.value = 'Fail' + } + } + } + + function updateDistanceToPortfolioEventsCounters() { + /* Keeping Distance Counters Up-to-date while avoinding counting before the first event happens. */ + if ( + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.triggerOn.value > 0 + ) { + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.triggerOn.value++ + } + + if ( + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.triggerOff.value > 0 + ) { + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.triggerOff.value++ + } + + if ( + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.takePosition.value > 0 + ) { + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.takePosition.value++ + } + + if ( + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.closePosition.value > 0 + ) { + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.closePosition.value++ + } + + if ( + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.nextPhase.value > 0 + ) { + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.nextPhase.value++ + } + + if ( + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.moveToPhase.value > 0 + ) { + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.moveToPhase.value++ + } + + if ( + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.createOrder.value > 0 + ) { + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.createOrder.value++ + } + + if ( + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.cancelOrder.value > 0 + ) { + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.cancelOrder.value++ + } + + if ( + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.closeOrder.value > 0 + ) { + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.closeOrder.value++ + } + } +} \ No newline at end of file diff --git a/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioExecution.js b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioExecution.js new file mode 100644 index 000000000..00abca6cc --- /dev/null +++ b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioExecution.js @@ -0,0 +1,123 @@ +exports.newPortfolioManagementBotModulesPortfolioExecution = function (processIndex) { + /* + The Portfolio Execution modules manages the execution nodes and execution algoritms. + */ + const MODULE_NAME = 'Portfolio Execution' + + let thisObject = { + mantain: mantain, + reset: reset, + runExecution: runExecution, + initialize: initialize, + finalize: finalize + } + + let portfolioEngine + let portfolioSystem + let sessionParameters + + let portfolioOrdersModuleObject = TS.projects.portfolioManagement.botModules.portfolioOrders.newPortfolioManagementBotModulesPortfolioOrders(processIndex) + + return thisObject + + function initialize() { + portfolioSystem = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioSystem + portfolioEngine = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioEngine + sessionParameters = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters + + portfolioOrdersModuleObject.initialize() + } + + function finalize() { + portfolioSystem = undefined + portfolioEngine = undefined + sessionParameters = undefined + + portfolioOrdersModuleObject.finalize() + portfolioOrdersModuleObject = undefined + } + + function mantain() { + portfolioOrdersModuleObject.mantain() + } + + function reset() { + portfolioOrdersModuleObject.reset() + } + + async function runExecution( + executionNode, + portfolioEngineStage + ) { + try { + /* Portfolio Engine Stage Validations */ + if (portfolioEngineStage.stageBaseAsset === undefined) { badDefinitionUnhandledException(undefined, 'Stage Base Asset Node Missing', portfolioEngineStage) } + if (portfolioEngineStage.stageBaseAsset.targetSize === undefined) { badDefinitionUnhandledException(undefined, 'Target Size Node Missing', portfolioEngineStage) } + if (portfolioEngineStage.stageBaseAsset.sizePlaced === undefined) { badDefinitionUnhandledException(undefined, 'Size Placed Node Missing', portfolioEngineStage) } + if (portfolioEngineStage.stageBaseAsset.sizeFilled === undefined) { badDefinitionUnhandledException(undefined, 'Size Filled Node Missing', portfolioEngineStage) } + if (portfolioEngineStage.stageBaseAsset.feesPaid === undefined) { badDefinitionUnhandledException(undefined, 'Fees Paid Node Missing', portfolioEngineStage) } + if (portfolioEngineStage.stageQuotedAsset === undefined) { badDefinitionUnhandledException(undefined, 'Stage Quoted Asset Node Missing', portfolioEngineStage) } + if (portfolioEngineStage.stageQuotedAsset.targetSize === undefined) { badDefinitionUnhandledException(undefined, 'Target Size Node Missing', portfolioEngineStage) } + if (portfolioEngineStage.stageQuotedAsset.sizePlaced === undefined) { badDefinitionUnhandledException(undefined, 'Size Placed Node Missing', portfolioEngineStage) } + if (portfolioEngineStage.stageQuotedAsset.sizeFilled === undefined) { badDefinitionUnhandledException(undefined, 'Size Filled Node Missing', portfolioEngineStage) } + if (portfolioEngineStage.stageQuotedAsset.feesPaid === undefined) { badDefinitionUnhandledException(undefined, 'Fees Paid Node Missing', portfolioEngineStage) } + + await checkExecutionAlgorithms(executionNode) + + async function checkExecutionAlgorithms(executionNode) { + for (let i = 0; i < executionNode.executionAlgorithms.length; i++) { + let executionAlgorithm = executionNode.executionAlgorithms[i] + await portfolioOrdersModuleObject.checkOrders(portfolioEngineStage, executionAlgorithm.marketBuyOrders, executionAlgorithm, executionNode) + await portfolioOrdersModuleObject.checkOrders(portfolioEngineStage, executionAlgorithm.marketSellOrders, executionAlgorithm, executionNode) + await portfolioOrdersModuleObject.checkOrders(portfolioEngineStage, executionAlgorithm.limitBuyOrders, executionAlgorithm, executionNode) + await portfolioOrdersModuleObject.checkOrders(portfolioEngineStage, executionAlgorithm.limitSellOrders, executionAlgorithm, executionNode) + } + } + + } catch (err) { + if (err !== 'Error Already Recorded') { + + const message = 'Execution Unexpected Error' + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - ' + message, + placeholder: {} + } + + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, err) + + portfolioSystem.addError([executionNode.id, message, docs]) + } + + if (typeof err === 'string' || err instanceof String) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] runExecution -> err = ' + err) + } + if (err.stack !== undefined) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] runExecution -> err = ' + err.stack) + } + } + } + + function badDefinitionUnhandledException(err, message, node) { + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - ' + message, + placeholder: {} + } + + portfolioSystem.addError([node.id, message, docs]) + + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] -> " + message); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] -> node.name = " + node.name); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] -> node.type = " + node.type); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] -> node.config = " + JSON.stringify(node.config)); + if (err !== undefined) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] -> err.stack = " + err.stack); + } + throw 'Error Already Recorded' + } +} + diff --git a/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioOrders.js b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioOrders.js new file mode 100644 index 000000000..358cf6b04 --- /dev/null +++ b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioOrders.js @@ -0,0 +1,1332 @@ +exports.newPortfolioManagementBotModulesPortfolioOrders = function (processIndex) { + /* + The Portfolio Orders modules manages the execution of orders against the exchanges. + */ + const MODULE_NAME = 'Portfolio Orders' + + let thisObject = { + mantain: mantain, + reset: reset, + checkOrders: checkOrders, + initialize: initialize, + finalize: finalize + } + + let portfolioEngine + let portfolioSystem + let sessionParameters + + let exchangeAPIModuleObject = TS.projects.portfolioManagement.botModules.exchangeAPI.newPortfolioManagementBotModulesExchangeAPI(processIndex) + let announcementsModuleObject = TS.projects.socialBots.botModules.announcements.newSocialBotsBotModulesAnnouncements(processIndex) + + return thisObject + + function initialize() { + portfolioSystem = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioSystem + portfolioEngine = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioEngine + sessionParameters = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters + + exchangeAPIModuleObject.initialize() + announcementsModuleObject.initialize() + } + + function finalize() { + portfolioSystem = undefined + portfolioEngine = undefined + sessionParameters = undefined + + exchangeAPIModuleObject.finalize() + exchangeAPIModuleObject = undefined + + announcementsModuleObject.finalize() + announcementsModuleObject = undefined + } + + function mantain() { + mantainReset(true, false) + } + + function reset() { + mantainReset(false, true) + } + + function mantainReset(mantain, reset) { + + if (portfolioEngine.portfolioCurrent.strategy.index.value === portfolioEngine.portfolioCurrent.strategy.index.config.initialValue) { return } + + let stageNode + let executionNode + + stageNode = portfolioSystem.portfolioStrategies[portfolioEngine.portfolioCurrent.strategy.index.value].openStage + + if (stageNode !== undefined) { // The Open Stage is optional. It might be undefined. + executionNode = stageNode.openExecution + processExecutionNode(executionNode, portfolioEngine.portfolioCurrent.strategyOpenStage.status.value) + } + + stageNode = portfolioSystem.portfolioStrategies[portfolioEngine.portfolioCurrent.strategy.index.value].closeStage + if (stageNode !== undefined) { // The Close Stage is optional. It might be undefined. + executionNode = stageNode.closeExecution + processExecutionNode(executionNode, portfolioEngine.portfolioCurrent.strategyCloseStage.status.value) + } + + function processExecutionNode(executionNode, stageStatus) { + + preocessExecutionAlgorithms(executionNode) + + function preocessExecutionAlgorithms(executionNode) { + for (let i = 0; i < executionNode.executionAlgorithms.length; i++) { + let executionAlgorithm = executionNode.executionAlgorithms[i] + processOrders(executionAlgorithm.marketBuyOrders) + processOrders(executionAlgorithm.marketSellOrders) + processOrders(executionAlgorithm.limitBuyOrders) + processOrders(executionAlgorithm.limitSellOrders) + } + } + + function processOrders(orders) { + for (let i = 0; i < orders.length; i++) { + let portfolioSystemOrder = orders[i] + if (portfolioSystemOrder.referenceParent === undefined) { + badDefinitionUnhandledException(undefined, 'Order Reference Missing', portfolioSystemOrder) + } + let portfolioEngineOrder = TS.projects.foundations.globals.processModuleObjects.MODULE_OBJECTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_MODULE_OBJECT.getNodeById(portfolioSystemOrder.referenceParent.id) + + if (portfolioEngineOrder.status === undefined) { + badDefinitionUnhandledException(undefined, 'Status Node Missing', portfolioEngineOrder) + } + + if (mantain === true) { + updateCounters(portfolioEngineOrder) + updateEnds(portfolioEngineOrder) + updateStatistics(portfolioEngineOrder) + } + if (reset === true) { + resetPortfolioEngineDataStructure(portfolioEngineOrder, portfolioSystemOrder, stageStatus) + } + } + } + } + } + + async function checkOrders(portfolioEngineStage, orders, executionAlgorithm, executionNode) { + for (let i = 0; i < orders.length; i++) { + + let portfolioSystemOrder = orders[i] + portfolioSystemValidations(portfolioSystemOrder) + let portfolioEngineOrder = TS.projects.foundations.globals.processModuleObjects.MODULE_OBJECTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_MODULE_OBJECT.getNodeById(portfolioSystemOrder.referenceParent.id) + portfolioEngineValidations(portfolioEngineOrder) + + switch (portfolioEngineOrder.status.value) { + case 'Not Open': { + { + /* During the First cycle we can not create new orders. That is reserved for the Second cycle. */ + if (portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.value === 'First') { continue } + /* When the stage is closing we can not create new orders */ + if (portfolioEngineStage.status.value === 'Closing') { continue } + /* + Check if we can create an order based on the config value for spawnMultipleOrders. + Portfolio System Orders that cannot spawn more than one Portfolio Engine Order needs to check if + at the Portfolio Engine Order the lock is Open or Closed. + */ + if (portfolioSystemOrder.config.spawnMultipleOrders !== true) { + if (portfolioEngineOrder.lock.value === 'Closed') { + + let message = "Order Skipped" + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Info - ' + message, + placeholder: {} + } + + portfolioSystem.addInfo([portfolioSystemOrder.id, message, docs]) + continue + } + } + /* Check if we need to Create this Order */ + let situationName = await checkOrderEvent(portfolioSystemOrder.createOrderEvent, portfolioSystemOrder, executionAlgorithm, executionNode) + if (situationName !== undefined) { + + /* Open a new order */ + await tryToOpenOrder(portfolioEngineStage, executionAlgorithm, portfolioSystemOrder, portfolioEngineOrder, situationName) + } + } + break + } + case 'Open': { + /* During the Second cycle we can not cancel orders. That is reserved for the First cycle. */ + if (portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.value === 'Second') { continue } + + /* Simulate Events that happens at the Exchange, if needed. */ + simulateCheckExchangeEvents(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder) + + /* Check Events that happens at the Exchange, if needed. */ + let allGood = await checkExchangeEvents(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder) + + if (allGood !== true) { + /* + For some reason we could not check the order at the exchange, so we will not even check if we + need to cancel it, since we could end up with inconsistent information at the accounting level. + */ + if (portfolioSystemOrder.cancelOrderEvent !== undefined) { + + const message = 'Skipping Cancel Order Event' + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Warning - ' + message, + placeholder: {} + } + + portfolioSystem.addWarning( + [ + portfolioSystemOrder.cancelOrderEvent.id, + message, + docs + ] + ) + } + return + } + + /* Check if we need to cancel the order */ + await checkCancelOrderEvent(portfolioEngineStage, executionAlgorithm, executionNode, portfolioEngineOrder, portfolioSystemOrder) + /* + If by this time the order is closed, we need to clone it and get the close + to the Last node at the Portfolio Engine data structure. + */ + if (portfolioEngineOrder.status.value === 'Closed') { + switch (portfolioEngineOrder.type) { + case 'Market Order': { + TS.projects.foundations.globals.processModuleObjects.MODULE_OBJECTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_MODULE_OBJECT.cloneValues(portfolioEngineOrder, portfolioEngine.portfolioLast.marketOrders) + break + } + case 'Limit Order': { + TS.projects.foundations.globals.processModuleObjects.MODULE_OBJECTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_MODULE_OBJECT.cloneValues(portfolioEngineOrder, portfolioEngine.portfolioLast.limitOrders) + break + } + } + } + } + } + } + } + + async function checkCancelOrderEvent(portfolioEngineStage, executionAlgorithm, executionNode, portfolioEngineOrder, portfolioSystemOrder) { + /* + In the previous steps, we might have discovered that the order was cancelled + at the exchange, or filled, so the order might still not be Open. + If the stage is closing or the order is not Open, we wont be cancelling orders + based on defined events. + */ + if (portfolioEngineStage.status.value !== 'Closing' && portfolioEngineOrder.status.value === 'Open') { + + /* Check if we need to Cancel this Order */ + let situationName = await checkOrderEvent(portfolioSystemOrder.cancelOrderEvent, portfolioSystemOrder, executionAlgorithm, executionNode) + if (situationName !== undefined) { + + /* Simulate Order Cancelation, if needed. */ + simulateCancelOrder(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, 'Cancel Event') + + /* Cancel the order at the Exchange, if needed. */ + await exchangeCancelOrder(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, 'Cancel Event') + + await updateEndsWithCycle(portfolioEngineOrder) + } + } + } + + function portfolioSystemValidations(portfolioSystemOrder) { + /* Portfolio System Validations */ + if (portfolioSystemOrder.config.percentageOfAlgorithmSize === undefined) { badDefinitionUnhandledException(undefined, 'Percentage Of Algorithm Size Property Missing', portfolioSystemOrder) } + if (portfolioSystemOrder.referenceParent === undefined) { badDefinitionUnhandledException(undefined, 'Order Reference Missing', portfolioSystemOrder) } + } + + function portfolioEngineValidations(portfolioEngineOrder) { + /* Portfolio Engine Order Validations */ + if (portfolioEngineOrder.serialNumber === undefined) { badDefinitionUnhandledException(undefined, 'Serial Number Node Missing', portfolioEngineOrder) } + if (portfolioEngineOrder.identifier === undefined) { badDefinitionUnhandledException(undefined, 'Identifier Node Missing', portfolioEngineOrder) } + if (portfolioEngineOrder.exchangeId === undefined) { badDefinitionUnhandledException(undefined, 'Exchange Id Node Missing', portfolioEngineOrder) } + if (portfolioEngineOrder.begin === undefined) { badDefinitionUnhandledException(undefined, 'Begin Node Missing', portfolioEngineOrder) } + if (portfolioEngineOrder.end === undefined) { badDefinitionUnhandledException(undefined, 'End Node Missing', portfolioEngineOrder) } + if (portfolioEngineOrder.rate === undefined) { badDefinitionUnhandledException(undefined, 'Rate Node Missing', portfolioEngineOrder) } + if (portfolioEngineOrder.status === undefined) { badDefinitionUnhandledException(undefined, 'Status Node Missing', portfolioEngineOrder) } + if (portfolioEngineOrder.algorithmName === undefined) { badDefinitionUnhandledException(undefined, 'Algorithm Name Node Missing', portfolioEngineOrder) } + + if (portfolioEngineOrder.orderCounters === undefined) { badDefinitionUnhandledException(undefined, 'Order Counters Node Missing', portfolioEngineOrder) } + if (portfolioEngineOrder.orderCounters.periods === undefined) { badDefinitionUnhandledException(undefined, 'Periods Node Missing', portfolioEngineOrder.orderCounters) } + + if (portfolioEngineOrder.orderStatistics === undefined) { badDefinitionUnhandledException(undefined, 'Order Statistics Node Missing', portfolioEngineOrder) } + if (portfolioEngineOrder.orderStatistics.days === undefined) { badDefinitionUnhandledException(undefined, 'Days Node Missing', portfolioEngineOrder.orderStatistics) } + if (portfolioEngineOrder.orderStatistics.percentageFilled === undefined) { badDefinitionUnhandledException(undefined, 'Percentage Filled Node Missing', portfolioEngineOrder.orderStatistics) } + if (portfolioEngineOrder.orderStatistics.actualRate === undefined) { badDefinitionUnhandledException(undefined, 'Actual Rate Node Missing', portfolioEngineOrder.orderStatistics) } + + if (portfolioEngineOrder.orderBaseAsset === undefined) { badDefinitionUnhandledException(undefined, 'Order Base Asset Node Missing', portfolioEngineOrder) } + if (portfolioEngineOrder.orderBaseAsset.size === undefined) { badDefinitionUnhandledException(undefined, 'Size Node Missing', portfolioEngineOrder.orderBaseAsset) } + if (portfolioEngineOrder.orderBaseAsset.sizeFilled === undefined) { badDefinitionUnhandledException(undefined, 'Size Filled Node Missing', portfolioEngineOrder.orderBaseAsset) } + if (portfolioEngineOrder.orderBaseAsset.feesPaid === undefined) { badDefinitionUnhandledException(undefined, 'Fees Paid Node Missing', portfolioEngineOrder.orderBaseAsset) } + if (portfolioEngineOrder.orderBaseAsset.actualSize === undefined) { badDefinitionUnhandledException(undefined, 'Actual Size Node Missing', portfolioEngineOrder.orderBaseAsset) } + if (portfolioEngineOrder.orderBaseAsset.amountReceived === undefined) { badDefinitionUnhandledException(undefined, 'Amount Received Node Missing', portfolioEngineOrder.orderBaseAsset) } + if (portfolioEngineOrder.orderBaseAsset.feesToBePaid === undefined) { badDefinitionUnhandledException(undefined, 'Fees To Be Paid Node Missing', portfolioEngineOrder.orderBaseAsset) } + + if (portfolioEngineOrder.orderQuotedAsset === undefined) { badDefinitionUnhandledException(undefined, 'Order Quoted Asset Node Missing', portfolioEngineOrder) } + if (portfolioEngineOrder.orderQuotedAsset.size === undefined) { badDefinitionUnhandledException(undefined, 'Size Node Missing', portfolioEngineOrder.orderQuotedAsset) } + if (portfolioEngineOrder.orderQuotedAsset.sizeFilled === undefined) { badDefinitionUnhandledException(undefined, 'Size Filled Node Missing', portfolioEngineOrder.orderQuotedAsset) } + if (portfolioEngineOrder.orderQuotedAsset.feesPaid === undefined) { badDefinitionUnhandledException(undefined, 'Fees Paid Node Missing', portfolioEngineOrder.orderQuotedAsset) } + if (portfolioEngineOrder.orderQuotedAsset.actualSize === undefined) { badDefinitionUnhandledException(undefined, 'Actual Size Node Missing', portfolioEngineOrder.orderQuotedAsset) } + if (portfolioEngineOrder.orderQuotedAsset.amountReceived === undefined) { badDefinitionUnhandledException(undefined, 'Amount Received Node Missing', portfolioEngineOrder.orderQuotedAsset) } + if (portfolioEngineOrder.orderQuotedAsset.feesToBePaid === undefined) { badDefinitionUnhandledException(undefined, 'Fees To Be Paid Node Missing', portfolioEngineOrder.orderQuotedAsset) } + } + + async function tryToOpenOrder(portfolioEngineStage, executionAlgorithm, portfolioSystemOrder, portfolioEngineOrder, situationName) { + + await calculateOrderRate() + await calculateOrderSize() + + /* Check Size: We are not going to create Orders which size is equal or less to zero. */ + if (portfolioEngineOrder.orderBaseAsset.size.value <= 0) { + + const message = 'Order Size Value Zero Or Negative' + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Warning - ' + message, + placeholder: {} + } + + portfolioSystem.addWarning( + [ + [portfolioEngineOrder.orderBaseAsset.size.id, portfolioSystemOrder.id], + message, + docs + ] + ) + return + } + + if (portfolioEngineOrder.orderQuotedAsset.size.value <= 0) { + + const message = 'Order Size Value Zero Or Negative' + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Warning - ' + message, + placeholder: {} + } + + portfolioSystem.addWarning( + [ + [portfolioEngineOrder.orderQuotedAsset.size.id, portfolioSystemOrder.id], + message, + docs + ] + ) + return + } + + /* Place Order at the Exchange, if needed. */ + let result = await createOrderAtExchange(portfolioSystemOrder, portfolioEngineOrder) + if (result !== true) { + + const message = 'Order Could Not Be Opened' + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Warning - ' + message, + placeholder: {} + } + + portfolioSystem.addWarning( + [ + [portfolioSystemOrder.id, portfolioEngineOrder], + message, + docs + ] + ) + return + } + + /* Update Stage Placed Size */ + portfolioEngineStage.stageBaseAsset.sizePlaced.value = portfolioEngineStage.stageBaseAsset.sizePlaced.value + portfolioEngineOrder.orderBaseAsset.size.value + portfolioEngineStage.stageBaseAsset.sizePlaced.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineStage.stageBaseAsset.sizePlaced.value, 10) + portfolioEngineStage.stageQuotedAsset.sizePlaced.value = portfolioEngineStage.stageQuotedAsset.sizePlaced.value + portfolioEngineOrder.orderQuotedAsset.size.value + portfolioEngineStage.stageQuotedAsset.sizePlaced.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineStage.stageQuotedAsset.sizePlaced.value, 10) + + /* Updating Episode Counters */ + portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeCounters.orders.value++ + + /* Initialize this */ + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.createOrder.value = 1 + + /* Create Order Procedure */ + portfolioEngineOrder.status.value = 'Open' + portfolioEngineOrder.identifier.value = SA.projects.foundations.utilities.miscellaneousFunctions.genereteUniqueId() + portfolioEngineOrder.begin.value = portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.begin.value + portfolioEngineOrder.end.value = portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.end.value + portfolioEngineOrder.serialNumber.value = portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeCounters.orders.value + portfolioEngineOrder.orderName.value = portfolioSystemOrder.name + portfolioEngineOrder.algorithmName.value = executionAlgorithm.name + portfolioEngineOrder.situationName.value = situationName + + async function calculateOrderRate() { + + /* Optional Rate Definition */ + if (portfolioSystemOrder.type === 'Limit Buy Order' || portfolioSystemOrder.type === 'Limit Sell Order') { + if (portfolioSystemOrder.orderRate === undefined) { badDefinitionUnhandledException(undefined, 'Order Rate Node Missing', portfolioSystemOrder) } + if (portfolioSystemOrder.orderRate.formula === undefined) { badDefinitionUnhandledException(undefined, 'Formula Node Missing', portfolioSystemOrder) } + + /* Extract the rate value from the user-defined formula */ + portfolioEngineOrder.rate.value = portfolioSystem.formulas.get(portfolioSystemOrder.orderRate.formula.id) + + /* Final rate validations */ + if (portfolioEngineOrder.rate.value === undefined) { badDefinitionUnhandledException(undefined, 'Rate Value Undefined', portfolioEngineOrder.rate) } + if (isNaN(portfolioEngineOrder.rate.value) === true) { badDefinitionUnhandledException(undefined, 'Rate Value Not A Number', portfolioSystemOrder) } + if (portfolioEngineOrder.rate.value <= 0) { badDefinitionUnhandledException(undefined, 'Rate Value Zero Or Negative', portfolioSystemOrder) } + + portfolioEngineOrder.rate.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineOrder.rate.value, 10) + } else { + /* + For Market Orders, the rate is irrelevant, since it is not sent to the Exchange. + We store at this field the last know price as a reference. + */ + portfolioEngineOrder.rate.value = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value + } + } + + async function calculateOrderSize() { + let algorithmSizeInBaseAsset + let algorithmSizeInQuotedAsset + + requiredConfigurationValidation() + notPassingTargetSizeValidation() + notNegativeBalanceValidation() + + function requiredConfigurationValidation() { + /* Validate that this config exists */ + if (executionAlgorithm.config.percentageOfStageTargetSize === undefined) { + badDefinitionUnhandledException(undefined, 'Percentage Of Stage Target Size Property Missing', executionAlgorithm) + } + if (isNaN(executionAlgorithm.config.percentageOfStageTargetSize) === true) { + badDefinitionUnhandledException(undefined, 'Percentage Of Stage Target Size Property Not A Number', executionAlgorithm) + } + + algorithmSizeInBaseAsset = portfolioEngineStage.stageBaseAsset.targetSize.value * executionAlgorithm.config.percentageOfStageTargetSize / 100 + algorithmSizeInQuotedAsset = portfolioEngineStage.stageQuotedAsset.targetSize.value * executionAlgorithm.config.percentageOfStageTargetSize / 100 + + /* Validate that this config exists */ + if (portfolioSystemOrder.config.percentageOfAlgorithmSize === undefined) { + badDefinitionUnhandledException(undefined, 'Percentage Of Algorithm Size Property Missing', portfolioSystemOrder) + } + if (isNaN(portfolioSystemOrder.config.percentageOfAlgorithmSize) === true) { + badDefinitionUnhandledException(undefined, 'Percentage Of Algorithm Size Property Not A Number', portfolioSystemOrder) + } + } + + function notPassingTargetSizeValidation() { + /* + The Size calculation depends on how the user defined the size of the position. + The user could have defined the size of the position in Base Asset or Quoted Asset. + */ + switch (portfolioEngineStage.stageDefinedIn.value) { + case 'Base Asset': { + /* Size in Base Asset */ + portfolioEngineOrder.orderBaseAsset.size.value = algorithmSizeInBaseAsset * portfolioSystemOrder.config.percentageOfAlgorithmSize / 100 + portfolioEngineOrder.orderBaseAsset.size.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineOrder.orderBaseAsset.size.value, 10) + + /* Check that the Size calculated would not surpass Stage Target Size */ + if ( + portfolioEngineOrder.orderBaseAsset.size.value + portfolioEngineStage.stageBaseAsset.sizePlaced.value > + portfolioEngineStage.stageBaseAsset.targetSize.value + ) { + let previousValue = portfolioEngineOrder.orderBaseAsset.size.value + portfolioEngineOrder.orderBaseAsset.size.value = + portfolioEngineStage.stageBaseAsset.targetSize.value - + portfolioEngineStage.stageBaseAsset.sizePlaced.value + + portfolioEngineOrder.orderBaseAsset.size.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineOrder.orderBaseAsset.size.value, 10) + + const message = 'Order Size Shrinked' + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Warning - ' + message, + placeholder: {} + } + contextInfo = { + previousOrderSize: previousValue, + recalculatedOrderSize: portfolioEngineOrder.orderBaseAsset.size.value, + sizePlaced: portfolioEngineStage.stageBaseAsset.sizePlaced.value, + targetSize: portfolioEngineStage.stageBaseAsset.targetSize.value + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addWarning( + [ + [portfolioEngineStage.stageBaseAsset.targetSize.id, portfolioEngineOrder.orderBaseAsset.size.id, portfolioEngineStage.stageBaseAsset.sizePlaced.id], + message, + docs + ] + ) + } + + /* Size in Quoted Asset */ + portfolioEngineOrder.orderQuotedAsset.size.value = portfolioEngineOrder.orderBaseAsset.size.value * portfolioEngineOrder.rate.value + portfolioEngineOrder.orderQuotedAsset.size.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineOrder.orderQuotedAsset.size.value, 10) + break + } + case 'Quoted Asset': { + /* Size in Quoted Asset */ + portfolioEngineOrder.orderQuotedAsset.size.value = algorithmSizeInQuotedAsset * portfolioSystemOrder.config.percentageOfAlgorithmSize / 100 + portfolioEngineOrder.orderQuotedAsset.size.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineOrder.orderQuotedAsset.size.value, 10) + + /* Check that the Size calculated would not surpass Stage Target Size */ + if ( + portfolioEngineOrder.orderQuotedAsset.size.value + portfolioEngineStage.stageQuotedAsset.sizePlaced.value > + portfolioEngineStage.stageQuotedAsset.targetSize.value + ) { + let previousValue = portfolioEngineOrder.orderQuotedAsset.size.value + portfolioEngineOrder.orderQuotedAsset.size.value = + portfolioEngineStage.stageQuotedAsset.targetSize.value - + portfolioEngineStage.stageQuotedAsset.sizePlaced.value + + portfolioEngineOrder.orderQuotedAsset.size.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineOrder.orderQuotedAsset.size.value, 10) + + const message = 'Order Size Shrinked' + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Warning - ' + message, + placeholder: {} + } + contextInfo = { + previousOrderSize: previousValue, + recalculatedOrderSize: portfolioEngineOrder.orderQuotedAsset.size.value, + sizePlaced: portfolioEngineStage.stageQuotedAsset.sizePlaced.value, + targetSize: portfolioEngineStage.stageQuotedAsset.targetSize.value + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addWarning( + [ + [portfolioEngineStage.stageQuotedAsset.targetSize.id, portfolioEngineOrder.orderQuotedAsset.size.id, portfolioEngineStage.stageQuotedAsset.sizePlaced.id], + message, + docs + ] + ) + } + + /* Size in Base Asset */ + portfolioEngineOrder.orderBaseAsset.size.value = portfolioEngineOrder.orderQuotedAsset.size.value / portfolioEngineOrder.rate.value + portfolioEngineOrder.orderBaseAsset.size.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineOrder.orderBaseAsset.size.value, 10) + break + } + } + } + + function notNegativeBalanceValidation() { + /* Check that the Size calculated would not leave a negative balance */ + switch (true) { + case portfolioSystemOrder.type === 'Market Buy Order' || portfolioSystemOrder.type === 'Limit Buy Order': { + if ( + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value - portfolioEngineOrder.orderQuotedAsset.size.value < 0 + ) { + const message = 'Possible Negative Balance' + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Warning - ' + message, + placeholder: {} + } + contextInfo = { + orderQuotedAssetSize: portfolioEngineOrder.orderQuotedAsset.size.value, + episodeQuotedAssetBalance: portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addWarning( + [ + [portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.id, portfolioEngineOrder.orderQuotedAsset.size.id], + message, + docs + ] + ) + + portfolioEngineOrder.orderQuotedAsset.size.value = portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value + portfolioEngineOrder.orderBaseAsset.size.value = portfolioEngineOrder.orderQuotedAsset.size.value / portfolioEngineOrder.rate.value + } + break + } + case portfolioSystemOrder.type === 'Market Sell Order' || portfolioSystemOrder.type === 'Limit Sell Order': { + if ( + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value - portfolioEngineOrder.orderBaseAsset.size.value < 0 + ) { + const message = 'Possible Negative Balance' + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Warning - ' + message, + placeholder: {} + } + contextInfo = { + orderBaseAssetSize: portfolioEngineOrder.orderBaseAsset.size.value, + episodeBaseAssetBalance: portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addWarning( + [ + [portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.id, portfolioEngineOrder.orderBaseAsset.size.id], + message, + docs + ] + ) + + portfolioEngineOrder.orderBaseAsset.size.value = portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value + portfolioEngineOrder.orderQuotedAsset.size.value = portfolioEngineOrder.orderBaseAsset.size.value * portfolioEngineOrder.rate.value + } + break + } + } + } + + portfolioEngineOrder.orderBaseAsset.size.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineOrder.orderBaseAsset.size.value, 10) + portfolioEngineOrder.orderQuotedAsset.size.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineOrder.orderQuotedAsset.size.value, 10) + } + + async function createOrderAtExchange(portfolioSystemOrder, portfolioEngineOrder) { + + /* Filter by Session Type */ + switch (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type) { + case 'Backtesting Session': { + return true + } + case 'Live Portfolio Session': { + break + } + case 'Fordward Testing Session': { + break + } + case 'Paper Portfolio Session': { + return true + } + } + + let orderId = await exchangeAPIModuleObject.createOrder(portfolioSystemOrder, portfolioEngineOrder) + + if (orderId !== undefined) { + portfolioEngineOrder.exchangeId.value = orderId + return true + } + } + } + + async function checkExchangeEvents(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder) { + + /* Filter by Session Type */ + switch (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type) { + case 'Backtesting Session': { + return true + } + case 'Live Portfolio Session': { + break + } + case 'Fordward Testing Session': { + break + } + case 'Paper Portfolio Session': { + return true + } + } + + let order = await exchangeAPIModuleObject.getOrder(portfolioSystemOrder, portfolioEngineOrder) + + let message + let docs + + if (order === undefined) { + + message = 'Order Status Not Sync With Exchange' + docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Warning - ' + message, + placeholder: {} + } + + portfolioSystem.addWarning( + [ + [portfolioSystemOrder.id, portfolioEngineOrder.id], + message, + docs + ] + ) + return false + } + + const AT_EXCHANGE_STATUS = { + OPEN: 'open', + CLOSED: 'closed', + CANCELLED: 'canceled' + } + + /* Status Checks */ + if (order.remaining === 0 && order.status === AT_EXCHANGE_STATUS.CLOSED) { + /* Close this Order */ + portfolioEngineOrder.status.value = 'Closed' + portfolioEngineOrder.exitType.value = 'Filled' + + /* Initialize this */ + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.closeOrder.value = 1 + + await updateEndsWithCycle(portfolioEngineOrder) + + let message = "Order Closed" + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Info - ' + message, + placeholder: {} + } + contextInfo = { + exitType: portfolioEngineOrder.exitType.value + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addInfo([portfolioSystemOrder.id, message, docs]) + + await syncWithExchange(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, order) + return + } + + if (order.remaining > 0 && order.status === AT_EXCHANGE_STATUS.CLOSED) { + /* Close this Order */ + portfolioEngineOrder.status.value = 'Closed' + portfolioEngineOrder.exitType.value = 'Closed at the Exchange' + /* Initialize this */ + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.closeOrder.value = 1 + + await updateEndsWithCycle(portfolioEngineOrder) + + let message = "Order Closed" + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Info - ' + message, + placeholder: {} + } + contextInfo = { + exitType: portfolioEngineOrder.exitType.value + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addInfo([portfolioSystemOrder.id, message, docs]) + + await syncWithExchange(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, order) + await recalculateStageSize(portfolioEngineStage, portfolioEngineOrder) + return + } + + if (order.status === AT_EXCHANGE_STATUS.CANCELLED) { + /* Close this Order */ + portfolioEngineOrder.status.value = 'Closed' + /* + We must be carefull here not to overide an already defined exitType. It can happen + for instance that the order was cancellerd from the but veryfing the cancellation + was not possible because of a connection to the exchange problem. In that case + the exit type was defined but the order was kept open until the verification could be done. + */ + if (portfolioEngineOrder.exitType.value === portfolioEngineOrder.exitType.config.initialValue) { + portfolioEngineOrder.exitType.value = 'Cancelled at the Exchange' + } + /* Initialize this */ + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.closeOrder.value = 1 + + await updateEndsWithCycle(portfolioEngineOrder) + + let message = "Order Closed" + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Info - ' + message, + placeholder: {} + } + contextInfo = { + exitType: portfolioEngineOrder.exitType.value + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addInfo([portfolioSystemOrder.id, message, docs]) + + await syncWithExchange(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, order) + await recalculateStageSize(portfolioEngineStage, portfolioEngineOrder) + return + } + + /* + If the order happens to be at least partially filled, there is a syncronization work + we need to do, that includes discovering which is the Actual Rate the order is being filled, + the Fees Paid and many other thing we need to account for. + */ + if (order.filled > 0) { + await syncWithExchange(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, order) + } + + /* + Forced Cancellation Check: Here we check if we need to cancel this order because the + stage is closing. + */ + if (portfolioEngineStage.status.value === 'Closing' && portfolioEngineOrder.status.value !== 'Closed') { + await exchangeCancelOrder(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, 'Closing Stage') + } + + return true + } + + function simulateCheckExchangeEvents(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder) { + + /* Filter by Session Type */ + switch (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type) { + case 'Backtesting Session': { + break + } + case 'Live Portfolio Session': { + return + } + case 'Fordward Testing Session': { + return + } + case 'Paper Portfolio Session': { + break + } + } + + simulateSyncWithExchange(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder) + + /* Check if we need to close the order */ + if (portfolioEngineOrder.orderStatistics.percentageFilled.value === 100) { + + /* Close this Order */ + portfolioEngineOrder.status.value = 'Closed' + portfolioEngineOrder.exitType.value = 'Filled' + + /* Initialize this */ + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.closeOrder.value = 1 + + updateEndsWithCycle(portfolioEngineOrder) + + let message = "Order Closed" + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Info - ' + message, + placeholder: {} + } + contextInfo = { + exitType: portfolioEngineOrder.exitType.value + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addInfo([portfolioSystemOrder.id, message, docs]) + } + + /* If the Stage is Closing and this order is still open, we need to cancel it now */ + if (portfolioEngineStage.status.value === 'Closing' && portfolioEngineOrder.status.value !== 'Closed') { + simulateCancelOrder(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, 'Closing Stage') + } + } + + function simulateSyncWithExchange(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder) { + + let previousBaseAssetSizeFilled = portfolioEngineOrder.orderBaseAsset.sizeFilled.value + let previousQuotedAssetSizeFilled = portfolioEngineOrder.orderQuotedAsset.sizeFilled.value + let previousBaseAssetFeesPaid = portfolioEngineOrder.orderBaseAsset.feesPaid.value + let previousQuotedAssetFeesPaid = portfolioEngineOrder.orderQuotedAsset.feesPaid.value + + let ordersSimulationsModuleObject = TS.projects.portfolioManagement.botModules.ordersSimulations.newPortfolioManagementBotModulesOrdersSimulations(processIndex) + ordersSimulationsModuleObject.initialize() + + ordersSimulationsModuleObject.actualSizeSimulation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, applyFeePercentage) + ordersSimulationsModuleObject.actualRateSimulation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, applyFeePercentage) + ordersSimulationsModuleObject.feesToBePaidSimulation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, applyFeePercentage) + ordersSimulationsModuleObject.percentageFilledSimulation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, applyFeePercentage) + ordersSimulationsModuleObject.feesPaidSimulation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, applyFeePercentage) + ordersSimulationsModuleObject.sizeFilledSimulation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, applyFeePercentage) + ordersSimulationsModuleObject.amountReceivedSimulation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, applyFeePercentage) + + ordersSimulationsModuleObject.finalize() + + doTheAccounting( + portfolioEngineStage, + portfolioSystemOrder, + portfolioEngineOrder, + previousBaseAssetSizeFilled, + previousQuotedAssetSizeFilled, + previousBaseAssetFeesPaid, + previousQuotedAssetFeesPaid + ) + } + + async function syncWithExchange(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, order) { + + let previousBaseAssetSizeFilled = portfolioEngineOrder.orderBaseAsset.sizeFilled.value + let previousQuotedAssetSizeFilled = portfolioEngineOrder.orderQuotedAsset.sizeFilled.value + let previousBaseAssetFeesPaid = portfolioEngineOrder.orderBaseAsset.feesPaid.value + let previousQuotedAssetFeesPaid = portfolioEngineOrder.orderQuotedAsset.feesPaid.value + + let ordersCalculationsModuleObject = TS.projects.portfolioManagement.botModules.ordersCalculations.newPortfolioManagementBotModulesOrdersCalculations(processIndex) + ordersCalculationsModuleObject.initialize() + + await ordersCalculationsModuleObject.actualSizeCalculation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, order, applyFeePercentage) + await ordersCalculationsModuleObject.actualRateCalculation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, order, applyFeePercentage) + await ordersCalculationsModuleObject.feesToBePaidCalculation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, order, applyFeePercentage) + await ordersCalculationsModuleObject.percentageFilledCalculation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, order, applyFeePercentage) + await ordersCalculationsModuleObject.feesPaidCalculation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, order, applyFeePercentage) + await ordersCalculationsModuleObject.sizeFilledCalculation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, order, applyFeePercentage) + await ordersCalculationsModuleObject.amountReceivedCalculation(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, order, applyFeePercentage) + + ordersCalculationsModuleObject.finalize() + + await doTheAccounting( + portfolioEngineStage, + portfolioSystemOrder, + portfolioEngineOrder, + previousBaseAssetSizeFilled, + previousQuotedAssetSizeFilled, + previousBaseAssetFeesPaid, + previousQuotedAssetFeesPaid + ) + } + + async function doTheAccounting( + portfolioEngineStage, + portfolioSystemOrder, + portfolioEngineOrder, + previousBaseAssetSizeFilled, + previousQuotedAssetSizeFilled, + previousBaseAssetFeesPaid, + previousQuotedAssetFeesPaid + ) { + + await updateStageAssets() + await updateBalances() + + async function updateStageAssets() { + /* Stage Base Asset: Undo the previous accounting */ + portfolioEngineStage.stageBaseAsset.sizeFilled.value = + portfolioEngineStage.stageBaseAsset.sizeFilled.value - + previousBaseAssetSizeFilled + + portfolioEngineStage.stageBaseAsset.feesPaid.value = + portfolioEngineStage.stageBaseAsset.feesPaid.value - + previousBaseAssetFeesPaid + + /* Stage Base Asset: Account the current filling and fees */ + portfolioEngineStage.stageBaseAsset.sizeFilled.value = + portfolioEngineStage.stageBaseAsset.sizeFilled.value + + portfolioEngineOrder.orderBaseAsset.sizeFilled.value + + portfolioEngineStage.stageBaseAsset.feesPaid.value = + portfolioEngineStage.stageBaseAsset.feesPaid.value + + portfolioEngineOrder.orderBaseAsset.feesPaid.value + + /* Stage Quote Asset: Undo the previous accounting */ + portfolioEngineStage.stageQuotedAsset.sizeFilled.value = + portfolioEngineStage.stageQuotedAsset.sizeFilled.value - + previousQuotedAssetSizeFilled + + portfolioEngineStage.stageQuotedAsset.feesPaid.value = + portfolioEngineStage.stageQuotedAsset.feesPaid.value - + previousQuotedAssetFeesPaid + + /* Stage Quote Asset: Account the current filling and fees */ + portfolioEngineStage.stageQuotedAsset.sizeFilled.value = + portfolioEngineStage.stageQuotedAsset.sizeFilled.value + + portfolioEngineOrder.orderQuotedAsset.sizeFilled.value + + portfolioEngineStage.stageQuotedAsset.feesPaid.value = + portfolioEngineStage.stageQuotedAsset.feesPaid.value + + portfolioEngineOrder.orderQuotedAsset.feesPaid.value + + portfolioEngineStage.stageBaseAsset.sizeFilled.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineStage.stageBaseAsset.sizeFilled.value, 10) + portfolioEngineStage.stageBaseAsset.feesPaid.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineStage.stageBaseAsset.feesPaid.value, 10) + + portfolioEngineStage.stageQuotedAsset.sizeFilled.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineStage.stageQuotedAsset.sizeFilled.value, 10) + portfolioEngineStage.stageQuotedAsset.feesPaid.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineStage.stageQuotedAsset.feesPaid.value, 10) + } + + async function updateBalances() { + /* Balances Update */ + switch (true) { + /* + For Sell orders, the fees are being paid in Quote Asset. + */ + case portfolioSystemOrder.type === 'Market Sell Order' || portfolioSystemOrder.type === 'Limit Sell Order': { + + /* Balance Base Asset: Undo the previous accounting */ + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value + + previousBaseAssetSizeFilled + + /* Balance Base Asset: Account the current filling and fees */ + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value - + portfolioEngineOrder.orderBaseAsset.sizeFilled.value + + /* Balance Quoted Asset: Undo the previous accounting */ + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value - + previousQuotedAssetSizeFilled + + previousQuotedAssetFeesPaid + + /* Balance Quoted Asset: Account the current filling and fees */ + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value + + portfolioEngineOrder.orderQuotedAsset.sizeFilled.value - + portfolioEngineOrder.orderQuotedAsset.feesPaid.value + break + } + /* + Let's remember that for Buy orders, the fees are paid in Base Asset. + */ + case portfolioSystemOrder.type === 'Market Buy Order' || portfolioSystemOrder.type === 'Limit Buy Order': { + + /* Balance Base Asset: Undo the previous accounting */ + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value - + previousBaseAssetSizeFilled + + previousBaseAssetFeesPaid + + /* Balance Base Asset: Account the current filling and fees */ + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value + + portfolioEngineOrder.orderBaseAsset.sizeFilled.value - + portfolioEngineOrder.orderBaseAsset.feesPaid.value + + /* Balance Quoted Asset: Undo the previous accounting */ + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value + + previousQuotedAssetSizeFilled + + /* Balance Quoted Asset: Account the current filling and fees */ + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value - + portfolioEngineOrder.orderQuotedAsset.sizeFilled.value + break + } + } + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value, 10) + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value, 10) + } + } + + function simulateCancelOrder(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, exitType) { + + /* Filter by Session Type */ + switch (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type) { + case 'Backtesting Session': { + break + } + case 'Live Portfolio Session': { + return + } + case 'Fordward Testing Session': { + return + } + case 'Paper Portfolio Session': { + break + } + } + + /* Close this Order */ + portfolioEngineOrder.status.value = 'Closed' + portfolioEngineOrder.exitType.value = exitType + + /* Initialize this */ + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.closeOrder.value = 1 + + updateEndsWithCycle(portfolioEngineOrder) + + let message = "Order Closed" + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Info - ' + message, + placeholder: {} + } + contextInfo = { + exitType: portfolioEngineOrder.exitType.value + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addInfo([portfolioSystemOrder.id, message, docs]) + + recalculateStageSize(portfolioEngineStage, portfolioEngineOrder) + } + + async function exchangeCancelOrder(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, exitType) { + + /* Filter by Session Type */ + switch (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type) { + case 'Backtesting Session': { + return + } + case 'Live Portfolio Session': { + break + } + case 'Fordward Testing Session': { + break + } + case 'Paper Portfolio Session': { + return + } + } + + /* Check if we can cancel the order at the Exchange. */ + let result = await exchangeAPIModuleObject.cancelOrder(portfolioSystemOrder, portfolioEngineOrder) + if (result === true) { + + /* At this point we know which is the exit type for this order */ + portfolioEngineOrder.exitType.value = exitType + + /* + Perhaps the order was filled a bit more between the last time we checked and when it was cancelled. + To sync our accounting, we need to check the order one last time and if it changed, fix it. + */ + + let order = await exchangeAPIModuleObject.getOrder(portfolioSystemOrder, portfolioEngineOrder) + + if (order === undefined) { + + const message = 'Order Status Not Sync With Exchange' + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Warning - ' + message, + placeholder: {} + } + + portfolioSystem.addWarning( + [ + [portfolioSystemOrder.id, portfolioEngineOrder.id], + message, + docs + ] + ) + return false + } + if (order.status === 'NotFound') { + /* + Some exchanges, like Coinbase Pro, deletes orders after being cancelled, and when we request information + about them, it returns null. We will interprate this as ORDER NOT FOUND. + */ + const message = 'Order Not Found at the Exchange' + let docs = { + project: 'Superalgos', + category: 'Topic', + type: 'TS LF Portfolio Bot Warning - ' + message, + placeholder: {} + } + + portfolioSystem.addWarning( + [ + [portfolioSystemOrder.id, portfolioEngineOrder.id], + message, + docs + ] + ) + /* + We must be carefull here not to overide an already defined exitType. It can happen + for instance that the order was cancellerd from the but veryfing the cancellation + was not possible because of a connection to the exchange problem. In that case + the exit type was defined but the order was kept open until the verification could be done. + */ + if (portfolioEngineOrder.exitType.value === portfolioEngineOrder.exitType.config.initialValue) { + portfolioEngineOrder.exitType.value = 'Not Found at the Exchange' + } + } + + /* + Close this Order. Note that we are not closing the order until we have the exchange + response with the order details that we can use to syncronize with our accoounting. + Otherwise if the connection to the exchange fails, we would have a closed order not + accounted in any way. + */ + portfolioEngineOrder.status.value = 'Closed' + + /* Initialize this */ + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.closeOrder.value = 1 + + await updateEndsWithCycle(portfolioEngineOrder) + + let message = "Order Closed" + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Info - ' + message, + placeholder: {} + } + contextInfo = { + exitType: portfolioEngineOrder.exitType.value + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addInfo([portfolioSystemOrder.id, message, docs]) + + await syncWithExchange(portfolioEngineStage, portfolioSystemOrder, portfolioEngineOrder, order) + + await recalculateStageSize(portfolioEngineStage, portfolioEngineOrder) + } + } + + async function recalculateStageSize(portfolioEngineStage, portfolioEngineOrder) { + /* + Since the order is Cancelled, we need to adjust the stage sizePlaced. Remember that the Stage + Size Placed accumulates for each asset, the order size placed at the exchange. A cancelation means that + only the part filled can be considered placed, so we need to substract from the stage size + the remainder. To achieve this with the information we currently have, we are going first + to unaccount the order actual size, and the account only the sizeFilled + the feesPaid. + */ + portfolioEngineStage.stageBaseAsset.sizePlaced.value = + portfolioEngineStage.stageBaseAsset.sizePlaced.value - + portfolioEngineOrder.orderBaseAsset.actualSize.value + + portfolioEngineStage.stageQuotedAsset.sizePlaced.value = + portfolioEngineStage.stageQuotedAsset.sizePlaced.value - + portfolioEngineOrder.orderQuotedAsset.actualSize.value + + portfolioEngineStage.stageBaseAsset.sizePlaced.value = + portfolioEngineStage.stageBaseAsset.sizePlaced.value + + portfolioEngineOrder.orderBaseAsset.sizeFilled.value + + portfolioEngineStage.stageQuotedAsset.sizePlaced.value = + portfolioEngineStage.stageQuotedAsset.sizePlaced.value + + portfolioEngineOrder.orderQuotedAsset.sizeFilled.value + + portfolioEngineStage.stageBaseAsset.sizePlaced.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineStage.stageBaseAsset.sizePlaced.value, 10) + portfolioEngineStage.stageQuotedAsset.sizePlaced.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineStage.stageQuotedAsset.sizePlaced.value, 10) + } + + async function applyFeePercentage(feesNodePropertyName, portfolioEngineOrder, portfolioSystemOrder, feePercentage, percentageFilled) { + /* + The exchange fees are taken from the Base Asset or the Quoted Asset depending if we + are buying or selling. + */ + let feesNode + + switch (true) { + case portfolioSystemOrder.type === 'Market Buy Order' || portfolioSystemOrder.type === 'Limit Buy Order': { + /* + In this case the fees are taken from the Base Asset you receive as a result of the trade at the exchange. + */ + feesNode = portfolioEngineOrder.orderBaseAsset[feesNodePropertyName] + feesNode.value = + portfolioEngineOrder.orderBaseAsset.actualSize.value * + feePercentage / 100 * + percentageFilled / 100 + break + } + case portfolioSystemOrder.type === 'Market Sell Order' || portfolioSystemOrder.type === 'Limit Sell Order': { + /* + In this case the fees are taken from the Quoted Asset you receive as a result of the trade at the exchange. + */ + feesNode = portfolioEngineOrder.orderQuotedAsset[feesNodePropertyName] + feesNode.value = + portfolioEngineOrder.orderQuotedAsset.actualSize.value * + feePercentage / 100 * + percentageFilled / 100 + break + } + } + + feesNode.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(feesNode.value, 10) + feesNode.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(feesNode.value, 10) + } + + async function checkOrderEvent(event, order, executionAlgorithm, executionNode) { + if (event !== undefined) { + for (let k = 0; k < event.situations.length; k++) { + let situation = event.situations[k] + let passed + if (situation.conditions.length > 0) { + passed = true + } + + passed = portfolioSystem.checkConditions(situation, passed) + + portfolioSystem.values.push([situation.id, passed]) + if (passed) { + portfolioSystem.highlights.push(situation.id) + portfolioSystem.highlights.push(event.id) + portfolioSystem.highlights.push(order.id) + portfolioSystem.highlights.push(executionAlgorithm.id) + portfolioSystem.highlights.push(executionNode.id) + + announcementsModuleObject.makeAnnouncements(event) + return situation.name // if the event is triggered, we return the name of the situation that passed + } + } + } + } + + function updateEnds(portfolioEngineOrder) { + if (portfolioEngineOrder.status.value === 'Open') { + portfolioEngineOrder.end.value = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.end.value + } + } + + async function updateEndsWithCycle(portfolioEngineOrder) { + portfolioEngineOrder.end.value = portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.end.value + } + + function updateCounters(portfolioEngineOrder) { + if (portfolioEngineOrder.status.value === 'Open') { + portfolioEngineOrder.orderCounters.periods.value++ + } + } + + function updateStatistics(portfolioEngineOrder) { + portfolioEngineOrder.orderStatistics.days.value = portfolioEngineOrder.orderCounters.periods.value * sessionParameters.timeFrame.config.value / SA.projects.foundations.globals.timeConstants.ONE_DAY_IN_MILISECONDS + portfolioEngineOrder.orderStatistics.days.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngineOrder.orderStatistics.days.value, 10) + } + + function resetPortfolioEngineDataStructure(portfolioEngineOrder, portfolioSystemOrder, stageStatus) { + if (portfolioEngineOrder.status.value === 'Closed') { + /* We reset the order data structure inside the Portfolio Engine to its initial value */ + TS.projects.foundations.globals.processModuleObjects.MODULE_OBJECTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_MODULE_OBJECT.initializeNode(portfolioEngineOrder) + if (portfolioSystemOrder.config.spawnMultipleOrders !== true) { + /* + We close the lock so as to prevent this data structure to be used again during this same stage execution. + */ + if (stageStatus === 'Open') { + portfolioEngineOrder.lock.value = 'Closed' + } + } + } + } + + function badDefinitionUnhandledException(err, message, node) { + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - ' + message, + placeholder: {} + } + + portfolioSystem.addError([node.id, message, docs]) + + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] -> " + message); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] -> node.name = " + node.name); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] -> node.type = " + node.type); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] -> node.config = " + JSON.stringify(node.config)); + if (err !== undefined) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] -> err.stack = " + err.stack); + } + /* + Now we are going to abort this execution and jump to the latest error handler + signaling that we already recorded the error to avoid duplicates. + */ + throw 'Error Already Recorded' + } +} diff --git a/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioOutput.js b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioOutput.js new file mode 100644 index 000000000..b07776c55 --- /dev/null +++ b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioOutput.js @@ -0,0 +1,77 @@ +exports.newPortfolioManagementBotModulesPortfolioOutput = function (processIndex) { + /* + This module will load if necesary all the data outputs so that they can be appended with new + records if needed. After running the simulation, it will save all the data outputs. + */ + const MODULE_NAME = 'Portfolio Output' + + let thisObject = { + start: start + } + + return thisObject + + async function start( + chart, + market, + exchange, + timeFrame, + timeFrameLabel, + portfolioProcessDate + ) { + try { + let fileStorage = TS.projects.foundations.taskModules.fileStorage.newFileStorage(processIndex) + + if (timeFrame > TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray()[0][0]) { + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_PROCESSING_DAILY_FILES = false + } else { + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_PROCESSING_DAILY_FILES = true + } + + /* Preparing everything for the Simulation */ + let portfolioSimulationModuleObject = TS.projects.portfolioManagement.botModules.portfolioSimulation.newPortfolioManagementBotModulesPortfolioSimulation(processIndex) + + let outputDatasets = TS.projects.visualScripting.utilities.nodeFunctions.nodeBranchToArray(TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processOutput, 'Output Dataset') + let outputDatasetsMap = new Map() + + await TS.projects.foundations.functionLibraries.outputManagementFunctions.readFiles( + processIndex, + outputDatasets, + outputDatasetsMap, + timeFrameLabel, + portfolioProcessDate, + fileStorage, + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioEngine.portfolioCurrent.portfolioEpisode.headOfTheMarket.value + ) + + await portfolioSimulationModuleObject.runSimulation( + chart, + market, + exchange, + outputDatasetsMap, + writeOutputFiles + ) + + portfolioSimulationModuleObject.finalize() + return + + function writeOutputFiles() { + TS.projects.foundations.functionLibraries.outputManagementFunctions.writeFiles( + processIndex, + outputDatasets, + outputDatasetsMap, + timeFrameLabel, + portfolioProcessDate, + fileStorage + ) + } + + } catch (err) { + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR = err + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[ERROR] start -> err = ' + err.stack) + throw (TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE) + } + } +} + diff --git a/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioPosition.js b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioPosition.js new file mode 100644 index 000000000..c5ec48817 --- /dev/null +++ b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioPosition.js @@ -0,0 +1,534 @@ +exports.newPortfolioManagementBotModulesPortfolioPosition = function (processIndex) { + /* + This module packages all functions related to Positions. + */ + const MODULE_NAME = 'Portfolio Position' + let thisObject = { + mantain: mantain, + reset: reset, + cycleBasedStatistics: cycleBasedStatistics, + openPosition: openPosition, + closingPosition: closingPosition, + closePosition: closePosition, + applyStopLossFormula: applyStopLossFormula, + applyTakeProfitFormula: applyTakeProfitFormula, + updateStopLoss: updateStopLoss, + updateTakeProfit: updateTakeProfit, + initialTargets: initialTargets, + updateEnds: updateEnds, + resetPortfolioEngineDataStructure: resetPortfolioEngineDataStructure, + updateCounters: updateCounters, + initialize: initialize, + finalize: finalize + } + + let portfolioEngine + let portfolioSystem + let sessionParameters + + return thisObject + + function initialize() { + portfolioSystem = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioSystem + portfolioEngine = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioEngine + sessionParameters = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters + } + + function finalize() { + portfolioEngine = undefined + portfolioSystem = undefined + sessionParameters = undefined + } + + function mantain() { + updateCounters() + updateEnds() + } + + function reset() { + resetPortfolioEngineDataStructure() + } + + function openPosition(situationName) { + + /* Starting begin and end */ + portfolioEngine.portfolioCurrent.position.begin.value = portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.lastBegin.value + portfolioEngine.portfolioCurrent.position.end.value = portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.lastEnd.value + + /* Recording the opening at the Portfolio Engine Data Structure */ + portfolioEngine.portfolioCurrent.position.status.value = 'Open' + portfolioEngine.portfolioCurrent.position.serialNumber.value = portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeCounters.positions.value + 1 + portfolioEngine.portfolioCurrent.position.identifier.value = SA.projects.foundations.utilities.miscellaneousFunctions.genereteUniqueId() + portfolioEngine.portfolioCurrent.position.beginRate.value = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value + portfolioEngine.portfolioCurrent.position.positionBaseAsset.beginBalance.value = portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value + portfolioEngine.portfolioCurrent.position.positionQuotedAsset.beginBalance.value = portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value + portfolioEngine.portfolioCurrent.position.situationName.value = situationName + + /* Initializing Stop and Take Phase */ + portfolioEngine.portfolioCurrent.position.stopLoss.stopLossPhase.value = 1 + portfolioEngine.portfolioCurrent.position.takeProfit.takeProfitPhase.value = 1 + + /* Updating Episode Counters */ + portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeCounters.positions.value++ + + /* Inicializing this counter */ + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.takePosition.value = 1 + + /* Remember the balance we had before taking the position to later calculate profit or loss */ + portfolioEngine.portfolioCurrent.position.positionBaseAsset.beginBalance = portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value + portfolioEngine.portfolioCurrent.position.positionQuotedAsset.beginBalance = portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value + } + + function closingPosition(exitType) { + portfolioEngine.portfolioCurrent.position.status.value = 'Closing' + portfolioEngine.portfolioCurrent.position.exitType.value = exitType + + /* + By the time we figured out that the stop loss or take profit were hit, or + for whatever reason the position needs to be closed, the take profit and + stop loss values for the next candle have already been calculated. In order + to avoid being plotted, we will put them in zero. + */ + portfolioEngine.portfolioCurrent.position.stopLoss.value = 0 + portfolioEngine.portfolioCurrent.position.takeProfit.value = 0 + } + + function closePosition() { + portfolioEngine.portfolioCurrent.position.status.value = 'Closed' + portfolioEngine.portfolioCurrent.position.end.value = portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.lastEnd.value + portfolioEngine.portfolioCurrent.position.endRate.value = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value + portfolioEngine.portfolioCurrent.position.positionBaseAsset.endBalance.value = portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value + portfolioEngine.portfolioCurrent.position.positionQuotedAsset.endBalance.value = portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value + + /* + Now that the position is closed, it is the right time to move this position from current to last at the Portfolio Engine data structure. + */ + TS.projects.foundations.globals.processModuleObjects.MODULE_OBJECTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_MODULE_OBJECT.cloneValues(portfolioEngine.portfolioCurrent.position, portfolioEngine.portfolioLast.position) + + cycleBasedStatistics() + + /* Updating Hits & Fails */ + if (portfolioEngine.portfolioCurrent.position.positionBaseAsset.profitLoss.value > 0) { + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.hits.value++ + } + if (portfolioEngine.portfolioCurrent.position.positionBaseAsset.profitLoss.value < 0) { + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.fails.value++ + } + if (portfolioEngine.portfolioCurrent.position.positionQuotedAsset.profitLoss.value > 0) { + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.hits.value++ + } + if (portfolioEngine.portfolioCurrent.position.positionQuotedAsset.profitLoss.value < 0) { + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.fails.value++ + } + } + + function applyStopLossFormula(formulas, formulaId) { + updateStopLossTakeProfitFinalValue(portfolioEngine.portfolioCurrent.position.stopLoss) + portfolioEngine.portfolioCurrent.position.stopLoss.value = formulas.get(formulaId) + updateStopLossTakeProfitInitialValue(portfolioEngine.portfolioCurrent.position.stopLoss) + updateStopLossTakeProfitBeginEnd(portfolioEngine.portfolioCurrent.position.stopLoss) + } + + function applyTakeProfitFormula(formulas, formulaId) { + updateStopLossTakeProfitFinalValue(portfolioEngine.portfolioCurrent.position.takeProfit) + portfolioEngine.portfolioCurrent.position.takeProfit.value = formulas.get(formulaId) + updateStopLossTakeProfitInitialValue(portfolioEngine.portfolioCurrent.position.takeProfit) + updateStopLossTakeProfitBeginEnd(portfolioEngine.portfolioCurrent.position.takeProfit) + } + + function updateStopLossTakeProfitInitialValue(node) { + /* + We store the first Stop Loss or Take Profit value in a separate node. + To know if it is the first one we compare its current value to the initial value. + */ + if (node.initialValue.value === node.initialValue.config.initialValue) { + node.initialValue.value = node.value + } + } + + function updateStopLossTakeProfitFinalValue(node) { + /* + We set the final value just before calculating the new value, since the new calculated + value is going to be discarded if the position is closed after it is calculated, but + during the same candle. + */ + node.finalValue.value = node.value + } + + function updateStopLossTakeProfitBeginEnd(node) { + /* + Both the Stop Loss and the Take Profit have their own Begin and End. + The reason for this is because they represent targets to be checked + at the next candle, so it does not apply that they share the begin and + end of the position itself. + */ + node.begin.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.candle.begin.value + + sessionParameters.timeFrame.config.value + node.end.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.candle.end.value + + sessionParameters.timeFrame.config.value + } + + function updateStopLoss(phase) { + portfolioEngine.portfolioCurrent.position.stopLoss.stopLossPhase.value = phase + } + + function updateTakeProfit(phase) { + portfolioEngine.portfolioCurrent.position.takeProfit.takeProfitPhase.value = phase + } + + function initialTargets(portfolioSystemStageNode, portfolioEngineStageNode, stageName) { + + if (portfolioSystemStageNode.initialTargets === undefined) { + const message = 'Initial Targets Node Missing' + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - ' + message, + placeholder: {} + } + + badDefinitionUnhandledException(undefined, message, portfolioSystemStageNode, docs) + } + + setTargetRate() + return setTargetSize(stageName) + + function setTargetRate() { + if (portfolioSystemStageNode.initialTargets.targetRate === undefined) { + const message = 'Target Rate Node Missing' + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - ' + message, + placeholder: {} + } + + badDefinitionUnhandledException(undefined, message, portfolioSystemStageNode.initialTargets, docs) + } + if (portfolioSystemStageNode.initialTargets.targetRate.formula === undefined) { + const message = 'Formula Node Missing' + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - ' + message, + placeholder: {} + } + + badDefinitionUnhandledException(undefined, message, portfolioSystemStageNode.initialTargets.targetRate, docs) + } + + let value = portfolioSystem.formulas.get(portfolioSystemStageNode.initialTargets.targetRate.formula.id) + if (value === undefined) { + const message = 'Target Rate Node Value Undefined' + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - ' + message, + placeholder: {} + } + + badDefinitionUnhandledException(undefined, message, portfolioSystemStageNode.initialTargets.targetRate, docs) + } + if (isNaN(value)) { + const message = 'Target Rate Node Value Not A Number' + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - ' + message, + placeholder: {} + } + + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, value, undefined) + + badDefinitionUnhandledException(undefined, message, portfolioSystemStageNode.initialTargets.targetRate, docs) + } + + switch (portfolioSystemStageNode.type) { + case 'Open Stage': { + portfolioEngine.portfolioCurrent.position.entryTargetRate.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(value, 10) + break + } + case 'Close Stage': { + portfolioEngine.portfolioCurrent.position.exitTargetRate.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(value, 10) + break + } + } + } + + function setTargetSize(stageName) { + /* Basic Validation */ + if ( + portfolioSystemStageNode.initialTargets.targetSizeInBaseAsset !== undefined && + portfolioSystemStageNode.initialTargets.targetSizeInQuotedAsset !== undefined + ) { + // 'Only Target Size In Base Asset or Target Size In Quoted Asset is allowed.' + const message = 'Only One Target Size Allowed' + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - ' + message, + placeholder: {} + } + + badDefinitionUnhandledException(undefined, message, portfolioSystemStageNode.initialTargets, docs) + } + + /* Position In Base Asset */ + if (portfolioSystemStageNode.initialTargets.targetSizeInBaseAsset !== undefined) { + if (portfolioSystemStageNode.initialTargets.targetSizeInBaseAsset.formula !== undefined) { + let value = portfolioSystem.formulas.get(portfolioSystemStageNode.initialTargets.targetSizeInBaseAsset.formula.id) + if (value === undefined) { + const message = 'Target Size Value Undefined' + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - ' + message, + placeholder: {} + } + + badDefinitionUnhandledException(undefined, message, portfolioSystemStageNode.initialTargets.targetSizeInBaseAsset, docs) + } + if (value === 0) { + if (stageName === 'Close Stage') { + return false; + } + const message = 'Target Size Value Zero' + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - ' + message, + placeholder: {} + } + + badDefinitionUnhandledException(undefined, message, portfolioSystemStageNode.initialTargets.targetSizeInBaseAsset, docs) + } + + switch (portfolioSystemStageNode.type) { + case 'Open Stage': { + portfolioEngine.portfolioCurrent.position.positionBaseAsset.entryTargetSize.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(value, 10) + portfolioEngine.portfolioCurrent.position.positionQuotedAsset.entryTargetSize.value = + TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(value * portfolioEngine.portfolioCurrent.position.entryTargetRate.value, 10) + break + } + case 'Close Stage': { + portfolioEngine.portfolioCurrent.position.positionBaseAsset.exitTargetSize.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(value, 10) + portfolioEngine.portfolioCurrent.position.positionQuotedAsset.exitTargetSize.value = + TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(value * portfolioEngine.portfolioCurrent.position.exitTargetRate.value, 10) + break + } + } + + /* Remember how the end user defined this stage. */ + portfolioEngineStageNode.stageDefinedIn.value = 'Base Asset' + } else { + const message = 'Formula Node Missing' + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - ' + message, + placeholder: {} + } + + badDefinitionUnhandledException(undefined, message, portfolioSystemStageNode.initialTargets.targetSizeInBaseAsset, docs) + } + } + + /* Position In Quoted Asset */ + if (portfolioSystemStageNode.initialTargets.targetSizeInQuotedAsset !== undefined) { + if (portfolioSystemStageNode.initialTargets.targetSizeInQuotedAsset.formula !== undefined) { + let value = portfolioSystem.formulas.get(portfolioSystemStageNode.initialTargets.targetSizeInQuotedAsset.formula.id) + if (value === undefined) { + const message = 'Target Size Value Undefined' + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - ' + message, + placeholder: {} + } + + badDefinitionUnhandledException(undefined, message, portfolioSystemStageNode.initialTargets.targetSizeInQuotedAsset, docs) + } + if (value === 0) { + const message = 'Target Size Value Zero' + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - ' + message, + placeholder: {} + } + + badDefinitionUnhandledException(undefined, message, portfolioSystemStageNode.initialTargets.targetSizeInQuotedAsset, docs) + } + switch (portfolioSystemStageNode.type) { + case 'Open Stage': { + portfolioEngine.portfolioCurrent.position.positionQuotedAsset.entryTargetSize.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(value, 10) + portfolioEngine.portfolioCurrent.position.positionBaseAsset.entryTargetSize.value = + TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(value / portfolioEngine.portfolioCurrent.position.entryTargetRate.value, 10) + break + } + case 'Close Stage': { + portfolioEngine.portfolioCurrent.position.positionQuotedAsset.exitTargetSize.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(value, 10) + portfolioEngine.portfolioCurrent.position.positionBaseAsset.exitTargetSize.value = + TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(value / portfolioEngine.portfolioCurrent.position.exitTargetRate.value, 10) + break + } + } + + /* Remember how the end user defined this stage. */ + portfolioEngineStageNode.stageDefinedIn.value = 'Quoted Asset' + } else { + const message = 'Formula Node Missing' + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - ' + message, + placeholder: {} + } + + badDefinitionUnhandledException(undefined, message, portfolioSystemStageNode.initialTargets.targetSizeInQuotedAsset, docs) + } + } + } + } + + function updateEnds() { + if (portfolioEngine.portfolioCurrent.position.status.value === 'Open') { + portfolioEngine.portfolioCurrent.position.end.value = portfolioEngine.portfolioCurrent.position.end.value + sessionParameters.timeFrame.config.value + portfolioEngine.portfolioCurrent.position.endRate.value = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value + portfolioEngine.portfolioCurrent.position.positionBaseAsset.endBalance.value = portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value + portfolioEngine.portfolioCurrent.position.positionQuotedAsset.endBalance.value = portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value + } + } + + function resetPortfolioEngineDataStructure() { + if (portfolioEngine.portfolioCurrent.position.status.value === 'Closed') { + TS.projects.foundations.globals.processModuleObjects.MODULE_OBJECTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_MODULE_OBJECT.initializeNode(portfolioEngine.portfolioCurrent.position) + } + } + + function updateCounters() { + if (portfolioEngine.portfolioCurrent.position.status.value === 'Open') { + portfolioEngine.portfolioCurrent.position.positionCounters.periods.value++ + } + } + + function cycleBasedStatistics() { + + calculateAssetsStatistics() + calculatePositionStatistics() + + function calculateAssetsStatistics() { + /* Profit Loss Calculation */ + portfolioEngine.portfolioCurrent.position.positionBaseAsset.profitLoss.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value - + portfolioEngine.portfolioCurrent.position.positionBaseAsset.beginBalance + + portfolioEngine.portfolioCurrent.position.positionQuotedAsset.profitLoss.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value - + portfolioEngine.portfolioCurrent.position.positionQuotedAsset.beginBalance + + portfolioEngine.portfolioCurrent.position.positionBaseAsset.profitLoss.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngine.portfolioCurrent.position.positionBaseAsset.profitLoss.value, 10) + portfolioEngine.portfolioCurrent.position.positionQuotedAsset.profitLoss.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngine.portfolioCurrent.position.positionQuotedAsset.profitLoss.value, 10) + + /* ROI Calculation */ + portfolioEngine.portfolioCurrent.position.positionBaseAsset.ROI.value = + portfolioEngine.portfolioCurrent.position.positionBaseAsset.profitLoss.value * 100 / + portfolioEngine.portfolioCurrent.strategyOpenStage.stageBaseAsset.targetSize.value + + portfolioEngine.portfolioCurrent.position.positionQuotedAsset.ROI.value = + portfolioEngine.portfolioCurrent.position.positionQuotedAsset.profitLoss.value * 100 / + portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.targetSize.value + + portfolioEngine.portfolioCurrent.position.positionBaseAsset.ROI.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngine.portfolioCurrent.position.positionBaseAsset.ROI.value, 10) + portfolioEngine.portfolioCurrent.position.positionQuotedAsset.ROI.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngine.portfolioCurrent.position.positionQuotedAsset.ROI.value, 10) + + /* Hit Fail Calculation */ + if (portfolioEngine.portfolioCurrent.position.positionBaseAsset.ROI.value > 0) { + portfolioEngine.portfolioCurrent.position.positionBaseAsset.hitFail.value = 'Hit' + } + if (portfolioEngine.portfolioCurrent.position.positionBaseAsset.ROI.value < 0) { + portfolioEngine.portfolioCurrent.position.positionBaseAsset.hitFail.value = 'Fail' + } + if (portfolioEngine.portfolioCurrent.position.positionBaseAsset.ROI.value === 0) { + portfolioEngine.portfolioCurrent.position.positionBaseAsset.hitFail.value = 'Even' + } + if (portfolioEngine.portfolioCurrent.position.positionQuotedAsset.ROI.value > 0) { + portfolioEngine.portfolioCurrent.position.positionQuotedAsset.hitFail.value = 'Hit' + } + if (portfolioEngine.portfolioCurrent.position.positionQuotedAsset.ROI.value < 0) { + portfolioEngine.portfolioCurrent.position.positionQuotedAsset.hitFail.value = 'Fail' + } + if (portfolioEngine.portfolioCurrent.position.positionQuotedAsset.ROI.value === 0) { + portfolioEngine.portfolioCurrent.position.positionQuotedAsset.hitFail.value = 'Even' + } + } + + function calculatePositionStatistics() { + /* Profit Loss Calculation */ + portfolioEngine.portfolioCurrent.position.positionStatistics.profitLoss.value = + ( + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.profitLoss.value * portfolioEngine.portfolioCurrent.position.endRate.value + + portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.profitLoss.value + ) + + portfolioEngine.portfolioCurrent.position.positionStatistics.profitLoss.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngine.portfolioCurrent.position.positionStatistics.profitLoss.value, 10) + + /* ROI Calculation */ + portfolioEngine.portfolioCurrent.position.positionStatistics.ROI.value = + ( + portfolioEngine.portfolioCurrent.position.positionStatistics.profitLoss.value + ) + * 100 / + ( + portfolioEngine.portfolioCurrent.position.positionBaseAsset.beginBalance * portfolioEngine.portfolioCurrent.position.beginRate.value + + portfolioEngine.portfolioCurrent.position.positionQuotedAsset.beginBalance + ) + portfolioEngine.portfolioCurrent.position.positionStatistics.ROI.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngine.portfolioCurrent.position.positionStatistics.ROI.value, 10) + + /* Hit Fail Calculation */ + if (portfolioEngine.portfolioCurrent.position.positionStatistics.ROI.value > 0) { + portfolioEngine.portfolioCurrent.position.positionStatistics.hitFail.value = 'Hit' + } + if (portfolioEngine.portfolioCurrent.position.positionStatistics.ROI.value < 0) { + portfolioEngine.portfolioCurrent.position.positionStatistics.hitFail.value = 'Fail' + } + if (portfolioEngine.portfolioCurrent.position.positionStatistics.ROI.value === 0) { + portfolioEngine.portfolioCurrent.position.positionStatistics.hitFail.value = 'Even' + } + + /* Days Calculation */ + portfolioEngine.portfolioCurrent.position.positionStatistics.days.value = + portfolioEngine.portfolioCurrent.position.positionCounters.periods.value * + sessionParameters.timeFrame.config.value / SA.projects.foundations.globals.timeConstants.ONE_DAY_IN_MILISECONDS + + portfolioEngine.portfolioCurrent.position.positionStatistics.days.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngine.portfolioCurrent.position.positionStatistics.days.value, 10) + } + } + + function badDefinitionUnhandledException(err, message, node, docs) { + portfolioSystem.addError([node.id, message, docs]) + + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] -> " + message); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] -> node.name = " + node.name); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] -> node.type = " + node.type); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] -> node.config = " + JSON.stringify(node.config)); + if (err !== undefined) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] -> err.stack = " + err.stack); + } + throw 'Error Already Recorded' + } +} \ No newline at end of file diff --git a/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioProcess.js b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioProcess.js new file mode 100644 index 000000000..11188ea40 --- /dev/null +++ b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioProcess.js @@ -0,0 +1,320 @@ +exports.newPortfolioManagementBotModulesPortfolioProcess = function (processIndex) { + /* + This Module will load all the process data dependencies from files and send them downstream. + After execution, will save the time range and status report of the process. + */ + const MODULE_NAME = "Portfolio Process" + + let thisObject = { + start: start + } + + return thisObject + + async function start(statusDependencies, dataDependenciesModule, callBackFunction) { + try { + + let dataFiles = new Map() + let multiTimeFrameDataFiles = new Map() + TS.projects.foundations.globals.processModuleObjects.MODULE_OBJECTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_MODULE_OBJECT = TS.projects.portfolioManagement.botModules.portfolioEngine.newPortfolioManagementBotModulesPortfolioEngine(processIndex) + let portfolioOutputModuleObject = TS.projects.portfolioManagement.botModules.portfolioOutput.newPortfolioManagementBotModulesPortfolioOutput(processIndex) + + let currentTimeFrame = {} + + /* Context Variables */ + let contextVariables = { + lastFile: undefined, // Datetime of the last file files successfully produced by this process. + dateBeginOfMarket: undefined, // Datetime of the first trade file in the whole market history. + dateEndOfMarket: undefined // Datetime of the last file available to be used as an input of this process. + } + + if ( + TS.projects.foundations.functionLibraries.processFilesFunctions.getContextVariables( + processIndex, + contextVariables, + statusDependencies, + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange.config.initialDatetime, + callBackFunction + ) !== true) { return } + + if (TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_FIRST_LOOP === true && TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_RESUMING === false) { + /* + Here is where the Portfolio Engine and Portfolio Systems received are moved to the simulation state. + */ + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioEngine = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_NODE + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioSystem = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_SYSTEM_NODE + } + + /* We set up the Portfolio Engine Module. */ + TS.projects.foundations.globals.processModuleObjects.MODULE_OBJECTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_MODULE_OBJECT.initialize() + + /* Initializing the Portfolio Process Date */ + if (TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_FIRST_LOOP === true && TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_RESUMING === false) { + /* + This function is going to be called many times by the Portfolio Bot Loop. + Only during the first execution and when the User is not resuming the execution + of a stopped session / task; we are going to initialize the Process Date Time. + This variable tell us which day we are standing at, specially while working + with Daily Files. From this Date is that we are going to load the Daily Files. + */ + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioEngine.portfolioCurrent.portfolioEpisode.processDate.value = + TS.projects.foundations.utilities.dateTimeFunctions.removeTime(TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange.config.initialDatetime).valueOf() + } + + /* + This is the Date that is going to be used across the execution of this Portfolio Process. + We need this because it has a different life cycle than the processData stored at the + Portfolio Engine data structure. This date has to remain the same during the whole execution + of the Portfolio Process until the end, inclusind the writing of Data Ranges and Status Reports. + The processDate of the Portfolio Engine data structure on the other hand can be changed during + the simulation loop, once we discover that all candles from a certain date have benn processed. + Here is the point where we sync one and the other. + */ + let portfolioProcessDate = TS.projects.foundations.utilities.dateTimeFunctions.removeTime(TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioEngine.portfolioCurrent.portfolioEpisode.processDate.value) + + if ( + await TS.projects.foundations.functionLibraries.dataDependenciesFunctions.processSingleFiles( + processIndex, + dataFiles, + multiTimeFrameDataFiles, + dataDependenciesModule + ) === false) { + TS.projects.foundations.functionLibraries.sessionFunctions.sessionHeartBeat(processIndex, undefined, undefined, 'Waiting for Data Mining to be run') + callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_RETRY_RESPONSE) + return + } + + if (await TS.projects.foundations.functionLibraries.dataDependenciesFunctions.processMarketFiles( + processIndex, + dataFiles, + multiTimeFrameDataFiles, + dataDependenciesModule, + currentTimeFrame, + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeFrame.config.label, + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange.config.initialDatetime, + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange.config.finalDatetime + ) === false) { + TS.projects.foundations.functionLibraries.sessionFunctions.sessionHeartBeat(processIndex, undefined, undefined, 'Waiting for Data Mining to be run') + callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_RETRY_RESPONSE) + return + } + /* + These are the Data Structures used by end users at Conditions Code or Formulas. + */ + let chart = {} + let market = {} + let exchange = {} + /* + Here we check if we need to get Daily Files or not. As an optimization, when + we are running on a Time Frame of 1hs or above, we are not going to load + dependencies on Daily Files. The way we recognize that is by checking if + we alreaady set a value to currentTimeFrame.value. We are also not going to loop + through days if we are processing market files. + */ + if (currentTimeFrame.value) { + /* We are processing Market Files */ + /* + With all the indicators data files loaded, we will build the chart object + data structure that will be used in user-defied conditions and formulas. + */ + TS.projects.foundations.functionLibraries.sessionFunctions.sessionHeartBeat(processIndex, undefined, undefined, 'Waking up') + TS.projects.foundations.functionLibraries.dataDependenciesFunctions.buildDataStructures( + processIndex, + dataDependenciesModule, + multiTimeFrameDataFiles, + currentTimeFrame, + chart, + market, + exchange, + callBackFunction + ) + + if (checkThereAreCandles() === true) { + TS.projects.foundations.functionLibraries.sessionFunctions.sessionHeartBeat(processIndex, undefined, undefined, 'Running') + await outputManagement() + TS.projects.foundations.functionLibraries.sessionFunctions.sessionHeartBeat(processIndex, undefined, undefined, 'Saving') + await TS.projects.foundations.functionLibraries.processFilesFunctions.writeProcessFiles(processIndex, contextVariables, currentTimeFrame, portfolioProcessDate, statusDependencies) + TS.projects.foundations.functionLibraries.sessionFunctions.sessionHeartBeat(processIndex, undefined, undefined, 'Sleeping') + } else { + TS.projects.foundations.functionLibraries.sessionFunctions.sessionHeartBeat(processIndex, undefined, undefined, 'Waiting for Data Mining to be up to date. No candles found.') + callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_RETRY_RESPONSE) + return + } + + } else { + /* We are processing Daily Files */ + do { + TS.projects.foundations.functionLibraries.sessionFunctions.emitSessionStatus(TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_STATUS, TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_KEY) + /* + We update the Portfolio Process Date with the date calculated at the simulation. + We will use this date to load indicator and output files. After that we will + use it to save Output Files and later the Data Ranges. This is the point where + the date calculated by the Simulation is applied at the Portfolio Process Level. + */ + portfolioProcessDate = TS.projects.foundations.utilities.dateTimeFunctions.removeTime(TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioEngine.portfolioCurrent.portfolioEpisode.processDate.value) + + if (checkStopTaskGracefully() === false) { break } + if (checkStopProcessing() === false) { break } + + TS.projects.foundations.functionLibraries.sessionFunctions.sessionHeartBeat(processIndex, undefined, undefined, 'Waking up') + if ( + await TS.projects.foundations.functionLibraries.dataDependenciesFunctions.processDailyFiles( + processIndex, + dataFiles, + multiTimeFrameDataFiles, + dataDependenciesModule, + currentTimeFrame, + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeFrame.config.label, + portfolioProcessDate + ) === false) { + TS.projects.foundations.functionLibraries.sessionFunctions.sessionHeartBeat(processIndex, undefined, undefined, 'Waiting for Data Mining to be run') + callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_RETRY_RESPONSE) + return + } + /* + With all the indicators data files loaded, we will build the chart object + data structure that will be used in user-defied conditions and formulas. + */ + TS.projects.foundations.functionLibraries.dataDependenciesFunctions.buildDataStructures( + processIndex, + dataDependenciesModule, + multiTimeFrameDataFiles, + currentTimeFrame, + chart, + market, + exchange, + callBackFunction + ) + /* + The process of generating the output includes the portfolio simulation. + */ + if (checkThereAreCandles() === true) { + TS.projects.foundations.functionLibraries.sessionFunctions.sessionHeartBeat(processIndex, undefined, undefined, 'Running') + await outputManagement() + TS.projects.foundations.functionLibraries.sessionFunctions.sessionHeartBeat(processIndex, undefined, undefined, 'Saving') + await TS.projects.foundations.functionLibraries.processFilesFunctions.writeProcessFiles(processIndex, contextVariables, currentTimeFrame, portfolioProcessDate, statusDependencies) + TS.projects.foundations.functionLibraries.sessionFunctions.sessionHeartBeat(processIndex, undefined, undefined, 'Sleeping') + } else { + TS.projects.foundations.functionLibraries.sessionFunctions.sessionHeartBeat(processIndex, undefined, undefined, 'Waiting for Data Mining to be up to date') + callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_RETRY_RESPONSE) + return + } + /* + If for any reason the session was stopped, we will break this loop and exit the process. + */ + if (TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_STOPPING === true) { break } + /* + When we get to the end of the market, we need to break this process loop in order + to let time pass, new information be collected from the exchange, new data built + into indicators, and eventually a new execution of this process. + */ + if (checkStopHeadOfTheMarket() === false) { break } + + } + while (true) + } + + checkIfSessionMustStop() + /* + Everything worked as expected. We return an OK code and wait for + the Bot Loop to call us again later. + */ + callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE) + + function checkThereAreCandles() { + let sessionParameters = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters + let propertyName = 'at' + sessionParameters.timeFrame.config.label.replace('-', '') + let candles = chart[propertyName].candles + + if (candles === undefined || candles.length === 0) { + return false + } else { + return true + } + } + + function checkStopHeadOfTheMarket() { + /* + We need to check if we have reached the head of the market in order to know + when to break the Daily Files Process loop and give time for a new candles / + indicators to be built and continue the processing once this process is called + again. + */ + if (TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioEngine.portfolioCurrent.portfolioEpisode.headOfTheMarket.value === true) { + return false + } + } + + function checkStopTaskGracefully() { + /* Validation that we dont need to stop. */ + if (TS.projects.foundations.globals.taskVariables.IS_TASK_STOPPING === true) { + return false + } + } + + function checkStopProcessing() { + /* Validation that we dont need to stop. */ + if (TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_STOPPING === true) { + return false + } + } + + async function outputManagement() { + await portfolioOutputModuleObject.start( + chart, + market, + exchange, + currentTimeFrame.value, + currentTimeFrame.label, + portfolioProcessDate + ) + + /* + From here on, all other loops executions wont be the first execution and also + we will consider that it is not resuming a previous execution as well. + */ + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_FIRST_LOOP = false + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_RESUMING = false + } + + function checkIfSessionMustStop() { + + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type === 'Backtesting Session') { + /* + Backtests needs only one execution of this process to complete. + */ + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[IMPORTANT] checkIfSessionMustStop -> Backtesting Session Finished. Stopping the Session now. ') + TS.projects.foundations.functionLibraries.sessionFunctions.stopSession(processIndex, 'Backtesting Session Finished.') + } + } + } + catch (err) { + /* An unhandled exception occured. in this case we return Fail and log the stack. */ + if (err.stack) { + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR = err + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] start -> Unhandled Exception. Will Abort this process. err = " + err.stack) + callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE) + return + } + + /* Some expected file was not found. We will return a RETRY code and move on. */ + if ((err.result === "Fail Because" && err.message === "File does not exist.") || err.code === 'The specified key does not exist.') { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] File not Found. Will Retry the Process Loop.") + callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_RETRY_RESPONSE) + return + } + + /* Some other handled exception occured. We return Fail and move on. */ + if (err.result !== TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE.result) { + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR = err + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] start -> Handled Exception. Will Abort this process. err = " + err.message) + callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE) + return + } + } + } +} diff --git a/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioRecords.js b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioRecords.js new file mode 100644 index 000000000..27eec55bd --- /dev/null +++ b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioRecords.js @@ -0,0 +1,414 @@ +exports.newPortfolioManagementBotModulesPortfolioRecords = function (processIndex) { + /* + This module facilitates the appending of records to the output of the process. + */ + const MODULE_NAME = 'Portfolio Records' + + let thisObject = { + appendRecords: appendRecords, + initialize: initialize, + finalize: finalize + } + + let portfolioEngine + let portfolioSystem + let sessionParameters + let outputDatasetsMap + + return thisObject + + function initialize(pOutputDatasetsMap) { + portfolioEngine = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioEngine + portfolioSystem = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioSystem + sessionParameters = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters + outputDatasetsMap = pOutputDatasetsMap // These are the files turned into arrays, stored in a Map by Product codeName. + } + + function finalize() { + portfolioEngine = undefined + portfolioSystem = undefined + sessionParameters = undefined + outputDatasetsMap = undefined + } + + function appendRecords() { + /* + Here we add records to the output files. At the product config property nodePath + we have a pointer to the node that have the information we need to extract. + Later, based on the product record definition we will extract each individual value. + */ + let outputDatasets = TS.projects.visualScripting.utilities.nodeFunctions.nodeBranchToArray(TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processOutput, 'Output Dataset') + + for (let i = 0; i < outputDatasets.length; i++) { + let outputDatasetNode = outputDatasets[i] + let dataset = outputDatasetNode.referenceParent + let product = dataset.parentNode + let outputDatasetArray = outputDatasetsMap.get(product.config.codeName) + + if (TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_PROCESSING_DAILY_FILES === true && dataset.config.type === 'Daily Files') { + persistRecords() + } + + if (TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_PROCESSING_DAILY_FILES === false && dataset.config.type === 'Market Files') { + persistRecords() + } + + function persistRecords() { + /* + There are a few products configured to be saved only at an specific cycle. + */ + if (product.config.saveAtCycle !== undefined) { + if (portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.value !== product.config.saveAtCycle) { + return + } + } + + /* Clean the file from information of previous executions */ + //pruneOutputFile(product, outputDatasetArray, portfolioEngine.portfolioCurrent.portfolioEpisode.candle.end.value) + + /* Clean Open Records */ + if (product.config.saveAsObjects === true) { + for (let j = 0; j < product.record.properties.length; j++) { + let recordProperty = product.record.properties[j] + if (recordProperty.config.codeName === product.config.propertyNameThatDefinesObject) { + /* Remove Open Records */ + spliceOpenRecords(j, product, outputDatasetArray) + break + } + } + } + + /* + The product root can be a node or a node property of type array. + */ + let productRoot + try { + productRoot = eval(product.config.nodePath) + } catch (err) { + badDefinitionUnhandledException(err, 'Cannot get productRoot -> nodePath = ' + product.config.nodePath, product, undefined) + } + + if (product.config.nodePathType === 'array') { + /* + This means that the configured nodePath is not pointing to a node, but to a node property that is an array. + For that reason we will assume that each element of the array is a record to be outputed + */ + for (let index = 0; index < productRoot.length; index++) { + /* + The Product Root Node is the root of the node hiriarchy from where we are going to extract the record values. + */ + let productRootNode = productRoot[index] + let record = scanRecordDefinition(product, productRootNode, index) + if (record !== undefined) { + /* + We will add the index value to the record itself, so that the plotter can know to which + brach of the portfolio engine data structure it belongs. + */ + record.push(index) + persistIndividualRecord(record, product, outputDatasetArray) + } + } + } else { + /* + This means that the configured nodePath points to a single node, which is the one whose children constitutes + the record to be saved at the output file. + */ + /* + The Product Root Node is the root of the node hiriarchy from where we are going to extract the record values. + */ + let productRootNode = productRoot + let record = scanRecordDefinition(product, productRootNode) + if (record !== undefined) { + persistIndividualRecord(record, product, outputDatasetArray) + } + } + } + } + + function scanRecordDefinition(product, productRootNode, index) { + + let record = [] + for (let j = 0; j < product.record.properties.length; j++) { + let recordProperty = product.record.properties[j] + /* + The Property Root Node is the Root of the Hiriarchy branch we must find in order + to get the node where we are going to extract the value. Initially + we point it to the Product Root Node, because that is the default in case + a property does not have at its configuration a different nodePath configured + pointing to an specific Root for the property. + */ + let propertyRootNode = productRootNode + /* + If we find at the configuration a nodePath, then we take this path to find + the Root Node specifically for this property only. + */ + if (recordProperty.config.nodePath !== undefined) { + try { + propertyRootNode = eval(recordProperty.config.nodePath) + } catch (err) { + badDefinitionUnhandledException(err, 'Error Evaluating Record Property nodePath -> nodePath = ' + recordProperty.config.nodePath, product, recordProperty) + } + } + /* + The Target Node is the node from where we are going to exctract the value. + We will use the codeName of the Record Property to match it with + any of the properties of the Root Node to get the Target Node. + */ + let targetNode + try { + targetNode = propertyRootNode[recordProperty.config.codeName] + } catch (err) { + badDefinitionUnhandledException(err, 'Error setting Target Node.', product, recordProperty) + } + /* + If the codeName of the Record Property can not match the name of the property at + the target node, the user can explicitly specify the property name at the configuration, + and in those cases we need to use that. This happens when there are many Record Properties + pointing to the same property at the Target Node. + */ + if (recordProperty.config.childProperty !== undefined) { + targetNode = propertyRootNode[recordProperty.config.childProperty] + } + /* + It can happen that intead of having a Node in targetNode what we have is an + array of nodes. We need to pick one of the elements of the array and for that + we use the Index value we find at the configuration of the Record Property. + */ + if (recordProperty.config.index !== undefined) { + try { + targetNode = targetNode[recordProperty.config.index] + } catch (err) { + badDefinitionUnhandledException(err, 'Error setting Target Node.', product, recordProperty) + } + } + /* + By Default the value is extracted from the value property of the Target Node. + But it might happen the the Target Node does not exist for example when there is an Array + of Nodes defined in the Record Properties but not all of them exist at the Root Node. + We filter out those cases by not extracting the value from the value property. + */ + let value = 0 // This is a default value, since we do not want null in files because it breakes JSON format. + if (targetNode !== undefined) { + if (targetNode.type !== undefined) { + /* + In this case the Target Node is really a node (since it has a type), so we extract the value + from its value property. + */ + value = targetNode.value + if (value !== undefined && value !== null) { + if (recordProperty.config.decimals !== undefined) { + try { + value = Number(value.toFixed(recordProperty.config.decimals)) + } catch (err) { + badDefinitionUnhandledException(err, 'Error applying configured decimals.', product, recordProperty) + } + } + } + } else { + /* + In this case the Target Node is not really node, but the value itself. Se we return this as the + value of the Record Property. + */ + value = targetNode + } + } + + /* We are not going to add records where the begin or end are missing */ + if ( + recordProperty.config.codeName === 'begin' && value === 0 || + recordProperty.config.codeName === 'end' && value === 0 + ) { return } + + if (recordProperty.config.isString !== true && Array.isArray(value) !== true) { + value = safeNumericValue(value) + } + if (recordProperty.config.isString === true && Array.isArray(value) !== true) { + value = safeStringValue(value) + } + record.push(value) + } + return record + } + + function persistIndividualRecord(record, product, outputDatasetArray) { + + if (product.config.saveAsObjects === true) { + /* For saving objects we need to take care of a different set of rules. */ + for (let j = 0; j < product.record.properties.length; j++) { + let recordProperty = product.record.properties[j] + if (recordProperty.config.codeName === product.config.propertyNameThatDefinesObject) { + let propertyValue = record[j] + + if (TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_PROCESSING_DAILY_FILES) { + if (product.config.doNotCutObjectInDays !== true) { + /* + By default we will cut objects in days. + */ + if (propertyValue !== product.config.propertyValueThatPreventsSavingObject) { + outputDatasetArray.push(record) + } + } else { + /* + When dealing with Daily Files, we need to avoid to write an open object at the last 'candle' of the day, + since the object will be duplicated on the next day. How do we know we are positioned at the last candle + of the day? Easy: the end of the candle must be 1 millisecod before the next day. That happens at any + time frame. + */ + let currentDay = new Date(portfolioEngine.portfolioCurrent.portfolioEpisode.candle.end.value) + let nextDay = new Date(portfolioEngine.portfolioCurrent.portfolioEpisode.candle.end.value + 1) + if (currentDay.getUTCDate() !== nextDay.getUTCDate()) { + /* + We will save the object only if it is closed, becasuse we are at the last candle of the day. + */ + if (propertyValue === product.config.propertyValueThatClosesObject) { + outputDatasetArray.push(record) + } + } else { + /* + When we are not at the end of the day, we will save the object normally, like in market files. + */ + if (propertyValue !== product.config.propertyValueThatPreventsSavingObject) { + outputDatasetArray.push(record) + } + } + } + } + else { + /* + For Market Files we will add a record everytime that proeprty value does not match this + */ + if (propertyValue !== product.config.propertyValueThatPreventsSavingObject) { + outputDatasetArray.push(record) + } + } + break + } + } + } else { + /* + When we are not dealing with objects, we add every record to the existing file except + for the ones that are filtered out at the Product Definition. + */ + if (product.config.propertyNameThatDefinesStatus !== undefined && product.config.propertyValueThatPreventsSavingObject !== undefined) { + for (let j = 0; j < product.record.properties.length; j++) { + let recordProperty = product.record.properties[j] + if (recordProperty.config.codeName === product.config.propertyNameThatDefinesStatus) { + let propertyValue = record[j] + + if (product.config.propertyValueThatPreventsSavingObject === "->Empty Array->" && propertyValue.length === 0) { + break + } + if (propertyValue !== product.config.propertyValueThatPreventsSavingObject) { + outputDatasetArray.push(record) + } + break + } + } + } else { + outputDatasetArray.push(record) + } + } + } + + function safeNumericValue(value) { + /* + The purpose of this function is to check that value variable does not have a value that + will later break the JSON format of files where this is going to be stored at. + */ + if (value === Infinity) { + value = Number.MAX_SAFE_INTEGER + } + if (value === undefined) { + value = 0 + } + if (value === null) { + value = 0 + } + if (isNaN(value)) { + value = 0 + } + return value + } + + function safeStringValue(value) { + /* + The purpose of this function is to check that value variable does not have a value that + will later break the JSON format of files where this is going to be stored at. + */ + if (value === undefined) { + value = '' + } + if (value === null) { + value = '' + } + return value + } + + function pruneOutputFile(product, outputFile, currentEnd) { + if (outputFile.isPrunned === true) { return } + /* + When a session is resumed, we will be potentially reading output files belonging to a previous session execution. + For that reason we need to prune all the records that are beyond the current candle. We do not delete everything + because we might be resuming a stopped session, which is fine. + */ + for (let i = 0; i < outputFile.length; i++) { + let record = outputFile[i] + + for (let j = 0; j < product.record.properties.length; j++) { + let recordProperty = product.record.properties[j] + if (recordProperty.config.codeName === 'end') { + let end = record[j] + if (end >= currentEnd) { + outputFile.splice(i, 1) + /* + This will execute the next prune call in the next iteration of the NodeJs event loop + allowing for other callbacks to be executed. It also prevents the error + 'Maximum call stack size exceeded', since the call is not placed at the call stack. + */ + setImmediate(pruneOutputFile, product, outputFile, currentEnd) + return + } + } + } + } + outputFile.isPrunned = true + } + + function spliceOpenRecords(j, product, outputDatasetArray) { + /* + Before adding records to the output file, we need to remove all open records, + because we will be adding the same records later with potentially + new or updated information. + */ + + for (let i = 0; i < outputDatasetArray.length; i++) { + let dataRecord = outputDatasetArray[i] + if (dataRecord !== undefined) { + let dataRecordValue = dataRecord[j] + if (dataRecordValue !== product.config.propertyValueThatClosesObject) { + outputDatasetArray.splice(i, 1) + spliceOpenRecords(j, product, outputDatasetArray) + return + } + } + } + } + } + + function badDefinitionUnhandledException(err, message, product, recordProperty) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] appendRecords -> " + message); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] appendRecords -> product.name = " + product.name); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] appendRecords -> product.config = " + JSON.stringify(product.config)); + + if (recordProperty) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] appendRecords -> recordProperty.name = " + recordProperty.name); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] appendRecords -> recordProperty.config.codeName = " + recordProperty.config.codeName); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] appendRecords -> recordProperty.config = " + JSON.stringify(recordProperty.config)); + } + + if (err) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] appendRecords -> err.stack = " + err.stack); + } + throw 'Can not continue with a Definition Error like this.' + } +} \ No newline at end of file diff --git a/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioSimulation.js b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioSimulation.js new file mode 100644 index 000000000..401e13c40 --- /dev/null +++ b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioSimulation.js @@ -0,0 +1,679 @@ +exports.newPortfolioManagementBotModulesPortfolioSimulation = function (processIndex) { + /* + This Module represents the portfolio simulacion. Escentially a loop through a set of candles and + the execution at each loop cycle of the Portfolio System Protocol. + */ + const MODULE_NAME = 'Portfolio Simulation -> ' + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.name + + let thisObject = { + finalize: finalize, + runSimulation: runSimulation + } + return thisObject + + function finalize() { + thisObject = undefined + } + + async function runSimulation( + chart, + market, + exchange, + outputDatasetsMap, + writeFiles, + ) { + try { + + let portfolioSystem = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioSystem + let portfolioEngine = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioEngine + let sessionParameters = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters + + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[INFO] runSimulation -> initialDatetime = ' + sessionParameters.timeRange.config.initialDatetime) + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[INFO] runSimulation -> finalDatetime = ' + sessionParameters.timeRange.config.finalDatetime) + + /* These are the Modules we will need to run the Simulation */ + let portfolioRecordsModuleObject = TS.projects.portfolioManagement.botModules.portfolioRecords.newPortfolioManagementBotModulesPortfolioRecords(processIndex) + portfolioRecordsModuleObject.initialize(outputDatasetsMap) + + let portfolioSystemModuleObject = TS.projects.portfolioManagement.botModules.portfolioSystem.newPortfolioManagementBotModulesPortfolioSystem(processIndex) + portfolioSystemModuleObject.initialize() + + let portfolioEpisodeModuleObject = TS.projects.portfolioManagement.botModules.portfolioEpisode.newPortfolioManagementBotModulesPortfolioEpisode(processIndex) + portfolioEpisodeModuleObject.initialize() + + /* Setting up the candles array: The whole simulation is based on the array of candles at the time-frame defined at the session parameters. */ + let propertyName = 'at' + sessionParameters.timeFrame.config.label.replace('-', '') + let candles = chart[propertyName].candles + + if (TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_PROCESSING_DAILY_FILES) { + /* + We need to purge from the candles array all the candles from the previous day + that comes when processing daily files. + */ + let dailyCandles = [] + for (let i = 0; i < candles.length; i++) { + let candle = candles[i] + if (candle.begin >= TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioEngine.portfolioCurrent.portfolioEpisode.processDate.value) { + dailyCandles.push(candle) + } + } + candles = dailyCandles + } else { + candles = chart[propertyName].candles + } + + /* Variables needed for heartbeat functionality */ + let heartBeatDate + let previousHeartBeatDate + /* + Estimation of the Initial Candle to Process in this Run. + */ + let initialCandle + if ( + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_FIRST_LOOP === true && + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_RESUMING === false) { + + /* Estimate Initial Candle based on the timeRange configured for the session. */ + let firstEnd = candles[0].end + let targetEnd = sessionParameters.timeRange.config.initialDatetime + let diff = targetEnd - firstEnd + let amount = diff / sessionParameters.timeFrame.config.value + + initialCandle = Math.trunc(amount) + if (initialCandle < 0) { initialCandle = 0 } + if (initialCandle > candles.length - 1) { + /* + This will happen when the sessionParameters.timeRange.config.initialDatetime is beyond the last candle available, + meaning that the dataSet needs to be updated with more up-to-date data. + */ + console.log('DEBUGGING ..................', initialCandle, candles.length) + TS.projects.foundations.functionLibraries.sessionFunctions.stopSession(processIndex, 'Data is not up-to-date enough. Please start the Data Mining Operation.') + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[IMPORTANT] runSimulation -> Data is not up-to-date enough. Stopping the Session now. ') + return + } + + } else { + /* + In this case we already have at the last candle index the next candle to be + processed. We will just continue with this candle. + */ + initialCandle = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.index.value + } + /* + Main Simulation Loop + */ + /* We are going to use this to exit the loop if needed. */ + let breakLoop = false + + /* + We will assume that we are at the head of the market here. We do this + because the loop could be empty and no validation is going to run. If the + loop is not empty, then the lascCandle() check will override this value + depending on if we really are at the head of the market or not. + */ + portfolioEngine.portfolioCurrent.portfolioEpisode.headOfTheMarket.value = true + /* + This is the main simulation loop. It will go through the initial candle + until one less than the last candle available. We will never process the last + candle available since it is not considered a closed candle, but a candle + that still can change. So effectively will be processing all closed candles. + */ + for (let i = initialCandle; i < candles.length - 1; i++) { + portfolioEngine.portfolioCurrent.portfolioEpisode.candle.index.value = i + + /* This is the current candle the Simulation is working at. */ + let candle = candles[portfolioEngine.portfolioCurrent.portfolioEpisode.candle.index.value] + + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[INFO] runSimulation -> loop -> Candle Begin @ ' + (new Date(candle.begin)).toUTCString()) + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[INFO] runSimulation -> loop -> Candle End @ ' + (new Date(candle.end)).toUTCString()) + + TS.projects.foundations.globals.processModuleObjects.MODULE_OBJECTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_MODULE_OBJECT.setCurrentCandle(candle) // We move the current candle we are standing at, to the portfolio engine data structure to make it available to anyone, including conditions and formulas. + + /* We emit a heart beat so that the UI can now where we are at the overal process.*/ + heartBeat() + + /* Opening the Episode, if needed. */ + portfolioEpisodeModuleObject.openEpisode() + + if (checkInitialDatetime() === false) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[INFO] runSimulation -> loop -> Candle Before the Initia Date Time @ ' + (new Date(candle.begin)).toUTCString()) + continue + } + + positionDataStructuresAtCurrentCandle() + + /* The chart was recalculated based on the current candle. */ + portfolioSystemModuleObject.updateChart( + chart, + exchange, + market + ) + + /* + Do the stuff needed previous to the run like + Episode Counters and Statistics update. Mantaince is done + once per simulation candle. + */ + portfolioSystemModuleObject.mantain() + portfolioEpisodeModuleObject.mantain() + TS.projects.foundations.globals.processModuleObjects.MODULE_OBJECTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_MODULE_OBJECT.mantain() + + /* + Run the first cycle of the Portfolio System. In this first cycle we + give some room so that orders can be canceled or filled and we can + write those records into the output memory. During this cycle new + orders can not be created, since otherwise the could be cancelled at + the second cycle without spending real time at the order book. + */ + TS.projects.foundations.globals.processModuleObjects.MODULE_OBJECTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_MODULE_OBJECT.setCurrentCycle('First') + await runCycle() + + /* + We check if we need to stop before appending the records so that the stop + reason is also propery recorded. Note also that we check this after the first + cycle, where orders have not been submitted to the exchange yet, but we + had the chance to check for the status of placed orders or even cancel + the ones that needed cancellation. + */ + checkIfWeNeedToStopBetweenCycles() + + /* Add new records to the process output */ + portfolioRecordsModuleObject.appendRecords() + + if (breakLoop === true) { break } + /* + Run the second cycle of the Portfolio System. During this second run + some new orders might be created at slots freed up during the first + run. This allows for example for a Limit Order to be cancelled during the + first run, and the same Limit Order definition to spawn a new order + without the need to wait until the next candle. Orders can not be cancelled + during the second cycle. + */ + TS.projects.foundations.globals.processModuleObjects.MODULE_OBJECTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_MODULE_OBJECT.setCurrentCycle('Second') + await runCycle() + + checkIfWeNeedToStopAfterBothCycles() + + /* Add new records to the process output */ + portfolioRecordsModuleObject.appendRecords() + + if (breakLoop === true) { break } + + async function runCycle() { + /* Reset Data Structures */ + portfolioSystemModuleObject.reset() + portfolioEpisodeModuleObject.reset() + TS.projects.foundations.globals.processModuleObjects.MODULE_OBJECTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_MODULE_OBJECT.reset() + + let infoMessage = 'Processing candle # ' + portfolioEngine.portfolioCurrent.portfolioEpisode.candle.index.value + ' @ the ' + portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.value + ' cycle.' + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[INFO] runSimulation -> loop -> ' + infoMessage) + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Info - Candle And Cycle', + placeholder: {} + } + + contextInfo = { + candleIndex: portfolioEngine.portfolioCurrent.portfolioEpisode.candle.index.value, + cycle: portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.value + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addInfo([portfolioSystem.id, infoMessage, docs]) + + await portfolioSystemModuleObject.run() + } + + function checkIfWeNeedToStopBetweenCycles() { + if (TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_STOPPING === true) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[INFO] runSimulation -> controlLoop -> We are going to stop here bacause we were requested to stop processing this session.') + updateEpisode('Session Stopped') + breakLoop = true + return + } + + if (TS.projects.foundations.globals.taskVariables.IS_TASK_STOPPING === true) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[INFO] runSimulation -> controlLoop -> We are going to stop here bacause we were requested to stop processing this task.') + updateEpisode('Task Stopped') + breakLoop = true + return + } + + if (checkFinalDatetime() === false) { + closeEpisode('Final Datetime Reached') + breakLoop = true + TS.projects.foundations.functionLibraries.sessionFunctions.stopSession(processIndex, 'Final Datetime Reached') + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[IMPORTANT] runSimulation -> Final Datetime Reached. Stopping the Session now. ') + return + } + + if (checkMinimunAndMaximunBalance() === false) { + closeEpisode('Min or Max Balance Reached') + breakLoop = true + TS.projects.foundations.functionLibraries.sessionFunctions.stopSession(processIndex, 'Min or Max Balance Reached') + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[IMPORTANT] runSimulation -> Min or Max Balance Reached. Stopping the Session now. ') + return + } + } + + function checkIfWeNeedToStopAfterBothCycles() { + if (checkNextCandle() === false) { + updateEpisode('All Candles Processed') + breakLoop = true + return + } + } + } + + portfolioSystemModuleObject.finalize() + portfolioRecordsModuleObject.finalize() + portfolioEpisodeModuleObject.finalize() + + portfolioSystemModuleObject = undefined + portfolioRecordsModuleObject = undefined + portfolioEpisodeModuleObject = undefined + + await writeFiles() + + function closeEpisode(exitType) { + portfolioEpisodeModuleObject.updateExitType(exitType) + portfolioEpisodeModuleObject.closeEpisode() + } + + function updateEpisode(exitType) { + portfolioEpisodeModuleObject.updateExitType(exitType) + } + + function heartBeat() { + let hartbeatText = '' + if (sessionParameters.heartbeats !== undefined) { + if (sessionParameters.heartbeats.config.date === true || sessionParameters.heartbeats.config.candleIndex === true) { + /* We will produce a simulation level heartbeat in order to inform the user this is running. */ + + heartBeatDate = new Date(Math.trunc(portfolioEngine.portfolioCurrent.portfolioEpisode.candle.begin.value / SA.projects.foundations.globals.timeConstants.ONE_DAY_IN_MILISECONDS) * SA.projects.foundations.globals.timeConstants.ONE_DAY_IN_MILISECONDS + SA.projects.foundations.globals.timeConstants.ONE_DAY_IN_MILISECONDS) + + let fromDate = new Date(sessionParameters.timeRange.config.initialDatetime) + let lastDate = new Date(sessionParameters.timeRange.config.finalDatetime) + + let currentDateString = heartBeatDate.getUTCFullYear() + '-' + SA.projects.foundations.utilities.miscellaneousFunctions.pad(heartBeatDate.getUTCMonth() + 1, 2) + '-' + SA.projects.foundations.utilities.miscellaneousFunctions.pad(heartBeatDate.getUTCDate(), 2) + let currentDate = new Date(heartBeatDate) + let percentage = TS.projects.foundations.utilities.dateTimeFunctions.getPercentage(fromDate, currentDate, lastDate) + /* + Theere are a few tasks that we need to do only when the date changes, + otherwise it would be suboptimal. + */ + if (heartBeatDate.valueOf() !== previousHeartBeatDate) { + previousHeartBeatDate = heartBeatDate.valueOf() + + let processingDate = heartBeatDate.getUTCFullYear() + '-' + SA.projects.foundations.utilities.miscellaneousFunctions.pad(heartBeatDate.getUTCMonth() + 1, 2) + '-' + SA.projects.foundations.utilities.miscellaneousFunctions.pad(heartBeatDate.getUTCDate(), 2) + + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[INFO] runSimulation -> loop -> Simulation ' + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_KEY + ' Loop # ' + portfolioEngine.portfolioCurrent.portfolioEpisode.candle.index.value + ' @ ' + processingDate) + + /* Logging to console and disk */ + if (TS.projects.foundations.utilities.dateTimeFunctions.areTheseDatesEqual(currentDate, new Date()) === false) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.newInternalLoop(currentDate, percentage) + } + + /* Date only hearbeat */ + if (sessionParameters.heartbeats.config.date === true && sessionParameters.heartbeats.config.candleIndex === false) { + hartbeatText = hartbeatText + currentDateString + TS.projects.foundations.functionLibraries.processFunctions.processHeartBeat(processIndex, hartbeatText, percentage) + return + } + } + + /* + When the Candle Index nees to be shown, then we can not send the hearbet + only when the dates changes, we have to send it for every candle. + It might also contain the date information. + */ + if (sessionParameters.heartbeats.config.candleIndex === true) { + if (sessionParameters.heartbeats.config.date === true) { + hartbeatText = hartbeatText + currentDateString + } + hartbeatText = hartbeatText + ' Candle # ' + portfolioEngine.portfolioCurrent.portfolioEpisode.candle.index.value + TS.projects.foundations.functionLibraries.processFunctions.processHeartBeat(processIndex, hartbeatText, percentage) + } + } + } + } + + function positionDataStructuresAtCurrentCandle() { + /* + In conditions and Formulas, we want users to have an easy sintax to refer to indicators. In order to achieve that, we need the user to have + easy access to the current candle for instance, or the current bollinger band, meaning the one the Simulation is currently standing at. + For that reason we do the following processing, to have at the chart data structure the current objects of each indicator / time frame. + */ + + for (const exchangeCodeName in exchange) { + let currentExchange = exchange[exchangeCodeName] + for (const baseAssetCodeName in currentExchange.market) { + let currentBaseAsset = currentExchange.market[baseAssetCodeName] + for (const quotedAssetCodeName in currentBaseAsset) { + let currentQuotedAsset = currentBaseAsset[quotedAssetCodeName] + let currentChart = currentQuotedAsset.chart + positionChart(currentChart) + } + } + } + + function positionChart(chart) { + let dataDependencies = TS.projects.visualScripting.utilities.nodeFunctions.nodeBranchToArray(TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processDependencies, 'Data Dependency') + dataDependencies = TS.projects.visualScripting.utilities.nodeFunctions.filterOutNodeWihtoutReferenceParentFromNodeArray(dataDependencies) + + /* Finding the Current Element on Daily Files */ + if (TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_PROCESSING_DAILY_FILES) { + for (let j = 0; j < TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray().length; j++) { + let mapKey = TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray()[j][1] + let propertyName = 'at' + mapKey.replace('-', '') + let thisChart = chart[propertyName] + + if (thisChart === undefined) { continue } + + for (let k = 0; k < dataDependencies.length; k++) { + let dataDependencyNode = dataDependencies[k] + if (dataDependencyNode.referenceParent.config.codeName !== 'Multi-Time-Frame-Daily') { continue } + let singularVariableName = dataDependencyNode.referenceParent.parentNode.config.singularVariableName + let pluralVariableName = dataDependencyNode.referenceParent.parentNode.config.pluralVariableName + if (thisChart[pluralVariableName] !== undefined) { + let currentElement = getElement(thisChart[pluralVariableName], 'Daily' + '-' + mapKey + '-' + pluralVariableName) + if (currentElement !== undefined) { + thisChart[singularVariableName] = currentElement + } + } + } + } + } + + /* Finding the Current Element on Market Files */ + for (let j = 0; j < TS.projects.foundations.globals.timeFrames.marketTimeFramesArray().length; j++) { + let mapKey = TS.projects.foundations.globals.timeFrames.marketTimeFramesArray()[j][1] + let propertyName = 'at' + mapKey.replace('-', '') + let thisChart = chart[propertyName] + + if (thisChart === undefined) { continue } + + for (let k = 0; k < dataDependencies.length; k++) { + let dataDependencyNode = dataDependencies[k] + if (dataDependencyNode.referenceParent.config.codeName !== 'Multi-Time-Frame-Market') { continue } + let singularVariableName = dataDependencyNode.referenceParent.parentNode.config.singularVariableName + let pluralVariableName = dataDependencyNode.referenceParent.parentNode.config.pluralVariableName + if (thisChart[pluralVariableName] !== undefined) { + let currentElement = getElement(thisChart[pluralVariableName], 'Market' + '-' + mapKey + '-' + pluralVariableName) + if (currentElement !== undefined) { + thisChart[singularVariableName] = currentElement + } + } + } + } + + /* Finding the Current Element At Single Files*/ + let propertyName = 'atAnyTimeFrame' + let thisChart = chart[propertyName] + + if (thisChart === undefined) { return } + + for (let k = 0; k < dataDependencies.length; k++) { + let dataDependencyNode = dataDependencies[k] + if (dataDependencyNode.referenceParent.config.codeName !== 'Single-File') { continue } + let singularVariableName = dataDependencyNode.referenceParent.parentNode.config.singularVariableName + let pluralVariableName = dataDependencyNode.referenceParent.parentNode.config.pluralVariableName + let elementArray = thisChart[pluralVariableName] + let currentElement + if (elementArray !== undefined) { + currentElement = elementArray[elementArray.length - 1] + } + thisChart[singularVariableName] = currentElement + } + } + } + + function getElement(pArray, datasetName) { + if (pArray === undefined) { return } + try { + let element + for (let i = 0; i < pArray.length; i++) { + element = pArray[i] + + if (portfolioEngine.portfolioCurrent.portfolioEpisode.candle.end.value === element.end) { // when there is an exact match at the end we take that element + return element + } else { + if ( + i > 0 && + element.end > portfolioEngine.portfolioCurrent.portfolioEpisode.candle.end.value + ) { + let previousElement = pArray[i - 1] + if (previousElement.end < portfolioEngine.portfolioCurrent.portfolioEpisode.candle.end.value) { + return previousElement // If one elements goes into the future of currentCandle, then we stop and take the previous element. + } else { + return + } + } + } + } + return + } catch (err) { + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR = err + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[ERROR] runSimulation -> getElement -> datasetName = ' + datasetName) + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[ERROR] runSimulation -> getElement -> err = ' + err.stack) + throw (TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE) + } + } + + function checkNextCandle() { + /* + We need to check that the candle we have just processed it is not the last candle. + The candle at the head of the market is already skipped from the loop because it has not closed yet. + Note: for Daily Files, this means that the last candle of each day will never be processed. + + The first +1 is because array indexes are based on 0. + The second +1 is because we need to compare the next candle (remember that the loops allways avoid the + last candle of the dataset available.) + */ + if (portfolioEngine.portfolioCurrent.portfolioEpisode.candle.index.value + 1 + 1 === candles.length) { + /* + When processing daily files, we need a mechanism to turn from one day to the next one. + That mechanism is the one implemented here. If we detect that the next candle is the last candle of + the day, we will advance current process day one day. By doing so, during the next execution, the + simulation will receive the candles and indicators files of the next day. + */ + let candlesPerDay = SA.projects.foundations.globals.timeConstants.ONE_DAY_IN_MILISECONDS / sessionParameters.timeFrame.config.value + if ( + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_PROCESSING_DAILY_FILES && + portfolioEngine.portfolioCurrent.portfolioEpisode.candle.index.value + 1 + 1 === candlesPerDay + ) { + /* + Here we found that the next candle of the dataset is the last candle of the day. + It is time to move to the next day so as to receive at the next execution, the indicator files from + the next day. At the same time we will reset the index to be pointing to + the first candle of the new dataset we shall receive. The first candle of the next day starts + at index 0, so we will position the index now at zero. + */ + portfolioEngine.portfolioCurrent.portfolioEpisode.candle.index.value = 0 + portfolioEngine.portfolioCurrent.portfolioEpisode.processDate.value = + portfolioEngine.portfolioCurrent.portfolioEpisode.processDate.value + SA.projects.foundations.globals.timeConstants.ONE_DAY_IN_MILISECONDS + return false + } + + /* + We reached the head of the market but we are not at the last candle of a day during + Daily Files processing. We will advance to the next candle index anyways because in the + next execution it will likely have more candles at the dataset. And if it does not, + it will just wait there until it does. + */ + portfolioEngine.portfolioCurrent.portfolioEpisode.headOfTheMarket.value = true + portfolioEngine.portfolioCurrent.portfolioEpisode.candle.index.value++ + return false + } else { + + /* Wd did not reach the head of the market */ + portfolioEngine.portfolioCurrent.portfolioEpisode.headOfTheMarket.value = false + portfolioEngine.portfolioCurrent.portfolioEpisode.candle.index.value++ + return true + } + } + + function checkInitialDatetime() { + /* Here we check that the current candle is not before the initial datetime defined at the session parameters.*/ + if (portfolioEngine.portfolioCurrent.portfolioEpisode.candle.end.value < sessionParameters.timeRange.config.initialDatetime) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[INFO] runSimulation -> checkInitialAndFinalDatetime -> Skipping Candle before the sessionParameters.timeRange.config.initialDatetime.') + return false + } + return true + } + + function checkFinalDatetime() { + /* Here we check that the next candle is not after of the user-defined final datetime at the session parameters.*/ + if (portfolioEngine.portfolioCurrent.portfolioEpisode.candle.begin.value + sessionParameters.timeFrame.config.value > sessionParameters.timeRange.config.finalDatetime) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[INFO] runSimulation -> checkInitialAndFinalDatetime -> Skipping Candle after the sessionParameters.timeRange.config.finalDatetime.') + return false + } + return true + } + + function checkMinimunAndMaximunBalance() { + /* Checks for Minimun and Maximun Balance. We do the check while not inside any strategy only. */ + if ( + portfolioEngine.portfolioCurrent.strategy.index.value === portfolioEngine.portfolioCurrent.strategy.index.config.initialValue + ) { + /* + We will perform this check only when we are not inside a position, + because there the balances have shifted from their resting position. + */ + + let stopRunningDate = (new Date(portfolioEngine.portfolioCurrent.portfolioEpisode.candle.begin.value)).toUTCString() + + if (sessionParameters.sessionBaseAsset.config.minimumBalance !== undefined) { + if (portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value <= sessionParameters.sessionBaseAsset.config.minimumBalance) { + const errorMessage = 'Min Balance reached @ ' + stopRunningDate + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - Minimum Balance Reached', + placeholder: {} + } + + let contextInfo = { + timestamp: stopRunningDate, + episodeBaseAssetBalance: portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value, + sessionBaseAssetMinimumBalance: sessionParameters.sessionBaseAsset.config.minimumBalance + } + + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addError([portfolioSystem.id, errorMessage, docs]) + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[WARN] runSimulation -> checkMinimunAndMaximunBalance -> ' + errorMessage) + return false + } + } + + if (sessionParameters.sessionBaseAsset.config.maximumBalance !== undefined) { + if (portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value >= sessionParameters.sessionBaseAsset.config.maximumBalance) { + const errorMessage = 'Max Balance reached @ ' + stopRunningDate + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - Maximum Balance Reached', + placeholder: {} + } + + let contextInfo = { + timestamp: stopRunningDate, + episodeBaseAssetBalance: portfolioEngine.portfolioCurrent.portfolioEpisode.episodeBaseAsset.balance.value, + sessionBaseAssetMaximumBalance: sessionParameters.sessionBaseAsset.config.maximumBalance + } + + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addError([portfolioSystem.id, errorMessage, docs]) + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[WARN] runSimulation -> checkMinimunAndMaximunBalance -> ' + errorMessage) + return false + } + } + + if (sessionParameters.sessionQuotedAsset.config.minimumBalance !== undefined) { + if (portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value <= sessionParameters.sessionQuotedAsset.config.minimumBalance) { + const errorMessage = 'Min Balance reached @ ' + stopRunningDate + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - Minimum Balance Reached', + placeholder: {} + } + + let contextInfo = { + timestamp: stopRunningDate, + episodeQuotedAssetBalance: portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value, + sessionQuotedAssetMinimumBalance: sessionParameters.sessionQuotedAsset.config.minimumBalance + } + + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addError([portfolioSystem.id, errorMessage, docs]) + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[WARN] runSimulation -> checkMinimunAndMaximunBalance -> ' + errorMessage) + return false + } + } + + if (sessionParameters.sessionQuotedAsset.config.maximumBalance !== undefined) { + if (portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value >= sessionParameters.sessionQuotedAsset.config.maximumBalance) { + const errorMessage = 'Max Balance reached @ ' + stopRunningDate + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - Maximum Balance Reached', + placeholder: {} + } + + let contextInfo = { + timestamp: stopRunningDate, + episodeQuotedAssetBalance: portfolioEngine.portfolioCurrent.portfolioEpisode.episodeQuotedAsset.balance.value, + sessionQuotedAssetMaximumBalance: sessionParameters.sessionQuotedAsset.config.maximumBalance + } + + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, undefined, undefined, undefined, undefined, contextInfo) + + portfolioSystem.addError([portfolioSystem.id, errorMessage, docs]) + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[WARN] runSimulation -> checkMinimunAndMaximunBalance -> ' + errorMessage) + return false + } + } + + } + return true + } + } catch (err) { + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR = err + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[ERROR] runSimulation -> err = ' + err.stack) + throw (TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE) + } + } +} + diff --git a/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioStages.js b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioStages.js new file mode 100644 index 000000000..bd0d053eb --- /dev/null +++ b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioStages.js @@ -0,0 +1,1327 @@ +exports.newPortfolioManagementBotModulesPortfolioStages = function (processIndex) { + /* + This module packages all functions related to Stages. + */ + const MODULE_NAME = 'Portfolio Stages' + let thisObject = { + updateChart: updateChart, + mantain: mantain, + reset: reset, + cycleBasedStatistics: cycleBasedStatistics, + runTriggerStage: runTriggerStage, + runOpenStage: runOpenStage, + runManageStage: runManageStage, + runCloseStage: runCloseStage, + exitPositionValidation: exitPositionValidation, + updateEnds: updateEnds, + resetPortfolioEngineDataStructure: resetPortfolioEngineDataStructure, + updateCounters: updateCounters, + updateStatistics: updateStatistics, + initialize: initialize, + finalize: finalize + } + + let portfolioStrategyModuleObject = TS.projects.portfolioManagement.botModules.portfolioStrategy.newPortfolioManagementBotModulesPortfolioStrategy(processIndex) + let portfolioPositionModuleObject = TS.projects.portfolioManagement.botModules.portfolioPosition.newPortfolioManagementBotModulesPortfolioPosition(processIndex) + let portfolioExecutionModuleObject = TS.projects.portfolioManagement.botModules.portfolioExecution.newPortfolioManagementBotModulesPortfolioExecution(processIndex) + let announcementsModuleObject = TS.projects.socialBots.botModules.announcements.newSocialBotsBotModulesAnnouncements(processIndex) + let snapshotsModuleObject = TS.projects.portfolioManagement.botModules.snapshots.newPortfolioManagementBotModulesSnapshots(processIndex) + let portfolioEpisodeModuleObject = TS.projects.portfolioManagement.botModules.portfolioEpisode.newPortfolioManagementBotModulesPortfolioEpisode(processIndex) + + let portfolioEngine + let portfolioSystem + let sessionParameters + + return thisObject + + function initialize() { + portfolioSystem = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioSystem + portfolioEngine = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioEngine + sessionParameters = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters + + portfolioStrategyModuleObject.initialize() + portfolioPositionModuleObject.initialize() + announcementsModuleObject.initialize() + snapshotsModuleObject.initialize() + portfolioExecutionModuleObject.initialize() + portfolioEpisodeModuleObject.initialize() + } + + function finalize() { + portfolioEngine = undefined + portfolioSystem = undefined + sessionParameters = undefined + + portfolioStrategyModuleObject.finalize() + portfolioStrategyModuleObject = undefined + + portfolioPositionModuleObject.finalize() + portfolioPositionModuleObject = undefined + + announcementsModuleObject.finalize() + announcementsModuleObject = undefined + + snapshotsModuleObject.finalize() + snapshotsModuleObject = undefined + + portfolioExecutionModuleObject.finalize() + portfolioExecutionModuleObject = undefined + + portfolioEpisodeModuleObject.finalize() + portfolioEpisodeModuleObject = undefined + } + + function updateChart(pChart, pExchange, pMarket) { + snapshotsModuleObject.updateChart(pChart, pExchange, pMarket) + } + + function mantain() { + portfolioPositionModuleObject.mantain() + portfolioStrategyModuleObject.mantain() + portfolioExecutionModuleObject.mantain() + + updateCounters() + updateEnds() + } + + function reset() { + resetPortfolioEngineDataStructure() + + portfolioPositionModuleObject.reset() + portfolioStrategyModuleObject.reset() + portfolioExecutionModuleObject.reset() + } + + function cycleBasedStatistics() { + portfolioEpisodeModuleObject.cycleBasedStatistics() + portfolioPositionModuleObject.cycleBasedStatistics() + } + + function runTriggerStage() { + /* + We check if we will be triggering on, off or taking position. + */ + checkTriggerOn() + checkTriggerOff() + checkTakePosition() + + function checkTriggerOn() { + if ( + portfolioEngine.portfolioCurrent.strategy.index.value === portfolioEngine.portfolioCurrent.strategy.index.config.initialValue + ) { + /* + To pick a new strategy we will check that any of the situations of the trigger on is true. + Once we enter into one strategy, we will ignore market conditions for others. However there is also + a strategy trigger off which can be hit before taking a position. If hit, we would + be outside a strategy again and looking for the conditions to enter all over again. + */ + portfolioSystem.evalConditions(portfolioSystem, 'Trigger On Event') + + for (let j = 0; j < portfolioSystem.portfolioStrategies.length; j++) { + if ( // If a strategy was already picked during the loop, we exit the loop + portfolioEngine.portfolioCurrent.strategy.index.value !== portfolioEngine.portfolioCurrent.strategy.index.config.initialValue + ) { continue } + + let strategy = portfolioSystem.portfolioStrategies[j] + let triggerStage = strategy.triggerStage + + if (triggerStage !== undefined) { + if (triggerStage.triggerOn !== undefined) { + for (let k = 0; k < triggerStage.triggerOn.situations.length; k++) { + let situation = triggerStage.triggerOn.situations[k] + let passed + if (situation.conditions.length > 0) { + passed = true + } + + passed = portfolioSystem.checkConditions(situation, passed) + + portfolioSystem.values.push([situation.id, passed]) + if (passed) { + portfolioSystem.highlights.push(situation.id) + portfolioSystem.highlights.push(triggerStage.triggerOn.id) + portfolioSystem.highlights.push(triggerStage.id) + + portfolioStrategyModuleObject.openStrategy(j, situation.name, strategy.name) + + /* Initialize this */ + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.triggerOn.value = 1 + + announcementsModuleObject.makeAnnouncements(triggerStage.triggerOn) + + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type === 'Backtesting Session') { + if (sessionParameters.snapshots !== undefined) { + if (sessionParameters.snapshots.config.strategy === true) { + snapshotsModuleObject.strategyEntry() + } + } + } + + changeStageStatus('Trigger Stage', 'Open') + + } + } + } + } + } + } + } + + function checkTriggerOff() { + if (portfolioEngine.portfolioCurrent.strategyTriggerStage.status.value === 'Open') { + checkUserDefinedCode('Trigger Stage', 'Running', 'first'); + + let strategy = portfolioSystem.portfolioStrategies[portfolioEngine.portfolioCurrent.strategy.index.value] + let triggerStage = strategy.triggerStage + + portfolioSystem.evalConditions(strategy, 'Trigger Off Event') + + if (triggerStage !== undefined) { + if (triggerStage.triggerOff !== undefined) { + for (let k = 0; k < triggerStage.triggerOff.situations.length; k++) { + let situation = triggerStage.triggerOff.situations[k] + let passed + if (situation.conditions.length > 0) { + passed = true + } + + passed = portfolioSystem.checkConditions(situation, passed) + + portfolioSystem.values.push([situation.id, passed]) + if (passed) { + portfolioSystem.highlights.push(situation.id) + portfolioSystem.highlights.push(triggerStage.triggerOff.id) + portfolioSystem.highlights.push(triggerStage.id) + + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.triggerOff.value = 1 + announcementsModuleObject.makeAnnouncements(triggerStage.triggerOff) + changeStageStatus('Trigger Stage', 'Closed', 'Trigger Off Event') + portfolioStrategyModuleObject.closeStrategy('Trigger Off') + } + } + } + } + } + } + + function checkTakePosition() { + if ( + portfolioEngine.portfolioCurrent.strategyTriggerStage.status.value === 'Open' + ) { + let strategy = portfolioSystem.portfolioStrategies[portfolioEngine.portfolioCurrent.strategy.index.value] + let triggerStage = strategy.triggerStage + + portfolioSystem.evalConditions(strategy, 'Take Position Event') + portfolioSystem.evalFormulas(strategy, 'Take Position Event') + + if (triggerStage !== undefined) { + if (triggerStage.takePosition !== undefined) { + for (let k = 0; k < triggerStage.takePosition.situations.length; k++) { + let situation = triggerStage.takePosition.situations[k] + let passed + if (situation.conditions.length > 0) { + passed = true + } + + passed = portfolioSystem.checkConditions(situation, passed) + + portfolioSystem.values.push([situation.id, passed]) + if (passed) { + portfolioSystem.highlights.push(situation.id) + portfolioSystem.highlights.push(triggerStage.takePosition.id) + portfolioSystem.highlights.push(triggerStage.id) + + portfolioPositionModuleObject.openPosition(situation.name) + + announcementsModuleObject.makeAnnouncements(triggerStage.takePosition) + + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type === 'Backtesting Session') { + if (sessionParameters.snapshots !== undefined) { + if (sessionParameters.snapshots.config.position === true) { + snapshotsModuleObject.positionEntry() + } + } + } + + changeStageStatus('Trigger Stage', 'Closed', 'Position Taken') + changeStageStatus('Open Stage', 'Opening') + changeStageStatus('Manage Stage', 'Opening') + } else { + checkUserDefinedCode('Trigger Stage', 'Running', 'last'); + } + } + } + } + } + } + } + + async function runOpenStage() { + + checkIfWeNeedToAbortTheStage() + runWhenStatusIsOpening() + await runWhenStatusIsOpen() + await runWhenStatusIsClosing() + + function checkIfWeNeedToAbortTheStage() { + /* Abort Open Stage Check */ + if (portfolioEngine.portfolioCurrent.strategyOpenStage.status.value === 'Open' && + (portfolioEngine.portfolioCurrent.strategyCloseStage.status.value === 'Opening' || portfolioEngine.portfolioCurrent.strategyCloseStage.status.value === 'Open') ){ + /* + if the Close stage is opened while the open stage is still open that means that + we need to stop placing orders, check what happened to the orders already placed, + and cancel all unfilled limit orders. We call this the Closing status of the Open Stage. + */ + changeStageStatus('Open Stage', 'Closing') + } + } + + function runWhenStatusIsOpening() { + /* Opening Status Procedure */ + if (portfolioEngine.portfolioCurrent.strategyOpenStage.status.value === 'Opening') { + /* + The system allows the user not to define an Open Stage, because the Open Stage is optional. + Here we are going to see if that is the case and if it is, we will immediately consider + the Open Stage as closed. + */ + if (portfolioSystem.portfolioStrategies[portfolioEngine.portfolioCurrent.strategy.index.value].openStage === undefined) { + changeStageStatus('Open Stage', 'Closed', 'Open Stage Undefined') + changeStageStatus('Close Stage', 'Opening') + return + } + + /* This procedure is intended to run only once */ + let portfolioSystemStage = portfolioSystem.portfolioStrategies[portfolioEngine.portfolioCurrent.strategy.index.value].openStage + let portfolioEngineStage = portfolioEngine.portfolioCurrent.strategyOpenStage + + /* Reset the Exchange Orders data structure to its initial value */ + TS.projects.foundations.globals.processModuleObjects.MODULE_OBJECTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_MODULE_OBJECT.initializeNode(portfolioEngine.exchangeOrders) + + /* Entry Position size and rate */ + portfolioSystem.evalFormulas(portfolioSystemStage, 'Initial Targets') + portfolioPositionModuleObject.initialTargets(portfolioSystemStage, portfolioEngineStage) + initializeStageTargetSize() + + /* From here on, the stage is officially Open */ + changeStageStatus('Open Stage', 'Open') + } + } + + async function runWhenStatusIsOpen() { + /* Open Status Procedure */ + if (portfolioEngine.portfolioCurrent.strategyOpenStage.status.value === 'Open') { + /* + While the Open Stage is Open, we do our regular stuff: place orders and check + what happened to the orders already placed. + */ + checkUserDefinedCode('Open Stage', 'Running', 'first'); + let portfolioSystemStage = portfolioSystem.portfolioStrategies[portfolioEngine.portfolioCurrent.strategy.index.value].openStage + let portfolioEngineStage = portfolioEngine.portfolioCurrent.strategyOpenStage + let executionNode = portfolioSystemStage.openExecution + + /* Evaluate conditions and formulas so they are ready during the execution run */ + portfolioSystem.evalConditions(executionNode, 'Open Execution') + portfolioSystem.evalFormulas(executionNode, 'Open Execution') + + await portfolioExecutionModuleObject.runExecution( + executionNode, + portfolioEngineStage + ) + checkIfStageNeedsToBeClosed(portfolioEngineStage, portfolioSystemStage, 'Open Stage') + + /* User Defined Code if runWhileAtStage==true */ + if (portfolioEngine.portfolioCurrent.strategyOpenStage.status.value === 'Open') { + checkUserDefinedCode('Open Stage', 'Running', 'last'); + } + } + } + + async function runWhenStatusIsClosing() { + /* Closing Status Procedure */ + if (portfolioEngine.portfolioCurrent.strategyOpenStage.status.value === 'Closing') { + /* + During the closing stage status, we do not place new orders, just check + if the ones placed were filled, and cancel the ones not filled. + */ + let portfolioSystemStage = portfolioSystem.portfolioStrategies[portfolioEngine.portfolioCurrent.strategy.index.value].openStage + let executionNode = portfolioSystemStage.openExecution + + /* + Check if there are unfilled orders, we will check if they were executed, + and cancel the ones that were not. + */ + portfolioSystem.evalConditions(portfolioSystemStage, 'Open Execution') + portfolioSystem.evalFormulas(portfolioSystemStage, 'Open Execution') + + await portfolioExecutionModuleObject.runExecution( + executionNode, + portfolioEngine.portfolioCurrent.strategyOpenStage + ) + + /* + The Closing is finished when the sizeFilled + feesPaid reaches the sizePlaced. + This can happens either because we update the sizeFilled value when we see + at the exchange that orders were filled, or we reduce the sizePlaced when + we cancel not yet filled orders. Here it does not matter the targetSize since + this status represent a force closure of this stage. + */ + switch (portfolioEngine.portfolioCurrent.strategyOpenStage.stageDefinedIn.value) { + case 'Base Asset': { + if ( + portfolioEngine.portfolioCurrent.strategyOpenStage.stageBaseAsset.sizeFilled.value >= + portfolioEngine.portfolioCurrent.strategyOpenStage.stageBaseAsset.sizePlaced.value + ) { + changeStageStatus('Open Stage', 'Closed') + } + break + } + case 'Quoted Asset': { + if ( + portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.sizeFilled.value >= + portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.sizePlaced.value + ) { + changeStageStatus('Open Stage', 'Closed') + } + break + } + } + } + } + + function initializeStageTargetSize() { + /* + Validations that all needed nodes are there. + */ + if (portfolioEngine.portfolioCurrent.strategyOpenStage.stageBaseAsset === undefined) { badDefinitionUnhandledException(undefined, 'Stage Base Asset Node Missing', portfolioEngine.portfolioCurrent.strategyOpenStage) } + if (portfolioEngine.portfolioCurrent.strategyOpenStage.stageBaseAsset.targetSize === undefined) { badDefinitionUnhandledException(undefined, 'Target Size Node Missing', portfolioEngine.portfolioCurrent.strategyOpenStage.stageBaseAsset) } + if (portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset === undefined) { badDefinitionUnhandledException(undefined, 'Stage Quoted Asset Node Missing', portfolioEngine.portfolioCurrent.strategyOpenStage) } + if (portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.targetSize === undefined) { badDefinitionUnhandledException(undefined, 'Target Size Node Missing', portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset) } + /* + Here we will transform the position size into targets for each asset of the stage. + */ + portfolioEngine.portfolioCurrent.strategyOpenStage.stageBaseAsset.targetSize.value = portfolioEngine.portfolioCurrent.position.positionBaseAsset.entryTargetSize.value + portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.targetSize.value = portfolioEngine.portfolioCurrent.position.positionQuotedAsset.entryTargetSize.value + + portfolioEngine.portfolioCurrent.strategyOpenStage.stageBaseAsset.targetSize.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngine.portfolioCurrent.strategyOpenStage.stageBaseAsset.targetSize.value, 10) + portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.targetSize.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.targetSize.value, 10) + } + } + + function runManageStage() { + + if (portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.value !== 'First') { return } + + runWhenStatusIsOpening() + runWhenStatusIsOpen() + + function runWhenStatusIsOpening() { + /* Opening Status Procedure */ + if (portfolioEngine.portfolioCurrent.strategyManageStage.status.value === 'Opening') { + let strategy = portfolioSystem.portfolioStrategies[portfolioEngine.portfolioCurrent.strategy.index.value] + let manageStage = strategy.manageStage + + /* + The system allows the user not to define a Manage Stage, because the Manage Stage is optional. + Here we are going to see if that is the case and if it is, we will inmidiatelly consider + the Manage Stage as closed. + */ + if (manageStage === undefined) { + changeStageStatus('Manage Stage', 'Closed', 'Manage Stage Undefined') + if (portfolioEngine.portfolioCurrent.strategyOpenStage.status.value !== 'Open' && portfolioEngine.portfolioCurrent.strategyOpenStage.status.value !== 'Opening') { + changeStageStatus('Close Stage', 'Opening'); + } + return + } + + /* Now we switch to the Open status. */ + changeStageStatus('Manage Stage', 'Open') + } + } + + function runWhenStatusIsOpen() { + /* Open Status Procedure */ + if (portfolioEngine.portfolioCurrent.strategyManageStage.status.value === 'Open') { + checkUserDefinedCode('Manage Stage', 'Running', 'first'); + let strategy = portfolioSystem.portfolioStrategies[portfolioEngine.portfolioCurrent.strategy.index.value] + let manageStage = strategy.manageStage + + /* Evaluate all the stage conditions and formulas to have them ready */ + portfolioSystem.evalConditions(manageStage, 'Manage Stage') + portfolioSystem.evalFormulas(manageStage, 'Manage Stage') + + /* Stop Loss Management */ + checkStopPhasesEvents() + calculateStopLoss() + calculateStopLossPosition() + + /* Take Profit Management */ + checkTakeProfitPhaseEvents() + calculateTakeProfit() + calculateTakeProfitPosition() + + /* Checking if Stop or Take Profit were hit */ + checkStopLossOrTakeProfitWasHit() + + /* If User Defined Code exists check for runWhileAtStage */ + if (portfolioEngine.portfolioCurrent.strategyManageStage.status.value === 'Open') { + checkUserDefinedCode('Manage Stage', 'Running', 'last'); + } + } + + function calculateStopLoss() { + let strategy = portfolioSystem.portfolioStrategies[portfolioEngine.portfolioCurrent.strategy.index.value] + let manageStage = strategy.manageStage + let phase + + if (manageStage !== undefined) { + if (manageStage.managedStopLoss !== undefined) { + phase = manageStage.managedStopLoss.phases[portfolioEngine.portfolioCurrent.position.stopLoss.stopLossPhase.value - 1] + } + } + + if (phase !== undefined) { + if (phase.formula !== undefined) { + let previousValue = portfolioEngine.portfolioCurrent.position.stopLoss.value + portfolioPositionModuleObject.applyStopLossFormula(portfolioSystem.formulas, phase.formula.id) + + if (portfolioEngine.portfolioCurrent.position.stopLoss.value !== previousValue) { + announcementsModuleObject.makeAnnouncements(phase) + } + } + } + } + + function calculateTakeProfit() { + let strategy = portfolioSystem.portfolioStrategies[portfolioEngine.portfolioCurrent.strategy.index.value] + let manageStage = strategy.manageStage + let phase + + if (manageStage !== undefined) { + if (manageStage.managedTakeProfit !== undefined) { + phase = manageStage.managedTakeProfit.phases[portfolioEngine.portfolioCurrent.position.takeProfit.takeProfitPhase.value - 1] + } + } + + if (phase !== undefined) { + if (phase.formula !== undefined) { + let previousValue = portfolioEngine.portfolioCurrent.position.takeProfit.value + portfolioPositionModuleObject.applyTakeProfitFormula(portfolioSystem.formulas, phase.formula.id) + + if (portfolioEngine.portfolioCurrent.position.takeProfit.value !== previousValue) { + announcementsModuleObject.makeAnnouncements(phase) + } + } + } + } + + function calculateStopLossPosition() { + /* + The position of the Stop Loss (above or below the price) is needed in order to know + later if the price hit the Stop Loss or not at every Simulation candle. When we get + the first values of the simulation of the Stop Loss we check if it is above or below + the Position Rate, and we assign the values Above or Below to it. + */ + if (portfolioEngine.portfolioCurrent.position.stopLoss.stopLossPosition.value === portfolioEngine.portfolioCurrent.position.stopLoss.stopLossPosition.config.initialValue) { + if (portfolioEngine.portfolioCurrent.position.stopLoss.value > portfolioEngine.portfolioCurrent.position.entryTargetRate.value) { + portfolioEngine.portfolioCurrent.position.stopLoss.stopLossPosition.value = 'Above' + } else { + portfolioEngine.portfolioCurrent.position.stopLoss.stopLossPosition.value = 'Below' + } + } + } + + function calculateTakeProfitPosition() { + /* + The position of the Take Profit (above or below the price) is needed in order to know + later if the price hit the Take Profit or not at every Simulation candle. When we get + the first values of the simulation of the Take Profits we check if it is above or below + the Position Rates, and we assign the values Above or Below to it. + */ + if (portfolioEngine.portfolioCurrent.position.takeProfit.takeProfitPosition.value === portfolioEngine.portfolioCurrent.position.takeProfit.takeProfitPosition.config.initialValue) { + if (portfolioEngine.portfolioCurrent.position.takeProfit.value > portfolioEngine.portfolioCurrent.position.entryTargetRate.value) { + portfolioEngine.portfolioCurrent.position.takeProfit.takeProfitPosition.value = 'Above' + } else { + portfolioEngine.portfolioCurrent.position.takeProfit.takeProfitPosition.value = 'Below' + } + } + } + + function checkStopPhasesEvents() { + let strategy = portfolioSystem.portfolioStrategies[portfolioEngine.portfolioCurrent.strategy.index.value] + let manageStage = strategy.manageStage + let parentNode + let phaseIndex + let phase + let stopLoss + + if (manageStage !== undefined) { + if (manageStage.managedStopLoss !== undefined) { + parentNode = manageStage + phaseIndex = portfolioEngine.portfolioCurrent.position.stopLoss.stopLossPhase.value - 1 + stopLoss = manageStage.managedStopLoss + phase = stopLoss.phases[phaseIndex] + } + } + + if (parentNode !== undefined) { + if (phase === undefined) { return } // trying to jump to a phase that does not exists. + + /* Check the next Phase Event. */ + let nextPhaseEvent = phase.nextPhaseEvent + if (nextPhaseEvent !== undefined) { + for (let k = 0; k < nextPhaseEvent.situations.length; k++) { + let situation = nextPhaseEvent.situations[k] + let passed + if (situation.conditions.length > 0) { + passed = true + } + + passed = portfolioSystem.checkConditions(situation, passed) + + portfolioSystem.values.push([situation.id, passed]) + if (passed) { + portfolioSystem.highlights.push(situation.id) + portfolioSystem.highlights.push(nextPhaseEvent.id) + portfolioSystem.highlights.push(phase.id) + portfolioSystem.highlights.push(stopLoss.id) + portfolioSystem.highlights.push(parentNode.id) + portfolioSystem.highlights.push(manageStage.id) + + portfolioPositionModuleObject.updateStopLoss(portfolioEngine.portfolioCurrent.position.stopLoss.stopLossPhase.value + 1) + + announcementsModuleObject.makeAnnouncements(nextPhaseEvent) + + /* Reset this counter */ + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.nextPhase.value = 1 + return // only one event can pass at the time + } + } + } + + /* Check the Move to Phase Events. */ + for (let n = 0; n < phase.moveToPhaseEvents.length; n++) { + let moveToPhaseEvent = phase.moveToPhaseEvents[n] + if (moveToPhaseEvent !== undefined) { + for (let k = 0; k < moveToPhaseEvent.situations.length; k++) { + let situation = moveToPhaseEvent.situations[k] + let passed + if (situation.conditions.length > 0) { + passed = true + } + + passed = portfolioSystem.checkConditions(situation, passed) + + portfolioSystem.values.push([situation.id, passed]) + if (passed) { + portfolioSystem.highlights.push(situation.id) + portfolioSystem.highlights.push(moveToPhaseEvent.id) + portfolioSystem.highlights.push(phase.id) + portfolioSystem.highlights.push(stopLoss.id) + portfolioSystem.highlights.push(parentNode.id) + portfolioSystem.highlights.push(manageStage.id) + + let moveToPhase = moveToPhaseEvent.referenceParent + if (moveToPhase !== undefined) { + for (let q = 0; q < stopLoss.phases.length; q++) { + if (stopLoss.phases[q].id === moveToPhase.id) { + portfolioPositionModuleObject.updateStopLoss(q + 1) + } + } + } else { + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - Reference to Phase Node Missing', + placeholder: {} + } + + portfolioSystem.addError([moveToPhaseEvent.id, 'This Node needs to reference a Phase.', docs]) + continue + } + + announcementsModuleObject.makeAnnouncements(moveToPhaseEvent) + + /* Reset this counter */ + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.moveToPhase.value = 1 + return // only one event can pass at the time + } + } + } + } + } + } + + function checkTakeProfitPhaseEvents() { + let strategy = portfolioSystem.portfolioStrategies[portfolioEngine.portfolioCurrent.strategy.index.value] + let openStage = strategy.openStage + let manageStage = strategy.manageStage + let parentNode + let phaseIndex + let phase + let takeProfit + + if (manageStage !== undefined) { + if (manageStage.managedTakeProfit !== undefined) { + parentNode = manageStage + phaseIndex = portfolioEngine.portfolioCurrent.position.takeProfit.takeProfitPhase.value - 1 + takeProfit = manageStage.managedTakeProfit + phase = takeProfit.phases[phaseIndex] + } + } + + if (parentNode !== undefined) { + if (phase === undefined) { return } // trying to jump to a phase that does not exists. + + /* Check the next Phase Event. */ + let nextPhaseEvent = phase.nextPhaseEvent + if (nextPhaseEvent !== undefined) { + for (let k = 0; k < nextPhaseEvent.situations.length; k++) { + let situation = nextPhaseEvent.situations[k] + let passed + if (situation.conditions.length > 0) { + passed = true + } + + passed = portfolioSystem.checkConditions(situation, passed) + + portfolioSystem.values.push([situation.id, passed]) + if (passed) { + portfolioSystem.highlights.push(situation.id) + portfolioSystem.highlights.push(nextPhaseEvent.id) + portfolioSystem.highlights.push(phase.id) + portfolioSystem.highlights.push(takeProfit.id) + portfolioSystem.highlights.push(parentNode.id) + portfolioSystem.highlights.push(manageStage.id) + + portfolioPositionModuleObject.updateTakeProfit(portfolioEngine.portfolioCurrent.position.takeProfit.takeProfitPhase.value + 1) + + announcementsModuleObject.makeAnnouncements(nextPhaseEvent) + + /* Reset this counter */ + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.nextPhase.value = 1 + return // only one event can pass at the time + } + } + } + + /* Check the Move to Phase Events. */ + for (let n = 0; n < phase.moveToPhaseEvents.length; n++) { + let moveToPhaseEvent = phase.moveToPhaseEvents[n] + if (moveToPhaseEvent !== undefined) { + for (let k = 0; k < moveToPhaseEvent.situations.length; k++) { + let situation = moveToPhaseEvent.situations[k] + let passed + if (situation.conditions.length > 0) { + passed = true + } + + passed = portfolioSystem.checkConditions(situation, passed) + + portfolioSystem.values.push([situation.id, passed]) + if (passed) { + portfolioSystem.highlights.push(situation.id) + portfolioSystem.highlights.push(moveToPhaseEvent.id) + portfolioSystem.highlights.push(phase.id) + portfolioSystem.highlights.push(takeProfit.id) + portfolioSystem.highlights.push(parentNode.id) + portfolioSystem.highlights.push(manageStage.id) + + let moveToPhase = moveToPhaseEvent.referenceParent + if (moveToPhase !== undefined) { + for (let q = 0; q < takeProfit.phases.length; q++) { + if (takeProfit.phases[q].id === moveToPhase.id) { + portfolioPositionModuleObject.updateTakeProfit(q + 1) + } + } + } else { + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - Reference to Phase Node Missing', + placeholder: {} + } + + portfolioSystem.addError([moveToPhaseEvent.id, 'This Node needs to reference a Phase.', docs]) + continue + } + + announcementsModuleObject.makeAnnouncements(moveToPhaseEvent) + + /* Reset this counter */ + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.moveToPhase.value = 1 + return // only one event can pass at the time + } + } + } + } + } + } + + function checkStopLossOrTakeProfitWasHit() { + let strategy = portfolioSystem.portfolioStrategies[portfolioEngine.portfolioCurrent.strategy.index.value] + /* + Checking what happened since the last execution. We need to know if the Stop Loss + or our Take Profit were hit. + */ + + /* Stop Loss condition: Here we verify if the Stop Loss was hit or not. */ + if ( + ( + portfolioEngine.portfolioCurrent.position.stopLoss.stopLossPosition.value === 'Above' && + portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value >= portfolioEngine.portfolioCurrent.position.stopLoss.value + ) || + ( + portfolioEngine.portfolioCurrent.position.stopLoss.stopLossPosition.value === 'Below' && + portfolioEngine.portfolioCurrent.portfolioEpisode.candle.min.value <= portfolioEngine.portfolioCurrent.position.stopLoss.value + ) + ) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[INFO] checkStopLossOrTakeProfitWasHit -> Stop Loss was hit.') + + portfolioPositionModuleObject.closingPosition('Stop Loss') + changeStageStatus('Close Stage', 'Opening') + changeStageStatus('Manage Stage', 'Closed', 'Stop Loss Hit') + return + } + + /* Take Profit condition: Here we verify if the Take Profit was hit or not. */ + if ( + ( + portfolioEngine.portfolioCurrent.position.takeProfit.takeProfitPosition.value === 'Below' && + portfolioEngine.portfolioCurrent.portfolioEpisode.candle.min.value <= portfolioEngine.portfolioCurrent.position.takeProfit.value + ) || + ( + portfolioEngine.portfolioCurrent.position.takeProfit.takeProfitPosition.value === 'Above' && + portfolioEngine.portfolioCurrent.portfolioEpisode.candle.max.value >= portfolioEngine.portfolioCurrent.position.takeProfit.value + ) + ) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[INFO] checkStopLossOrTakeProfitWasHit -> Take Profit was hit.') + + portfolioPositionModuleObject.closingPosition('Take Profit') + changeStageStatus('Close Stage', 'Opening') + changeStageStatus('Manage Stage', 'Closed', 'Take Profit Hit') + return + } + return + } + } + } + + async function runCloseStage() { + + runWhenStatusIsOpening() + await runWhenStatusIsOpen() + await runWhenStatusIsClosing() + + function runWhenStatusIsOpening() { + + /* Opening Status Procedure */ + if (portfolioEngine.portfolioCurrent.strategyCloseStage.status.value === 'Opening') { + /* + The system allows the user not to define a close stage, because the close stage is optional. + Here we are goint to see if that is the case and if it is, we will inmidiatelly consider + the close stage as closed. + */ + if (portfolioSystem.portfolioStrategies[portfolioEngine.portfolioCurrent.strategy.index.value].closeStage === undefined) { + changeStageStatus('Close Stage', 'Closed', 'Close Stage Undefined') + return + } + + /* + This will happen only once, as soon as the Take Profit or Stop was hit. + */ + let portfolioSystemStage = portfolioSystem.portfolioStrategies[portfolioEngine.portfolioCurrent.strategy.index.value].closeStage + + /* Exit Position size and rate */ + portfolioSystem.evalFormulas(portfolioSystemStage, 'Initial Targets') + if (portfolioPositionModuleObject.initialTargets(portfolioSystemStage, portfolioEngine.portfolioCurrent.strategyCloseStage, 'Close Stage') === false) { + //console.log("No Close-Stage Target Asset to Trade: Strategy Closing."); + } + + initializeStageTargetSize() + changeStageStatus('Close Stage', 'Open') + } + } + + async function runWhenStatusIsOpen() { + /* + The following code will run only when the Open Stage is closed. + The reason for that is that we need the final filled size of the Open Stage + to be known before we start placing orders at the Close Stage. + */ + if ( + portfolioEngine.portfolioCurrent.strategyCloseStage.status.value === 'Open' && + ( + portfolioEngine.portfolioCurrent.strategyOpenStage.status.value === 'Closed' || + portfolioEngine.portfolioCurrent.strategyOpenStage.status.value === portfolioEngine.portfolioCurrent.strategyOpenStage.status.config.initialValue + ) + ) { + /* + This will happen as long as the Close Stage is Open. + */ + checkUserDefinedCode('Close Stage', 'Running', 'first'); + let portfolioSystemStage = portfolioSystem.portfolioStrategies[portfolioEngine.portfolioCurrent.strategy.index.value].closeStage + let portfolioEngineStage = portfolioEngine.portfolioCurrent.strategyCloseStage + let executionNode = portfolioSystemStage.closeExecution + + portfolioSystem.evalConditions(portfolioSystemStage, 'Close Execution') + portfolioSystem.evalFormulas(portfolioSystemStage, 'Close Execution') + + await portfolioExecutionModuleObject.runExecution( + executionNode, + portfolioEngine.portfolioCurrent.strategyCloseStage + ) + + checkIfStageNeedsToBeClosed(portfolioEngineStage, portfolioSystemStage, 'Close Stage') + /* If User Defined Code exists check for runWhileAtStage */ + if (portfolioEngine.portfolioCurrent.strategyCloseStage.status.value === 'Open') { + checkUserDefinedCode('Close Stage', 'Running', 'last'); + } + } + } + + async function runWhenStatusIsClosing() { + /* Closing Status Procedure */ + if (portfolioEngine.portfolioCurrent.strategyCloseStage.status.value === 'Closing') { + /* + During the closing stage status, we do not place new orders, just check + if the ones placed were filled, and cancel the ones not filled. + */ + let portfolioSystemStage = portfolioSystem.portfolioStrategies[portfolioEngine.portfolioCurrent.strategy.index.value].closeStage + let executionNode = portfolioSystemStage.closeExecution + + /* + Check if there are unfilled orders, we will check if they were executed, + and cancel the ones that were not. + */ + portfolioSystem.evalConditions(portfolioSystemStage, 'Close Execution') + portfolioSystem.evalFormulas(portfolioSystemStage, 'Close Execution') + + await portfolioExecutionModuleObject.runExecution( + executionNode, + portfolioEngine.portfolioCurrent.strategyCloseStage + ) + + /* + The Closing is finished when the sizeFilled + feesPaid reaches the sizePlaced. + This can happens either because we update the sizeFilled value when we see + at the exchange that orders were filled, or we reduce the sizePlaced when + we cancel not yet filled orders. Here it does not matter the targetSize since + this status represent a force closure of this stage. + */ + switch (portfolioEngine.portfolioCurrent.strategyCloseStage.stageDefinedIn.value) { + case 'Base Asset': { + if ( + portfolioEngine.portfolioCurrent.strategyCloseStage.stageBaseAsset.sizeFilled.value >= + portfolioEngine.portfolioCurrent.strategyCloseStage.stageBaseAsset.sizePlaced.value + ) { + changeStageStatus('Close Stage', 'Closed') + } + break + } + case 'Quoted Asset': { + if ( + portfolioEngine.portfolioCurrent.strategyCloseStage.stageQuotedAsset.sizeFilled.value >= + portfolioEngine.portfolioCurrent.strategyCloseStage.stageQuotedAsset.sizePlaced.value + ) { + changeStageStatus('Close Stage', 'Closed') + } + break + } + } + } + } + + function initializeStageTargetSize() { + /* + Validations that all needed nodes are there. + */ + if (portfolioEngine.portfolioCurrent.strategyCloseStage.stageBaseAsset === undefined) { badDefinitionUnhandledException(undefined, 'Stage Base Asset Node Missing', portfolioEngine.portfolioCurrent.strategyCloseStage) } + if (portfolioEngine.portfolioCurrent.strategyCloseStage.stageBaseAsset.targetSize === undefined) { badDefinitionUnhandledException(undefined, 'Target Size Node Missing', portfolioEngine.portfolioCurrent.strategyCloseStage.stageBaseAsset) } + if (portfolioEngine.portfolioCurrent.strategyCloseStage.stageQuotedAsset === undefined) { badDefinitionUnhandledException(undefined, 'Stage Quoted Asset Node Missing', portfolioEngine.portfolioCurrent.strategyCloseStage) } + if (portfolioEngine.portfolioCurrent.strategyCloseStage.stageQuotedAsset.targetSize === undefined) { badDefinitionUnhandledException(undefined, 'Target Size Node Missing', portfolioEngine.portfolioCurrent.strategyCloseStage.stageQuotedAsset) } + /* + Here we will transform the position size into targets for each asset of the stage. + */ + portfolioEngine.portfolioCurrent.strategyCloseStage.stageBaseAsset.targetSize.value = portfolioEngine.portfolioCurrent.position.positionBaseAsset.exitTargetSize.value + portfolioEngine.portfolioCurrent.strategyCloseStage.stageQuotedAsset.targetSize.value = portfolioEngine.portfolioCurrent.position.positionQuotedAsset.exitTargetSize.value + + portfolioEngine.portfolioCurrent.strategyCloseStage.stageBaseAsset.targetSize.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngine.portfolioCurrent.strategyCloseStage.stageBaseAsset.targetSize.value, 10) + portfolioEngine.portfolioCurrent.strategyCloseStage.stageQuotedAsset.targetSize.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(portfolioEngine.portfolioCurrent.strategyCloseStage.stageQuotedAsset.targetSize.value, 10) + } + } + + function exitPositionValidation() { + /* + Exit Position Validation: we need all the previous stages to be either closed + or at their initial default value. The last is because after Closed objects are + initialized to their defaults. + */ + if (portfolioEngine.portfolioCurrent.position.status.value !== 'Open' && portfolioEngine.portfolioCurrent.position.status.value !== 'Closing') { return } + if (portfolioEngine.portfolioCurrent.position.status.value !== 'Close' && portfolioEngine.portfolioCurrent.position.status.value !== 'Closing') { return } + if ( + ( + portfolioEngine.portfolioCurrent.strategyTriggerStage.status.value === 'Closed' || + portfolioEngine.portfolioCurrent.strategyTriggerStage.status.value === portfolioEngine.portfolioCurrent.strategyTriggerStage.status.config.initialValue + ) + && + ( + portfolioEngine.portfolioCurrent.strategyOpenStage.status.value === 'Closed' || + portfolioEngine.portfolioCurrent.strategyOpenStage.status.value === portfolioEngine.portfolioCurrent.strategyOpenStage.status.config.initialValue + ) + && + ( + portfolioEngine.portfolioCurrent.strategyManageStage.status.value === 'Closed' || + portfolioEngine.portfolioCurrent.strategyManageStage.status.value === portfolioEngine.portfolioCurrent.strategyManageStage.status.config.initialValue + ) + && + ( + portfolioEngine.portfolioCurrent.strategyCloseStage.status.value === 'Closed' + ) + ) { + + /* Closing Everything now. */ + closePositionAndStrategy() + + function closePositionAndStrategy() { + /* Taking Position Snapshot */ + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type === 'Backtesting Session') { + if (sessionParameters.snapshots !== undefined) { + if (sessionParameters.snapshots.config.position === true) { + snapshotsModuleObject.positionExit() + } + } + } + + /* Taking Strategy Snapshot */ + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type === 'Backtesting Session') { + if (sessionParameters.snapshots !== undefined) { + if (sessionParameters.snapshots.config.strategy === true) { + snapshotsModuleObject.strategyExit() + } + } + } + + /* Close the Position */ + portfolioPositionModuleObject.closePosition() + + /* Close the Strategy */ + portfolioStrategyModuleObject.closeStrategy('Position Closed') + + /* Distance-To-Portfolio-Events Updates */ + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.closePosition.value = 1 + portfolioEngine.portfolioCurrent.portfolioEpisode.distanceToPortfolioEvent.triggerOff.value = 1 + + } + } + } + + function checkIfStageNeedsToBeClosed(portfolioEngineStage, portfolioSystemStage, stageName) { + /* + The Stage is closed when the fillSize + feesPaid reaches the targetSize. + + The Target Size is defined by the end user either in Base Asset or Quoted Asset. + Whatever the user chooses defines also the way we check if the Target was met. + Why? Because the counterparty target is estimated with the Target Rate and it + is not syncronized with the reality we later learn when the exchange tell us the + actual rate each of the orders where executed at. + + For the same reason that the user does not know exactly which is the rate the orders + will actually be filled, then we can not expect that the total filled will really + reach the target size, so we introduce a rounding factor so that when it is close + enough we will consider the target to have been reached. + */ + let ROUNDING_ERROR_CORRECTION_FACTOR = 1.001 + /* + Overwrite the default with the config at the Stage node, if exists. + */ + if (portfolioSystemStage.config.roundingErrorCorrectionFactor !== undefined) { + ROUNDING_ERROR_CORRECTION_FACTOR = portfolioSystemStage.config.roundingErrorCorrectionFactor + } + /* + We will also implement a mechanism to allow users declare an absolute value to add + to the Size Filled before checking it againt the Stage Target Size. + */ + let ABSOLUTE_DUST_IN_BASE_ASSET = 0 + if (portfolioSystemStage.config.absoluteDustInBaseAsset !== undefined) { + ABSOLUTE_DUST_IN_BASE_ASSET = portfolioSystemStage.config.absoluteDustInBaseAsset + } + let ABSOLUTE_DUST_IN_QUOTED_ASSET = 0 + if (portfolioSystemStage.config.absoluteDustInQuotedAsset !== undefined) { + ABSOLUTE_DUST_IN_QUOTED_ASSET = portfolioSystemStage.config.absoluteDustInQuotedAsset + } + + if ( + portfolioEngineStage.stageBaseAsset.sizeFilled.value + * + ROUNDING_ERROR_CORRECTION_FACTOR + + + ABSOLUTE_DUST_IN_BASE_ASSET + >= + portfolioEngineStage.stageBaseAsset.targetSize.value + ) { + positionFilled() + } else if ( + portfolioEngineStage.stageQuotedAsset.sizeFilled.value + * + ROUNDING_ERROR_CORRECTION_FACTOR + + + ABSOLUTE_DUST_IN_QUOTED_ASSET + >= + portfolioEngineStage.stageQuotedAsset.targetSize.value + ) { + positionFilled() + } else { + checkCloseStageEvent(portfolioSystemStage) + } + + function positionFilled() { + changeStageStatus(stageName, 'Closed', 'Position Size Filled') + } + + function checkCloseStageEvent(portfolioSystemStage) { + /* Check the Close Stage Event */ + portfolioSystem.evalConditions(portfolioSystemStage, 'Close Stage Event') + if (checkStopStageEvent(portfolioSystemStage) === true) { + changeStageStatus(stageName, 'Closing', 'Close Stage Event') + } + } + } + + function checkStopStageEvent(stage) { + /* Check the Close Stage Event. */ + let closeStageEvent = stage.closeStageEvent + if (closeStageEvent !== undefined) { + for (let k = 0; k < closeStageEvent.situations.length; k++) { + let situation = closeStageEvent.situations[k] + let passed + if (situation.conditions.length > 0) { + passed = true + } + + passed = portfolioSystem.checkConditions(situation, passed) + + portfolioSystem.values.push([situation.id, passed]) + if (passed) { + portfolioSystem.highlights.push(situation.id) + portfolioSystem.highlights.push(closeStageEvent.id) + portfolioSystem.highlights.push(stage.id) + + announcementsModuleObject.makeAnnouncements(closeStageEvent) + return true + } + } + } + } + + function changeStageStatus(stageName, newStatus, exitType) { + let stage + switch (stageName) { + case 'Trigger Stage': { + stage = portfolioEngine.portfolioCurrent.strategyTriggerStage + break + } + case 'Open Stage': { + stage = portfolioEngine.portfolioCurrent.strategyOpenStage + break + } + case 'Manage Stage': { + stage = portfolioEngine.portfolioCurrent.strategyManageStage + break + } + case 'Close Stage': { + stage = portfolioEngine.portfolioCurrent.strategyCloseStage + break + } + } + stage.status.value = newStatus + if (exitType !== undefined) { + stage.exitType.value = exitType + } + if (stage.status.value === 'Open') { + openStage(stage) + checkUserDefinedCode(stageName, 'Open') + checkAnnounce(stageName, 'Open') + } + if (stage.status.value === 'Closed') { + checkUserDefinedCode(stageName, 'Closed') + checkAnnounce(stageName, 'Closed') + closeStage(stage, stageName) + } + + /* + The way the begining and end of the Stages object works is as follows: + This object begins with the last cycle, that is the current cycle diplaced + backwards to the current candle. And it ends at the end of the last cycle. + During mantainance, we add the time frame of the candle, since we assume it + will survive the 2 cycles without the end being updated. If it closes, + then we update the end to the end of the last cycle, overrinding the + mantainance if needed. If we assume that in the same cycle there will be + no closing and opening of the same type of object, then there can be no + overlap. + */ + function openStage(stage) { + /* Recording the opening at the Portfolio Engine Data Structure */ + stage.begin.value = portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.lastBegin.value + stage.end.value = portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.lastEnd.value + stage.beginRate.value = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value + } + + function closeStage(stage, stageName) { + /* Recording the closing at the Portfolio Engine Data Structure */ + stage.end.value = portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.lastEnd.value + stage.endRate.value = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value + + if (stageName === 'Open Stage') { + if (portfolioEngine.portfolioCurrent.strategyCloseStage.status.value !== 'Opening' && portfolioEngine.portfolioCurrent.strategyCloseStage.status.value !== 'Open' && + portfolioEngine.portfolioCurrent.strategyManageStage.status.value !== 'Opening' && portfolioEngine.portfolioCurrent.strategyManageStage.status.value !== 'Open') { + changeStageStatus('Close Stage', 'Opening'); + } + } + if (stageName === 'Close Stage') { + if (portfolioEngine.portfolioCurrent.position.status.value === 'Open') { + portfolioPositionModuleObject.closingPosition('Close Stage Closed') + } + } + } + } + + function updateEnds() { + /* + Note that we can not use the cycle here because this is executed via mantain + which in turn is executed before the first cycle for this candle is set. + */ + if (portfolioEngine.portfolioCurrent.strategyTriggerStage.status.value === 'Open') { + portfolioEngine.portfolioCurrent.strategyTriggerStage.end.value = portfolioEngine.portfolioCurrent.strategyTriggerStage.end.value + sessionParameters.timeFrame.config.value + portfolioEngine.portfolioCurrent.strategyTriggerStage.endRate.value = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value + } + if (portfolioEngine.portfolioCurrent.strategyOpenStage.status.value === 'Open') { + portfolioEngine.portfolioCurrent.strategyOpenStage.end.value = portfolioEngine.portfolioCurrent.strategyOpenStage.end.value + sessionParameters.timeFrame.config.value + portfolioEngine.portfolioCurrent.strategyOpenStage.endRate.value = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value + } + if (portfolioEngine.portfolioCurrent.strategyManageStage.status.value === 'Open') { + portfolioEngine.portfolioCurrent.strategyManageStage.end.value = portfolioEngine.portfolioCurrent.strategyManageStage.end.value + sessionParameters.timeFrame.config.value + portfolioEngine.portfolioCurrent.strategyManageStage.endRate.value = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value + } + if (portfolioEngine.portfolioCurrent.strategyCloseStage.status.value === 'Open') { + portfolioEngine.portfolioCurrent.strategyCloseStage.end.value = portfolioEngine.portfolioCurrent.strategyCloseStage.end.value + sessionParameters.timeFrame.config.value + portfolioEngine.portfolioCurrent.strategyCloseStage.endRate.value = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value + } + } + + function resetPortfolioEngineDataStructure() { + if (portfolioEngine.portfolioCurrent.strategyTriggerStage.status.value === 'Closed') { + resetStage(portfolioEngine.portfolioCurrent.strategyTriggerStage.status) + } + if (portfolioEngine.portfolioCurrent.strategyOpenStage.status.value === 'Closed') { + resetStage(portfolioEngine.portfolioCurrent.strategyOpenStage.status) + } + if (portfolioEngine.portfolioCurrent.strategyManageStage.status.value === 'Closed') { + resetStage(portfolioEngine.portfolioCurrent.strategyManageStage.status) + } + if (portfolioEngine.portfolioCurrent.strategyCloseStage.status.value === 'Closed') { + resetStage(portfolioEngine.portfolioCurrent.strategyCloseStage.status) + } + + if (portfolioEngine.portfolioCurrent.position.status.value === 'Closed') { + resetStage(portfolioEngine.portfolioCurrent.strategyTriggerStage) + resetStage(portfolioEngine.portfolioCurrent.strategyOpenStage) + resetStage(portfolioEngine.portfolioCurrent.strategyManageStage) + resetStage(portfolioEngine.portfolioCurrent.strategyCloseStage) + } + function resetStage(stage) { + TS.projects.foundations.globals.processModuleObjects.MODULE_OBJECTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_MODULE_OBJECT.initializeNode(stage) + } + } + + function updateCounters() { + + } + + function updateStatistics() { + + } + + function badDefinitionUnhandledException(err, message, node) { + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - ' + message, + placeholder: {} + } + + portfolioSystem.addError([node.id, message, docs]) + + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] -> " + message); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] -> node.name = " + node.name); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] -> node.type = " + node.type); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] -> node.config = " + JSON.stringify(node.config)); + if (err !== undefined) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] -> err.stack = " + err.stack); + } + throw 'Error Already Recorded' + } + + /* checkUserDefinedCode(): Checks if User Defined Code exists and processes if applicable. */ + function checkUserDefinedCode(stage, status, when) { + let portfolioSystemStage = getPortfolioSystemStage(stage); + + if (portfolioSystemStage !== undefined && + portfolioSystemStage.userDefinedCode !== undefined) { + if (status === 'Running' && when !== portfolioSystemStage.userDefinedCode.config.whileAtStageWhenToRun) { return; } + + switch(status) { + case 'Open' : { + if (portfolioSystemStage.userDefinedCode.config.runWhenEnteringStage) { + portfolioSystem.evalUserCode(portfolioSystemStage, 'User Defined Code'); + } + break; + } + case 'Running' : { + if (portfolioSystemStage.userDefinedCode.config.runWhileAtStage) { + portfolioSystem.evalUserCode(portfolioSystemStage, 'User Defined Code'); + } + break; + } + case 'Closed' : { + if (portfolioSystemStage.userDefinedCode.config.runWhenExitingStage) { + portfolioSystem.evalUserCode(portfolioSystemStage, 'User Defined Code'); + } + break; + } + } + } + } + + // checkAnnounce(): Check if stage announcement should be made + function checkAnnounce(stage, status) { + let portfolioSystemStage = getPortfolioSystemStage(stage); + if (status === 'Open' || status === 'Closed') { + announcementsModuleObject.makeAnnouncements(portfolioSystemStage, status) + } + } + + /* getPortfolioSystemStage(): takes stage name returns stage object. */ + function getPortfolioSystemStage(stage) { + switch(stage) { + case 'Trigger Stage' : { + return portfolioSystem.portfolioStrategies[portfolioEngine.portfolioCurrent.strategy.index.value].triggerStage; + break; + } + case 'Open Stage' : { + return portfolioSystem.portfolioStrategies[portfolioEngine.portfolioCurrent.strategy.index.value].openStage; + break; + } + case 'Manage Stage' : { + return portfolioSystem.portfolioStrategies[portfolioEngine.portfolioCurrent.strategy.index.value].manageStage; + break + } + case 'Close Stage' : { + return portfolioSystem.portfolioStrategies[portfolioEngine.portfolioCurrent.strategy.index.value].closeStage; + break; + } + } + } +} diff --git a/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioStrategy.js b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioStrategy.js new file mode 100644 index 000000000..0b98021bb --- /dev/null +++ b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioStrategy.js @@ -0,0 +1,87 @@ +exports.newPortfolioManagementBotModulesPortfolioStrategy = function (processIndex) { + /* + This module packages all functions related to Strategies. + */ + + let thisObject = { + mantain: mantain, + reset: reset, + openStrategy: openStrategy, + closeStrategy: closeStrategy, + initialize: initialize, + finalize: finalize + } + + let portfolioEngine + let sessionParameters + + return thisObject + + function initialize() { + portfolioEngine = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioEngine + sessionParameters = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters + } + + function finalize() { + portfolioEngine = undefined + sessionParameters = undefined + } + + function mantain() { + updateCounters() + updateEnds() + } + + function reset() { + resetPortfolioEngineDataStructure() + } + + function openStrategy(index, situationName, strategyName) { + /* Starting begin and end */ + portfolioEngine.portfolioCurrent.strategy.begin.value = portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.lastBegin.value + portfolioEngine.portfolioCurrent.strategy.end.value = portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.lastEnd.value + + /* Recording the opening at the Portfolio Engine Data Structure */ + portfolioEngine.portfolioCurrent.strategy.status.value = 'Open' + portfolioEngine.portfolioCurrent.strategy.serialNumber.value = portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeCounters.strategies.value + portfolioEngine.portfolioCurrent.strategy.identifier.value = SA.projects.foundations.utilities.miscellaneousFunctions.genereteUniqueId() + portfolioEngine.portfolioCurrent.strategy.beginRate.value = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.min.value + + portfolioEngine.portfolioCurrent.strategy.index.value = index + portfolioEngine.portfolioCurrent.strategy.situationName.value = situationName + portfolioEngine.portfolioCurrent.strategy.strategyName.value = strategyName + + /* Updating Episode Counters */ + portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeCounters.strategies.value++ + } + + function closeStrategy(exitType) { + portfolioEngine.portfolioCurrent.strategy.status.value = 'Closed' + portfolioEngine.portfolioCurrent.strategy.exitType.value = exitType + portfolioEngine.portfolioCurrent.strategy.end.value = portfolioEngine.portfolioCurrent.portfolioEpisode.cycle.lastEnd.value + portfolioEngine.portfolioCurrent.strategy.endRate.value = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.min.value + /* + Now that the strategy is closed, it is the right time to move this strategy from current to last at the Portfolio Engine data structure. + */ + TS.projects.foundations.globals.processModuleObjects.MODULE_OBJECTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_MODULE_OBJECT.cloneValues(portfolioEngine.portfolioCurrent.strategy, portfolioEngine.portfolioLast.strategy) + } + + function updateEnds() { + if (portfolioEngine.portfolioCurrent.strategy.status.value === 'Open') { + portfolioEngine.portfolioCurrent.strategy.end.value = portfolioEngine.portfolioCurrent.strategy.end.value + sessionParameters.timeFrame.config.value + portfolioEngine.portfolioCurrent.strategy.endRate.value = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value + } + } + + function resetPortfolioEngineDataStructure() { + if (portfolioEngine.portfolioCurrent.strategy.status.value === 'Closed') { + TS.projects.foundations.globals.processModuleObjects.MODULE_OBJECTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_MODULE_OBJECT.initializeNode(portfolioEngine.portfolioCurrent.strategy) + } + } + + function updateCounters() { + if (portfolioEngine.portfolioCurrent.strategy.status.value === 'Open') { + portfolioEngine.portfolioCurrent.strategy.strategyCounters.periods.value++ + } + } +} \ No newline at end of file diff --git a/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioSystem.js b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioSystem.js new file mode 100644 index 000000000..e465f7873 --- /dev/null +++ b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/PortfolioSystem.js @@ -0,0 +1,451 @@ +exports.newPortfolioManagementBotModulesPortfolioSystem = function (processIndex) { + /* + The Portfolio System is the user defined set of rules compliant with the Portfolio Protocol that + defines the portfolio logic to be applied during each cycle of the Simulation. + */ + const MODULE_NAME = 'Portfolio System' + let thisObject = { + mantain: mantain, + reset: reset, + run: run, + updateChart: updateChart, + initialize: initialize, + finalize: finalize + } + + /* + These 3 are the main data structures available to users + when writing conditions and formulas. + */ + let chart + let exchange + let market + + let portfolioSystem + let portfolioEngine + let sessionParameters + let dynamicIndicators + + let portfolioStagesModuleObject = TS.projects.portfolioManagement.botModules.portfolioStages.newPortfolioManagementBotModulesPortfolioStages(processIndex) + + let taskParameters = { + market: TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.baseAsset.referenceParent.config.codeName + + '/' + + TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.quotedAsset.referenceParent.config.codeName + } + return thisObject + + function initialize() { + portfolioSystem = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioSystem + portfolioEngine = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioEngine + sessionParameters = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters + + portfolioSystem.conditions = new Map() + portfolioSystem.formulas = new Map() + + portfolioStagesModuleObject.initialize() + + /* Adding Functions used elsewhere to Portfolio System Definition */ + portfolioSystem.checkConditions = function (situation, passed) { + /* Given a Situation, we check if all children conditions are true or not */ + for (let m = 0; m < situation.conditions.length; m++) { + + let condition = situation.conditions[m] + let value = false + if (portfolioSystem.conditions.get(condition.id) !== undefined) { + value = portfolioSystem.conditions.get(condition.id) + } + if (value === true) { + portfolioSystem.highlights.push(condition.id) + } + else { + passed = false + } + portfolioSystem.values.push([condition.id, value]) + } + return passed + } + + portfolioSystem.evalConditions = function (startingNode, descendentOfNodeType) { + evalNode(startingNode, 'Conditions', descendentOfNodeType) + } + + portfolioSystem.evalFormulas = function (startingNode, descendentOfNodeType) { + evalNode(startingNode, 'Formulas', descendentOfNodeType) + } + + portfolioSystem.evalUserCode = function (startingNode, descendentOfNodeType) { + evalNode(startingNode, 'User Codes', descendentOfNodeType); + } + + portfolioSystem.addError = function (errorDataArray) { + /* + This function adds to the array of error info a rate. + This rate will later help plotting the error at the + charts. + */ + let rate = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value + errorDataArray.push(rate) + portfolioSystem.errors.push(errorDataArray) + } + + portfolioSystem.addWarning = function (warningDataArray) { + /* + This function adds to the array of warning info a rate. + This rate will later help plotting the warning at the + charts. + */ + let rate = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value + warningDataArray.push(rate) + portfolioSystem.warnings.push(warningDataArray) + } + + portfolioSystem.addInfo = function (infoDataArray) { + /* + This function adds to the array of warning info a rate. + This rate will later help plotting the warning at the + charts. + */ + let rate = portfolioEngine.portfolioCurrent.portfolioEpisode.candle.close.value + infoDataArray.push(rate) + portfolioSystem.infos.push(infoDataArray) + } + + function isItInside(elementWithTimestamp, elementWithBeginEnd) { + /* + The function is to allow in Conditions and Formulas to easily + know when an element with timestamp (like the ones of + single files) are inside the time range + of an element with a time range, like a candle. + */ + if (elementWithTimestamp.timestamp >= elementWithBeginEnd.begin && elementWithTimestamp.timestamp <= elementWithBeginEnd.end) { + return true + } else { + return false + } + } + } + + function finalize() { + portfolioStagesModuleObject.finalize() + portfolioStagesModuleObject = undefined + + chart = undefined + exchange = undefined + market = undefined + + portfolioSystem.conditions = undefined + portfolioSystem.formulas = undefined + + portfolioSystem.highlights = undefined + portfolioSystem.errors = undefined + portfolioSystem.warnings = undefined + portfolioSystem.infos = undefined + portfolioSystem.values = undefined + portfolioSystem.status = undefined + portfolioSystem.progress = undefined + portfolioSystem.running = undefined + + portfolioSystem = undefined + portfolioEngine = undefined + sessionParameters = undefined + taskParameters = undefined + } + + function mantain() { + portfolioStagesModuleObject.mantain() + } + + function reset() { + portfolioStagesModuleObject.reset() + + portfolioSystem.highlights = [] + portfolioSystem.errors = [] + portfolioSystem.warnings = [] + portfolioSystem.infos = [] + portfolioSystem.values = [] + portfolioSystem.status = [] + portfolioSystem.progress = [] + portfolioSystem.running = [] + portfolioSystem.announcements = [] + } + + function updateChart(pChart, pExchange, pMarket) { + /* + We need these 3 data structures to be a local objects + accessible while evaluating conditions and formulas. + */ + chart = pChart + exchange = pExchange + market = pMarket + + portfolioStagesModuleObject.updateChart(pChart, pExchange, pMarket) + } + + function buildDynamicIndicators() { + if (portfolioSystem.dynamicIndicators !== undefined) { + dynamicIndicators = {} + /* Eval Dynamic Indicators */ + portfolioSystem.evalFormulas(portfolioSystem.dynamicIndicators, 'Indicator Function') + + for (let i = 0; i < portfolioSystem.dynamicIndicators.indicatorFunctions.length; i++) { + let indicatorFunction = portfolioSystem.dynamicIndicators.indicatorFunctions[i] + if (indicatorFunction.formula === undefined) { return } + if (indicatorFunction.config.codeName === undefined) { return } + dynamicIndicators[indicatorFunction.config.codeName] = portfolioSystem.formulas.get(indicatorFunction.formula.id) + } + } + } + + async function run() { + try { + /* Dynamic Indicators */ + buildDynamicIndicators() + + /* Run the Trigger Stage */ + portfolioStagesModuleObject.runTriggerStage() + + /* Run the Open Stage */ + await portfolioStagesModuleObject.runOpenStage() + + /* Run the Manage Stage */ + portfolioStagesModuleObject.runManageStage() + + /* Run the Close Stage */ + await portfolioStagesModuleObject.runCloseStage() + + /* Validation if we need to exit the position */ + portfolioStagesModuleObject.exitPositionValidation() + + portfolioStagesModuleObject.cycleBasedStatistics() + + } catch (err) { + /* + If an error ocurred during execution, it was alreeady logged and + included at the errors array. That means we need to do nothing here, + just prevent the execution to be halted for not handling exceptions. + */ + if (typeof err === 'string' || err instanceof String) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] runExecution -> err = ' + err) + } + if (err.stack !== undefined) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] runExecution -> err = ' + err.stack) + } + } + } + + function evalNode(node, evaluating, descendentOfNodeType, isDescendent) { + if (node === undefined) { return } + + /* Verify if this node is decendent of the specified node type */ + if (isDescendent !== true) { + if (node.type === descendentOfNodeType) { + isDescendent = true + } + } + + /* Here we check if there is a codition to be evaluated */ + if (node.type === 'Condition' && evaluating === 'Conditions') { + /* We will eval this condition */ + if (isDescendent === true) { + evalCondition(node) + } + } + + /* Here we check if there is a formula to be evaluated */ + if ((node.type === 'Formula' || node.type === 'Announcement Formula') && evaluating === 'Formulas') { + if (node.code !== undefined) { + /* We will eval this formula */ + if (isDescendent === true) { + evalFormula(node) + } + } + } + + /* Here we check if there is a User Defined-Javascript Code to be evaluated: */ + if (node.type === 'Javascript Code' && evaluating === 'User Codes') { + if (node.code !== undefined) { + if (isDescendent === true) { + evalJSCode(node); + } + } + } + + /* Now we go down through all this node children */ + let schemaDocument = TS.projects.foundations.globals.taskConstants.APP_SCHEMA_MAP.get(node.project + '-' + node.type) + if (schemaDocument === undefined) { return } + + if (schemaDocument.childrenNodesProperties !== undefined) { + let previousPropertyName // Since there are cases where there are many properties with the same name,because they can hold nodes of different types but only one at the time, we have to avoind counting each property of those as individual children. + for (let i = 0; i < schemaDocument.childrenNodesProperties.length; i++) { + let property = schemaDocument.childrenNodesProperties[i] + + switch (property.type) { + case 'node': { + if (property.name !== previousPropertyName) { + if (node[property.name] !== undefined) { + evalNode(node[property.name], evaluating, descendentOfNodeType, isDescendent) + } + previousPropertyName = property.name + } + break + } + case 'array': { + if (node[property.name] !== undefined) { + let nodePropertyArray = node[property.name] + for (let m = 0; m < nodePropertyArray.length; m++) { + evalNode(nodePropertyArray[m], evaluating, descendentOfNodeType, isDescendent) + } + } + break + } + } + } + } + } + + function evalCondition(node) { + let value + let errorMessage + let docs + /* + The code can be at the condition node if it was done with the Conditions Editor, or it can also be + at a Javascript Code node. If there is a Javascript object we will give it preference and take the code + from there. Otherwise we will take the code from the Condition node. + */ + let code = node.code + let nodeName = node.name + if (node.javascriptCode !== undefined) { + if (node.javascriptCode.code !== undefined) { + code = node.javascriptCode.code + nodeName = node.javascriptCode.name + } + } + + try { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[INFO] evalCondition -> ' + node.name + ' -> code = ' + code) + value = eval(code) + } catch (err) { + /* + One possible error is that the conditions references a .previous that is undefined. This + will not be considered an error. + */ + value = false + errorMessage = err.message + docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - Evaluating Condition Error', + placeholder: {} + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, err, nodeName, code, undefined) + } + + portfolioSystem.conditions.set(node.id, value) + + if (value === true) { + portfolioSystem.highlights.push(node.id) + } + if (errorMessage !== undefined) { + portfolioSystem.addError([node.id, errorMessage, docs]) + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] evalCondition -> errorMessage = ' + errorMessage) + } + if (value !== undefined) { + portfolioSystem.values.push([node.id, value]) + } + + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[INFO] evalCondition -> value = ' + value) + } + + function evalFormula(node) { + let value + let errorMessage + let docs + + try { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[INFO] evalFormula -> ' + node.name + ' -> code = ' + node.code) + value = eval(node.code) + } catch (err) { + /* + One possible error is that the formula references a .previous that is undefined. This + will not be considered an error. + */ + value = 0 + errorMessage = err.message + docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - Evaluating Formula Error', + placeholder: {} + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, err, node.name, node.code, undefined) + } + + if (errorMessage !== undefined) { + portfolioSystem.addError([node.id, errorMessage, docs]) + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[INFO] evalFormula -> errorMessage = ' + errorMessage) + return + } else { + if (value !== undefined) { + if (node.type === 'Formula' && isNaN(value)) { + + docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - Formula Value Not A Number', + placeholder: {} + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, node.name, node.code, undefined, value) + + portfolioSystem.addError([node.id, 'Formula needs to return a numeric value.', docs]) + return + } + + portfolioSystem.values.push([node.id, value]) + portfolioSystem.formulas.set(node.id, value) + } else { + + docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - Formula Value Not A Number', + placeholder: {} + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, undefined, node.name, node.code, undefined, value) + + portfolioSystem.addError([node.id, 'Formula needs to return a numeric value.', docs]) + return + + } + } + + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[INFO] evalFormula -> value = ' + value) + } + + function evalJSCode(node) { + let value + let errorMessage + let docs + + try { + value = eval(node.code); + + } catch (err) { + value = 0 + errorMessage = err.message + docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - Evaluating User Code Error', + placeholder: {} + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, err, node.name, node.code, undefined) + } + + if (errorMessage !== undefined) { + portfolioSystem.addError([node.id, errorMessage, docs]) + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[INFO] evalFormula -> errorMessage = ' + errorMessage) + return + } + } +} \ No newline at end of file diff --git a/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/Snapshots.js b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/Snapshots.js new file mode 100644 index 000000000..6b96cb0a5 --- /dev/null +++ b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/Low-Frequency-Portfolio/Snapshots.js @@ -0,0 +1,481 @@ +exports.newPortfolioManagementBotModulesSnapshots = function(processIndex) { + /* + This module encapsulates the snapshots functionality. + */ + const MODULE_NAME = 'Snapshots' + + let thisObject = { + updateChart: updateChart, + strategyEntry: strategyEntry, + strategyExit: strategyExit, + positionEntry: positionEntry, + positionExit: positionExit, + addCodeToSnapshot: addCodeToSnapshot, + initialize: initialize, + finalize: finalize + } + + let portfolioEngine + let portfolioSystem + let sessionParameters + + const SNAPSHOTS_FOLDER_NAME = 'Snapshots' + + /* Snapshots of Strategies and Positions */ + let snapshots = { + headers: [], + strategies: [], + positions: [] + } + + let positionKeys = new Map() // This is to prevent adding the same indicator / variable to the output collection. + let strategyKeys = new Map() + let createHeaders = true // This is going to be true only once + let createCloseHeaders = true // This is going to be true only once + let closeValues + let strategyValues + let addToStrategyValues + let positionValues + let addToPositionValues + let snapshotAvailable = false + + /* + These 3 are the main data structures available to users + when writing conditions and formulas. + */ + let chart + let exchange + let market + + return thisObject + + function initialize() { + portfolioEngine = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioEngine + portfolioSystem = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.portfolioSystem + sessionParameters = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters + // first trade forces overwrite of the existing file + if (portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeCounters.positions.value > 1) { + snapshotAvailable = true + createHeaders = false // This is going to be true only once + createCloseHeaders = false + } + } + + function finalize() { + //trigger exits added for extra save moment for datapreserve + if (portfolioEngine.portfolioCurrent.strategy.begin.value > 0) { + strategyExit() + positionExit() + } + writeSnapshotFiles() + portfolioEngine = undefined + portfolioSystem = undefined + sessionParameters = undefined + + positionKeys = undefined + strategyKeys = undefined + + chart = undefined + exchange = undefined + market = undefined + } + + function updateChart(pChart, pExchange, pMarket) { + /* + We need these 3 data structures to be a local objects + accessible while evaluating conditions and formulas. + */ + chart = pChart + exchange = pExchange + market = pMarket + } + + function strategyEntry() { + /* + We will record here a snapshot of all values used in conditions and formulas within the Portfolio System. + If the strategy exists with a trade, this information will be added to the snapshots file. + */ + + strategyKeys = new Map() + strategyValues = [] + addToStrategyValues = true + + evalNode(portfolioSystem) + + /* Turn off this */ + createHeaders = false + addToStrategyValues = false + } + + function strategyExit() { + getResults(portfolioEngine.portfolioCurrent.strategy.begin.value, portfolioEngine.portfolioCurrent.strategy.end.value) + let valuesArray = closeValues.concat(strategyValues) + snapshots.strategies.push(valuesArray) + } + + function positionEntry() { + + positionKeys = new Map() + positionValues = [] + addToPositionValues = true + + evalNode(portfolioSystem) + + /* Turn off this */ + createHeaders = false + addToPositionValues = false + } + + function positionExit() { + getResults(portfolioEngine.portfolioCurrent.position.begin.value, portfolioEngine.portfolioCurrent.position.end.value) + let valuesArray = closeValues.concat(positionValues) + snapshots.positions.push(valuesArray) + } + + function evalNode(node) { + if (node === undefined) { return } + + /* Here we check if there is a codition to be evaluated */ + if (node.type === 'Condition') { + /* We will eval this condition */ + evalCondition(node) + } + + /* Here we check if there is a formula to be evaluated */ + if (node.type === 'Formula') { + if (node.code !== undefined) { + /* We will eval this formula */ + evalFormula(node) + } + } + + /* Now we go down through all this node children */ + let schemaDocument = TS.projects.foundations.globals.taskConstants.APP_SCHEMA_MAP.get(node.project + '-' + node.type) + if (schemaDocument === undefined) { return } + + if (schemaDocument.childrenNodesProperties !== undefined) { + let previousPropertyName // Since there are cases where there are many properties with the same name,because they can hold nodes of different types but only one at the time, we have to avoind counting each property of those as individual children. + for (let i = 0; i < schemaDocument.childrenNodesProperties.length; i++) { + let property = schemaDocument.childrenNodesProperties[i] + + switch (property.type) { + case 'node': + { + if (property.name !== previousPropertyName) { + if (node[property.name] !== undefined) { + evalNode(node[property.name]) + } + previousPropertyName = property.name + } + break + } + case 'array': + { + if (node[property.name] !== undefined) { + let nodePropertyArray = node[property.name] + for (let m = 0; m < nodePropertyArray.length; m++) { + evalNode(nodePropertyArray[m]) + } + } + break + } + } + } + } + } + + function evalCondition(node) { + + /* + The code can be at the condition node if it was done with the Conditions Editor, or it can also be + at a Javascript Code node. If there is a Javascript object we will give it preference and take the code + from there. Otherwise we will take the code from the Condition node. + */ + + let nodeWithCode = node + if (node.javascriptCode !== undefined) { + if (node.javascriptCode.code !== undefined) { + nodeWithCode = node.javascriptCode + } + } + addCodeToSnapshot(nodeWithCode) + } + + function evalFormula(node) { + let nodeWithCode = node + addCodeToSnapshot(nodeWithCode) + } + + function addCodeToSnapshot(nodeWithCode) { + if (nodeWithCode === undefined) { return } + if (nodeWithCode.code === undefined) { return } + + try { + const code = nodeWithCode.code + let instructionsArray = code.split(' ') + for (let i = 0; i < instructionsArray.length; i++) { + let instruction = instructionsArray[i] + instruction = instruction.replace('(', '') + instruction = instruction.replace(')', '') + instruction = instruction.replace(//g, '') + instruction = instruction.replace(/<=/g, '') + instruction = instruction.replace(/>=/g, '') + instruction = instruction.replace(/!=/g, '') + instruction = instruction.replace(/!==/g, '') + instruction = instruction.replace(/==/g, '') + instruction = instruction.replace(/===/g, '') + instruction = instruction.replace(/{/g, '') + instruction = instruction.replace(/}/g, '') + if (instruction.indexOf('chart') >= 0) { + let parts = instruction.split('.') + let timeFrame = parts[1] + let product = parts[2] + let property + checkPrevious(3) + + function checkPrevious(index) { + property = parts[index] + if (property === 'previous') { + product = product + '.previous' + checkPrevious(index + 1) + } + } + + // Example: chart.at01hs.popularSMA.sma200 - chart.at01hs.popularSMA.sma100 < 10 + if (timeFrame !== 'atAnyTimeFrame') { + timeFrame = timeFrame.substring(2, 4) + '-' + timeFrame.substring(4, 7) + } + let key = timeFrame + '-' + product + '-' + property + let existingKey + if (addToStrategyValues === true) { + addValues(strategyKeys, strategyValues) + } + + if (addToPositionValues === true) { + addValues(positionKeys, positionValues) + } + + function addValues(keys, values) { + existingKey = keys.get(key) + + if (existingKey === undefined) { // means that at the current loop this property of this product was not used before. + keys.set(key, key) + if (createHeaders === true) { + snapshots.headers.push(key) + } + + try { + let value = eval(instruction) + values.push(value) + } catch (err) { + const message = 'Snapshot Unexpected Error' + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - ' + message, + placeholder: {} + } + + let contextInfo = { + instruction: instruction + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, err, nodeWithCode.name, nodeWithCode.code, undefined, undefined, contextInfo) + + portfolioSystem.addError([nodeWithCode.id, message, docs]) + values.push(0) + } + } + } + } + } + } catch (err) { + const message = 'Snapshot Unexpected Error' + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS LF Portfolio Bot Error - ' + message, + placeholder: {} + } + TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, err, nodeWithCode.name, nodeWithCode.code, undefined) + + portfolioSystem.addError([nodeWithCode.id, message, docs]) + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] runSimulation -> addCodeToSnapshot -> nodeWithCode.code = ' + nodeWithCode.code) + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] runSimulation -> addCodeToSnapshot -> err = ' + err.stack) + } + } + + function getResults(openDatetime, closeDatetime) { + + let baseOpen = portfolioEngine.portfolioCurrent.strategyCloseStage.stageBaseAsset.sizeFilled.value - portfolioEngine.portfolioCurrent.strategyCloseStage.stageBaseAsset.feesPaid.value + let baseClose = portfolioEngine.portfolioCurrent.strategyOpenStage.stageBaseAsset.sizeFilled.value - portfolioEngine.portfolioCurrent.strategyOpenStage.stageBaseAsset.feesPaid.value + let quoteOpen = portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.sizeFilled.value - portfolioEngine.portfolioCurrent.strategyOpenStage.stageQuotedAsset.feesPaid.value + let quoteClose = portfolioEngine.portfolioCurrent.strategyCloseStage.stageQuotedAsset.sizeFilled.value - portfolioEngine.portfolioCurrent.strategyCloseStage.stageQuotedAsset.feesPaid.value + let qouteProfit = ((quoteClose / quoteOpen * 100) - 100) + let baseProfit = ((baseClose / baseOpen * 100) - 100) + + let closeHeaders = ['Trade Number', 'Open Datetime', 'Close Datetime', 'Strategy Name', 'Trigger On Situation', 'Take Position Situation', 'Open Position in Base Asset', 'Close Position in Base Asset', 'Open Position in Quoted Asset', 'Close Position in Quoted Asset', 'Result In Base Asset', 'Result In Quoted Asset', 'ROI in Base Asset', '% P/L Base Asset', 'P/L Type Base Asset', 'ROI in Quoted Asset', '% P/L Quoted Asset', 'P/L Type Quoted Asset', 'Exit Type', '# Periods'] + closeValues = [ + portfolioEngine.portfolioCurrent.portfolioEpisode.portfolioEpisodeCounters.positions.value, // Position Number + (new Date(openDatetime)).toISOString(), // Open Datetime + (new Date(closeDatetime)).toISOString(), // Open Datetime + portfolioEngine.portfolioCurrent.strategy.strategyName.value, // Strategy Name + portfolioEngine.portfolioCurrent.strategy.situationName.value, // Trigger On Situation + portfolioEngine.portfolioCurrent.position.situationName.value, // Take Position Situation + baseOpen, // open position in base asset + baseClose, // close position in base asset + quoteOpen, //open quote in base asset + quoteClose, // close quote in base asset + portfolioEngine.portfolioCurrent.position.positionBaseAsset.hitFail.value, // Result in Base Asset + portfolioEngine.portfolioCurrent.position.positionQuotedAsset.hitFail.value, // Result in Base Asset + portfolioEngine.portfolioCurrent.position.positionBaseAsset.ROI.value, // ROI in Base Asset <- not sure this works as intended + baseProfit + '%', // % profit / loss in base Asset + baseProfit === 0 ? 'Even' : (baseProfit > 0 ? "Profit" : "Loss"), + + portfolioEngine.portfolioCurrent.position.positionQuotedAsset.ROI.value, // ROI in Quoted Asset <- not sure this works as intended + qouteProfit + '%', // % profit loss in quoted Asset + qouteProfit === 0 ? 'Even' : (qouteProfit > 0 ? "Profit" : "Loss"), + portfolioEngine.portfolioCurrent.position.exitType.value, // Exit Type + portfolioEngine.portfolioCurrent.position.positionCounters.periods.value // periods counter + ] + + if (createCloseHeaders === true) { + snapshots.headers = closeHeaders.concat(JSON.parse(JSON.stringify(snapshots.headers))) + createCloseHeaders = false + } + } + + function writeSnapshotFiles() { + + if (sessionParameters.snapshots !== undefined) { + if (sessionParameters.snapshots.config.strategy === true) { + writeSnapshotFile(snapshots.strategies, 'Strategies') + } + } + + if (sessionParameters.snapshots !== undefined) { + if (sessionParameters.snapshots.config.strategy === true) { + writeSnapshotFile(snapshots.positions, 'Positions') + } + } + } + + function writeSnapshotFile(snapshotArray, pFileName) { + try { + let fileStorage = TS.projects.foundations.taskModules.fileStorage.newFileStorage(processIndex); + + let fileName = pFileName + '.csv' + + let filePath = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).FILE_PATH_ROOT + '/Output/' + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_FOLDER_NAME + '/' + SNAPSHOTS_FOLDER_NAME; + filePath += '/' + fileName + + //Get contents of current file if available, otherwise start empty file + if (snapshotAvailable) { + getSnapShotFile(filePath) + } else { + writeOutput('') + } + + function writeOutput(fileContent) { + let separator = '\r\n'; + let contentArray = []; + + // if we have file content extract rows + if (fileContent != '') { + contentArray = fileContent.split(separator) + } + + parseRecord(snapshots.headers) + for (let i = 0; i < snapshotArray.length; i++) { + let record = snapshotArray[i]; + if (record.length > 0) { + parseRecord(record) + } + } + + function parseRecord(record) { + // if we have undefined values, we need to extract the previous stored values for this trade and append them to the new record for completion + if (record[record.length - 1] === undefined && contentArray.length > 0) { + + let rowToMutateArray = contentArray[contentArray.length - 1].split(',') + // check if are for sure on the same tradenumber and merge the data and remove previous line incl separator + if (rowToMutateArray[0] == record[0]) { + record.pop() + rowToMutateArray.splice(0, record.length) + record = record.concat(rowToMutateArray) + fileContent = fileContent.replace(contentArray[contentArray.length - 1], '') + fileContent = fileContent.replace(/\r\n$/, '') + } + } + for (let j = 0; j < record.length; j++) { + let property = record[j] + + fileContent = fileContent + '' + property + if (j !== record.length - 1) { + fileContent = fileContent + "," + } + } + fileContent = fileContent + separator + } + + fileContent = "" + fileContent + ""; + + fileStorage.createTextFile(filePath, fileContent + '\n', onFileCreated) + + function onFileCreated(err) { + if (err.result !== TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE.result) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] writeSnapshotFile -> onFileCreated -> err = ' + err.stack); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] writeSnapshotFile -> onFileCreated -> filePath = ' + filePath); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] writeSnapshotFile -> onFileCreated -> market = ' + TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.baseAsset.referenceParent.config.codeName + '_' + TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.quotedAsset.referenceParent.config.codeName); + } + } + } + + } catch (err) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get( + processIndex + ).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write( + MODULE_NAME, + '[ERROR] writeSnapshotFile -> err = ' + err.stack + ) + } + //get file contents + function getSnapShotFile(filePath) { + + try { + + let fileStorage = TS.projects.foundations.taskModules.fileStorage.newFileStorage(processIndex); + + fileStorage.getTextFile(filePath, onFileReceived) + + function onFileReceived(err, text) { + if (err.result === TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE.result) { + try { + // remove the last linebreak and seperator which is introduced extra during save + text = text.replace(/\n$/, '') + text = text.replace(/\r\n$/, '') + writeOutput(text) + } catch (err) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] start -> loadExistingFiles -> loopBody -> readExistingFile -> onFileReceived -> fileName = ' + filePath); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] start -> loadExistingFiles -> loopBody -> readExistingFile -> onFileReceived -> filePath = ' + filePath); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] start -> loadExistingFiles -> loopBody -> readExistingFile -> onFileReceived -> err = ' + err.stack); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] start -> loadExistingFiles -> loopBody -> readExistingFile -> onFileReceived -> Asuming this is a temporary situation. Requesting a Retry.'); + callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_RETRY_RESPONSE) + } + } else { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] start -> loadExistingFiles -> loopBody -> readExistingFile -> onFileReceived -> err = ' + err.stack); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] start -> loadExistingFiles -> loopBody -> readExistingFile -> onFileReceived -> filePath = ' + filePath); + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR = err; + callBackFunction(err) + } + } + + } catch (error) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] start -> loadExistingFiles -> loopBody -> readExistingFile -> onFileReceived -> err = ' + err.stack); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, '[ERROR] start -> loadExistingFiles -> loopBody -> readExistingFile -> onFileReceived -> filePath = ' + filePath); + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR = err; + callBackFunction(err); + } + } + } +} \ No newline at end of file diff --git a/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/PortfolioSession.js b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/PortfolioSession.js new file mode 100644 index 000000000..4c034f5ed --- /dev/null +++ b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/PortfolioSession.js @@ -0,0 +1,642 @@ +exports.newPortfolioManagementBotModulesPortfolioSession = function (processIndex) { + + const MODULE_NAME = "Portfolio Session" + + let thisObject = { + initialize: initialize + } + + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SOCIAL_BOTS_MODULE = + TS.projects.socialBots.botModules.socialBots.newSocialBotsBotModulesSocialBots(processIndex) + + return thisObject; + + function initialize(callBackFunction) { + try { + /* Check if there is a session */ + if (TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session === undefined) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] initialize -> Cannot run without a Session."); + callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE); + return; + } + /* + We will store here the session key, which we will need everytine + we need to emit an event related to the session itself. + */ + let VARIABLES_BY_PROCESS_INDEX = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex) + VARIABLES_BY_PROCESS_INDEX.SESSION_KEY = + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.name + + '-' + + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.type + + '-' + + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.id + + /* + We will also store the session folder name, to be used for debug logging and session output. + */ + if (TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.config.folderName === undefined) { + VARIABLES_BY_PROCESS_INDEX.SESSION_FOLDER_NAME = TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.type.replace(' ', '-').replace(' ', '-') + '-' + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.id + } else { + VARIABLES_BY_PROCESS_INDEX.SESSION_FOLDER_NAME = TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.type.replace(' ', '-').replace(' ', '-') + '-' + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.config.folderName + } + /* + We will store all session keys on a map so as to be able to send an event to all + of them when the task stops. + */ + TS.projects.foundations.globals.taskVariables.SESSION_MAP.set( + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_KEY, + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_KEY) + + /* Listen to event to start or stop the session. */ + TS.projects.foundations.globals.taskConstants.EVENT_SERVER_CLIENT_MODULE_OBJECT.listenToEvent( + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_KEY, + 'Portfolio Session Status', + undefined, + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_KEY, + undefined, + onSessionStatus) + TS.projects.foundations.globals.taskConstants.EVENT_SERVER_CLIENT_MODULE_OBJECT.listenToEvent( + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_KEY, + 'Run Portfolio Session', + undefined, + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_KEY, + undefined, + onSessionRun) + TS.projects.foundations.globals.taskConstants.EVENT_SERVER_CLIENT_MODULE_OBJECT.listenToEvent( + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_KEY, + 'Stop Portfolio Session', + undefined, + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_KEY, + undefined, + onSessionStop) + TS.projects.foundations.globals.taskConstants.EVENT_SERVER_CLIENT_MODULE_OBJECT.listenToEvent( + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_KEY, + 'Resume Portfolio Session', + undefined, + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_KEY, + undefined, + onSessionResume) + + callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE) + return + + function onSessionStatus() { + if (TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_STATUS === 'Running') { + let event = { + status: 'Portfolio Session Runnning' + } + TS.projects.foundations.globals.taskConstants.EVENT_SERVER_CLIENT_MODULE_OBJECT.raiseEvent( + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_KEY, 'Status Response', event) + } else { + let event = { + status: 'Portfolio Session Not Runnning' + } + TS.projects.foundations.globals.taskConstants.EVENT_SERVER_CLIENT_MODULE_OBJECT.raiseEvent( + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_KEY, 'Status Response', event) + } + } + + function onSessionRun(message) { + try { + /* This happens when the UI is reloaded, the session was running and tries to run it again. */ + if ( + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_STATUS === 'Idle' || + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_STATUS === 'Running' + ) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[WARN] onSessionRun -> Event received to run the Session while it was already running. ") + return + } + + /* We are going to initialize here these constants whose values are comming at the event. */ + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_SYSTEM_NODE = JSON.parse(message.event.portfolioSystem) + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_NODE = JSON.parse(message.event.portfolioEngine) + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE = JSON.parse(message.event.session) + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).DEPENDENCY_FILTER = JSON.parse(message.event.dependencyFilter) + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_RESUMING = false + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_FIRST_LOOP = true + + setUpSessionFolderName() + + /* We validate all parameters received and complete some that might be missing if needed. */ + if (checkParemeters() === false) { return } + + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SOCIAL_BOTS_MODULE.initialize() + + let allGood + switch (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type) { + case 'Backtesting Session': { + allGood = startBackTesting(message) + break + } + case 'Live Portfolio Session': { + allGood = startLivePortfolio(message) + break + } + case 'Fordward Testing Session': { + allGood = startFordwardTesting(message) + break + } + case 'Paper Portfolio Session': { + allGood = startPaperPortfolio(message) + break + } + } + if (allGood === true) { + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_STATUS = 'Idle' + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_STOPPING = false + } else { + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_STOPPING = true + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[IMPORTANT] onSessionRun -> Stopping the Session now. ') + } + + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SOCIAL_BOTS_MODULE.sendMessage( + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type + " '" + + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.name + "' is starting.") + } catch (err) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] initialize -> onSessionRun -> err = " + err.stack); + } + } + + function onSessionStop() { + TS.projects.foundations.functionLibraries.sessionFunctions.stopSession(processIndex, 'Session Stopped From the User Interface.') + } + + function onSessionResume(message) { + try { + if (TS.projects.foundations.functionLibraries.sessionFunctions.stopSession === undefined) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[WARN] onSessionResume -> Event received to resume the Session that have never be ran before. ") + return + } + + /* This happens when the UI is reloaded, the session was running and tries to run it again. */ + if ( + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_STATUS === 'Idle' || + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_STATUS === 'Running') { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[WARN] onSessionResume -> Event received to resume the Session while it was already running. ") + return + } + + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_RESUMING = true + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_STOPPING = false + + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SOCIAL_BOTS_MODULE.sendMessage( + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type + " '" + + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.name + "' is resuming.") + } catch (err) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] initialize -> onSessionResume -> err = " + err.stack); + } + } + + function setUpSessionFolderName() { + /* + The session object is overwritten when the session is run. For that reason we + need to setup again the folder name at the Session level. + Set the folderName for logging, reports, context and data output + */ + let config + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.config !== undefined) { + config = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.config + if (config.folderName === undefined) { + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_FOLDER_NAME = + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.type.replace(' ', '-').replace(' ', '-') + '-' + + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.id + } else { + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_FOLDER_NAME = + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.type.replace(' ', '-').replace(' ', '-') + '-' + + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.config.folderName + } + } + } + + function checkParemeters() { + /* + Here we check all the Session Parameters received. If something critical is missing we abort returning false. If something + non critical is missing, we complete it with a default value. + */ + + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters === undefined) { + let errorMessage = "Parameters Node Missing" + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] initialize -> checkParemeters -> " + errorMessage) + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS Portfolio Session Error - ' + errorMessage, + placeholder: {} + } + + TS.projects.foundations.functionLibraries.sessionFunctions.sessionError( + processIndex, + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE, + errorMessage, + docs + ) + return false + } + + /* Time Range */ + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange === undefined) { // if the Time Range is missing we create a default one. + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange = { + name: 'Missing Time Range', + type: 'Time Range', + config: { + initialDatetime: (new Date()).valueOf(), + finalDatetime: (new Date()).valueOf() + SA.projects.foundations.globals.timeConstants.ONE_YEAR_IN_MILISECONDS + } + } + } else { + /* Check that we received valid dates */ + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type === 'Backtesting Session') { + if (isNaN(new Date(TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange.config.initialDatetime)).valueOf()) { + let errorMessage = "Invalid Initial Datetime Property Value" + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] initialize -> checkParemeters -> " + errorMessage) + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS Portfolio Session Error - ' + errorMessage, + placeholder: { + currentValue: { + style: "Json", + text: TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange.config.initialDatetime + } + } + } + + TS.projects.foundations.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange, errorMessage, docs) + return false + } + } + if (isNaN(new Date(TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange.config.finalDatetime)).valueOf()) { + let errorMessage = "Invalid Initial Datetime Property Value" + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] initialize -> checkParemeters -> " + errorMessage) + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS Portfolio Session Error - ' + errorMessage, + placeholder: { + currentValue: { + style: "Json", + text: TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange.config.finalDatetime + } + } + } + + TS.projects.foundations.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange, errorMessage, docs) + return false + } + } + + /* Session Type Forced Values */ + let today = (new Date()).valueOf() + let aYearAgo = today - SA.projects.foundations.globals.timeConstants.ONE_YEAR_IN_MILISECONDS + let aYearFromNow = today + SA.projects.foundations.globals.timeConstants.ONE_YEAR_IN_MILISECONDS + switch (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type) { + case 'Backtesting Session': { + useDefaultDatetimes(aYearAgo, today) + break + } + case 'Live Portfolio Session': { + useDefaultDatetimes(today, aYearFromNow) + break + } + case 'Fordward Testing Session': { + useDefaultDatetimes(today, aYearFromNow) + break + } + case 'Paper Portfolio Session': { + useDefaultDatetimes(today, aYearFromNow) + break + } + } + + function useDefaultDatetimes(initialDefault, finalDefault) { + /* + Note that inside the system, we are going to deal with these + dates in their numeric value representation. + */ + + /* Initial Datetime */ + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type === 'Backtesting Session') { + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange.config.initialDatetime === undefined) { + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange.config.initialDatetime = initialDefault + } else { + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange.config.initialDatetime = (new Date(TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange.config.initialDatetime)).valueOf() + } + } else { + /* Non backtest session can start from the past only if explicitly configured that way */ + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange.config.initialDatetime === undefined || TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange.config.allowStartingFromThePast !== true) { + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange.config.initialDatetime = initialDefault + } else { + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange.config.initialDatetime = (new Date(TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange.config.initialDatetime)).valueOf() + } + } + + /* Final Datetime */ + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange.config.finalDatetime === undefined) { + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange.config.finalDatetime = finalDefault + } else { + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange.config.finalDatetime = (new Date(TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeRange.config.finalDatetime)).valueOf() + } + } + + /* Time Frame */ + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeFrame === undefined) { + let errorMessage = "Time Frame Node Missing" + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] initialize -> checkParemeters -> " + errorMessage) + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS Portfolio Session Error - ' + errorMessage, + placeholder: {} + } + + TS.projects.foundations.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters, errorMessage, docs) + return false + } + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeFrame.config.label === undefined) { + let errorMessage = "Label Property Missing" + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] initialize -> checkParemeters -> " + errorMessage) + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS Portfolio Session Error - ' + errorMessage, + placeholder: {} + } + + TS.projects.foundations.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeFrame, errorMessage, docs) + return false + } + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeFrame.config.value = getTimeFrameFromLabel(TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeFrame.config.label) + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeFrame.config.value === undefined) { + let errorMessage = "Invalid Label Property Value" + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] initialize -> checkParemeters -> " + errorMessage) + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS Portfolio Session Error - ' + errorMessage, + placeholder: { + currentValue: { + style: "Json", + text: TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeFrame.config.label + } + } + } + + TS.projects.foundations.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeFrame, errorMessage, docs) + return false + } + + /* Session Base Asset */ + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.sessionBaseAsset === undefined) { + let errorMessage = "Session Base Asset Node Missing" + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] initialize -> checkParemeters -> " + errorMessage) + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS Portfolio Session Error - ' + errorMessage, + placeholder: {} + } + + TS.projects.foundations.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters, errorMessage, docs) + return false + } + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.sessionBaseAsset.config.initialBalance === undefined) { + let errorMessage = "Initial Balance Property Missing" + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] initialize -> checkParemeters -> " + errorMessage) + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS Portfolio Session Error - ' + errorMessage, + placeholder: {} + } + + TS.projects.foundations.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.sessionBaseAsset, errorMessage, docs) + return false + } + + /* Session Quoted Asset */ + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.sessionQuotedAsset === undefined) { + let errorMessage = "Session Quoted Asset Node Missing" + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] initialize -> checkParemeters -> " + errorMessage) + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS Portfolio Session Error - ' + errorMessage, + placeholder: {} + } + + TS.projects.foundations.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters, errorMessage, docs) + return false + } + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.sessionQuotedAsset.config.initialBalance === undefined) { + let errorMessage = "Initial Balance Property Missing" + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] initialize -> checkParemeters -> " + errorMessage) + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS Portfolio Session Error - ' + errorMessage, + placeholder: {} + } + + TS.projects.foundations.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.sessionQuotedAsset, errorMessage, docs) + return false + } + + /* Slippage */ + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.slippage === undefined) { // if the Slippage is missing we create a default one. + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.slippage = { + name: 'Missing Slippage', + type: 'Slippage', + config: { + marketOrderRate: 0, + stopLoss: 0, + takeProfit: 0 + } + } + } + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.slippage.config.marketOrderRate === undefined) { // if the marketOrderRate is missing we create a default one. + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.slippage.config.marketOrderRate = 0 + } + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.slippage.config.stopLoss === undefined) { // if the stopLoss is missing we create a default one. + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.slippage.config.stopLoss = 0 + } + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.slippage.config.takeProfit === undefined) { // if the takeProfit is missing we create a default one. + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.slippage.config.takeProfit = 0 + } + + /* Fee Structure */ + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.feeStructure === undefined) { // if the Fee Structure is missing we create a default one. + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.feeStructure = { + name: 'Missing Fee Structure', + type: 'Fee Structure', + config: { + maker: 0, + taker: 0 + } + } + } + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.feeStructure.config.maker === undefined) { // if the maker is missing we create a default one. + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.feeStructure.config.maker = 0 + } + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.feeStructure.config.taker === undefined) { // if the taker is missing we create a default one. + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.feeStructure.config.taker = 0 + } + + return true + } + + function startBackTesting(message) { + return true + } + + function checkKey() { + if (TS.projects.foundations.globals.taskConstants.TASK_NODE.keyReference === undefined) { + let errorMessage = "Key Reference Node Missing" + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] initialize -> checkKey -> " + errorMessage) + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS Portfolio Session Error - ' + errorMessage, + placeholder: {} + } + + TS.projects.foundations.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.foundations.globals.taskConstants.TASK_NODE, errorMessage, docs) + return false + } + if (TS.projects.foundations.globals.taskConstants.TASK_NODE.keyReference.referenceParent === undefined) { + let errorMessage = "Exchange Account Key Node Missing" + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] initialize -> checkKey -> " + errorMessage) + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS Portfolio Session Error - ' + errorMessage, + placeholder: {} + } + + TS.projects.foundations.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.foundations.globals.taskConstants.TASK_NODE.keyReference, errorMessage, docs) + return false + } + if (TS.projects.foundations.globals.taskConstants.TASK_NODE.keyReference.referenceParent.config.codeName === undefined) { + let errorMessage = "Codename Property Missing" + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] initialize -> checkKey -> " + errorMessage) + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS Portfolio Session Error - ' + errorMessage, + placeholder: {} + } + + TS.projects.foundations.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.foundations.globals.taskConstants.TASK_NODE.keyReference.referenceParent, errorMessage, docs) + return false + } + if (TS.projects.foundations.globals.taskConstants.TASK_NODE.keyReference.referenceParent.config.secret === undefined) { + let errorMessage = "Secret Property Missing" + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] initialize -> checkKey -> " + errorMessage) + + let docs = { + project: 'Foundations', + category: 'Topic', + type: 'TS Portfolio Session Error - ' + errorMessage, + placeholder: {} + } + + TS.projects.foundations.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.foundations.globals.taskConstants.TASK_NODE.keyReference.referenceParent, errorMessage, docs) + return false + } + return true + } + + function startLivePortfolio() { + return checkKey() + } + + function startFordwardTesting(message) { + if (checkKey() === false) { return false } + + /* Reduce the balance */ + let balancePercentage = 1 // This is the default value + + if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.config.balancePercentage !== undefined) { + balancePercentage = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.config.balancePercentage + } + + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.sessionBaseAsset.config.initialBalance = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.sessionBaseAsset.config.initialBalance * balancePercentage / 100 + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.sessionQuotedAsset.config.initialBalance = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.sessionQuotedAsset.config.initialBalance * balancePercentage / 100 + + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.sessionBaseAsset.config.minimumBalance = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.sessionBaseAsset.config.minimumBalance * balancePercentage / 100 + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.sessionQuotedAsset.config.minimumBalance = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.sessionQuotedAsset.config.minimumBalance * balancePercentage / 100 + + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.sessionBaseAsset.config.maximumBalance = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.sessionBaseAsset.config.maximumBalance * balancePercentage / 100 + TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.sessionQuotedAsset.config.maximumBalance = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.sessionQuotedAsset.config.maximumBalance * balancePercentage / 100 + + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.config.normalWaitTime = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeFrame.config.value + + return true + } + + function startPaperPortfolio(message) { + return true + } + + function getTimeFrameFromLabel(timeFrameLabel) { + + for (let i = 0; i < TS.projects.foundations.globals.timeFrames.marketTimeFramesArray().length; i++) { + let value = TS.projects.foundations.globals.timeFrames.marketTimeFramesArray()[i][0] + let label = TS.projects.foundations.globals.timeFrames.marketTimeFramesArray()[i][1] + + if (timeFrameLabel === label) { + return value + } + } + + for (let i = 0; i < TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray().length; i++) { + let value = TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray()[i][0] + let label = TS.projects.foundations.globals.timeFrames.dailyTimeFramesArray()[i][1] + + if (timeFrameLabel === label) { + return value + } + } + } + + } catch (err) { + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR = err + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] initialize -> err = " + err.stack); + callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE); + } + } +}; diff --git a/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/SingleMarketPortfolioBot.js b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/SingleMarketPortfolioBot.js new file mode 100644 index 000000000..d53e5d4ba --- /dev/null +++ b/Projects/Portfolio-Management/TS/Bot-Modules/Portfolio-Bot/SingleMarketPortfolioBot.js @@ -0,0 +1,616 @@ +exports.newPortfolioManagementBotModulesSingleMarketPortfolioBot = function (processIndex) { + + const MODULE_NAME = "Single Market Portfolio Bot"; + + let session = TS.projects.portfolioManagement.botModules.portfolioSession.newPortfolioManagementBotModulesPortfolioSession(processIndex) + let nextLoopTimeoutHandle; + + let thisObject = { + initialize: initialize, + run: run + }; + + return thisObject; + + function initialize(callBackFunction) { + try { + /* We will check that we have received all the nodes needed to run this bot. */ + if (TS.projects.foundations.functionLibraries.singleMarketFunctions.checkUpstreamOfTaskNode(processIndex) === false) { + callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE) + return + } + + /* Here we setup the path prefix that will be used when writing data or logs to disk. */ + TS.projects.foundations.functionLibraries.singleMarketFunctions.initializeFilePathRoot(processIndex) + + session.initialize(callBackFunction) + + } catch (err) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] initialize -> err = " + err.stack); + callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE); + } + } + + function run(callBackFunction) { + try { + /* Some initial values*/ + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_STOPPING = true; + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + '[IMPORTANT] run -> Stopping the Session now. ') + + loop(); + + function loop() { + try { + TS.projects.foundations.functionLibraries.processFunctions.processHeartBeat(processIndex, undefined, undefined, "Running...") + function pad(str, max) { + str = str.toString(); + return str.length < max ? pad(" " + str, max) : str; + } + + /* For each loop we want to create a new log file. */ + if (TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT !== undefined) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.finalize() + } + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT = TS.projects.foundations.taskModules.debugLog.newFoundationsTaskModulesDebugLog(processIndex) + TS.projects.foundations.globals.taskVariables.LOGGER_MAP.set(MODULE_NAME + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].id, TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT) + + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).MAIN_LOOP_COUNTER++; + + let nextWaitTime; + + /* We tell the UI that we are running. */ + TS.projects.foundations.functionLibraries.processFunctions.processHeartBeat(processIndex, undefined, undefined, "Running...") + + /* We define the datetime for the process that we are running now. This will be the official processing time for both the infraestructure and the bot. */ + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_DATETIME = new Date(); // This will be considered the process date and time, so as to have it consistenly all over the execution. + + /* Main Loop Console Logging */ + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.newMainLoop() + + /* Checking if we need to need to emit any event */ + if (TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_STATUS === 'Idle' && TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_STOPPING === false) { + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_STATUS = 'Running' + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_BEGIN = new Date() + } + + if (TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_STATUS === 'Running' && TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_STOPPING === true) { + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_STATUS = 'Stopped' + } + + TS.projects.foundations.functionLibraries.sessionFunctions.emitSessionStatus(TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_STATUS, TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_KEY) + + /* Checking if we should process this loop or not.*/ + if (TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_STOPPING === true) { + + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[INFO] run -> loop -> Waiting for " + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.type + " " + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.name + " to be run.") + + console.log(new Date().toISOString() + " " + pad(TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode.config.codeName, 20) + " " + pad(TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.config.codeName, 30) + + " Waiting for " + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.type + " " + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.name + " to be run. "); + + nextWaitTime = 'Waiting for Session'; + loopControl(nextWaitTime); + return + } + + /* We will prepare first the infraestructure needed for the bot to run. There are 3 modules we need to sucessfullly initialize first. */ + + let processExecutionEvents + let userBot; + let processFramework; + let statusDependencies; + let dataDependencies; + + initializeProcessExecutionEvents(); + + function initializeProcessExecutionEvents() { + try { + processExecutionEvents = TS.projects.foundations.processModules.processExecutionEvents.newFoundationsProcessModulesProcessExecutionEvents(processIndex) + processExecutionEvents.initialize(onInizialized); + + function onInizialized(err) { + try { + switch (err.result) { + case TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE.result: { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[INFO] run -> loop -> initializeProcessExecutionEvents -> onInizialized -> Execution finished well."); + startProcessExecutionEvents() + return; + } + case TS.projects.foundations.globals.standardResponses.DEFAULT_RETRY_RESPONSE.result: { // Something bad happened, but if we retry in a while it might go through the next time. + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[WARN] run -> loop -> initializeProcessExecutionEvents -> onInizialized -> Retry Later. Requesting Execution Retry."); + nextWaitTime = 'Retry'; + loopControl(nextWaitTime); + return; + } + case TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE.result: { // This is an unexpected exception that we do not know how to handle. + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> initializeProcessExecutionEvents -> onInizialized -> Operation Failed. Aborting the process."); + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + default: { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> initializeProcessExecutionEvents -> onInizialized -> Unhandled err.result received. -> err.result = " + err.result); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> initializeProcessExecutionEvents -> onInizialized -> Unhandled err.result received. -> err = " + err.message); + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + } + } catch (err) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> initializeProcessExecutionEvents -> onInizialized -> err = " + err.stack); + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR = err + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + } + } catch (err) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> initializeProcessExecutionEvents -> err = " + err.stack); + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR = err + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + } + + function startProcessExecutionEvents() { + try { + processExecutionEvents.start(onStarted); + + function onStarted(err) { + try { + switch (err.result) { + case TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE.result: { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[INFO] run -> loop -> startProcessExecutionEvents -> onStarted -> Execution finished well."); + + if (TS.projects.foundations.globals.taskVariables.IS_TASK_STOPPING === true) { + loopControl() + return + } + + initializeStatusDependencies(); + return; + } + case TS.projects.foundations.globals.standardResponses.DEFAULT_RETRY_RESPONSE.result: { // Something bad happened, but if we retry in a while it might go through the next time. + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[WARN] run -> loop -> startProcessExecutionEvents -> onStarted -> Retry Later. Requesting Execution Retry."); + nextWaitTime = 'Retry'; + loopControl(nextWaitTime); + return; + } + case TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE.result: { // This is an unexpected exception that we do not know how to handle. + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> startProcessExecutionEvents -> onStarted -> Operation Failed. Aborting the process."); + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + default: { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> startProcessExecutionEvents -> onStarted -> Unhandled err.result received. -> err.result = " + err.result); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> startProcessExecutionEvents -> onStarted -> Unhandled err.result received. -> err = " + err.message); + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + } + } catch (err) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> startProcessExecutionEvents -> onStarted -> err = " + err.stack); + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR = err + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + } + } catch (err) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> startProcessExecutionEvents -> err = " + err.stack); + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR = err + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + } + + function initializeStatusDependencies() { + try { + statusDependencies = TS.projects.foundations.processModules.statusDependencies.newFoundationsProcessModulesStatusDependencies(processIndex); + statusDependencies.initialize(onInizialized); + + function onInizialized(err) { + try { + switch (err.result) { + case TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE.result: { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[INFO] run -> loop -> initializeStatusDependencies -> onInizialized -> Execution finished well."); + initializeDataDependencies(); + return; + } + case TS.projects.foundations.globals.standardResponses.DEFAULT_RETRY_RESPONSE.result: { // Something bad happened, but if we retry in a while it might go through the next time. + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[WARN] run -> loop -> initializeStatusDependencies -> onInizialized -> Retry Later. Requesting Execution Retry."); + nextWaitTime = 'Retry'; + loopControl(nextWaitTime); + return; + } + case TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE.result: { // This is an unexpected exception that we do not know how to handle. + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> initializeStatusDependencies -> onInizialized -> Operation Failed. Aborting the process."); + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + default: { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> initializeStatusDependencies -> onInizialized -> Unhandled err.result received. -> err.result = " + err.result); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> initializeStatusDependencies -> onInizialized -> Unhandled err.result received. -> err = " + err.message); + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + } + } catch (err) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> initializeStatusDependencies -> onInizialized -> err = " + err.stack); + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR = err + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + } + } catch (err) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> initializeStatusDependencies -> err = " + err.stack); + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR = err + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + } + + function initializeDataDependencies() { + try { + dataDependencies = TS.projects.foundations.processModules.dataDependencies.newFoundationsProcessModulesDataDependencies(processIndex); + dataDependencies.initialize(onInizialized); + + function onInizialized(err) { + try { + switch (err.result) { + case TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE.result: { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[INFO] run -> loop -> initializeDataDependencies -> onInizialized -> Execution finished well.") + switch (TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.config.framework.name) { + case 'Low-Frequency-Portfolio-Process': { + processFramework = TS.projects.portfolioManagement.botModules.portfolioProcess.newPortfolioManagementBotModulesPortfolioProcess(processIndex); + startProcessFramework(); + break; + } + default: { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> initializeDataDependencies -> onInizialized -> Process Framework not Supported."); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> initializeDataDependencies -> onInizialized -> Process Framework Name = " + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.config.framework.name); + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + } + return; + } + case TS.projects.foundations.globals.standardResponses.DEFAULT_RETRY_RESPONSE.result: { // Something bad happened, but if we retry in a while it might go through the next time. + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[WARN] run -> loop -> initializeDataDependencies -> onInizialized -> Retry Later. Requesting Execution Retry."); + nextWaitTime = 'Retry'; + loopControl(nextWaitTime); + return; + } + case TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE.result: { // This is an unexpected exception that we do not know how to handle. + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> initializeDataDependencies -> onInizialized -> Operation Failed. Aborting the process."); + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + default: { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> initializeDataDependencies -> onInizialized -> Unhandled err.result received. -> err.result = " + err.result); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> initializeDataDependencies -> onInizialized -> Unhandled err.result received. -> err = " + err.message); + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + } + } catch (err) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> initializeDataDependencies -> onInizialized -> err = " + err.stack); + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR = err + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + } + } catch (err) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> initializeDataDependencies -> err = " + err.stack); + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR = err + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + } + + function startProcessFramework() { + try { + processFramework.start(statusDependencies, dataDependencies, onFinished); + + function onFinished(err) { + try { + processFramework = undefined + dataDependencies.finalize() + dataDependencies = undefined + statusDependencies.finalize() + statusDependencies = undefined + + switch (err.result) { + case TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE.result: { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[INFO] run -> loop -> startProcessFramework -> onFinished -> Execution finished well."); + nextWaitTime = 'Normal'; + finishProcessExecutionEvents() + return; + } + case TS.projects.foundations.globals.standardResponses.DEFAULT_RETRY_RESPONSE.result: { // Something bad happened, but if we retry in a while it might go through the next time. + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[WARN] run -> loop -> startProcessFramework -> onFinished -> Retry Later. Requesting Execution Retry."); + nextWaitTime = 'Retry'; + loopControl(nextWaitTime); + return; + } + case TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE.result: { // This is an unexpected exception that we do not know how to handle. + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> startProcessFramework -> onFinished -> Operation Failed. Aborting the process."); + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + case TS.projects.foundations.globals.standardResponses.CUSTOM_OK_RESPONSE.result: { + + switch (err.message) { + case "Dependency does not exist.": { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[WARN] run -> loop -> startProcessFramework -> onFinished -> Dependency does not exist. This Loop will go to sleep."); + nextWaitTime = 'Sleep'; + loopControl(nextWaitTime); + return; + } + case "Dependency not ready.": { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[WARN] run -> loop -> startProcessFramework -> onFinished -> Dependency not ready. This Loop will go to sleep."); + nextWaitTime = 'Sleep'; + loopControl(nextWaitTime); + return; + } + default: { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> startProcessFramework -> onFinished -> Unhandled custom response received. -> err = " + err.message); + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + } + } + default: { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> startProcessFramework -> onFinished -> Unhandled err.result received. -> err.result = " + err.result); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> startProcessFramework -> onFinished -> Unhandled err.result received. -> err = " + err.message); + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + } + } catch (err) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> startProcessFramework -> onFinished -> err = " + err.stack); + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR = err + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + } + } catch (err) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> startProcessFramework -> err = " + err.stack); + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR = err + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + } + + function finishProcessExecutionEvents() { + try { + processExecutionEvents.finish(onFinished); + + function onFinished(err) { + try { + processExecutionEvents.finalize() + processExecutionEvents = undefined + + switch (err.result) { + case TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE.result: { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[INFO] run -> loop -> finishProcessExecutionEvents -> onFinished -> Execution finished well."); + nextWaitTime = 'Normal'; + loopControl(nextWaitTime); + return; + } + case TS.projects.foundations.globals.standardResponses.DEFAULT_RETRY_RESPONSE.result: { // Something bad happened, but if we retry in a while it might go through the next time. + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[WARN] run -> loop -> finishProcessExecutionEvents -> onFinished -> Retry Later. Requesting Execution Retry."); + nextWaitTime = 'Retry'; + loopControl(nextWaitTime); + return; + } + case TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE.result: { // This is an unexpected exception that we do not know how to handle. + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> finishProcessExecutionEvents -> onFinished -> Operation Failed. Aborting the process."); + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + default: { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> finishProcessExecutionEvents -> onFinished -> Unhandled err.result received. -> err.result = " + err.result); + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> finishProcessExecutionEvents -> onFinished -> Unhandled err.result received. -> err = " + err.message); + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + } + } catch (err) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> finishProcessExecutionEvents -> onFinished -> err = " + err.stack); + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR = err + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + } + } catch (err) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> finishProcessExecutionEvents -> err = " + err.stack); + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR = err + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + } + + function loopControl(nextWaitTime) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[INFO] run -> loop -> loopControl -> nextWaitTime = " + nextWaitTime) + + /* We show we reached the end of the loop. */ + TS.projects.foundations.functionLibraries.processFunctions.processHeartBeat(processIndex, undefined, undefined, "Running...") + + /* Here we check if we must stop the loop gracefully. */ + shallWeStop(onStop, onContinue); + + function onStop() { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[INFO] run -> loop -> loopControl -> onStop -> Stopping the Loop Gracefully. See you next time!") + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.persist(); + + TS.projects.foundations.globals.taskConstants.EVENT_SERVER_CLIENT_MODULE_OBJECT.raiseEvent(TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_KEY, 'Stopped') + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return; + } + + function onContinue() { + /* Indicator bots are going to be executed after a configured period of time after the last execution ended. This is to avoid overlapping executions. */ + switch (nextWaitTime) { + case 'Waiting for Session': { + let waitTime = TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.config.sessionRunWaitTime + nextLoopTimeoutHandle = setTimeout(loop, waitTime); + let waitingTime = waitTime / 1000 / 60 + let label = 'minute/s' + if (waitingTime < 1) { + waitingTime = waitTime / 1000 + label = 'seconds' + } + TS.projects.foundations.functionLibraries.processFunctions.processHeartBeat(processIndex, undefined, undefined, "Waiting " + waitingTime + " " + label + " for " + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.type + " " + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.name + " to be run. ") + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.persist(); + } + break + case 'Normal': { + let waitTime + if (TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).WAIT_FOR_EXECUTION_FINISHED_EVENT === true) { + waitTime = 0 + } else { + switch (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type) { + case 'Live Portfolio Session': { + waitTime = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeFrame.config.value + break + } + case 'Fordward Tessting Session': { + waitTime = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeFrame.config.value + break + } + case 'Paper Portfolio Session': { + waitTime = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.portfolioParameters.timeFrame.config.value + break + } + case 'Backtesting Session': { + waitTime = 0 + break + } + } + } + + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[INFO] run -> loop -> loopControl -> Restarting Loop in " + (waitTime / 1000 / 60) + " minute/s.") + nextLoopTimeoutHandle = setTimeout(loop, waitTime); + let waitingTime = waitTime / 1000 / 60 + let label = 'minute/s' + if (waitingTime < 1) { + waitingTime = waitTime / 1000 + label = 'seconds' + } + TS.projects.foundations.functionLibraries.processFunctions.processHeartBeat(processIndex, undefined, undefined, "Waiting " + waitingTime + " " + label + " for next execution.") + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.persist(); + } + break; + case 'Retry': { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[INFO] run -> loop -> loopControl -> Restarting Loop in " + (TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.config.retryWaitTime / 1000) + " seconds.") + nextLoopTimeoutHandle = setTimeout(loop, TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.config.retryWaitTime); + TS.projects.foundations.functionLibraries.processFunctions.processHeartBeat(processIndex, undefined, undefined, "Trying to recover from some problem. Waiting " + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.config.retryWaitTime / 1000 + " seconds for next execution.") + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.persist(); + } + break; + case 'Sleep': { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[INFO] run -> loop -> loopControl -> Restarting Loop in " + (TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.config.sleepWaitTime / 60000) + " minutes.") + nextLoopTimeoutHandle = setTimeout(loop, TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.config.sleepWaitTime); + TS.projects.foundations.functionLibraries.processFunctions.processHeartBeat(processIndex, undefined, undefined, "Waiting " + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.config.sleepWaitTime / 60000 + " minutes for next execution.") + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.persist(); + } + break; + case 'Coma': { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[INFO] run -> loop -> loopControl -> Restarting Loop in " + (TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.config.comaWaitTime / 3600000) + " hours.") + nextLoopTimeoutHandle = setTimeout(loop, TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.config.comaWaitTime); + TS.projects.foundations.functionLibraries.processFunctions.processHeartBeat(processIndex, undefined, undefined, "Waiting " + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.config.comaWaitTime / 3600000 + " hours for next execution.") + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.persist(); + } + break; + } + } + } + + function shallWeStop(stopCallBack, continueCallBack) { + try { + /* IMPORTANT: This function is exactly the same on the 3 modules. */ + if (!TS.projects.foundations.globals.taskVariables.IS_TASK_STOPPING) { + continueCallBack(); + } else { + stopCallBack(); + } + } catch (err) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> shallWeStop -> err = " + err.stack); + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR = err + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + } + + } catch (err) { + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> loop -> err = " + err.stack); + TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR = err + TS.projects.foundations.functionLibraries.processFunctions.stopProcess(processIndex, callBackFunction, nextLoopTimeoutHandle) + return + } + } + + } catch (err) { + TS.projects.foundations.globals.taskVariables.UNEXPECTED_ERROR = err + + TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, + "[ERROR] run -> err = " + err.stack); + clearTimeout(nextLoopTimeoutHandle); + callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_FAIL_RESPONSE); + } + } +}; diff --git a/Projects/Portfolio-Management/UI/Function-Libraries/ActionSwitch.js b/Projects/Portfolio-Management/UI/Function-Libraries/ActionSwitch.js new file mode 100644 index 000000000..8291ee637 --- /dev/null +++ b/Projects/Portfolio-Management/UI/Function-Libraries/ActionSwitch.js @@ -0,0 +1,42 @@ +function newPortfolioManagementActionSwitch() { + + let thisObject = { + executeAction: executeAction, + initialize: initialize, + finalize: finalize + } + + return thisObject + + function finalize() { + + } + + function initialize() { + /* Nothing to initialize since a Function Library does not hold any state. */ + } + + async function executeAction(action) { + switch (action.name) { + case 'Run Portfolio Session': + { + UI.projects.portfolioManagement.functionLibraries.portfolioSessionFunctions.runSession(action.node, false, action.callBackFunction) + } + break + case 'Resume Portfolio Session': + { + UI.projects.portfolioManagement.functionLibraries.portfolioSessionFunctions.runSession(action.node, true, action.callBackFunction) + } + break + case 'Stop Portfolio Session': + { + UI.projects.portfolioManagement.functionLibraries.portfolioSessionFunctions.stopSession(action.node, action.callBackFunction) + } + break + + default: { + console.log("[WARN] Action sent to Portfolio-Management Action Switch does not belong here. Verify at the App Schema file of the node that triggered this action that the actionProject is pointing to the right project. -> Action = " + action.name + " -> Action Node Name = " + action.node.name) + } + } + } +} diff --git a/Projects/Portfolio-Management/UI/Function-Libraries/PortfolioSessionFunctions.js b/Projects/Portfolio-Management/UI/Function-Libraries/PortfolioSessionFunctions.js new file mode 100644 index 000000000..cb5b38e2a --- /dev/null +++ b/Projects/Portfolio-Management/UI/Function-Libraries/PortfolioSessionFunctions.js @@ -0,0 +1,350 @@ +function newPortfolioManagementFunctionLibraryPortfolioSessionFunctions() { + let thisObject = { + syncronizeSessionWithBackEnd: syncronizeSessionWithBackEnd, + runSession: runSession, + stopSession: stopSession + } + + return thisObject + + function syncronizeSessionWithBackEnd(node) { + let validationsResult = validations(node) + if (validationsResult === undefined) { + /* If something fails at validations we just quit. */ + return + } + let lanNetworkNode = validationsResult.lanNetworkNode + if (lanNetworkNode === undefined) { + /* Nodes that do not belong to a network can not get ready. */ + return + } + + let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(lanNetworkNode.id) + + /* First we setup everything so as to listen to the response from the Task Server */ + let eventSubscriptionIdOnStatus + let key = node.name + '-' + node.type + '-' + node.id + eventsServerClient.listenToEvent(key, 'Status Response', undefined, node.id, onResponse, onStatus) + + function onResponse(message) { + eventSubscriptionIdOnStatus = message.eventSubscriptionId + } + + function onStatus(message) { + eventsServerClient.stopListening(key, eventSubscriptionIdOnStatus, node.id) + if (message.event.status === 'Portfolio Session Runnning') { + node.payload.uiObject.menu.internalClick('Run Portfolio Session') + } + } + + /* Second we ask the Task Server if this Session is Running. */ + eventsServerClient.raiseEvent(key, 'Portfolio Session Status') + } + + function runSession(node, resume, callBackFunction) { + + if (UI.environment.DEMO_MODE === true) { + if (window.location.hostname !== 'localhost') { + node.payload.uiObject.setWarningMessage('Superalgos is running is DEMO MODE. This means that you can not RUN Sessions.', 5) + callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE) + return + } + } + + let validationsResult = validations(node) + if (validationsResult === undefined) { + /* If something fails at validations we just quit. */ + return + } + let lanNetworkNode = validationsResult.lanNetworkNode + if (lanNetworkNode === undefined) { + /* This means that the validations failed. */ + callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE) + return + } + + let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(lanNetworkNode.id) + + let key = node.name + '-' + node.type + '-' + node.id + + /* Setup Listener to check Parent Task Status of the Session */ + let eventSubscriptionIdOnStatus + let eventHandlerKey = "Task Client - " + node.payload.parentNode.payload.parentNode.payload.parentNode.id + + eventsServerClient.listenToEvent(eventHandlerKey, 'Task Status', undefined, node.id, onResponse, onStatus) + + function onResponse(message) { + eventSubscriptionIdOnStatus = message.eventSubscriptionId + } + + function onStatus(message) { + eventsServerClient.stopListening(eventHandlerKey, eventSubscriptionIdOnStatus, node.id) + + /* If Task is Not Running Display Error */ + if (message.event.status === 'Task Process Not Running') { + node.payload.uiObject.setErrorMessage('Parent Task Not Running.') + callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE) + } else { + node.payload.uiObject.run(eventsServerClient, callBackFunction) + } + } + + /* Raise Event to Check Task Status */ + let eventKey = {} + eventKey.taskId = node.payload.parentNode.payload.parentNode.payload.parentNode.id + + eventsServerClient.raiseEvent("Task Manager", 'Task Status', eventKey) + + let lightingPath = '' + + 'Portfolio System->' + + 'Dynamic Indicators->Indicator Function->Formula->' + + 'Portfolio Strategy->' + + 'Trigger Stage->Trigger On Event->Trigger Off Event->Take Position Event->' + + 'Open Stage->' + + 'Manage Stage->' + + 'Managed Stop Loss->Managed Take Profit->' + + 'Phase->Formula->Next Phase Event->Move To Phase Event->Phase->' + + 'Situation->Condition->Javascript Code->' + + 'Close Stage->' + + 'Initial Targets->Target Size In Base Asset->Target Size In Quoted Asset->Target Rate->Formula->' + + 'Open Execution->Close Execution->' + + 'Execution Algorithm->Market Buy Order->Market Sell Order->Limit Buy Order->Limit Sell Order->' + + 'Order Rate->Formula->' + + 'Create Order Event->Cancel Order Event->' + + 'Close Stage Event->' + + 'Announcement->Announcement Formula->Announcement Condition->' + + 'Size In Base Asset->Size In Quoted Asset->Position Rate->Formula->' + + 'Situation->Condition->Javascript Code->' + + 'Market Order->Limit Order->' + + 'Simulated Exchange Events->Simulated Partial Fill->Simulated Actual Rate->Simulated Fees Paid->Formula->' + + 'User Defined Code->Javascript Code->' + + let portfolioSystem = UI.projects.visualScripting.functionLibraries.protocolNode.getProtocolNode(node.portfolioSystemReference.payload.referenceParent, false, true, true, false, false, lightingPath) + + lightingPath = '' + + 'Portfolio Engine->' + + 'Dynamic Indicators->Indicator Function->' + + 'Portfolio Current->Portfolio Last->Previous->' + + 'Portfolio Episode->' + + 'Episode Base Asset->Episode Quoted Asset->Portfolio Episode Counters->Portfolio Episode Statistics->' + + 'Strategies->Positions->Orders->Hits->Fails->User Defined Counter->' + + 'Profit Loss->Hit Ratio->Hit Fail->Days->ROI->Annualized Rate Of Return->User Defined Statistic->' + + 'Candle->Cycle->' + + 'Begin->End->Last Begin->Last End->Open->Close->Min->Max->Index->' + + 'Distance To Portfolio Event->' + + 'Head Of The Market->Process Date->' + + 'Trigger On->Trigger Off->Take Position->Close Position->Next Phase->Move To Phase->Create Order->Cancel Order->Close Order->' + + 'Strategy->' + + 'Strategy Counters->' + + 'Position->' + + 'Entry Target Rate->Exit Target Rate->' + + 'Stop Loss->Stop Loss Phase->Stop Loss Position->Begin->End->Initial Value->Final Value->' + + 'Take Profit->Take Profit Phase->Take Profit Position->Begin->End->Initial Value->Final Value->' + + 'Position Counters->' + + 'Position Statistics->Days->User Defined Statistic->' + + 'Position Base Asset->Position Quoted Asset->Entry Target Size->Exit Target Size->' + + 'Profit Loss->ROI->Hit Fail->' + + 'Exchange Orders->Market Buy Orders->Market Sell Orders->Limit Buy Orders->Limit Sell Orders->' + + 'Market Order->Limit Order->' + + 'Exchange Id->Rate->Order Name->Algorithm Name->Lock->' + + 'Order Counters->' + + 'Order Base Asset->Order Quoted Asset->' + + 'Actual Size->Size->Size Filled->Amount Received->Fees Paid->Fees To Be Paid->' + + 'Order Statistics->Percentage Filled->Actual Rate->Days->User Defined Statistic->' + + 'Strategy Trigger Stage->Strategy Open Stage->Strategy Manage Stage->Strategy Close Stage->' + + 'Begin->End->Exit Type->Status->Begin Rate->End Rate->Stage Base Asset->Stage Quoted Asset->Size Placed->Target Size->Size Filled->Fees Paid->Stage Defined In->' + + 'Serial Number->Identifier->Begin->End->Begin Rate->End Rate->Strategy Name->Status->Exit Type->' + + 'Balance->Begin Balance->End Balance->' + + 'Index->Situation Name->Formula->Periods->' + + 'User Defined Variables->User Defined Variable->' + + let portfolioEngine = UI.projects.visualScripting.functionLibraries.protocolNode.getProtocolNode(node.portfolioEngineReference.payload.referenceParent, false, true, true, false, false, lightingPath) + + lightingPath = '' + + 'Backtesting Session->Paper Portfolio Session->Forward Testing Session->Live Portfolio Session->' + + 'Portfolio Parameters->' + + 'Session Base Asset->Session Quoted Asset->Time Range->Time Frame->Slippage->Fee Structure->Snapshots->Heartbeats->User Defined Parameters->' + + 'Social Bots->Telegram Bot->Discord Bot->Slack Bot->Twitter Bot->' + + 'Social Bot Command->Formula->' + + 'Exchange Account Asset->Asset->' + + let session = UI.projects.visualScripting.functionLibraries.protocolNode.getProtocolNode(node, false, true, true, false, false, lightingPath) + + let defaultExchange = UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(validationsResult.exchange.payload, 'codeName') + let defaultMarket = + UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(validationsResult.market.baseAsset.payload.referenceParent.payload, 'codeName') + + '-' + + UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(validationsResult.market.quotedAsset.payload.referenceParent.payload, 'codeName') + + let dependencyFilter = UI.projects.foundations.functionLibraries.dependenciesFilter.createDependencyFilter( + defaultExchange, + defaultMarket, + node.portfolioSystemReference.payload.referenceParent + ) + + /* Raise event to run the session */ + let event = { + session: JSON.stringify(session), + portfolioSystem: JSON.stringify(portfolioSystem), + portfolioEngine: JSON.stringify(portfolioEngine), + dependencyFilter: JSON.stringify(dependencyFilter), + resume: resume + } + + if (resume !== true) { + eventsServerClient.raiseEvent(key, 'Run Portfolio Session', event) + } else { + eventsServerClient.raiseEvent(key, 'Resume Portfolio Session', event) + } + + if (node.payload.parentNode.payload.parentNode.payload.parentNode.payload.parentNode === undefined) { + callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE) + return + } + } + + function stopSession(node, callBackFunction) { + + if (UI.environment.DEMO_MODE === true) { + if (window.location.hostname !== 'localhost') { + node.payload.uiObject.setWarningMessage('Superalgos is running is DEMO MODE. This means that you can not STOP Sessions.', 5) + callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE) + return + } + } + + let validationsResult = validations(node) + if (validationsResult === undefined) { + /* If something fails at validations we just quit. */ + return + } + let lanNetworkNode = validationsResult.lanNetworkNode + if (lanNetworkNode === undefined) { + /* This means that the validations failed. */ + callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE) + return + } + + let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(lanNetworkNode.id) + + let key = node.name + '-' + node.type + '-' + node.id + eventsServerClient.raiseEvent(key, 'Stop Portfolio Session') + + node.payload.uiObject.stop(callBackFunction, undefined, true) + } + + function validations(node) { + + let result = {} + + if (node.payload.parentNode === undefined) { + node.payload.uiObject.setErrorMessage('Session needs a Process Instance parent to be able to run.') + return + } + + if (node.payload.parentNode.payload.parentNode === undefined) { + node.payload.uiObject.setErrorMessage('Session needs to be inside a Process Instance node.') + return + } + + if (node.payload.parentNode.payload.parentNode.payload.parentNode === undefined) { + node.payload.uiObject.setErrorMessage('Session needs to be inside a Task.') + return + } + + if (node.payload.parentNode.payload.parentNode.payload.parentNode.payload.parentNode === undefined) { + node.payload.uiObject.setErrorMessage('Session needs to be inside a Task Manager.') + return + } + + result.taskManager = node.payload.parentNode.payload.parentNode.payload.parentNode.payload.parentNode + + if (result.taskManager.payload.parentNode === undefined) { + node.payload.uiObject.setErrorMessage('Session needs to be inside Mine Tasks.') + return + } + + if (result.taskManager.payload.parentNode.payload.parentNode === undefined) { + node.payload.uiObject.setErrorMessage('Session needs to be inside Market Tasks.') + return + } + + if (result.taskManager.payload.parentNode.payload.parentNode.payload.parentNode === undefined) { + node.payload.uiObject.setErrorMessage('Session needs to be inside Exchange Tasks.') + return + } + + if (result.taskManager.payload.parentNode.payload.parentNode.payload.parentNode.payload.parentNode === undefined) { + node.payload.uiObject.setErrorMessage('Session needs to be inside a Testing or Production Portfolio Tasks.') + return + } + + if (result.taskManager.payload.parentNode.payload.parentNode.payload.parentNode.payload.parentNode.payload.parentNode === undefined) { + node.payload.uiObject.setErrorMessage('Session needs to be inside a Network Node.') + return + } + + result.lanNetworkNode = UI.projects.visualScripting.utilities.meshes.findNodeInNodeMesh(result.taskManager, 'LAN Network Node', undefined, true, false, true, false) + + if (node.portfolioSystemReference === undefined) { + node.payload.uiObject.setErrorMessage('Session needs a child Portfolio System Reference.') + return + } + + if (node.portfolioEngineReference === undefined) { + node.payload.uiObject.setErrorMessage('Session needs a child Portfolio Engine Reference.') + return + } + + if (node.portfolioSystemReference.payload.referenceParent === undefined) { + node.payload.uiObject.setErrorMessage('Portfolio System Reference needs to reference a Portfolio System.') + return + } + + if (node.portfolioEngineReference.payload.referenceParent === undefined) { + node.payload.uiObject.setErrorMessage('Portfolio Engine Reference needs to reference a Portfolio Engine.') + return + } + + if (result.taskManager.payload.parentNode.payload.parentNode.payload.referenceParent === undefined) { + node.payload.uiObject.setErrorMessage('Session needs to have a Default Market.') + return + } + + result.market = result.taskManager.payload.parentNode.payload.parentNode.payload.referenceParent + + if (result.market.payload.parentNode === undefined) { + node.payload.uiObject.setErrorMessage('Default Market needs to be a child of Exchange Markets.') + return + } + + if (result.market.payload.parentNode.payload.parentNode === undefined) { + node.payload.uiObject.setErrorMessage('Exchange Markets neeed to be a child of Crypto Exchange.') + return + } + + if (result.market.baseAsset === undefined) { + node.payload.uiObject.setErrorMessage('Default Market needs to have a Base Asset.') + return + } + + if (result.market.quotedAsset === undefined) { + node.payload.uiObject.setErrorMessage('Default Market needs to have a Quoted Asset.') + return + } + + if (result.market.baseAsset.payload.referenceParent === undefined) { + node.payload.uiObject.setErrorMessage('Market Base Asset needs to reference an Asset.') + return + } + + if (result.market.quotedAsset.payload.referenceParent === undefined) { + node.payload.uiObject.setErrorMessage('Market Quoted Asset needs to reference an Asset.') + return + } + + result.exchange = result.market.payload.parentNode.payload.parentNode + + return result + } +} diff --git a/Projects/ProjectsSchema.json b/Projects/ProjectsSchema.json index e280fe033..6a4a40807 100644 --- a/Projects/ProjectsSchema.json +++ b/Projects/ProjectsSchema.json @@ -151,6 +151,158 @@ "Trading Tasks" ] }, + { + "name": "Portfolio-Management", + "propertyName": "portfolioManagement", + "UI": { + "functionLibraries": [ + { + "name": "Portfolio Session Functions", + "propertyName": "portfolioSessionFunctions", + "functionName": "newPortfolioManagementFunctionLibraryPortfolioSessionFunctions" + } + ] + }, + "TS": { + "botModules": [ + { + "name": "Single Market Portfolio Bot", + "propertyName": "singleMarketPortfolioBot", + "functionName": "newPortfolioManagementBotModulesSingleMarketPortfolioBot", + "fileName": "SingleMarketPortfolioBot.js", + "folderName": "Portfolio-Bot", + "botType": "Portfolio Bot" + }, + { + "name": "Portfolio Session", + "propertyName": "portfolioSession", + "functionName": "newPortfolioManagementBotModulesPortfolioSession", + "fileName": "PortfolioSession.js", + "folderName": "Portfolio-Bot" + }, + { + "name": "Portfolio Process", + "propertyName": "portfolioProcess", + "functionName": "newPortfolioManagementBotModulesPortfolioProcess", + "fileName": "PortfolioProcess.js", + "folderName": "Portfolio-Bot/Low-Frequency-Portfolio" + }, + { + "name": "Portfolio Engine", + "propertyName": "portfolioEngine", + "functionName": "newPortfolioManagementBotModulesPortfolioEngine", + "fileName": "PortfolioEngine.js", + "folderName": "Portfolio-Bot/Low-Frequency-Portfolio" + }, + { + "name": "Portfolio Output", + "propertyName": "portfolioOutput", + "functionName": "newPortfolioManagementBotModulesPortfolioOutput", + "fileName": "PortfolioOutput.js", + "folderName": "Portfolio-Bot/Low-Frequency-Portfolio" + }, + { + "name": "Portfolio Simulation", + "propertyName": "portfolioSimulation", + "functionName": "newPortfolioManagementBotModulesPortfolioSimulation", + "fileName": "PortfolioSimulation.js", + "folderName": "Portfolio-Bot/Low-Frequency-Portfolio" + }, + { + "name": "Portfolio Episode", + "propertyName": "portfolioEpisode", + "functionName": "newPortfolioManagementBotModulesPortfolioEpisode", + "fileName": "PortfolioEpisode.js", + "folderName": "Portfolio-Bot/Low-Frequency-Portfolio" + }, + { + "name": "Portfolio Records", + "propertyName": "portfolioRecords", + "functionName": "newPortfolioManagementBotModulesPortfolioRecords", + "fileName": "PortfolioRecords.js", + "folderName": "Portfolio-Bot/Low-Frequency-Portfolio" + }, + { + "name": "Portfolio System", + "propertyName": "portfolioSystem", + "functionName": "newPortfolioManagementBotModulesPortfolioSystem", + "fileName": "PortfolioSystem.js", + "folderName": "Portfolio-Bot/Low-Frequency-Portfolio" + }, + { + "name": "Portfolio Stages", + "propertyName": "portfolioStages", + "functionName": "newPortfolioManagementBotModulesPortfolioStages", + "fileName": "PortfolioStages.js", + "folderName": "Portfolio-Bot/Low-Frequency-Portfolio" + }, + { + "name": "Portfolio Strategy", + "propertyName": "portfolioStrategy", + "functionName": "newPortfolioManagementBotModulesPortfolioStrategy", + "fileName": "PortfolioStrategy.js", + "folderName": "Portfolio-Bot/Low-Frequency-Portfolio" + }, + { + "name": "Portfolio Execution", + "propertyName": "portfolioExecution", + "functionName": "newPortfolioManagementBotModulesPortfolioExecution", + "fileName": "PortfolioExecution.js", + "folderName": "Portfolio-Bot/Low-Frequency-Portfolio" + }, + { + "name": "Portfolio Position", + "propertyName": "portfolioPosition", + "functionName": "newPortfolioManagementBotModulesPortfolioPosition", + "fileName": "PortfolioPosition.js", + "folderName": "Portfolio-Bot/Low-Frequency-Portfolio" + }, + { + "name": "Snapshots", + "propertyName": "snapshots", + "functionName": "newPortfolioManagementBotModulesSnapshots", + "fileName": "Snapshots.js", + "folderName": "Portfolio-Bot/Low-Frequency-Portfolio" + }, + { + "name": "Portfolio Orders", + "propertyName": "portfolioOrders", + "functionName": "newPortfolioManagementBotModulesPortfolioOrders", + "fileName": "PortfolioOrders.js", + "folderName": "Portfolio-Bot/Low-Frequency-Portfolio" + }, + { + "name": "Orders Simulations", + "propertyName": "ordersSimulations", + "functionName": "newPortfolioManagementBotModulesOrdersSimulations", + "fileName": "OrdersSimulations.js", + "folderName": "Portfolio-Bot/Low-Frequency-Portfolio" + }, + { + "name": "Orders Calculations", + "propertyName": "ordersCalculations", + "functionName": "newPortfolioManagementBotModulesOrdersCalculations", + "fileName": "OrdersCalculations.js", + "folderName": "Portfolio-Bot/Low-Frequency-Portfolio" + }, + { + "name": "Exchange API", + "propertyName": "exchangeAPI", + "functionName": "newPortfolioManagementBotModulesExchangeAPI", + "fileName": "ExchangeAPI.js", + "folderName": "Portfolio-Bot/Low-Frequency-Portfolio/APIs" + } + ] + }, + "plugins": [ + "Portfolio Mines", + "Portfolio Systems", + "Portfolio Engines" + ], + "tasks": [ + "Portfolio Tasks" + ] + }, { "name": "Machine-Learning", "propertyName": "machineLearning", From 40c8afcbd2e20cb94674a9fc64258b3f6598c6bb Mon Sep 17 00:00:00 2001 From: Philip Love Date: Fri, 29 Oct 2021 15:01:22 -0400 Subject: [PATCH 2/2] Fix Deepscan Errors --- .../UI/Function-Libraries/PluginsFunctions.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Projects/Community-Plugins/UI/Function-Libraries/PluginsFunctions.js b/Projects/Community-Plugins/UI/Function-Libraries/PluginsFunctions.js index 8ba24ca17..66039c4be 100644 --- a/Projects/Community-Plugins/UI/Function-Libraries/PluginsFunctions.js +++ b/Projects/Community-Plugins/UI/Function-Libraries/PluginsFunctions.js @@ -132,7 +132,7 @@ function newPluginsFunctionLibraryPluginsFunctions() { } } - function addMissingPluginTradingSystems(node, rootNodes) { + function addMissingPluginPortfolioSystems(node, rootNodes) { let projectName = UI.projects.communityPlugins.utilities.plugins.getProjectName(node) if (projectName === "" || projectName === undefined) { if (node.payload.parentNode !== undefined) { @@ -148,7 +148,7 @@ function newPluginsFunctionLibraryPluginsFunctions() { } } - function addMissingPluginTradingEngines(node, rootNodes) { + function addMissingPluginPortfolioEngines(node, rootNodes) { let projectName = UI.projects.communityPlugins.utilities.plugins.getProjectName(node) if (projectName === "" || projectName === undefined) { if (node.payload.parentNode !== undefined) {