From 785e10fa16fbad335d86c1fb4714d2dc1410a3ba Mon Sep 17 00:00:00 2001 From: Jason Risch Date: Mon, 1 Nov 2021 06:55:27 -0700 Subject: [PATCH] "Last of the typos" --- Docker/README.md | 16 ++++++------ Platform/Client/taskManagerServer.js | 6 ++--- Platform/Client/webSocketsInterface.js | 2 +- Platform/PlatformApp.js | 2 +- Platform/UI/ProductStorage.js | 2 +- Platform/UI/Utilities.js | 2 +- PlatformRoot.js | 4 +-- .../OrdersCalculations.js | 18 ++++++------- .../OrdersSimulations.js | 12 ++++----- .../Low-Frequency-Trading/Snapshots.js | 8 +++--- .../Low-Frequency-Trading/TradingEngine.js | 10 +++---- .../Low-Frequency-Trading/TradingEpisode.js | 4 +-- .../Low-Frequency-Trading/TradingExecution.js | 2 +- .../Low-Frequency-Trading/TradingOrders.js | 20 +++++++------- .../Low-Frequency-Trading/TradingOutput.js | 2 +- .../Low-Frequency-Trading/TradingPosition.js | 2 +- .../Low-Frequency-Trading/TradingProcess.js | 4 +-- .../Low-Frequency-Trading/TradingRecords.js | 20 +++++++------- .../TradingSimulation.js | 20 +++++++------- .../Low-Frequency-Trading/TradingStages.js | 18 ++++++------- .../Low-Frequency-Trading/TradingSystem.js | 8 +++--- .../Trading-Bot/SingleMarketTradingBot.js | 6 ++--- .../Bot-Modules/Trading-Bot/TradingSession.js | 4 +-- .../Plugins/Data-Mines/Omega-One.json | 2 +- .../Data-Mining/Plugins/Data-Mines/Zeus.json | 2 +- .../SingleMarketAPIDataFetcherBot.js | 6 ++--- .../Indicator-Bot/SingleMarketIndicatorBot.js | 6 ++--- .../Sensor-Bot/SingleMarketSensorBot.js | 6 ++--- ...des-001-keyboard-shortcut-quick-guide.json | 12 ++++----- .../UI/Spaces/Tutorial-Space/TutorialSpace.js | 12 ++++----- .../PercentageBandwidth.js | 12 ++++----- .../Plotters-Candles-Volumes/VolumePanel.js | 2 +- .../Plotters-Candles-Volumes/Volumes.js | 14 +++++----- .../Schemas/App-Schema/signals-provider.json | 2 +- .../Schemas/Docs-Books/reviews.json | 4 +-- .../Plugin-Workspace/plugin-workspace.json | 2 +- .../project-schema-file.json | 2 +- .../remove-distance-to-parent-node.json | 2 +- .../replaceby-config-property.json | 2 +- .../set-node-arrangement-to-concave.json | 2 +- .../Record-Definition/record-definition.json | 2 +- .../Record/Record-Formula/record-formula.json | 2 +- .../Record-Property/record-property.json | 2 +- .../S/Serial/Serial-Number/serial-number.json | 2 +- .../Space/Space-Settings/space-settings.json | 22 ++++++++-------- .../strategy-close-stage.json | 2 +- .../strategy-manage-stage.json | 2 +- .../strategy-trigger-stage.json | 2 +- .../S/Super/Super-Scripts/super-scripts.json | 2 +- ...gos-review-my-first-superalgos-review.json | 2 +- .../N/Nodes/Nodes/nodes-004-node-config.json | 2 +- .../N/Nodes/Nodes/nodes-005-node-code.json | 2 +- .../N/Nodes/Nodes/nodes-006-node-menu.json | 2 +- .../Nodes/nodes-008-node-attaching-rules.json | 2 +- .../nodes-009-node-referencing-rules.json | 2 +- .../Nodes/nodes-012-reference-parent.json | 2 +- ...-one-data-mine-001-omega-one-overview.json | 2 +- ...one-data-mine-003-arps-slow-arps-fast.json | 4 +-- ...order-management-007-canceling-orders.json | 2 +- ...nt-011-simulating-order-cancellations.json | 2 +- .../order-management-012-accounting.json | 2 +- ...ata-mine-001-sparta-by-@julian-molina.json | 2 +- ...e-moving-average-sma-sparta-indicator.json | 2 +- ...l-moving-average-ema-sparta-indicator.json | 2 +- ...e-strenght-index-rsi-sparta-indicator.json | 2 +- ...ence-divergence-macd-sparta-indicator.json | 2 +- ...-error-api-map-reference-node-missing.json | 8 +++--- ...her-bot-error-config-property-missing.json | 4 +-- ...se-field-not-descendant-from-endpoint.json | 2 +- ...ot-error-unexpected-api-response-code.json | 8 +++--- ...er-bot-error-unsupported-dataset-type.json | 8 +++--- ...ror-timestamp-record-property-missing.json | 10 +++---- ...ror-only-one-data-dependency-expected.json | 10 +++---- ...rror-only-one-output-dataset-expected.json | 2 +- ...ertert-error-status-report-is-corrupt.json | 2 +- ...rt-error-get-context-variables-failed.json | 2 +- ...-bot-error-evaluating-condition-error.json | 10 +++---- ...ng-bot-error-evaluating-formula-error.json | 10 +++---- ...-bot-error-evaluating-condition-error.json | 10 +++---- ...ng-bot-error-evaluating-formula-error.json | 2 +- ...ing-bot-error-maximum-balance-reached.json | 2 +- ...ing-bot-error-minimum-balance-reached.json | 2 +- ...t-error-order-statistics-node-missing.json | 2 +- ...nouncement-condition-evaluation-error.json | 2 +- ...bot-error-invalid-exchange-api-secret.json | 2 +- ...-bot-error-get-order-unexpected-error.json | 10 +++---- ...t-error-cancel-order-unexpected-error.json | 12 ++++----- ...t-error-create-order-unexpected-error.json | 12 ++++----- ...-bot-error-execution-unexpected-error.json | 2 +- ...3-ts-lf-trading-bot-info-order-closed.json | 2 +- ...ning-simulating-actual-rate-too-hight.json | 4 +-- ...ading-bot-warning-order-size-shrinked.json | 6 ++--- ...valid-initial-datetime-property-value.json | 4 +-- ...invalid-final-datetime-property-value.json | 4 +-- ...session-error-time-frame-node-missing.json | 2 +- ...-session-error-label-property-missing.json | 2 +- ...error-session-base-asset-node-missing.json | 2 +- ...ror-session-quoted-asset-node-missing.json | 2 +- ...rror-initial-balance-property-missing.json | 2 +- ...sion-error-key-reference-node-missing.json | 2 +- ...ror-exchange-account-key-node-missing.json | 2 +- ...ssion-error-codename-property-missing.json | 2 +- ...session-error-secret-property-missing.json | 2 +- ...01-trading-farms-fundamental-concepts.json | 4 +-- ...ading-farms-set-up-a-network-of-nodes.json | 8 +++--- .../trading-logic-002-syntax-overview.json | 6 ++--- ...ding-logic-003-accessing-runtime-data.json | 2 +- ...em-definitions-and-session-parameters.json | 2 +- ...trading-systems-006-order-definitions.json | 2 +- ...ystems-008-position-management-phases.json | 2 +- ...to-upgrade-your-existing-installation.json | 2 +- ...perception-issues-my-system-gets-slow.json | 2 +- ...blems-saving-the-workspace-or-plugins.json | 26 +++++++++---------- ...oting-018-problems-with-computer-time.json | 4 +-- ...013-tutorial-step-copy-the-nodes-path.json | 2 +- ...utorial-step-never-forget-granularity.json | 2 +- ...e-028-tutorial-step-trigger-off-event.json | 2 +- ...stage-034-tutorial-step-lets-do-this..json | 2 +- ...-stage-040-tutorial-step-keep-looking.json | 2 +- ...-stage-046-tutorial-step-errors-nodes.json | 2 +- ...er-stage-068-tutorial-step-lets-do-it.json | 2 +- ...3-tutorial-step-trading-system-values.json | 2 +- .../ProcessFilesFunctions.js | 8 +++--- .../TS/Function-Libraries/ProcessFunctions.js | 2 +- .../SingleMarketFunctions.js | 16 ++++++------ .../TS/Globals/ProcessVariables.js | 8 +++--- .../Foundations/TS/Globals/TaskVariables.js | 2 +- .../Process-Modules/ProcessExecutionEvents.js | 4 +-- .../TS/Process-Modules/ProcessOutput.js | 2 +- .../TS/Process-Modules/StatusDependencies.js | 2 +- .../TS/Process-Modules/StatusReport.js | 10 +++---- .../Function-Libraries/WorkspaceFunctions.js | 2 +- .../Spaces/Charting-Space/PlottersManager.js | 4 +-- .../Spaces/Charting-Space/Plotting/Plotter.js | 20 +++++++------- .../Charting-Space/Plotting/RecordValues.js | 4 +-- .../Charting-Space/Scales/TimeFrameScale.js | 2 +- .../UI/Spaces/Charting-Space/TimeMachine.js | 10 +++---- .../UI/Spaces/Charting-Space/TimelineChart.js | 6 ++--- .../UI/Spaces/Charting-Space/Viewport.js | 2 +- .../UI/Spaces/Design-Space/Workspace.js | 8 +++--- .../UI/Spaces/Floating-Space/UiObject.js | 12 ++++----- .../Floating-Space/UiObjectConstructor.js | 2 +- .../UI/Spaces/Panel-Space/PanelSpace.js | 6 ++--- .../Spaces/Panel-Space/PanelsVisibleButton.js | 2 +- .../UI/Spaces/Panel-Space/UpDownButton.js | 2 +- .../votes-distribution.json | 2 +- .../UI/Function-Libraries/StakingProgram.js | 2 +- .../UI/Function-Libraries/TokenPower.js | 4 +-- .../UI/Function-Libraries/Tokens.js | 6 ++--- .../UI/Function-Libraries/VotingProgram.js | 8 +++--- .../UI/Spaces/Reports-Space/ReportsSpace.js | 2 +- .../Spaces/User-Profile-Space/UserProfile.js | 4 +-- Projects/Governance/UI/Utilities/Tables.js | 4 +-- .../Learning-Bot/SingleMarketLearningBot.js | 6 ++--- .../Network/NT/Modules/WebSocketsInterface.js | 12 ++++----- .../NT/Modules/WebSocketsNetworkClient.js | 10 +++---- Projects/Network/SA/Modules/UserProfiles.js | 4 +-- .../Network/SA/Modules/WebSocketsAppClient.js | 10 +++---- .../Social-Trading/DK/modules/SocialGraph.js | 6 ++--- .../DK/modules/WebAppInterface.js | 8 +++--- .../DK/modules/WebSocketsInterface.js | 4 +-- .../Social-Trading/NT/Modules/SocialGraph.js | 4 +-- Projects/Social-Trading/NT/Modules/Storage.js | 2 +- .../NT/Utilities/QueriesValidations.js | 2 +- .../SA/Modules/Social-Graph/Post.js | 6 ++--- .../SA/Modules/Social-Graph/UserProfile.js | 2 +- .../UI/modules/WebSocketsWebClient.js | 2 +- .../O/Output/Output-Labels/output-labels.json | 2 +- .../TensorFlowLibrary.js | 2 +- .../UI/Function-Libraries/OnFocus.js | 2 +- .../UI/Function-Libraries/ShortcutKeys.js | 2 +- .../Function-Libraries/UiObjectsFromNodes.js | 24 ++++++++--------- README.md | 8 +++--- TaskServer/ProcessInstance.js | 2 +- TaskServerRoot.js | 4 +-- setup.js | 2 +- 176 files changed, 449 insertions(+), 449 deletions(-) diff --git a/Docker/README.md b/Docker/README.md index 151d21f8e8..80d729df75 100644 --- a/Docker/README.md +++ b/Docker/README.md @@ -16,9 +16,9 @@ ## Introduction -This walkthrough is broken up into to parts: a quick-start guide to running [Superalgos](https://github.com/Superalgos/Superalgos) with Docker and a deeper, more theoretical dive into containers with the hopes of explaining some of the design decisions. +This walk through is broken up into to parts: a quick-start guide to running [Superalgos](https://github.com/Superalgos/Superalgos) with Docker and a deeper, more theoretical dive into containers with the hopes of explaining some of the design decisions. -[Superalgos](https://github.com/Superalgos/Superalgos), at its core, is a web application which also means it can be deployed inside a container like many other web applications. One of the leading platforms for operating containers is Docker. Docker can run on many different operatng systems and compute platforms. The containers provide an easy, fast, repeatable, and secure way to deploy and distribute applications. While it doesn't take much experience to run containers or Docker, there are some basics that any user should learn in order to use the technology effectively. +[Superalgos](https://github.com/Superalgos/Superalgos), at its core, is a web application which also means it can be deployed inside a container like many other web applications. One of the leading platforms for operating containers is Docker. Docker can run on many different operating systems and compute platforms. The containers provide an easy, fast, repeatable, and secure way to deploy and distribute applications. While it doesn't take much experience to run containers or Docker, there are some basics that any user should learn in order to use the technology effectively. Before getting started, be aware that Docker is not the originally intended method of running the [Superalgos](https://github.com/Superalgos/Superalgos) application and as such there are some drawbacks to doing so. Namely, you won't be able contribute back to the project or configure your Governance profile. We'll discuss this more later. Therefore, you should only consider using the Docker container for production deployments. @@ -55,7 +55,7 @@ Docker should automatically start after installation. If you don't see the whale ### Linux and BSD -On Linux and BSD systems, Docker can be installed using the prefered package manager. [Step by step instructions for many different distributions](https://docs.docker.com/engine/install/debian/) of Linux can be found in the official Docker Docs. Since [Superalgos](https://github.com/Superalgos/Superalgos) runs well on Raspberry Pi 4 single-board computers, I'm going to illustrate the commands necessary to run [Superalgos](https://github.com/Superalgos/Superalgos) on the Raspbian Linux distribution. +On Linux and BSD systems, Docker can be installed using the preferred package manager. [Step by step instructions for many different distributions](https://docs.docker.com/engine/install/debian/) of Linux can be found in the official Docker Docs. Since [Superalgos](https://github.com/Superalgos/Superalgos) runs well on Raspberry Pi 4 single-board computers, I'm going to illustrate the commands necessary to run [Superalgos](https://github.com/Superalgos/Superalgos) on the Raspbian Linux distribution. ```shell # install the requirements @@ -70,7 +70,7 @@ sudo apt-get install \ # add the gpg keys to verify the packages curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg -# confgure the official repository +# configure the official repository echo \ "deb [arch=arm64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null @@ -84,7 +84,7 @@ Docker should automatically start when it is done installing. You can check its ## Running Superalgos -Now that we have Docker installed and running, we can run the container. The option `--rm` will remove the isntance of the container when it is exited. +Now that we have Docker installed and running, we can run the container. The option `--rm` will remove the instance of the container when it is exited. ```shell docker run --rm ghcr.io/superalgos/superalgos:latest @@ -147,7 +147,7 @@ Continue reading the [Docker Command Line documentation](https://docs.docker.com ### Using Docker-Compose -Docker-compose is a wrapper for the Docker API which makes it a little easier to maintain a declaritive configuration for an application instead of using the direct command line commands. There is a sample docker-compose configuration included in the [Superalgos](https://github.com/Superalgos/Superalgos) which you can as the basis for your own configuration. +Docker-compose is a wrapper for the Docker API which makes it a little easier to maintain a declarative configuration for an application instead of using the direct command line commands. There is a sample docker-compose configuration included in the [Superalgos](https://github.com/Superalgos/Superalgos) which you can as the basis for your own configuration. Let's download the sample and edit it. If you don't use `vim`, change that command for your preferred editor. @@ -236,10 +236,10 @@ Docker has many advantages which can aid in every step from development through Docker maintains a list of [Dockerfile best practices](https://docs.docker.com/develop/develop-images/dockerfile_best-practices/) in their main documentation. These tips dictate many of the decisions around the Superalgos Dockerfile. Some of the tips that are used by [Superalgos](https://github.com/Superalgos/Superalgos) are listed below. - Use `.dockerignore` to prevent unwanted data from entering the container. This keeps the container small but also enhances security to prevent secrets from leaking into a container by accident. -- Don't install unneccesary packages. In lieu of multi-stage builds, build caches and build dependencies are removed before finalizing the container. Only packages that are necessary for the execution of the application are installed. This is why `git` is not present. +- Don't install unnecessary packages. In lieu of multi-stage builds, build caches and build dependencies are removed before finalizing the container. Only packages that are necessary for the execution of the application are installed. This is why `git` is not present. - Minimize the number of layers. Many `RUN` commands are combined into one using `&&` in order to reduce the number of layers. - Sort multiline arguments. This mostly enhances readability and maintainability. -- Leverage build cache. When testing locally, several of the tips above help levarage the build cache and speed up build times. +- Leverage build cache. When testing locally, several of the tips above help leverage the build cache and speed up build times. ### Twelve Factor App diff --git a/Platform/Client/taskManagerServer.js b/Platform/Client/taskManagerServer.js index c645e497ba..c96063c6ef 100644 --- a/Platform/Client/taskManagerServer.js +++ b/Platform/Client/taskManagerServer.js @@ -65,7 +65,7 @@ let path = global.env.BASE_PATH + '/TaskServerRoot.js' - /* Workarround to avoid having the same debug port at the forked process which makes it crash. */ + /* Workaround to avoid having the same debug port at the forked process which makes it crash. */ for (let i = 0; i < process.execArgv.length; i++) { let argument = process.execArgv[i] if (argument.indexOf('--inspect') > -1) { @@ -94,7 +94,7 @@ console.log(`[ERROR] Client -> Task Manager Server -> runTask -> Task Server exited with error ${err}`) tasksMap.delete(task.id) }) - /* If the Tast Server stops, we remove it from our task map */ + /* If the Task Server stops, we remove it from our task map */ task.childProcess.on('close', (code, signal) => { //console.log('[INFO] Client -> Task Manager Server -> runTask -> Task Terminated. -> Task Name = ' + task.name) //console.log('[INFO] Client -> Task Manager Server -> runTask -> Task Terminated. -> Task Id = ' + task.id) @@ -190,7 +190,7 @@ function finalize() { - /* Before disconnecting we will forze all eventListeners to stop listening. */ + /* Before disconnecting we will force all eventListeners to stop listening. */ const eventListenersArray = [...eventListeners.values()] for (let i = 0; i < eventListenersArray.length; i++) { let handler = eventListenersArray[i] diff --git a/Platform/Client/webSocketsInterface.js b/Platform/Client/webSocketsInterface.js index 6159d840b1..9b51c398c8 100644 --- a/Platform/Client/webSocketsInterface.js +++ b/Platform/Client/webSocketsInterface.js @@ -41,7 +41,7 @@ try { if (global.env.DEMO_MODE === true) { /* - In DEMO MODE we will accept Task / Sessioins Running or Stopping if you are requesting this from localhost only. + In DEMO MODE we will accept Task / Sessions Running or Stopping if you are requesting this from localhost only. */ if (socket._socket.remoteAddress !== "::1") { if ( diff --git a/Platform/PlatformApp.js b/Platform/PlatformApp.js index dffa50d130..d156752dd6 100644 --- a/Platform/PlatformApp.js +++ b/Platform/PlatformApp.js @@ -20,7 +20,7 @@ exports.newPlatformApp = function newPlatformApp() { }) process.on('unhandledRejection', (reason, p) => { - // Signal user that a necissary node module is missing + // Signal user that a necessary node module is missing if (reason.code == 'MODULE_NOT_FOUND') { console.log("[ERROR] Dependency library not found. Please try running the 'node setup' command and then restart the Superalgos Platform Client.") console.log('[ERROR] Platform App -> reason = ' + JSON.stringify(reason)) diff --git a/Platform/UI/ProductStorage.js b/Platform/UI/ProductStorage.js index ad44db9bf4..fad952099b 100644 --- a/Platform/UI/ProductStorage.js +++ b/Platform/UI/ProductStorage.js @@ -8,7 +8,7 @@ function newProductStorage(name) { /* This object will initialize children objects that will end up loading the data of each set defined at each product of the bot received at initialization. - Once all the underlaying objects are fully initialized it will callback. + Once all the underlying objects are fully initialized it will callback. At the same time it will raise an event for each underlaying file being loaded, so that the UI can reflect the progress to the end user. diff --git a/Platform/UI/Utilities.js b/Platform/UI/Utilities.js index b8be0cd454..54affe934a 100644 --- a/Platform/UI/Utilities.js +++ b/Platform/UI/Utilities.js @@ -15,7 +15,7 @@ function getSchemaDocument(node, project) { even those can fail. For that reason, we will temporally see if we can find the schema document at any of the available projects. - TODO: We need to explictly declare the project of a relatedUIObject in order to avoid potential name collision + TODO: We need to explicitly declare the project of a relatedUIObject in order to avoid potential name collision between nodes belonging to more than one project. */ diff --git a/PlatformRoot.js b/PlatformRoot.js index d1cdab8729..125200a8ca 100644 --- a/PlatformRoot.js +++ b/PlatformRoot.js @@ -6,12 +6,12 @@ load all node dependencies and get them ready to the actual App. */ /* -The PL object is accesible everywhere at the Superalgos Platform Client. +The PL object is accessible everywhere at the Superalgos Platform Client. It provides access to all modules built for this Client. */ global.PL = {} /* -The SA object is accesible everywhere at the Superalgos Desktop App. +The SA object is accessible everywhere at the Superalgos Desktop App. It provides access to all modules built for Superalgos in general. */ global.SA = {} diff --git a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/OrdersCalculations.js b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/OrdersCalculations.js index af77160a7e..13bcd823e8 100644 --- a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/OrdersCalculations.js +++ b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/OrdersCalculations.js @@ -1,6 +1,6 @@ exports.newAlgorithmicTradingBotModulesOrdersCalculations = function (processIndex) { /* - When we are live trading, we need to syncronize with the exchange. + When we are live trading, we need to synchronize with the exchange. */ let thisObject = { @@ -48,7 +48,7 @@ exports.newAlgorithmicTradingBotModulesOrdersCalculations = function (processInd 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. + accounting synchronizes with reality. */ /* This calculation needs to happen only once, the first time the order is checked. */ @@ -65,8 +65,8 @@ exports.newAlgorithmicTradingBotModulesOrdersCalculations = function (processInd 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 + In the next formula, we are using the rate of the order because we dont know yet the Actual Rate. + This rate might be replaced afterwards for the Actual Rate when this is calculated again once the Actual Rate is known. */ tradingEngineOrder.orderQuotedAsset.actualSize.value = tradingEngineOrder.orderBaseAsset.actualSize.value * tradingEngineOrder.rate.value @@ -133,7 +133,7 @@ exports.newAlgorithmicTradingBotModulesOrdersCalculations = function (processInd tradingEngineOrder.orderStatistics.actualRate.value = TS.projects.foundations.utilities.miscellaneousFunctions.truncateToThisPrecision(tradingEngineOrder.orderStatistics.actualRate.value, 10) /* - If the Actual Rate happens to be exctly the same than the order rate, then there is + If the Actual Rate happens to be exactly the same than the order rate, then there is nothing else to do here. Otherwise there are adjustments to be made. */ if (tradingEngineOrder.orderStatistics.actualRate.value === tradingEngineOrder.rate.value) { return } @@ -146,12 +146,12 @@ exports.newAlgorithmicTradingBotModulesOrdersCalculations = function (processInd 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 + is not the same as the Rate we defined for the order, we need to synchronize 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 + got the Order Size in Base Asset, either from direct input from the user or calculated from the Order Size in Quoted Asset input it by the user. So here we go. */ previousQuotedAssetActualSize = tradingEngineOrder.orderQuotedAsset.actualSize.value @@ -270,7 +270,7 @@ exports.newAlgorithmicTradingBotModulesOrdersCalculations = function (processInd async function feesPaidCalculation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, order, applyFeePercentage) { /* Within the order information received from the exchange we can not see the fees paid so we need to - calculate them ourselves. Knwowing the Fees Paid is critical to later update the balances correctly, + calculate them ourselves. Knowing 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. @@ -324,7 +324,7 @@ exports.newAlgorithmicTradingBotModulesOrdersCalculations = function (processInd /* 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 + the Base Asset. If we are Buying, then the Amount Received will be in Base Asset. If we are selling then it will be in Quoted Asset. */ diff --git a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/OrdersSimulations.js b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/OrdersSimulations.js index ad4d246ae3..5c7963c89f 100644 --- a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/OrdersSimulations.js +++ b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/OrdersSimulations.js @@ -36,7 +36,7 @@ exports.newAlgorithmicTradingBotModulesOrdersSimulations = function (processInde async function actualSizeSimulation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, applyFeePercentage) { /* The Actual Size is the size the exchange accepts for the order, - regarless of the size sent in the request to the exchange. + regardless of the size sent in the request to the exchange. While backtesting and paper trading, we do not really need to simulate an Actual Size. We will just copy to that field the @@ -81,7 +81,7 @@ exports.newAlgorithmicTradingBotModulesOrdersSimulations = function (processInde switch (tradingEngineOrder.type) { case 'Market Order': { - /* Actual Rate is simulated based on the Session Paremeters */ + /* Actual Rate is simulated based on the Session Parameters */ let slippageAmount = tradingEngineOrder.rate.value * sessionParameters.slippage.config.marketOrderRate / 100 if (slippageAmount !== 0) { switch (tradingSystemOrder.type) { @@ -197,7 +197,7 @@ exports.newAlgorithmicTradingBotModulesOrdersSimulations = function (processInde 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 + we set for the order was too low (for a sale order) or too height (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 @@ -303,7 +303,7 @@ exports.newAlgorithmicTradingBotModulesOrdersSimulations = function (processInde if (tradingEngineOrder.orderStatistics.actualRate.value === tradingEngineOrder.rate.value) { return } /* Since the Actual Rate might have changed, we need to recalculate the Size Placed, where we accumulate all the Size Placed of - all orders of a Stage. For Base Asset there is nothing to do, since the Actual Rate does not have an inpact on it. + all orders of a Stage. For Base Asset there is nothing to do, since the Actual Rate does not have an impact 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. @@ -462,7 +462,7 @@ exports.newAlgorithmicTradingBotModulesOrdersSimulations = function (processInde } /* - Another way to simulate the Fees Paid is by using the Session Paremeters configuration for Fees. + Another way to simulate the Fees Paid is by using the Session Parameters configuration for Fees. */ switch (tradingEngineOrder.type) { case 'Market Order': { @@ -510,7 +510,7 @@ exports.newAlgorithmicTradingBotModulesOrdersSimulations = function (processInde /* 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 + the Base Asset. If we are Buying, then the Amount Received will be in Base Asset. If we are selling then it will be in Quoted Asset. */ diff --git a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/Snapshots.js b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/Snapshots.js index 65f2d2f6c9..a0c7e9de4f 100644 --- a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/Snapshots.js +++ b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/Snapshots.js @@ -135,7 +135,7 @@ exports.newAlgorithmicTradingBotModulesSnapshots = function(processIndex) { function evalNode(node) { if (node === undefined) { return } - /* Here we check if there is a codition to be evaluated */ + /* Here we check if there is a condition to be evaluated */ if (node.type === 'Condition') { /* We will eval this condition */ evalCondition(node) @@ -154,7 +154,7 @@ exports.newAlgorithmicTradingBotModulesSnapshots = function(processIndex) { 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. + 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 avoid counting each property of those as individual children. for (let i = 0; i < schemaDocument.childrenNodesProperties.length; i++) { let property = schemaDocument.childrenNodesProperties[i] @@ -398,7 +398,7 @@ exports.newAlgorithmicTradingBotModulesSnapshots = function(processIndex) { 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 + // check if are for sure on the same trade number and merge the data and remove previous line incl separator if (rowToMutateArray[0] == record[0]) { record.pop() rowToMutateArray.splice(0, record.length) @@ -451,7 +451,7 @@ exports.newAlgorithmicTradingBotModulesSnapshots = function(processIndex) { 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 + // remove the last linebreak and separator which is introduced extra during save text = text.replace(/\n$/, '') text = text.replace(/\r\n$/, '') writeOutput(text) diff --git a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingEngine.js b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingEngine.js index c04a0eea0b..ff2312b660 100644 --- a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingEngine.js +++ b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingEngine.js @@ -1,6 +1,6 @@ exports.newAlgorithmicTradingBotModulesTradingEngine = function (processIndex) { /* - We call the Trading Engine to the data structure that is needed in order to exevute the + We call the Trading Engine to the data structure that is needed in order to execute the trading protocol with the specific rules defined at the Trading System. */ @@ -31,7 +31,7 @@ exports.newAlgorithmicTradingBotModulesTradingEngine = function (processIndex) { 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 Trading Engine hiriarchy and + Here we will go through all the nodes in the Trading Engine hierarchy and apply the initial value to the value property when needed */ initializeNode(tradingEngine) @@ -116,7 +116,7 @@ exports.newAlgorithmicTradingBotModulesTradingEngine = function (processIndex) { 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. + 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 avoid counting each property of those as individual children. for (let i = 0; i < schemaDocument.childrenNodesProperties.length; i++) { let property = schemaDocument.childrenNodesProperties[i] @@ -155,7 +155,7 @@ exports.newAlgorithmicTradingBotModulesTradingEngine = function (processIndex) { 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. + 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 avoid counting each property of those as individual children. for (let i = 0; i < schemaDocument.childrenNodesProperties.length; i++) { let property = schemaDocument.childrenNodesProperties[i] @@ -198,7 +198,7 @@ exports.newAlgorithmicTradingBotModulesTradingEngine = function (processIndex) { 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. + 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 avoid counting each property of those as individual children. for (let i = 0; i < schemaDocument.childrenNodesProperties.length; i++) { let property = schemaDocument.childrenNodesProperties[i] diff --git a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingEpisode.js b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingEpisode.js index f70284899a..9ca2f119f7 100644 --- a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingEpisode.js +++ b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingEpisode.js @@ -108,7 +108,7 @@ exports.newAlgorithmicTradingBotModulesTradingEpisode = function (processIndex) function updateStatistics() { - /* Daus Calculation */ + /* Days Calculation */ tradingEngine.tradingCurrent.tradingEpisode.tradingEpisodeStatistics.days.value = tradingEngine.tradingCurrent.tradingEpisode.tradingEpisodeCounters.periods.value * sessionParameters.timeFrame.config.value / @@ -261,7 +261,7 @@ exports.newAlgorithmicTradingBotModulesTradingEpisode = function (processIndex) } function updateDistanceToTradingEventsCounters() { - /* Keeping Distance Counters Up-to-date while avoinding counting before the first event happens. */ + /* Keeping Distance Counters Up-to-date while avoiding counting before the first event happens. */ if ( tradingEngine.tradingCurrent.tradingEpisode.distanceToTradingEvent.triggerOn.value > 0 ) { diff --git a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingExecution.js b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingExecution.js index 11cba8cd64..e277383309 100644 --- a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingExecution.js +++ b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingExecution.js @@ -1,6 +1,6 @@ exports.newAlgorithmicTradingBotModulesTradingExecution = function (processIndex) { /* - The Trading Execution modules manages the execution nodes and execution algoritms. + The Trading Execution modules manages the execution nodes and execution algorithms. */ const MODULE_NAME = 'Trading Execution' diff --git a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingOrders.js b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingOrders.js index d61d36b869..a51c9b2d4e 100644 --- a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingOrders.js +++ b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingOrders.js @@ -226,7 +226,7 @@ exports.newAlgorithmicTradingBotModulesTradingOrders = function (processIndex) { let situationName = await checkOrderEvent(tradingSystemOrder.cancelOrderEvent, tradingSystemOrder, executionAlgorithm, executionNode) if (situationName !== undefined) { - /* Simulate Order Cancelation, if needed. */ + /* Simulate Order Cancellation, if needed. */ simulateCancelOrder(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, 'Cancel Event') /* Cancel the order at the Exchange, if needed. */ @@ -731,8 +731,8 @@ exports.newAlgorithmicTradingBotModulesTradingOrders = function (processIndex) { /* Close this Order */ tradingEngineOrder.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 + We must be carefully here not to override an already defined exitType. It can happen + for instance that the order was cancelled from the but verifying 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. */ @@ -764,7 +764,7 @@ exports.newAlgorithmicTradingBotModulesTradingOrders = function (processIndex) { } /* - If the order happens to be at least partially filled, there is a syncronization work + If the order happens to be at least partially filled, there is a synchronization 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. */ @@ -1118,7 +1118,7 @@ exports.newAlgorithmicTradingBotModulesTradingOrders = function (processIndex) { 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. + about them, it returns null. We will interpret this as ORDER NOT FOUND. */ const message = 'Order Not Found at the Exchange' let docs = { @@ -1136,8 +1136,8 @@ exports.newAlgorithmicTradingBotModulesTradingOrders = function (processIndex) { ] ) /* - 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 + We must be carefully here not to overide an already defined exitType. It can happen + for instance that the order was cancelled from the but verifying 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. */ @@ -1148,7 +1148,7 @@ exports.newAlgorithmicTradingBotModulesTradingOrders = function (processIndex) { /* 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. + response with the order details that we can use to synchronize with our accounting. Otherwise if the connection to the exchange fails, we would have a closed order not accounted in any way. */ @@ -1182,8 +1182,8 @@ exports.newAlgorithmicTradingBotModulesTradingOrders = function (processIndex) { async function recalculateStageSize(tradingEngineStage, tradingEngineOrder) { /* 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 + Size Placed accumulates for each asset, the order size placed at the exchange. A cancellation means that + only the part filled can be considered placed, so we need to subtract 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. */ diff --git a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingOutput.js b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingOutput.js index 2580b90387..115f3d9b0f 100644 --- a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingOutput.js +++ b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingOutput.js @@ -1,6 +1,6 @@ exports.newAlgorithmicTradingBotModulesTradingOutput = function (processIndex) { /* - This module will load if necesary all the data outputs so that they can be appended with new + This module will load if necessary all the data outputs so that they can be appended with new records if needed. After running the simulation, it will save all the data outputs. */ const MODULE_NAME = 'Trading Output' diff --git a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingPosition.js b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingPosition.js index 4b825861e3..d2f3e0766c 100644 --- a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingPosition.js +++ b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingPosition.js @@ -71,7 +71,7 @@ exports.newAlgorithmicTradingBotModulesTradingPosition = function (processIndex) /* Updating Episode Counters */ tradingEngine.tradingCurrent.tradingEpisode.tradingEpisodeCounters.positions.value++ - /* Inicializing this counter */ + /* Initializing this counter */ tradingEngine.tradingCurrent.tradingEpisode.distanceToTradingEvent.takePosition.value = 1 /* Remember the balance we had before taking the position to later calculate profit or loss */ diff --git a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingProcess.js b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingProcess.js index 2089fa1221..dd7a9a4d05 100644 --- a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingProcess.js +++ b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingProcess.js @@ -65,7 +65,7 @@ This is the Date that is going to be used across the execution of this Trading Process. We need this because it has a different life cycle than the processData stored at the Trading Engine data structure. This date has to remain the same during the whole execution - of the Trading Process until the end, inclusind the writing of Data Ranges and Status Reports. + of the Trading Process until the end, including the writing of Data Ranges and Status Reports. The processDate of the Trading Engine data structure on the other hand can be changed during the simulation loop, once we discover that all candles from a certain date have benn processed. Here is the point where we sync one and the other. @@ -108,7 +108,7 @@ 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 + we already set a value to currentTimeFrame.value. We are also not going to loop through days if we are processing market files. */ if (currentTimeFrame.value) { diff --git a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingRecords.js b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingRecords.js index 5ef7540160..8c8e4877c5 100644 --- a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingRecords.js +++ b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingRecords.js @@ -95,14 +95,14 @@ exports.newAlgorithmicTradingBotModulesTradingRecords = function (processIndex) */ 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. + The Product Root Node is the root of the node hierarchy 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 trading engine data structure it belongs. + branch of the trading engine data structure it belongs. */ record.push(index) persistIndividualRecord(record, product, outputDatasetArray) @@ -114,7 +114,7 @@ exports.newAlgorithmicTradingBotModulesTradingRecords = function (processIndex) 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. + The Product Root Node is the root of the node hierarchy from where we are going to extract the record values. */ let productRootNode = productRoot let record = scanRecordDefinition(product, productRootNode) @@ -131,7 +131,7 @@ exports.newAlgorithmicTradingBotModulesTradingRecords = function (processIndex) 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 + The Property Root Node is the Root of the Hierarchy 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 @@ -150,7 +150,7 @@ exports.newAlgorithmicTradingBotModulesTradingRecords = function (processIndex) } } /* - The Target Node is the node from where we are going to exctract the value. + The Target Node is the node from where we are going to extract 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. */ @@ -170,7 +170,7 @@ exports.newAlgorithmicTradingBotModulesTradingRecords = function (processIndex) targetNode = propertyRootNode[recordProperty.config.childProperty] } /* - It can happen that intead of having a Node in targetNode what we have is an + It can happen that instead 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. */ @@ -187,7 +187,7 @@ exports.newAlgorithmicTradingBotModulesTradingRecords = function (processIndex) 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. + let value = 0 // This is a default value, since we do not want null in files because it brakes JSON format. if (targetNode !== undefined) { if (targetNode.type !== undefined) { /* @@ -251,14 +251,14 @@ exports.newAlgorithmicTradingBotModulesTradingRecords = function (processIndex) /* 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 + of the day? Easy: the end of the candle must be 1 millisecond before the next day. That happens at any time frame. */ let currentDay = new Date(tradingEngine.tradingCurrent.tradingEpisode.candle.end.value) let nextDay = new Date(tradingEngine.tradingCurrent.tradingEpisode.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. + We will save the object only if it is closed, because we are at the last candle of the day. */ if (propertyValue === product.config.propertyValueThatClosesObject) { outputDatasetArray.push(record) @@ -275,7 +275,7 @@ exports.newAlgorithmicTradingBotModulesTradingRecords = function (processIndex) } else { /* - For Market Files we will add a record everytime that proeprty value does not match this + For Market Files we will add a record everytime that property value does not match this */ if (propertyValue !== product.config.propertyValueThatPreventsSavingObject) { outputDatasetArray.push(record) diff --git a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingSimulation.js b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingSimulation.js index 7196e49835..837fdcd0c7 100644 --- a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingSimulation.js +++ b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingSimulation.js @@ -1,6 +1,6 @@ exports.newAlgorithmicTradingBotModulesTradingSimulation = function (processIndex) { /* - This Module represents the trading simulacion. Escentially a loop through a set of candles and + This Module represents the trading simulation. Essentially a loop through a set of candles and the execution at each loop cycle of the Trading System Protocol. */ const MODULE_NAME = 'Trading Simulation -> ' + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.name @@ -134,7 +134,7 @@ exports.newAlgorithmicTradingBotModulesTradingSimulation = function (processInde 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 trading 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.*/ + /* We emit a heart beat so that the UI can now where we are at the overall process.*/ heartBeat() /* Opening the Episode, if needed. */ @@ -157,7 +157,7 @@ exports.newAlgorithmicTradingBotModulesTradingSimulation = function (processInde /* Do the stuff needed previous to the run like - Episode Counters and Statistics update. Mantaince is done + Episode Counters and Statistics update. Maintenance is done once per simulation candle. */ tradingSystemModuleObject.mantain() @@ -176,7 +176,7 @@ exports.newAlgorithmicTradingBotModulesTradingSimulation = function (processInde /* 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 + reason is also properly 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. @@ -312,7 +312,7 @@ exports.newAlgorithmicTradingBotModulesTradingSimulation = function (processInde 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, + There are a few tasks that we need to do only when the date changes, otherwise it would be suboptimal. */ if (heartBeatDate.valueOf() !== previousHeartBeatDate) { @@ -328,7 +328,7 @@ exports.newAlgorithmicTradingBotModulesTradingSimulation = function (processInde TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.newInternalLoop(currentDate, percentage) } - /* Date only hearbeat */ + /* Date only heartbeat */ if (sessionParameters.heartbeats.config.date === true && sessionParameters.heartbeats.config.candleIndex === false) { hartbeatText = hartbeatText + currentDateString TS.projects.foundations.functionLibraries.processFunctions.processHeartBeat(processIndex, hartbeatText, percentage) @@ -337,7 +337,7 @@ exports.newAlgorithmicTradingBotModulesTradingSimulation = function (processInde } /* - When the Candle Index nees to be shown, then we can not send the hearbet + When the Candle Index needs to be shown, then we can not send the heartbeat only when the dates changes, we have to send it for every candle. It might also contain the date information. */ @@ -354,7 +354,7 @@ exports.newAlgorithmicTradingBotModulesTradingSimulation = function (processInde 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 + In conditions and Formulas, we want users to have an easy syntax 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. */ @@ -483,7 +483,7 @@ exports.newAlgorithmicTradingBotModulesTradingSimulation = function (processInde 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 + The second +1 is because we need to compare the next candle (remember that the loops always avoid the last candle of the dataset available.) */ if (tradingEngine.tradingCurrent.tradingEpisode.candle.index.value + 1 + 1 === candles.length) { @@ -550,7 +550,7 @@ exports.newAlgorithmicTradingBotModulesTradingSimulation = function (processInde } function checkMinimunAndMaximunBalance() { - /* Checks for Minimun and Maximun Balance. We do the check while not inside any strategy only. */ + /* Checks for Minimum and Maximum Balance. We do the check while not inside any strategy only. */ if ( tradingEngine.tradingCurrent.strategy.index.value === tradingEngine.tradingCurrent.strategy.index.config.initialValue ) { diff --git a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingStages.js b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingStages.js index b45bdb872c..685424b198 100644 --- a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingStages.js +++ b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingStages.js @@ -422,7 +422,7 @@ exports.newAlgorithmicTradingBotModulesTradingStages = function (processIndex) { /* 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 + Here we are going to see if that is the case and if it is, we will immediately consider the Manage Stage as closed. */ if (manageStage === undefined) { @@ -820,7 +820,7 @@ exports.newAlgorithmicTradingBotModulesTradingStages = function (processIndex) { if (tradingEngine.tradingCurrent.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 + Here we are going to see if that is the case and if it is, we will immediately consider the close stage as closed. */ if (tradingSystem.tradingStrategies[tradingEngine.tradingCurrent.strategy.index.value].closeStage === undefined) { @@ -1024,7 +1024,7 @@ exports.newAlgorithmicTradingBotModulesTradingStages = function (processIndex) { 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 + is not synchronized 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 @@ -1041,7 +1041,7 @@ exports.newAlgorithmicTradingBotModulesTradingStages = function (processIndex) { } /* 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. + to the Size Filled before checking it against the Stage Target Size. */ let ABSOLUTE_DUST_IN_BASE_ASSET = 0 if (tradingSystemStage.config.absoluteDustInBaseAsset !== undefined) { @@ -1151,13 +1151,13 @@ exports.newAlgorithmicTradingBotModulesTradingStages = function (processIndex) { } /* - 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 + The way the beginning and end of the Stages object works is as follows: + This object begins with the last cycle, that is the current cycle displayed 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 + During maintenance, 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 + then we update the end to the end of the last cycle, overriding the + maintenance 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. */ diff --git a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingSystem.js b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingSystem.js index 0f1eba81cc..c451d7d029 100644 --- a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingSystem.js +++ b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingSystem.js @@ -221,7 +221,7 @@ exports.newAlgorithmicTradingBotModulesTradingSystem = function (processIndex) { } catch (err) { /* - If an error ocurred during execution, it was alreeady logged and + If an error occurred during execution, it was already 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. */ @@ -237,14 +237,14 @@ exports.newAlgorithmicTradingBotModulesTradingSystem = function (processIndex) { function evalNode(node, evaluating, descendentOfNodeType, isDescendent) { if (node === undefined) { return } - /* Verify if this node is decendent of the specified node type */ + /* Verify if this node is descendent 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 */ + /* Here we check if there is a condition to be evaluated */ if (node.type === 'Condition' && evaluating === 'Conditions') { /* We will eval this condition */ if (isDescendent === true) { @@ -276,7 +276,7 @@ exports.newAlgorithmicTradingBotModulesTradingSystem = function (processIndex) { 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. + 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 avoid counting each property of those as individual children. for (let i = 0; i < schemaDocument.childrenNodesProperties.length; i++) { let property = schemaDocument.childrenNodesProperties[i] diff --git a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/SingleMarketTradingBot.js b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/SingleMarketTradingBot.js index 23aa53e3c2..6ca2c455fa 100644 --- a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/SingleMarketTradingBot.js +++ b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/SingleMarketTradingBot.js @@ -63,8 +63,8 @@ /* 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. + /* We define the datetime for the process that we are running now. This will be the official processing time for both the infrastructure 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 consistently 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() @@ -95,7 +95,7 @@ return } - /* We will prepare first the infraestructure needed for the bot to run. There are 3 modules we need to sucessfullly initialize first. */ + /* We will prepare first the infrastructure needed for the bot to run. There are 3 modules we need to sucessfullly initialize first. */ let processExecutionEvents let userBot; diff --git a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/TradingSession.js b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/TradingSession.js index 7fca5136c8..63563f0ace 100644 --- a/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/TradingSession.js +++ b/Projects/Algorithmic-Trading/TS/Bot-Modules/Trading-Bot/TradingSession.js @@ -21,7 +21,7 @@ return; } /* - We will store here the session key, which we will need everytine + We will store here the session key, which we will need everytime 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) @@ -109,7 +109,7 @@ return } - /* We are going to initialize here these constants whose values are comming at the event. */ + /* We are going to initialize here these constants whose values are coming at the event. */ TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_SYSTEM_NODE = JSON.parse(message.event.tradingSystem) TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_NODE = JSON.parse(message.event.tradingEngine) TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE = JSON.parse(message.event.session) diff --git a/Projects/Data-Mining/Plugins/Data-Mines/Omega-One.json b/Projects/Data-Mining/Plugins/Data-Mines/Omega-One.json index bbb02b8e05..abf465e41e 100644 --- a/Projects/Data-Mining/Plugins/Data-Mines/Omega-One.json +++ b/Projects/Data-Mining/Plugins/Data-Mines/Omega-One.json @@ -6568,7 +6568,7 @@ "procedureJavascriptCode": { "type": "Procedure Javascript Code", "name": "EDIT TOP LINES HERE TO CHANGE PERIODS", - "code": "// The Average VS Average Oscillator\n\n/* The Average VS Average Oscillator can be used to recognize changes between a fast average ('fastPeriod') and a slow average ('slowPeriod'). It measures 'Price Action', 'Volume', and a so called 'Open Interest'.\n'Bull Price Action' and 'Bear Price Action' is defined by the amount between the candle close and max and min.\n'Bull Volume' and 'Bear Volume' is divided using the price action.\n'Open Interest' is based upon the statement where:\nBull Candle and Volume Increase = Bull Interest\nBull Candle and Volume Decrease = Bear Interest\nBear Candle and Volume Increase = Bear Interest\nBear Candle and Volume Decrease = Bull Interest */\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n/* USER DEFINED VALUES SECTION */\n\nlet fastPeriod = 5 // Change this number to the period of your choice (must be less than 'slowPeriod')\nlet slowPeriod = 21 // Change this number to the period of your choice (must be greater than 'fastPeriod')\nlet periodMultiplier = 3 // The 'slowPeriod' is muliplied by the 'periodMultiplier to create the \"long term\" trend\nlet fastBoost = 1.00 // '1.00' equals 'no extra boost' to your 'fastPeriod' where as '1.23' would boost the value by 23%\nlet gravity = 0 // '0' equals 'no gravity' (pullback towards midline ('slowPeriod'))\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n// Declaring variables used\n\nlet candle = {\n open: record.current.open,\n close: record.current.close,\n min: record.current.min,\n max: record.current.max,\n begin: record.current.begin,\n end: record.current.end\n} \nlet volCandle = record.current\nlet volume = getElement('volumes', volCandle)\nlet totalVolume = volume.buy + volume.sell\nlet totalRange = candle.max - candle.min\nlet multipliedFast = fastPeriod * periodMultiplier\nlet multipliedSlow = slowPeriod * periodMultiplier\n\nif ( candle.close > candle.open ) { \n variable.bullPriceRange = ( candle.close - candle.min ),\n variable.bearPriceRange = ( candle.max - candle.close )\n}\nelse { \n variable.bullPriceRange = ( candle.close - candle.min ),\n variable.bearPriceRange = ( candle.max - candle.close )\n}\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n// Declaring 'Volume Difference'\n\nvariable.previousCurrentVolume.push(totalVolume)\nif (variable.previousCurrentVolume.length > 2) {\n variable.previousCurrentVolume.splice(0, 1)\n}\n\nif (variable.previousCurrentVolume[1] === 'undefined') {\n variable.positiveVolumeDifference = 0.01\n}\nelse {\n if (variable.previousCurrentVolume[variable.previousCurrentVolume.max] > variable.previousCurrentVolume[0]) {\n variable.positiveTotalVolumeDifference = (variable.previousCurrentVolume[1] - variable.previousCurrentVolume[0]) \n }\n else {\n variable.positiveTotalVolumeDifference = (variable.previousCurrentVolume[0] - variable.previousCurrentVolume[1])\n }\n}\n\nvariable.bullVolumeDifference = variable.positiveTotalVolumeDifference * (variable.bullPriceRange / totalRange)\nvariable.bearVolumeDifference = variable.positiveTotalVolumeDifference * (variable.bearPriceRange / totalRange)\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n// Declaring 'Open Interest'\n// Converting values to percentages due to the differences of range and volume (range might be in decimals while volume often is in thousands)\n\nif ( candle.close > candle.open && variable.previousCurrentVolume[1] > variable.previousCurrentVolume[0] ) { // Candle UP & Volume UP, Bullish Interest\n variable.openInterest = 1 + ((variable.bullPriceRange / totalRange) * (variable.bullVolumeDifference / variable.positiveTotalVolumeDifference))\n}\n\nelse if ( candle.close < candle.open && variable.previousCurrentVolume[1] < variable.previousCurrentVolume[0] ) { // Candle DOWN & Volume DOWN, Bullish Interest\n variable.openInterest = 1 + ((variable.bearPriceRange / totalRange) * (variable.bearVolumeDifference / variable.positiveTotalVolumeDifference))\n}\n\nelse if ( candle.close > candle.open && variable.previousCurrentVolume[1] < variable.previousCurrentVolume[0] ) { // Candle UP & Volume DOWN, Bearish Interest\n variable.openInterest = 1 - ((variable.bullPriceRange / totalRange) * (variable.bullVolumeDifference / variable.positiveTotalVolumeDifference))\n}\n\nelse { // Candle DOWN & Volume UP, Bearish Interest\n variable.openInterest = 1 - ((variable.bearPriceRange / totalRange) * (variable.bearVolumeDifference / variable.positiveTotalVolumeDifference))\n}\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n// Saving to arrays\n\nvariable.savedCandleClose.push(candle.close)\nif (variable.savedCandleClose.length > multipliedSlow) {\n variable.savedCandleClose.splice(0, 1)\n}\n\nvariable.savedTotalRange.push(totalRange)\nif (variable.savedTotalRange.length > multipliedSlow) {\n variable.savedTotalRange.splice(0, 1)\n}\n\nvariable.savedBullPriceRange.push(variable.bullPriceRange)\nif (variable.savedBullPriceRange.length > multipliedSlow) {\n variable.savedBullPriceRange.splice(0, 1)\n}\n\nvariable.savedTotalVolume.push(totalVolume)\nif (variable.savedTotalVolume.length > multipliedSlow) {\n variable.savedTotalVolume.splice(0, 1)\n}\n\nvariable.savedOpenInterest.push(variable.openInterest)\nif (variable.savedOpenInterest.length > multipliedSlow) {\n variable.savedOpenInterest.splice(0, 1)\n}\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n// Calling SMA functions\n\nvariable.smaMultipliedFastCandleClose = calculateSMA(variable.savedCandleClose, multipliedFast)\nvariable.smaSlowCandleClose = calculateSMA(variable.savedCandleClose, slowPeriod)\nvariable.smaLongTermCandleClose = calculateSMA(variable.savedCandleClose, multipliedSlow)\n\nvariable.smaFastTotalRange = calculateSMA(variable.savedTotalRange, fastPeriod)\nvariable.smaSlowTotalRange = calculateSMA(variable.savedTotalRange, slowPeriod)\nvariable.smaLongTermRange = calculateSMA(variable.savedTotalRange, multipliedSlow)\n\nvariable.smaFastBullPriceRange = calculateSMA(variable.savedBullPriceRange, fastPeriod)\nvariable.smaSlowBullPriceRange = calculateSMA(variable.savedBullPriceRange, slowPeriod)\n\nvariable.smaFastTotalVolume = calculateSMA(variable.savedTotalVolume, fastPeriod)\nvariable.smaLongTermTotalVolume = calculateSMA(variable.savedTotalVolume, multipliedSlow)\n\nvariable.smaFastOpenInterest = calculateSMA(variable.savedOpenInterest, fastPeriod)\nvariable.smaSlowOpenInterest = calculateSMA(variable.savedOpenInterest, slowPeriod)\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n// Creating the SMA function\n\nfunction calculateSMA(src, periods) { \n // Check we have enough values to make the calculation\n if (src.length < periods) { return 0 }\n \n // Initialize sum variable\n let sum = 0 \n for (let i = src.length - periods; i < src.length; i++) {\n sum = sum + src[i]\n }\n let sma = sum / periods\n return sma\n}\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n// Declaring record variables by comparing 'fastPeriod' values with 'slowPeriod' values, also applying 'fastBoost' and 'gravity'\n\nvariable.fastPriceRange = variable.smaFastTotalRange\nvariable.slowPriceRange = variable.smaSlowTotalRange\nvariable.longTermPriceRange = variable.smaLongTermRange\n\nvariable.bullPriceDeviation = ((((variable.smaFastBullPriceRange * fastBoost) + (variable.smaSlowBullPriceRange * gravity)) / (gravity + 1)) / variable.slowPriceRange) * 2\n\nvariable.volumeDeviation = variable.smaFastTotalVolume / variable.smaLongTermTotalVolume\n\nvariable.openInterestDeviation = ((((variable.smaFastOpenInterest * fastBoost) + (variable.smaSlowOpenInterest * gravity)) / (gravity + 1)) / variable.smaSlowOpenInterest)\n\nvariable.smaPrice = variable.smaMultipliedFastCandleClose / variable.smaLongTermCandleClose\n\n// Happy trading! CJ.", + "code": "// The Average VS Average Oscillator\n\n/* The Average VS Average Oscillator can be used to recognize changes between a fast average ('fastPeriod') and a slow average ('slowPeriod'). It measures 'Price Action', 'Volume', and a so called 'Open Interest'.\n'Bull Price Action' and 'Bear Price Action' is defined by the amount between the candle close and max and min.\n'Bull Volume' and 'Bear Volume' is divided using the price action.\n'Open Interest' is based upon the statement where:\nBull Candle and Volume Increase = Bull Interest\nBull Candle and Volume Decrease = Bear Interest\nBear Candle and Volume Increase = Bear Interest\nBear Candle and Volume Decrease = Bull Interest */\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n/* USER DEFINED VALUES SECTION */\n\nlet fastPeriod = 5 // Change this number to the period of your choice (must be less than 'slowPeriod')\nlet slowPeriod = 21 // Change this number to the period of your choice (must be greater than 'fastPeriod')\nlet periodMultiplier = 3 // The 'slowPeriod' is multiplied by the 'periodMultiplier to create the \"long term\" trend\nlet fastBoost = 1.00 // '1.00' equals 'no extra boost' to your 'fastPeriod' where as '1.23' would boost the value by 23%\nlet gravity = 0 // '0' equals 'no gravity' (pullback towards midline ('slowPeriod'))\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n// Declaring variables used\n\nlet candle = {\n open: record.current.open,\n close: record.current.close,\n min: record.current.min,\n max: record.current.max,\n begin: record.current.begin,\n end: record.current.end\n} \nlet volCandle = record.current\nlet volume = getElement('volumes', volCandle)\nlet totalVolume = volume.buy + volume.sell\nlet totalRange = candle.max - candle.min\nlet multipliedFast = fastPeriod * periodMultiplier\nlet multipliedSlow = slowPeriod * periodMultiplier\n\nif ( candle.close > candle.open ) { \n variable.bullPriceRange = ( candle.close - candle.min ),\n variable.bearPriceRange = ( candle.max - candle.close )\n}\nelse { \n variable.bullPriceRange = ( candle.close - candle.min ),\n variable.bearPriceRange = ( candle.max - candle.close )\n}\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n// Declaring 'Volume Difference'\n\nvariable.previousCurrentVolume.push(totalVolume)\nif (variable.previousCurrentVolume.length > 2) {\n variable.previousCurrentVolume.splice(0, 1)\n}\n\nif (variable.previousCurrentVolume[1] === 'undefined') {\n variable.positiveVolumeDifference = 0.01\n}\nelse {\n if (variable.previousCurrentVolume[variable.previousCurrentVolume.max] > variable.previousCurrentVolume[0]) {\n variable.positiveTotalVolumeDifference = (variable.previousCurrentVolume[1] - variable.previousCurrentVolume[0]) \n }\n else {\n variable.positiveTotalVolumeDifference = (variable.previousCurrentVolume[0] - variable.previousCurrentVolume[1])\n }\n}\n\nvariable.bullVolumeDifference = variable.positiveTotalVolumeDifference * (variable.bullPriceRange / totalRange)\nvariable.bearVolumeDifference = variable.positiveTotalVolumeDifference * (variable.bearPriceRange / totalRange)\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n// Declaring 'Open Interest'\n// Converting values to percentages due to the differences of range and volume (range might be in decimals while volume often is in thousands)\n\nif ( candle.close > candle.open && variable.previousCurrentVolume[1] > variable.previousCurrentVolume[0] ) { // Candle UP & Volume UP, Bullish Interest\n variable.openInterest = 1 + ((variable.bullPriceRange / totalRange) * (variable.bullVolumeDifference / variable.positiveTotalVolumeDifference))\n}\n\nelse if ( candle.close < candle.open && variable.previousCurrentVolume[1] < variable.previousCurrentVolume[0] ) { // Candle DOWN & Volume DOWN, Bullish Interest\n variable.openInterest = 1 + ((variable.bearPriceRange / totalRange) * (variable.bearVolumeDifference / variable.positiveTotalVolumeDifference))\n}\n\nelse if ( candle.close > candle.open && variable.previousCurrentVolume[1] < variable.previousCurrentVolume[0] ) { // Candle UP & Volume DOWN, Bearish Interest\n variable.openInterest = 1 - ((variable.bullPriceRange / totalRange) * (variable.bullVolumeDifference / variable.positiveTotalVolumeDifference))\n}\n\nelse { // Candle DOWN & Volume UP, Bearish Interest\n variable.openInterest = 1 - ((variable.bearPriceRange / totalRange) * (variable.bearVolumeDifference / variable.positiveTotalVolumeDifference))\n}\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n// Saving to arrays\n\nvariable.savedCandleClose.push(candle.close)\nif (variable.savedCandleClose.length > multipliedSlow) {\n variable.savedCandleClose.splice(0, 1)\n}\n\nvariable.savedTotalRange.push(totalRange)\nif (variable.savedTotalRange.length > multipliedSlow) {\n variable.savedTotalRange.splice(0, 1)\n}\n\nvariable.savedBullPriceRange.push(variable.bullPriceRange)\nif (variable.savedBullPriceRange.length > multipliedSlow) {\n variable.savedBullPriceRange.splice(0, 1)\n}\n\nvariable.savedTotalVolume.push(totalVolume)\nif (variable.savedTotalVolume.length > multipliedSlow) {\n variable.savedTotalVolume.splice(0, 1)\n}\n\nvariable.savedOpenInterest.push(variable.openInterest)\nif (variable.savedOpenInterest.length > multipliedSlow) {\n variable.savedOpenInterest.splice(0, 1)\n}\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n// Calling SMA functions\n\nvariable.smaMultipliedFastCandleClose = calculateSMA(variable.savedCandleClose, multipliedFast)\nvariable.smaSlowCandleClose = calculateSMA(variable.savedCandleClose, slowPeriod)\nvariable.smaLongTermCandleClose = calculateSMA(variable.savedCandleClose, multipliedSlow)\n\nvariable.smaFastTotalRange = calculateSMA(variable.savedTotalRange, fastPeriod)\nvariable.smaSlowTotalRange = calculateSMA(variable.savedTotalRange, slowPeriod)\nvariable.smaLongTermRange = calculateSMA(variable.savedTotalRange, multipliedSlow)\n\nvariable.smaFastBullPriceRange = calculateSMA(variable.savedBullPriceRange, fastPeriod)\nvariable.smaSlowBullPriceRange = calculateSMA(variable.savedBullPriceRange, slowPeriod)\n\nvariable.smaFastTotalVolume = calculateSMA(variable.savedTotalVolume, fastPeriod)\nvariable.smaLongTermTotalVolume = calculateSMA(variable.savedTotalVolume, multipliedSlow)\n\nvariable.smaFastOpenInterest = calculateSMA(variable.savedOpenInterest, fastPeriod)\nvariable.smaSlowOpenInterest = calculateSMA(variable.savedOpenInterest, slowPeriod)\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n// Creating the SMA function\n\nfunction calculateSMA(src, periods) { \n // Check we have enough values to make the calculation\n if (src.length < periods) { return 0 }\n \n // Initialize sum variable\n let sum = 0 \n for (let i = src.length - periods; i < src.length; i++) {\n sum = sum + src[i]\n }\n let sma = sum / periods\n return sma\n}\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n// Declaring record variables by comparing 'fastPeriod' values with 'slowPeriod' values, also applying 'fastBoost' and 'gravity'\n\nvariable.fastPriceRange = variable.smaFastTotalRange\nvariable.slowPriceRange = variable.smaSlowTotalRange\nvariable.longTermPriceRange = variable.smaLongTermRange\n\nvariable.bullPriceDeviation = ((((variable.smaFastBullPriceRange * fastBoost) + (variable.smaSlowBullPriceRange * gravity)) / (gravity + 1)) / variable.slowPriceRange) * 2\n\nvariable.volumeDeviation = variable.smaFastTotalVolume / variable.smaLongTermTotalVolume\n\nvariable.openInterestDeviation = ((((variable.smaFastOpenInterest * fastBoost) + (variable.smaSlowOpenInterest * gravity)) / (gravity + 1)) / variable.smaSlowOpenInterest)\n\nvariable.smaPrice = variable.smaMultipliedFastCandleClose / variable.smaLongTermCandleClose\n\n// Happy trading! CJ.", "project": "Foundations", "id": "8c60ba71-a9d3-4f8e-afe0-896444288364", "savedPayload": { diff --git a/Projects/Data-Mining/Plugins/Data-Mines/Zeus.json b/Projects/Data-Mining/Plugins/Data-Mines/Zeus.json index 0ab5b2679c..55146fd036 100644 --- a/Projects/Data-Mining/Plugins/Data-Mines/Zeus.json +++ b/Projects/Data-Mining/Plugins/Data-Mines/Zeus.json @@ -1 +1 @@ -{"type":"Data Mine","name":"Zeus","config":"{ \n\"codeName\": \"Zeus\"\n}","project":"Superalgos","sensorBots":[],"apiDataFetcherBots":[],"indicatorBots":[{"type":"Indicator Bot","name":"Super Trend","config":"{ \n\"codeName\": \"Super-Trend\"\n}","project":"Superalgos","processes":[{"type":"Process Definition","name":"Multi-Time-Frame-Market","config":" {\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"framework\": {\n \"name\": \"Multi-Time-Frame-Market\"\n }\n }","project":"Superalgos","processOutput":{"type":"Process Output","name":"New Process Output","project":"Superalgos","outputDatasets":[{"type":"Output Dataset","name":"Multi-Time-Frame-Market Super Trend","project":"Superalgos","id":"2412939e-1585-47f9-8d09-7ea8dd7c8bf0","savedPayload":{"position":{"x":34664.87658172835,"y":17409.843880743556},"targetPosition":{"x":34703.69943849373,"y":17554.732754686916},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Market","id":"7c8e7a6f-99c8-4d90-9f44-e3e9e909eb88"}}}],"outputDatasetFolders":[],"id":"74212c63-4a69-407d-80ec-d39ee2d8df74","savedPayload":{"position":{"x":34703.69943849373,"y":17554.732754686916},"targetPosition":{"x":34742.52229525911,"y":17699.621628630277},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","project":"Superalgos","statusDependencies":[{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","project":"Superalgos","id":"5a35d0d1-cfed-4893-84ab-344a77c7d252","savedPayload":{"position":{"x":34670.168008789864,"y":17150.036259608223},"targetPosition":{"x":34820.168008789864,"y":17409.843880743556},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"25f05344-3e7f-4d5f-ab1c-d72689a85764"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","project":"Superalgos","id":"2a42dd15-1e04-4826-bd5f-85d95fbae135","savedPayload":{"position":{"x":34897.81372232062,"y":17120.066132856835},"targetPosition":{"x":34820.168008789864,"y":17409.843880743556},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Time-Frame-Market","project":"Superalgos","id":"88a45f27-a0b8-4234-b7aa-f139400305db","savedPayload":{"position":{"x":35079.9756299252,"y":17259.843880743556},"targetPosition":{"x":34820.168008789864,"y":17409.843880743556},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"eef38121-80a2-4471-b909-24acdc4d213a","savedPayload":{"position":{"x":34820.168008789864,"y":17409.843880743556},"targetPosition":{"x":34742.52229525911,"y":17699.621628630277},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","project":"Superalgos","id":"25f05344-3e7f-4d5f-ab1c-d72689a85764","savedPayload":{"position":{"x":34954.65432961507,"y":17487.489594274313},"targetPosition":{"x":34742.52229525911,"y":17699.621628630277},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","project":"Superalgos","id":"d9b0ffbd-c1bd-4e43-a00d-04a6b6fb470b","savedPayload":{"position":{"x":35032.30004314583,"y":17621.97591509952},"targetPosition":{"x":34742.52229525911,"y":17699.621628630277},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","project":"Superalgos","id":"d405bfe9-74f9-4419-8288-94229c9813a6","savedPayload":{"position":{"x":35032.30004314583,"y":17777.267342161034},"targetPosition":{"x":34742.52229525911,"y":17699.621628630277},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fc3dbb85-168e-4fac-8893-b285de35a694","savedPayload":{"position":{"x":34742.52229525911,"y":17699.621628630277},"targetPosition":{"x":34530.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Time-Frame-Daily","config":" {\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"framework\": {\n \"name\": \"Multi-Time-Frame-Daily\"\n }\n }","project":"Superalgos","processOutput":{"type":"Process Output","name":"New Process Output","project":"Superalgos","outputDatasets":[{"type":"Output Dataset","name":"Multi-Time-Frame-Daily Super Trend","project":"Superalgos","id":"f5a69b9b-0423-42be-bb58-b5a51f762ee7","savedPayload":{"position":{"x":35063.39026090314,"y":18144.368905256906},"targetPosition":{"x":34763.39026090314,"y":18144.368905256906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Daily","id":"c17b5d3f-7cf7-418a-92b8-f8c67a120446"}}}],"outputDatasetFolders":[],"id":"04c16ec8-b60b-4cf0-acf4-69d955a5d2aa","savedPayload":{"position":{"x":34763.39026090314,"y":18144.368905256906},"targetPosition":{"x":34463.39026090314,"y":18144.368905256906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","project":"Superalgos","statusDependencies":[{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","project":"Superalgos","id":"935a9195-83ac-41bc-835e-f118f5a79049","savedPayload":{"position":{"x":35022.78674246484,"y":18310.06969212979},"targetPosition":{"x":34723.197882038476,"y":18294.368905256906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"89d59eb6-bd97-485d-ac94-a095aaf4e58d"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","project":"Superalgos","id":"a3f5a224-75c0-4054-84ac-c4a98f823085","savedPayload":{"position":{"x":35003.27200998763,"y":18401.879290120498},"targetPosition":{"x":34723.197882038476,"y":18294.368905256906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Starting Point\"\n}","project":"Superalgos","id":"d39acabb-3797-410a-9d86-0edda4a41b70","savedPayload":{"position":{"x":34956.341670475565,"y":18483.16502257186},"targetPosition":{"x":34723.197882038476,"y":18294.368905256906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Time-Frame-Daily","project":"Superalgos","id":"0fbf825f-68af-415d-b01e-1e30528a4b49","savedPayload":{"position":{"x":34886.58959254298,"y":18545.970075640533},"targetPosition":{"x":34723.197882038476,"y":18294.368905256906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}}],"dataMineDataDependencies":[],"id":"98d9f621-8b18-4b4f-b191-b79d930dc4ec","savedPayload":{"position":{"x":34723.197882038476,"y":18294.368905256906},"targetPosition":{"x":34463.39026090314,"y":18144.368905256906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","project":"Superalgos","id":"89d59eb6-bd97-485d-ac94-a095aaf4e58d","savedPayload":{"position":{"x":34538.39026090314,"y":18274.272715824573},"targetPosition":{"x":34463.39026090314,"y":18144.368905256906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","project":"Superalgos","id":"3f1b6db1-7e06-499c-9879-194596e2978e","savedPayload":{"position":{"x":34463.39026090314,"y":18294.368905256906},"targetPosition":{"x":34463.39026090314,"y":18144.368905256906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","project":"Superalgos","id":"f884fccf-e2dc-45db-a1df-36b6826b020c","savedPayload":{"position":{"x":34388.39026090314,"y":18274.272715824573},"targetPosition":{"x":34463.39026090314,"y":18144.368905256906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c2ade18e-8e3c-4448-a743-947c8163b80d","savedPayload":{"position":{"x":34830.39026090314,"y":17911.75366298624},"targetPosition":{"x":34530.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"Super Trend","config":"{\n \"codeName\": \"Super-Trend\",\n \"singularVariableName\": \"superTrend\",\n \"pluralVariableName\": \"superTrends\"\n}","project":"Superalgos","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/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }","project":"Superalgos","id":"7c8e7a6f-99c8-4d90-9f44-e3e9e909eb88","savedPayload":{"position":{"x":35293.048065704905,"y":18159.556205252084},"targetPosition":{"x":34848.58831243709,"y":18229.951714520186},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"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/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","project":"Superalgos","id":"c17b5d3f-7cf7-418a-92b8-f8c67a120446","savedPayload":{"position":{"x":35249.54124832185,"y":18434.24743940298},"targetPosition":{"x":34848.58831243709,"y":18229.951714520186},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","project":"Superalgos","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"record.current.begin","project":"Superalgos","id":"af4ce0b3-14a3-4e8d-8f27-353aa5d819e5","savedPayload":{"position":{"x":35930.09896247254,"y":18978.89769667342},"targetPosition":{"x":35705.79256238259,"y":18996.550993212186},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"eece0283-d534-4ce5-8606-4fa5cec4fe90","savedPayload":{"position":{"x":35705.79256238259,"y":18996.550993212186},"targetPosition":{"x":35257.17976220268,"y":19031.857586289716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{ \n\"codeName\": \"end\",\n\"isString\": false,\n\"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"record.current.end","project":"Superalgos","id":"47190c61-ec22-49ff-8a4c-e08e5cddc2c0","savedPayload":{"position":{"x":35899.14291070191,"y":19240.444057492805},"targetPosition":{"x":35685.1551945355,"y":19170.915233758442},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"aab131cd-6b2a-4708-84bf-11e65bd4f995","savedPayload":{"position":{"x":35685.1551945355,"y":19170.915233758442},"targetPosition":{"x":35257.17976220268,"y":19031.857586289716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"True Range","config":"{ \n \"codeName\": \"trueRange\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.trueRange","project":"Superalgos","id":"5e5bd969-819b-4131-aad4-d855c57b236d","savedPayload":{"position":{"x":35770.4537889827,"y":19470.23501891259},"targetPosition":{"x":35599.36244672269,"y":19324.1092080383},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"79e64cdc-8d3d-4c17-8bb6-69c52b09d0a5","savedPayload":{"position":{"x":35599.36244672269,"y":19324.1092080383},"targetPosition":{"x":35257.17976220268,"y":19031.857586289716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"ATR N Period","config":"{ \n \"codeName\": \"atrNPeriod\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.atrNPeriod","project":"Superalgos","id":"139dd901-2800-4a78-b536-a26d71f8180f","savedPayload":{"position":{"x":35563.62334952687,"y":19633.286990116863},"targetPosition":{"x":35461.475487085474,"y":19432.81052217448},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"5bf3d6da-c010-4297-90f2-db405eb25ab9","savedPayload":{"position":{"x":35461.475487085474,"y":19432.81052217448},"targetPosition":{"x":35257.17976220268,"y":19031.857586289716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Up Trend","config":"{ \n \"codeName\": \"uptrend\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.uptrend","project":"Superalgos","id":"1227cf03-417e-42af-8be8-0ac79c0372e6","savedPayload":{"position":{"x":35310.13965181897,"y":19704.776786559578},"targetPosition":{"x":35292.48635528021,"y":19480.470386469624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"58b49e52-ac7e-4458-8dc0-c16a63c11c73","savedPayload":{"position":{"x":35292.48635528021,"y":19480.470386469624},"targetPosition":{"x":35257.17976220268,"y":19031.857586289716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Down Trend","config":"{ \n \"codeName\": \"downtrend\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.downtrend","project":"Superalgos","id":"4b55c31f-ca51-4dcd-beaf-a03463e5d541","savedPayload":{"position":{"x":35048.59329099959,"y":19673.820734788944},"targetPosition":{"x":35118.12211473395,"y":19459.833018622536},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"9c7651af-9740-4086-9c1b-c859d25cae26","savedPayload":{"position":{"x":35118.12211473395,"y":19459.833018622536},"targetPosition":{"x":35257.17976220268,"y":19031.857586289716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Trend","config":"{ \n \"codeName\": \"trend\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.trend","project":"Superalgos","id":"eb1e09d6-6794-4d4e-a8a9-227fdbb1698c","savedPayload":{"position":{"x":34818.802329579805,"y":19545.131613069738},"targetPosition":{"x":34964.928140454096,"y":19374.04027080973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"880b51d4-9bda-4f26-b722-7cd84f9cc494","savedPayload":{"position":{"x":34964.928140454096,"y":19374.04027080973},"targetPosition":{"x":35257.17976220268,"y":19031.857586289716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"93965329-75b8-4e62-99ab-252a4aed8d86","savedPayload":{"position":{"x":35257.17976220268,"y":19031.857586289716},"targetPosition":{"x":34848.58831243709,"y":18229.951714520186},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","project":"Superalgos","loop":{"type":"Procedure Loop","name":"New Procedure Loop","project":"Superalgos","procedureJavascriptCode":{"type":"Procedure Javascript Code","name":"New Procedure Javascript Code","code":"/* Loop Code */\n\n/* Big thanks to @rico4dev for providing the base start for ATR calcs\nI made some tweaks so now the way ATR is calculated matches TradingView :-)\n */\n\n// Set parameters to be used for ATR Period and Multiplier\nlet Nperiod = 10 // ATR Period\nlet multiplier = 3 // ATR Multiplier\n\n// Get Current and Previous Candle Data\nlet currCandle = record.current \nlet prevCandle = record.previous \n\n/* We need to build the price source\nFor current price there is no problem, we have data\nFor previous price we must check if exist\nSource price is defined as OHCL4*/\n\n// OHCL4 Source for current price\nvariable.currClose = currCandle.close\nvariable.ohcl4 = (currCandle.max + currCandle.min + currCandle.close + currCandle.open)/4\n\n// OHCL4 Source for previous candle price - make sure data exists\nif (prevCandle === undefined) {\n variable.prevClose = currCandle.close\n variable.prev_ohcl4 = 0 \n} else {\n variable.prevClose = prevCandle.close\n variable.prev_ohcl4 = (prevCandle.max + prevCandle.min + prevCandle.close + prevCandle.open)/4\n}\n\n/* Define variables we need and build functions */\n/* True Range and ATR - Average True Range */\n\nvariable.trueRange = calculateTR()\nvariable.atrNPeriod = calculateATR(Nperiod)\nvariable.prevAtrNperiod = variable.atrNPeriod // Store ATR value for calcs in RMA\n\n/* To keep lastNperiodTR array to a fixed length\nwe remove the first element of the array if length is > Nperiod */\n\nvariable.lastNPeriodTR.push(calculateTR())\nif (variable.lastNPeriodTR.length > Nperiod) {\n variable.lastNPeriodTR.splice(0, 1)\n}\n\n/* Calculate ATR */\nfunction calculateATR(length) {\n return calculateRMA(variable.trueRange, length)\n}\n\n/* Calculate True Range */\nfunction calculateTR() {\n let hl = currCandle.max - currCandle.min \n if (variable.prevClose === 0) { return hl } // Return High-Low when previous Close is 0 \n let hcp = Math.abs(currCandle.max - variable.prevClose)\n let lcp = Math.abs(currCandle.min - variable.prevClose) \n return Math.max(hl, hcp, lcp)\n}\n\n/* Calculate RMA */\nfunction calculateRMA(src, length) { \n if (src.length < length) { return 0 } // We check we have enough values to make the calcs. If not, set value to zero \n let alpha=1/length // It's a constant\n if (isNaN(variable.prevAtrNperiod)) {\n return 0 \n } else {\n return alpha * src + (1 - alpha) * variable.prevAtrNperiod \n } \n \n}\n\n// Build Up Trend function\n\nvariable.up = variable.ohcl4 - (multiplier * variable.atrNPeriod)\n\nif (variable.last2uptrend.length > 2) {\n variable.last2uptrend.splice(0, 1)\n}\n\nvariable.up1 = variable.last2uptrend[variable.last2uptrend.length - 1] // Previous Up Trend \n\nvariable.uptrend = calculateUpTrend()\n\nvariable.last2uptrend.push(variable.uptrend) \n\nfunction calculateUpTrend() {\n if (variable.prevClose > variable.up1) {\n return Math.max(variable.up, variable.up1)\n } else {\n return variable.up\n }\n}\n\n// Build Down Trend function\n\nvariable.dn = variable.ohcl4 + (multiplier * variable.atrNPeriod)\n\nif (variable.last2downtrend.length > 2) {\n variable.last2downtrend.splice(0, 1)\n}\n\nvariable.dn1 = variable.last2downtrend[variable.last2downtrend.length - 1] // Previous Down Trend\n\nvariable.downtrend = calculateDnTrend()\n\nvariable.last2downtrend.push(variable.downtrend) \n\nfunction calculateDnTrend() {\n if (variable.prevClose < variable.dn1) {\n return Math.min(variable.dn, variable.dn1)\n } else {\n return variable.dn\n }\n}\n\n\n// Build Trend function\n\nif (variable.last2Trend.length > 2) {\n variable.last2Trend.splice(0, 1)\n}\n\nvariable.prevTrend = variable.last2Trend[variable.last2Trend.length - 1]\n\nvariable.trend = calculateTrend()\n\nvariable.last2Trend.push(variable.trend)\n\nfunction calculateTrend() {\n\n if (variable.trend = -1 && variable.currClose > variable.dn1) {\n return 1\n }\n else if (variable.trend = 1 && variable.currClose < variable.up1) {\n return -1\n } \n else {\n return variable.prevTrend\n }\n}\n\n// End of code :-)","project":"Superalgos","id":"8f978d1c-9ed3-4dc6-9393-85f1a9497a8f","savedPayload":{"position":{"x":34813.47115952182,"y":19010.06260747479},"targetPosition":{"x":34801.7117074042,"y":18898.17889424586},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ab4157e5-9690-48a8-9826-c70b3802e617","savedPayload":{"position":{"x":34801.7117074042,"y":18898.17889424586},"targetPosition":{"x":34778.19280316899,"y":18674.411467788},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","project":"Superalgos","procedureJavascriptCode":{"type":"Procedure Javascript Code","name":"New Procedure Javascript Code","code":"/* Initialization Code*/\n\n//// Arrays to store past data\nvariable.lastNPeriodTR = []\nvariable.last2uptrend = [0]\nvariable.last2downtrend = [0]\nvariable.last2Trend = [0]\n\n// Initialize trend\nvariable.trend = 1","project":"Superalgos","id":"179290ba-51ab-4754-be1c-90355b7a74c2","savedPayload":{"position":{"x":34640.9191861309,"y":18982.733059742375},"targetPosition":{"x":34686.677058476926,"y":18879.959195757583},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"17591e91-1610-4ccd-ab12-167be170d523","savedPayload":{"position":{"x":34686.677058476926,"y":18879.959195757583},"targetPosition":{"x":34778.19280316899,"y":18674.411467788},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"eee493c1-3895-4351-91ea-b53baf429bbb","savedPayload":{"position":{"x":34778.19280316899,"y":18674.411467788},"targetPosition":{"x":34848.58831243709,"y":18229.951714520186},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"2bb58403-f839-4e0a-9b04-4f9219d7df83","savedPayload":{"position":{"x":34848.58831243709,"y":18229.951714520186},"targetPosition":{"x":34530.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Super Trend","id":"acfb7d6b-e877-4fb0-bef4-3923c049244b"}}}],"id":"c2aec9e5-4b10-4ebc-89c7-84b3df03c4a4","savedPayload":{"position":{"x":34530.39026090314,"y":17911.75366298624},"targetPosition":{"x":34230.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Indicator Bot","name":"Wave Trend","config":"{ \n\"codeName\": \"Wave-Trend\"\n}","project":"Superalgos","processes":[{"type":"Process Definition","name":"Multi-Time-Frame-Market","config":" {\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"framework\": {\n \"name\": \"Multi-Time-Frame-Market\"\n }\n }","project":"Superalgos","processOutput":{"type":"Process Output","name":"New Process Output","project":"Superalgos","outputDatasets":[{"type":"Output Dataset","name":"Multi-Time-Frame-Market Wave Trend","project":"Superalgos","id":"d39fc6ac-79b2-4308-9c65-05e82bf02c8d","savedPayload":{"position":{"x":35078.820689778826,"y":17597.582537482143},"targetPosition":{"x":34998.18790113113,"y":17807.638133444012},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Market","id":"9b727bdd-1684-43e1-a39c-fbd14ce64828"}}}],"outputDatasetFolders":[],"id":"ce1d6928-a5ef-4a75-af09-51d8b6e5ec3a","savedPayload":{"position":{"x":34998.18790113113,"y":17807.638133444012},"targetPosition":{"x":34917.55511248344,"y":18017.69372940588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","project":"Superalgos","statusDependencies":[{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","project":"Superalgos","id":"88287fbf-f6b6-4b7d-ab0a-557c10b459d2","savedPayload":{"position":{"x":35104.17240592887,"y":17764.212928190736},"targetPosition":{"x":35092.41295381126,"y":17876.096641419666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"64877b9b-6a54-4b10-b82a-ab1a12ff483b"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","project":"Superalgos","id":"f713c037-7ea9-46f2-9982-318e30de5db1","savedPayload":{"position":{"x":35179.84187447517,"y":17805.29809742656},"targetPosition":{"x":35092.41295381126,"y":17876.096641419666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Time-Frame-Market","project":"Superalgos","id":"d4377097-6d3f-418d-8101-2bed732b55ec","savedPayload":{"position":{"x":35204.29666704019,"y":17887.856093537277},"targetPosition":{"x":35092.41295381126,"y":17876.096641419666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"e2689a2e-356c-4dda-b198-2fa163578c77","savedPayload":{"position":{"x":35092.41295381126,"y":17876.096641419666},"targetPosition":{"x":34917.55511248344,"y":18017.69372940588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","project":"Superalgos","id":"64877b9b-6a54-4b10-b82a-ab1a12ff483b","savedPayload":{"position":{"x":35362.01486575125,"y":17947.298220137778},"targetPosition":{"x":34917.55511248344,"y":18017.69372940588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","project":"Superalgos","id":"dbb205f1-b207-4e15-8523-16a8f5d00c81","savedPayload":{"position":{"x":35127.61070844531,"y":18098.326518053575},"targetPosition":{"x":34917.55511248344,"y":18017.69372940588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","project":"Superalgos","id":"1abb722a-a84a-4dbe-892b-cc35a0776e3a","savedPayload":{"position":{"x":35059.15220046965,"y":18192.5515707337},"targetPosition":{"x":34917.55511248344,"y":18017.69372940588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"26d5d563-1bb6-4766-9601-f43578e09501","savedPayload":{"position":{"x":34917.55511248344,"y":18017.69372940588},"targetPosition":{"x":34473.09535921563,"y":18088.089238673983},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Time-Frame-Daily","config":" {\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"framework\": {\n \"name\": \"Multi-Time-Frame-Daily\"\n }\n }","project":"Superalgos","processOutput":{"type":"Process Output","name":"New Process Output","project":"Superalgos","outputDatasets":[{"type":"Output Dataset","name":"Multi-Time-Frame-Daily Wave Trend","project":"Superalgos","id":"b8a695ab-0f23-4002-82b9-400a29d413c2","savedPayload":{"position":{"x":35659.34391856269,"y":17986.529623437378},"targetPosition":{"x":35248.248462623524,"y":18169.561112821488},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Daily","id":"3bf983d5-4d3c-46f8-a130-9e621b76e62d"}}}],"outputDatasetFolders":[],"id":"c66980e3-2ed9-4ce8-a3b0-a63d5e91bc17","savedPayload":{"position":{"x":35248.248462623524,"y":18169.561112821488},"targetPosition":{"x":34837.153006684355,"y":18352.592602205597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","project":"Superalgos","statusDependencies":[{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","project":"Superalgos","id":"543c4f25-0af0-450b-9ea1-a4a4c6877d4a","savedPayload":{"position":{"x":35704.79905152382,"y":18238.364833380656},"targetPosition":{"x":35284.687859600075,"y":18399.63041067604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a79125c3-e49c-4ad0-85df-8ea1e6b72cb2"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","project":"Superalgos","id":"2f7dd1e6-e0e0-4565-a6b9-a49c2ddcd0b4","savedPayload":{"position":{"x":35734.07115023963,"y":18376.079230366715},"targetPosition":{"x":35284.687859600075,"y":18399.63041067604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Starting Point\"\n}","project":"Superalgos","id":"01b4e456-8585-448d-acd1-d9a730f95eb1","savedPayload":{"position":{"x":35719.35448143016,"y":18516.098980972176},"targetPosition":{"x":35284.687859600075,"y":18399.63041067604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Time-Frame-Daily","project":"Superalgos","id":"97ed7b3c-ce95-484a-8608-e8826f28d08e","savedPayload":{"position":{"x":35662.089615175515,"y":18644.717976432803},"targetPosition":{"x":35284.687859600075,"y":18399.63041067604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}}],"dataMineDataDependencies":[],"id":"f5fb61fa-828b-4551-8b48-9e9c1fc4fa64","savedPayload":{"position":{"x":35284.687859600075,"y":18399.63041067604},"targetPosition":{"x":34837.153006684355,"y":18352.592602205597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","project":"Superalgos","id":"a79125c3-e49c-4ad0-85df-8ea1e6b72cb2","savedPayload":{"position":{"x":35201.21065415308,"y":18617.09596573721},"targetPosition":{"x":34837.153006684355,"y":18352.592602205597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","project":"Superalgos","id":"17690387-850d-4e80-8d08-abebcf1ec894","savedPayload":{"position":{"x":34928.668751376405,"y":18558.14033017518},"targetPosition":{"x":34837.153006684355,"y":18352.592602205597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","project":"Superalgos","id":"654860da-2fe0-4b1c-a91d-45690a8d11b8","savedPayload":{"position":{"x":34813.63410244913,"y":18576.360028663457},"targetPosition":{"x":34837.153006684355,"y":18352.592602205597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"56663c74-0c47-441f-8591-d9098f9a610b","savedPayload":{"position":{"x":34837.153006684355,"y":18352.592602205597},"targetPosition":{"x":34473.09535921563,"y":18088.089238673983},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"Wave Trend","config":"{\n \"codeName\": \"Wave-Trend\",\n \"singularVariableName\": \"waveTrend\",\n \"pluralVariableName\": \"waveTrends\"\n}","project":"Superalgos","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/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }","project":"Superalgos","id":"9b727bdd-1684-43e1-a39c-fbd14ce64828","savedPayload":{"position":{"x":34787.327655984205,"y":18520.592890774387},"targetPosition":{"x":34520.025698727695,"y":18384.395740852524},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"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/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","project":"Superalgos","id":"3bf983d5-4d3c-46f8-a130-9e621b76e62d","savedPayload":{"position":{"x":34656.22284864956,"y":18651.697698109034},"targetPosition":{"x":34520.025698727695,"y":18384.395740852524},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","project":"Superalgos","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"record.current.begin","project":"Superalgos","id":"7c0c0127-d33a-40cd-95ce-a4c4db782862","savedPayload":{"position":{"x":34892.452596577736,"y":19354.60097983951},"targetPosition":{"x":34659.308808140646,"y":19165.804862524557},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1fa9f019-5b1a-4310-acb9-18be189b37a7","savedPayload":{"position":{"x":34659.308808140646,"y":19165.804862524557},"targetPosition":{"x":34426.165019703556,"y":18977.008745209605},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{ \n\"codeName\": \"end\",\n\"isString\": false,\n\"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"record.current.end","project":"Superalgos","id":"fe518407-7360-4ded-ac8c-743508cf9944","savedPayload":{"position":{"x":34641.18578943074,"y":19537.157001107924},"targetPosition":{"x":34533.67540456715,"y":19257.082873158764},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"efbc0585-5a1c-4caf-ad89-2e29b5e98ca0","savedPayload":{"position":{"x":34533.67540456715,"y":19257.082873158764},"targetPosition":{"x":34426.165019703556,"y":18977.008745209605},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Record WAVETREND","config":"{ \n \"codeName\": \"waveTrend\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.waveTrend","project":"Superalgos","id":"29c99584-8b16-494a-a1be-0e9d7071641b","savedPayload":{"position":{"x":34355.76951043545,"y":19421.468498477418},"targetPosition":{"x":34379.23468019148,"y":19273.315247388146},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"39424ebf-7f21-4372-8b88-15bb7086cca9","savedPayload":{"position":{"x":34379.23468019148,"y":19273.315247388146},"targetPosition":{"x":34426.165019703556,"y":18977.008745209605},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Record WAVETRENDSIGNAL","config":"{ \n \"codeName\": \"waveTrendSignal\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.waveTrendSignal","project":"Superalgos","id":"a5e59332-48bb-4252-97aa-ac587609a4e8","savedPayload":{"position":{"x":34142.97084373113,"y":19326.72442786524},"targetPosition":{"x":34237.3689023886,"y":19210.152533646695},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d9a10773-5caa-4b8d-8637-ccaa4faef8b2","savedPayload":{"position":{"x":34237.3689023886,"y":19210.152533646695},"targetPosition":{"x":34426.165019703556,"y":18977.008745209605},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Record WT3","config":"{ \n \"codeName\": \"wt3\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.wt3","project":"Superalgos","id":"a8cbbddf-28c6-4d38-8eca-841e44f4884a","savedPayload":{"position":{"x":34006.05382777982,"y":19138.274322504993},"targetPosition":{"x":34146.0908917544,"y":19084.519130073197},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"33d15bce-9db7-4b43-b795-59353cd2e63d","savedPayload":{"position":{"x":34146.0908917544,"y":19084.519130073197},"targetPosition":{"x":34426.165019703556,"y":18977.008745209605},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8a14c05f-d4a6-4cd5-9beb-328ec32e44dd","savedPayload":{"position":{"x":34426.165019703556,"y":18977.008745209605},"targetPosition":{"x":34520.025698727695,"y":18384.395740852524},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","project":"Superalgos","loop":{"type":"Procedure Loop","name":"New Procedure Loop","project":"Superalgos","procedureJavascriptCode":{"type":"Procedure Javascript Code","name":"New Procedure Javascript Code","code":"/* Loop Code */\n\nlet candle = {\n open: record.current.open,\n close: record.current.close,\n min: record.current.min,\n max: record.current.max,\n begin: record.current.begin,\n end: record.current.end,\n} \n\n/* Set constant */\n\nlet n1=10 // Channel Length\nlet n2=21 // Average Length\n\n// Overbought and Oversold Levels\nlet ob=60\nlet ob2=53\nlet os=-60\nlet os2=-53\n\n/* ************** */\n\nvariable.ap = (candle.max+candle.min+candle.close)/3\n\n/* Build 3 EMAs and CI parameter */\n\nvariable.EMAesa = calculateEMA(variable.ap, n1, variable.previousEMAesa)\nif (isNaN(variable.EMAesa)) {variable.EMAesa=0}\nvariable.previousEMAesa = variable.EMAesa\n\nvariable.EMAd = calculateEMA(Math.abs(variable.ap-variable.EMAesa), n1, variable.previousEMAd)\nif (isNaN(variable.EMAd)) {variable.EMAd=0}\nvariable.previousEMAd = variable.EMAd\n\nvariable.ci = (variable.ap-variable.EMAesa)/(0.015*variable.EMAd)\nif (isNaN(variable.ci)) {variable.ci=0}\n\nvariable.EMAtci = calculateEMA(variable.ci, n2, variable.previousEMAtci)\nif (isNaN(variable.EMAtci)) {variable.EMAtci=0}\nvariable.previousEMAtci = variable.EMAtci\n\nfunction calculateEMA(src, periods, previousEMA) {\n if (src.length < periods) { return 0 }\n let k = 2 / (periods + 1)\n return src * k + previousEMA * (1-k)\n}\n\n/* Build WAVETREND and WAVETRENDSIGNAL \nFor WAVETRENDSIGNAL we need a SMA\nParameters are SMA(WAVETREND, 4) */\n\nvariable.waveTrend = variable.EMAtci // Wave Trend - It's a line\n\nvariable.last4wt1.push(variable.waveTrend)\nif (variable.last4wt1.length > 4) {\n variable.last4wt1.splice(0, 1) // Remove the first element of the array to keep it at a maximun of 4 elements\n}\n\nvariable.waveTrendSignal = calculateSMA(variable.last4wt1, 4) // Signal - It's a line\n\nfunction calculateSMA(src, periods) { \n // Check we have enough values to make the calculation\n if (src.length < periods) { return 0 }\n \n let sum = 0 // Initialize sum variable\n for (let i = src.length - periods; i < src.length; i++) {\n sum = sum + src[i]\n }\n let sma = sum / periods\n return sma\n}\n\n/* Build WT3 */\n\nvariable.wt3 = variable.waveTrend - variable.waveTrendSignal // Histogram\n\n// End of code :-)","project":"Superalgos","id":"32d5f441-d68a-4c29-89ee-041138ae67d3","savedPayload":{"position":{"x":34182.89366437173,"y":18813.0341261546},"targetPosition":{"x":34232.89366437173,"y":18726.431585776154},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"6c129c1b-0def-43a3-826b-7542c834eb24","savedPayload":{"position":{"x":34232.89366437173,"y":18726.431585776154},"targetPosition":{"x":34307.89366437173,"y":18596.527775208488},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","project":"Superalgos","procedureJavascriptCode":{"type":"Procedure Javascript Code","name":"New Procedure Javascript Code","code":"/* Initialization Code */\n/* WaveTrend needs 3 EMA and 1 SMA\nOthers constants and vars are declared in the loop code\nso to use let and not var and avoid possible conflicts */\n \nvariable.previousEMAesa = 0\nvariable.previousEMAd = 0\nvariable.previousEMAtci = 0\n\nvariable.last4wt1 = [] // Last 4 wt1 records\n\n/* HLC3 */\nvariable.ap = 0","project":"Superalgos","id":"5cad68f2-69ba-42a1-95b5-3a6ae2cac0b1","savedPayload":{"position":{"x":34091.38731342562,"y":18721.527775208488},"targetPosition":{"x":34177.989853804065,"y":18671.527775208488},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c689da4f-8f19-47e6-8f82-11e2f42d3ecd","savedPayload":{"position":{"x":34177.989853804065,"y":18671.527775208488},"targetPosition":{"x":34307.89366437173,"y":18596.527775208488},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"3f88bd6f-cdde-4122-9778-ce7a7588fd7b","savedPayload":{"position":{"x":34307.89366437173,"y":18596.527775208488},"targetPosition":{"x":34520.025698727695,"y":18384.395740852524},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"ff542733-ddbd-4cbf-b90d-a12c49752916","savedPayload":{"position":{"x":34520.025698727695,"y":18384.395740852524},"targetPosition":{"x":34473.09535921563,"y":18088.089238673983},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Wave Trend","id":"cfa6bcb9-8d18-4658-81f4-1f7d55adc742"}}}],"id":"9ce52f75-7caa-4d0e-8faf-09a1e8a8033a","savedPayload":{"position":{"x":34473.09535921563,"y":18088.089238673983},"targetPosition":{"x":34230.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Indicator Bot","name":"Donchian Channel","config":"{ \n\"codeName\": \"Donchian-Channel\"\n}","project":"Superalgos","processes":[{"type":"Process Definition","name":"Multi-Time-Frame-Market","config":"{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"description\": \"Produces the MACD indicator.\",\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Time-Frame-Market\"\n }\n }","project":"Superalgos","processOutput":{"type":"Process Output","name":"New Process Output","project":"Superalgos","outputDatasets":[{"type":"Output Dataset","name":"Multi-Time-Frame-Market Donchian Channel","project":"Superalgos","id":"2000e920-443a-49d2-9003-b16d742547dc","savedPayload":{"position":{"x":35093.59965723939,"y":18006.484346787634},"targetPosition":{"x":34841.998486855766,"y":18169.876057292142},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Market","id":"7298225c-3b68-4f34-a935-fc0ab3d8f662"}}}],"outputDatasetFolders":[],"id":"014aaa46-fa23-41a3-9834-b9382f6af876","savedPayload":{"position":{"x":34841.998486855766,"y":18169.876057292142},"targetPosition":{"x":34590.39731647214,"y":18333.26776779665},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","project":"Superalgos","statusDependencies":[{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","project":"Superalgos","id":"22266684-e056-49a8-8885-4a31cebd34d2","savedPayload":{"position":{"x":35090.725358806165,"y":18094.623533280548},"targetPosition":{"x":34889.98617689851,"y":18317.566980923766},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","project":"Superalgos","id":"d55aa460-8292-4cba-831a-01425cbea4e7","savedPayload":{"position":{"x":35039.780607111694,"y":18309.716587487324},"targetPosition":{"x":34889.98617689851,"y":18317.566980923766},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"8af7a7fd-54f6-496c-b4e3-05a37d838288"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Time-Frame-Market","project":"Superalgos","id":"71b430e7-6a5c-437b-a015-76a8202de236","savedPayload":{"position":{"x":35001.45790072012,"y":18417.936571877595},"targetPosition":{"x":34889.98617689851,"y":18317.566980923766},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"9070474a-4a33-4c1b-8ac0-113ca33928c5","savedPayload":{"position":{"x":34889.98617689851,"y":18317.566980923766},"targetPosition":{"x":34590.39731647214,"y":18333.26776779665},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","project":"Superalgos","id":"8af7a7fd-54f6-496c-b4e3-05a37d838288","savedPayload":{"position":{"x":34857.69927372865,"y":18469.464917718513},"targetPosition":{"x":34590.39731647214,"y":18333.26776779665},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","project":"Superalgos","id":"75ad91f0-37ca-42fb-9c20-c3965f115741","savedPayload":{"position":{"x":34672.093171724395,"y":18459.068352988463},"targetPosition":{"x":34590.39731647214,"y":18333.26776779665},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","project":"Superalgos","id":"f4f25b2a-d402-43d9-b1de-248f2987e80f","savedPayload":{"position":{"x":34598.24770990858,"y":18483.062198009837},"targetPosition":{"x":34590.39731647214,"y":18333.26776779665},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"18bfecb5-3666-4eaf-8b3a-d44a41aa5752","savedPayload":{"position":{"x":34590.39731647214,"y":18333.26776779665},"targetPosition":{"x":34323.09535921563,"y":18197.070617874786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Time-Frame-Daily","config":"{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"description\": \"Produces the MACD indicator.\",\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Time-Frame-Daily\"\n }\n }","project":"Superalgos","processOutput":{"type":"Process Output","name":"New Process Output","project":"Superalgos","outputDatasets":[{"type":"Output Dataset","name":"Multi-Time-Frame-Daily Donchian Channel","project":"Superalgos","id":"a0373c2d-dcd9-4b36-8db8-6c5e377f4e70","savedPayload":{"position":{"x":33608.97088400983,"y":18756.406184765485},"targetPosition":{"x":33631.38991208576,"y":18457.24504561113},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Daily","id":"50ed783e-0e71-4903-8a82-854c8bd2ed6e"}}}],"outputDatasetFolders":[],"id":"a9f3e616-1897-4716-94be-92676ab2c97c","savedPayload":{"position":{"x":33631.38991208576,"y":18457.24504561113},"targetPosition":{"x":33653.80894016169,"y":18158.083906456774},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","project":"Superalgos","statusDependencies":[{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","project":"Superalgos","id":"ab757f0c-c816-42c1-86f0-97c16ef7df9b","savedPayload":{"position":{"x":33446.76773487712,"y":18703.533366689542},"targetPosition":{"x":33484.8129227426,"y":18405.955538751572},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"0c9cddc3-dfd4-49f2-b5e9-2d9cb15164e2"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","project":"Superalgos","id":"5675ab54-d0e8-4038-ab6a-56ef2aa08c55","savedPayload":{"position":{"x":33356.67319292745,"y":18677.212261512315},"targetPosition":{"x":33484.8129227426,"y":18405.955538751572},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Starting Point\"\n}","project":"Superalgos","id":"51eb2e2d-75b5-4aa9-9628-da6fdafee5c0","savedPayload":{"position":{"x":33279.12186053407,"y":18624.338658354547},"targetPosition":{"x":33484.8129227426,"y":18405.955538751572},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Time-Frame-Daily","project":"Superalgos","id":"c19ecb80-d74c-4a66-8bc9-7c164f2f81bf","savedPayload":{"position":{"x":33221.705002443574,"y":18550.088193885374},"targetPosition":{"x":33484.8129227426,"y":18405.955538751572},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}}],"dataMineDataDependencies":[],"id":"22190dfd-2d9d-401b-a391-642f3140b8ba","savedPayload":{"position":{"x":33484.8129227426,"y":18405.955538751572},"targetPosition":{"x":33653.80894016169,"y":18158.083906456774},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","project":"Superalgos","id":"0c9cddc3-dfd4-49f2-b5e9-2d9cb15164e2","savedPayload":{"position":{"x":33518.66360997633,"y":18223.16646732441},"targetPosition":{"x":33653.80894016169,"y":18158.083906456774},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","project":"Superalgos","id":"decfbbf5-ddb1-48ed-9703-3dfd2817fd4a","savedPayload":{"position":{"x":33504.22837058451,"y":18146.87439241881},"targetPosition":{"x":33653.80894016169,"y":18158.083906456774},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","project":"Superalgos","id":"66d5f6e0-5b1e-4fce-9187-11f226def0a6","savedPayload":{"position":{"x":33529.87312401429,"y":18073.58589774723},"targetPosition":{"x":33653.80894016169,"y":18158.083906456774},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"04245397-cdac-4f93-b45f-86787e821ab6","savedPayload":{"position":{"x":34415.80045752811,"y":18482.38757276333},"targetPosition":{"x":34323.09535921563,"y":18197.070617874786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"Donchian Channel","config":"{\n \"codeName\": \"Donchian-Channel\",\n \"singularVariableName\": \"donchian\",\n \"pluralVariableName\": \"donchians\"\n}","project":"Superalgos","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/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }","project":"Superalgos","id":"7298225c-3b68-4f34-a935-fc0ab3d8f662","savedPayload":{"position":{"x":34563.25938760064,"y":18668.419063027653},"targetPosition":{"x":34118.79963433283,"y":18598.02355375955},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"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/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","project":"Superalgos","id":"50ed783e-0e71-4903-8a82-854c8bd2ed6e","savedPayload":{"position":{"x":34189.19514360093,"y":19042.483307027363},"targetPosition":{"x":34118.79963433283,"y":18598.02355375955},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","project":"Superalgos","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"record.current.begin","project":"Superalgos","id":"1a36f31f-c662-44c1-859e-95dfc06c72cf","savedPayload":{"position":{"x":34083.47286386884,"y":19272.098489718886},"targetPosition":{"x":33800.42154718726,"y":19088.282815401315},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"39eca54b-9530-4c5b-a28f-a58a7b7a7f6a","savedPayload":{"position":{"x":33800.42154718726,"y":19088.282815401315},"targetPosition":{"x":33517.37023050568,"y":18904.467141083744},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{ \n\"codeName\": \"end\",\n\"isString\": false,\n\"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"record.current.end","project":"Superalgos","id":"25467c14-bbdd-4b2f-8f55-7463c2e47d0f","savedPayload":{"position":{"x":33482.04346004169,"y":19578.542077043083},"targetPosition":{"x":33499.706845273686,"y":19241.504609063413},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d8a9f877-40ea-4464-823b-6ece32c332a4","savedPayload":{"position":{"x":33499.706845273686,"y":19241.504609063413},"targetPosition":{"x":33517.37023050568,"y":18904.467141083744},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"hiHigh","config":"{ \n \"codeName\": \"hiHigh\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.hiHigh","project":"Superalgos","id":"7d1d3c9b-5638-4ff1-a97b-fccb540d14f4","savedPayload":{"position":{"x":33066.298177635326,"y":19134.29983157689},"targetPosition":{"x":33216.655528592106,"y":19057.688934745842},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"6fd13621-5530-49fc-9b62-cd43937ae9c8","savedPayload":{"position":{"x":33216.655528592106,"y":19057.688934745842},"targetPosition":{"x":33517.37023050568,"y":18904.467141083744},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"loLow","config":"{ \n \"codeName\": \"loLow\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.loLow","project":"Superalgos","id":"ed2dd438-916d-422c-8395-b85103cfac6a","savedPayload":{"position":{"x":33092.79325548331,"y":18628.743629607387},"targetPosition":{"x":33234.3189138241,"y":18720.651466766172},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d8ffc062-4f09-429d-8b7f-fad13e2b0bcc","savedPayload":{"position":{"x":33234.3189138241,"y":18720.651466766172},"targetPosition":{"x":33517.37023050568,"y":18904.467141083744},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Mid Point","config":"{ \n \"codeName\": \"midPoint\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.midPoint","project":"Superalgos","id":"fda3d478-ea77-4a42-a742-e99caddf1b37","savedPayload":{"position":{"x":33543.86530835368,"y":18398.91093911424},"targetPosition":{"x":33535.03361573767,"y":18567.429673104074},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"be82c2e0-7fbd-4aa6-9cc2-203b60a3138d","savedPayload":{"position":{"x":33535.03361573767,"y":18567.429673104074},"targetPosition":{"x":33517.37023050568,"y":18904.467141083744},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"086a47ac-062a-442f-9cde-0fa2f0550df3","savedPayload":{"position":{"x":33517.37023050568,"y":18904.467141083744},"targetPosition":{"x":34118.79963433283,"y":18598.02355375955},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","project":"Superalgos","loop":{"type":"Procedure Loop","name":"New Procedure Loop","project":"Superalgos","procedureJavascriptCode":{"type":"Procedure Javascript Code","name":"New Procedure Javascript Code","code":"/* Loop Code */\n\nlet dcLen = 20 // Channel length\nlet candle = record.current\n\n// Build arrays Max and Min\n\nvariable.lastHighs.push(candle.max) \nvariable.lastLows.push(candle.min)\n\n// Keep the array the correct size\n\nif (variable.lastHighs.length > dcLen) {\n variable.lastHighs.splice(0, 1)\n}\n\nif (variable.lastLows.length > dcLen) {\n variable.lastLows.splice(0, 1)\n}\n\n// Calculate indicator values\n\nvariable.hiHigh = calculateHigh (variable.lastHighs, dcLen) // higher highs\nvariable.loLow = calculateLow (variable.lastLows, dcLen) // lower lows\nvariable.midPoint = (variable.hiHigh + variable.loLow) / 2 // Midpoint\n\nfunction calculateHigh (array, length) {\n\n /* We check we have enough values to make the calculation */\n if (array.length < length) { return 0 }\n\n return Math.max(...array)\n}\n\nfunction calculateLow (array, length) {\n\n /* We check we have enough values to make the calculation */\n if (array.length < length) { return 0 }\n\n return Math.min(...array)\n}\n\n\n// End of code :-)","project":"Superalgos","id":"58b389fb-0695-4083-8b14-cd6679d36d67","savedPayload":{"position":{"x":33474.60161642633,"y":18192.474074503505},"targetPosition":{"x":33583.26827188385,"y":18221.591217077537},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"0655fb31-8425-4174-bc6b-275c313ee834","savedPayload":{"position":{"x":33583.26827188385,"y":18221.591217077537},"targetPosition":{"x":33800.60158279889,"y":18279.825502225605},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","project":"Superalgos","procedureJavascriptCode":{"type":"Procedure Javascript Code","name":"New Procedure Javascript Code","code":"/* Initialization Code*/\n\nvariable.lastHighs = []\nvariable.lastLows = []\n\n","project":"Superalgos","id":"eeb544b6-45f7-4bff-a026-cef0ad9edbff","savedPayload":{"position":{"x":33713.250155076785,"y":17953.825535853044},"targetPosition":{"x":33742.36729765082,"y":18062.492191310565},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"a2c221ef-f3c9-4069-9ff3-4ac1190b1527","savedPayload":{"position":{"x":33742.36729765082,"y":18062.492191310565},"targetPosition":{"x":33800.60158279889,"y":18279.825502225605},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"393374e9-30fa-4598-9143-8df35e487665","savedPayload":{"position":{"x":33800.60158279889,"y":18279.825502225605},"targetPosition":{"x":34118.79963433283,"y":18598.02355375955},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"4768d183-d8ea-4686-8419-f9dad3172020","savedPayload":{"position":{"x":34118.79963433283,"y":18598.02355375955},"targetPosition":{"x":34323.09535921563,"y":18197.070617874786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Donchian Channel","id":"dd7b5cd7-3b5e-4809-949e-777ddcce4648"}}}],"id":"48c69242-e9f9-4433-b12f-6c79ee85d86b","savedPayload":{"position":{"x":34323.09535921563,"y":18197.070617874786},"targetPosition":{"x":34230.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Indicator Bot","name":"Directional Movement Index (DMI)","config":"{ \n\"codeName\": \"DMI\"\n}","project":"Superalgos","processes":[{"type":"Process Definition","name":"Multi-Time-Frame-Market","config":"{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"framework\": {\n \"name\": \"Multi-Time-Frame-Market\"\n }\n }","project":"Superalgos","processOutput":{"type":"Process Output","name":"New Process Output","project":"Superalgos","outputDatasets":[{"type":"Output Dataset","name":"Multi-Time-Frame-Market DMI Directional Movement","project":"Superalgos","id":"5919f5c5-6bee-468c-b910-f5652cbecb82","savedPayload":{"position":{"x":34873.06003336527,"y":18495.774148877063},"targetPosition":{"x":34573.471172938895,"y":18480.07336200418},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Market","id":"ffc7f78b-9ec3-4218-b76f-47233d535a17"}}}],"outputDatasetFolders":[],"id":"7aaea608-87b1-44dd-b913-0b901b31f0a4","savedPayload":{"position":{"x":34573.471172938895,"y":18480.07336200418},"targetPosition":{"x":34273.88231251252,"y":18464.372575131296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","project":"Superalgos","statusDependencies":[{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","project":"Superalgos","id":"fe35d43c-c6df-4e14-8f8f-05097d8780c4","savedPayload":{"position":{"x":34818.92776311629,"y":18565.390778390476},"targetPosition":{"x":34525.48348289615,"y":18627.764285635803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","project":"Superalgos","id":"fd624718-e85a-4d9d-8a67-90d4e961d39d","savedPayload":{"position":{"x":34651.28406808796,"y":18709.46014088806},"targetPosition":{"x":34525.48348289615,"y":18627.764285635803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"f80adcc4-0286-43e6-a21f-b11c8210b305"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Time-Frame-Market","project":"Superalgos","id":"84e787de-6e28-47f7-999b-ccb4df1b58b3","savedPayload":{"position":{"x":34556.67023651881,"y":18774.486425745876},"targetPosition":{"x":34525.48348289615,"y":18627.764285635803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"0caf1c52-9492-4149-900c-88c36f943c04","savedPayload":{"position":{"x":34525.48348289615,"y":18627.764285635803},"targetPosition":{"x":34273.88231251252,"y":18464.372575131296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","project":"Superalgos","id":"f80adcc4-0286-43e6-a21f-b11c8210b305","savedPayload":{"position":{"x":34410.07946243438,"y":18731.674532387806},"targetPosition":{"x":34273.88231251252,"y":18464.372575131296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","project":"Superalgos","id":"77ab62fd-1ace-4833-852a-4b7fcfa71af1","savedPayload":{"position":{"x":34266.03191907608,"y":18614.167005344483},"targetPosition":{"x":34273.88231251252,"y":18464.372575131296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","project":"Superalgos","id":"1e735ccd-0aac-412e-9cd3-e7371c4da681","savedPayload":{"position":{"x":34192.186457260264,"y":18590.17316032311},"targetPosition":{"x":34273.88231251252,"y":18464.372575131296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"b15d854d-e6bd-4a3f-86a4-e52298e1bedb","savedPayload":{"position":{"x":34273.88231251252,"y":18464.372575131296},"targetPosition":{"x":34137.68516259066,"y":18197.070617874786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Time-Frame-Daily","config":" {\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"framework\": {\n \"name\": \"Multi-Time-Frame-Daily\"\n }\n }","project":"Superalgos","processOutput":{"type":"Process Output","name":"New Process Output","project":"Superalgos","outputDatasets":[{"type":"Output Dataset","name":"Multi-Time-Frame-Daily DMI Directional Movement","project":"Superalgos","id":"7aa772da-83ed-49bc-ae02-cdf6dec2e327","savedPayload":{"position":{"x":34446.458428093494,"y":18928.274468049767},"targetPosition":{"x":34245.719246185836,"y":18705.33102040655},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Daily","id":"9b222dca-e8c2-4392-9c3e-7c970dca4a52"}}}],"outputDatasetFolders":[],"id":"689dc40b-6766-4c3f-8b01-1337836842d3","savedPayload":{"position":{"x":34245.719246185836,"y":18705.33102040655},"targetPosition":{"x":34044.98006427818,"y":18482.38757276333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","project":"Superalgos","statusDependencies":[{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","project":"Superalgos","id":"68ae89c3-ae95-4f7c-8010-77696f7cece1","savedPayload":{"position":{"x":34296.14968883846,"y":19008.975641420562},"targetPosition":{"x":34107.353571523505,"y":18775.831852983472},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"410a9275-4f43-4cbe-9ee9-a674a8465fb2"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","project":"Superalgos","id":"676dd9be-1e1e-4f80-98af-e9d74d588c9b","savedPayload":{"position":{"x":34214.8639563871,"y":19055.90598093263},"targetPosition":{"x":34107.353571523505,"y":18775.831852983472},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Starting Point\"\n}","project":"Superalgos","id":"7d829a3f-61dc-451c-aedf-2d441bb73ee6","savedPayload":{"position":{"x":34123.05435839639,"y":19075.420713409843},"targetPosition":{"x":34107.353571523505,"y":18775.831852983472},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Time-Frame-Daily","project":"Superalgos","id":"a4433576-f48c-46ad-be60-94456f62807d","savedPayload":{"position":{"x":34029.70785799275,"y":19065.609600870193},"targetPosition":{"x":34107.353571523505,"y":18775.831852983472},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}}],"dataMineDataDependencies":[],"id":"2bc735c8-7b2c-43bf-a5ad-04a92a55b492","savedPayload":{"position":{"x":34107.353571523505,"y":18775.831852983472},"targetPosition":{"x":34044.98006427818,"y":18482.38757276333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","project":"Superalgos","id":"410a9275-4f43-4cbe-9ee9-a674a8465fb2","savedPayload":{"position":{"x":33998.62751512193,"y":18625.046050207606},"targetPosition":{"x":34044.98006427818,"y":18482.38757276333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","project":"Superalgos","id":"f5079609-c590-4de5-aeaf-50454e9462ff","savedPayload":{"position":{"x":33933.50834045657,"y":18582.75716371716},"targetPosition":{"x":34044.98006427818,"y":18482.38757276333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","project":"Superalgos","id":"4a4808ce-da77-4797-9c98-a20c7f4b66ff","savedPayload":{"position":{"x":33898.25792416811,"y":18513.574326385995},"targetPosition":{"x":34044.98006427818,"y":18482.38757276333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"e7398a04-47e8-4195-9504-c8fb6a7f8006","savedPayload":{"position":{"x":34044.98006427818,"y":18482.38757276333},"targetPosition":{"x":34137.68516259066,"y":18197.070617874786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"DMI Directional Movement","config":"{\n \"codeName\": \"DMI\",\n \"singularVariableName\": \"DMI\",\n \"pluralVariableName\": \"DMIs\"\n}","project":"Superalgos","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/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }","project":"Superalgos","id":"ffc7f78b-9ec3-4218-b76f-47233d535a17","savedPayload":{"position":{"x":34054.930278239844,"y":18719.564394291527},"targetPosition":{"x":33736.73222670589,"y":18401.36634275758},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"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/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","project":"Superalgos","id":"9b222dca-e8c2-4392-9c3e-7c970dca4a52","savedPayload":{"position":{"x":33532.436501823104,"y":18802.319278642346},"targetPosition":{"x":33736.73222670589,"y":18401.36634275758},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","project":"Superalgos","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"record.current.begin","project":"Superalgos","id":"1ec34464-ca30-478d-b477-060d5ce5c395","savedPayload":{"position":{"x":33311.94096274725,"y":18925.939866741035},"targetPosition":{"x":33190.991779775715,"y":18610.85647279823},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e5938129-efd9-406d-99d7-5138f70c071f","savedPayload":{"position":{"x":33190.991779775715,"y":18610.85647279823},"targetPosition":{"x":33070.04259680418,"y":18295.773078855425},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{ \n\"codeName\": \"end\",\n\"isString\": false,\n\"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"record.current.end","project":"Superalgos","id":"fec95a23-69ea-4963-8525-8eaa5d791bc9","savedPayload":{"position":{"x":32645.251332845535,"y":18820.34660283888},"targetPosition":{"x":32857.64696482486,"y":18558.059840847152},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"138e7e11-7336-481f-9a0c-397cdcf8c275","savedPayload":{"position":{"x":32857.64696482486,"y":18558.059840847152},"targetPosition":{"x":33070.04259680418,"y":18295.773078855425},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"+DI","config":"{ \n \"codeName\": \"plusDI\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.plusDI","project":"Superalgos","id":"ff000762-5411-45e6-bd76-17f41e2b7770","savedPayload":{"position":{"x":32570.02537437789,"y":18216.57813092881},"targetPosition":{"x":32736.69778185332,"y":18242.976446904348},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ae437f00-ed26-439e-8ee2-b464ac13a414","savedPayload":{"position":{"x":32736.69778185332,"y":18242.976446904348},"targetPosition":{"x":33070.04259680418,"y":18295.773078855425},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"-DI","config":"{ \n \"codeName\": \"minusDI\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.minusDI","project":"Superalgos","id":"bc1af38f-d7ee-4af5-a8ed-e793527c0955","savedPayload":{"position":{"x":32888.61882234686,"y":17823.147987941218},"targetPosition":{"x":32949.09341383264,"y":17980.68968491262},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"25cafbf6-5636-4e0e-aabc-5323c92faa92","savedPayload":{"position":{"x":32949.09341383264,"y":17980.68968491262},"targetPosition":{"x":33070.04259680418,"y":18295.773078855425},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"ADX","config":"{ \n \"codeName\": \"adx\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.adx","project":"Superalgos","id":"57bc2009-d447-4470-a9e3-49cab55d6fac","savedPayload":{"position":{"x":33388.63604477316,"y":17902.342935867833},"targetPosition":{"x":33282.4382287835,"y":18033.4863168637},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"01c1bb22-2c02-4b43-8084-71126021fbc9","savedPayload":{"position":{"x":33282.4382287835,"y":18033.4863168637},"targetPosition":{"x":33070.04259680418,"y":18295.773078855425},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"3aa516a7-f994-48ed-9f01-92cf496e5338","savedPayload":{"position":{"x":33070.04259680418,"y":18295.773078855425},"targetPosition":{"x":33736.73222670589,"y":18401.36634275758},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","project":"Superalgos","loop":{"type":"Procedure Loop","name":"New Procedure Loop","project":"Superalgos","procedureJavascriptCode":{"type":"Procedure Javascript Code","name":"New Procedure Javascript Code","code":"/* Loop Code */\n\nlet len = 14 // DI Length\nlet lensig = 14 // ADX Smoothing\n\n// Get Current and Previous Candle Data\nlet currCandle = record.current \nlet prevCandle = record.previous \n\n\n// Make sure data exists for prevCandle\n// Build variable.up = current max - previous max\n\nif (prevCandle === undefined) {\n variable.up = 0\n variable.down = 0\n variable.prevClose = currCandle.close\n} else {\n variable.up = currCandle.max - prevCandle.max\n variable.down = prevCandle.min - currCandle.min\n variable.prevClose = prevCandle.close\n}\n\n\n// console.log (variable.up, variable.down)\n\n\nvariable.plusDM = calculatePlusDM (variable.up,variable.down)\nvariable.minusDM = calculateMinusDM (variable.up,variable.down)\n\n\nfunction calculatePlusDM (up, down) {\n if (up > down && up > 0) {\n return up\n } else {\n return 0\n }\n}\n\nfunction calculateMinusDM (up, down) {\n if (down > up && down > 0) {\n return down\n } else {\n return 0\n }\n}\n\n\nvariable.trueRange = calculateTR()\n\n/* Calculate True Range */\nfunction calculateTR() {\n let hl = currCandle.max - currCandle.min \n if (variable.prevClose === 0) { return hl }\n if (isNaN(variable.prevClose)) { return hl } // Return High-Low when previous Close is 0 \n let hcp = Math.abs(currCandle.max - variable.prevClose)\n let lcp = Math.abs(currCandle.min - variable.prevClose) \n return Math.max(hl, hcp, lcp)\n}\n\n/* Calculate RMA */\nfunction calculateRMA(src, length, prevRMA) {\n if (src.length < length) { return 0 }\n let alpha = 1/length\n return alpha*src+(1-alpha)*prevRMA\n}\n\nvariable.trur = calculateRMA(variable.trueRange, len, variable.previousTrur)\nvariable.previousTrur = variable.trur\n\nk = 100/variable.trur\n\nvariable.basePlusDI = calculateRMA(variable.plusDM, len, variable.previousBasePlusDI)\nvariable.previousBasePlusDI = variable.basePlusDI\n\nvariable.baseMinusDI = calculateRMA(variable.minusDM, len, variable.previousBaseMinusDI)\nvariable.previousBaseMinusDI = variable.baseMinusDI\n\nvariable.plusDI = variable.basePlusDI * k\nif (isNaN(variable.plusDI)) {variable.plusDI=0}\nvariable.minusDI = variable.baseMinusDI * k\nif (isNaN(variable.minusDI)) {variable.minusDI=0}\n\nvariable.sumPlusMinus = variable.plusDI + variable.minusDI\n\nif (variable.sumPlusMinus == 0) {\n variable.sumPlusMinus = 1 \n} else {\n variable.sumPlusMinus = variable.sumPlusMinus\n}\n\nvariable.baseADX = calculateRMA(Math.abs(variable.plusDI - variable.minusDI)/variable.sumPlusMinus, lensig, variable.previousBaseADX)\nvariable.previousBaseADX = variable.baseADX\nvariable.adx = 100 * variable.baseADX\n\n// End of code :-)","project":"Superalgos","id":"3d2db569-3ddf-43da-be3d-c28e5504273d","savedPayload":{"position":{"x":33453.94108545847,"y":17694.61982749804},"targetPosition":{"x":33524.73962945158,"y":17782.04874816195},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"a6258f38-8354-48de-adb7-3b661899667e","savedPayload":{"position":{"x":33524.73962945158,"y":17782.04874816195},"targetPosition":{"x":33666.33671743779,"y":17956.90658948977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","project":"Superalgos","procedureJavascriptCode":{"type":"Procedure Javascript Code","name":"New Procedure Javascript Code","code":"/* Initialization Code*/\n\n\nvariable.previousTrur = 0\nvariable.previousBasePlusDI = 0\nvariable.previousBaseMinusDI = 0\nvariable.previousBaseADX = 0","project":"Superalgos","id":"c2937149-cf61-4d86-808e-979e5948216b","savedPayload":{"position":{"x":33787.28590040933,"y":17641.823195546964},"targetPosition":{"x":33746.96950608549,"y":17746.8509935279},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"9a0b15f6-028e-47c3-9ba3-6c0bef0cdfb3","savedPayload":{"position":{"x":33746.96950608549,"y":17746.8509935279},"targetPosition":{"x":33666.33671743779,"y":17956.90658948977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"da6ee60e-081f-401e-bd6a-5df0a847e64f","savedPayload":{"position":{"x":33666.33671743779,"y":17956.90658948977},"targetPosition":{"x":33736.73222670589,"y":18401.36634275758},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"baba93f1-f096-429d-a544-efe36119fac8","savedPayload":{"position":{"x":33736.73222670589,"y":18401.36634275758},"targetPosition":{"x":34137.68516259066,"y":18197.070617874786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"DMI Directional Movement","id":"4e8c7782-32a0-496d-baab-d11bb1a562d0"}}}],"id":"de6b7c83-31ee-41f3-83cc-57f47865c6e9","savedPayload":{"position":{"x":34137.68516259066,"y":18197.070617874786},"targetPosition":{"x":34230.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Indicator Bot","name":"Ichimoku Cloud","config":"{ \n\"codeName\": \"Ichimoku\"\n}","project":"Superalgos","processes":[{"type":"Process Definition","name":"Multi-Time-Frame-Market","config":"{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"description\": \"Produces the MACD indicator.\",\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Time-Frame-Market\"\n }\n }","project":"Superalgos","processOutput":{"type":"Process Output","name":"New Process Output","project":"Superalgos","outputDatasets":[{"type":"Output Dataset","name":"Multi-Time-Frame-Market Ichimoku Cloud","project":"Superalgos","id":"fc0db1a6-d3f2-42ee-8151-3341b44cd685","savedPayload":{"position":{"x":33456.00550317381,"y":19153.25366298624},"targetPosition":{"x":33196.197882038476,"y":19003.25366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Market","id":"80018870-2528-42bf-a3a7-6f0b5e44d9c9"}}}],"outputDatasetFolders":[],"id":"6ff0e507-30a0-44cf-9889-234622011f92","savedPayload":{"position":{"x":33196.197882038476,"y":19003.25366298624},"targetPosition":{"x":32936.39026090314,"y":18853.25366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","project":"Superalgos","statusDependencies":[{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","project":"Superalgos","id":"5e8b154e-58b0-436c-a28e-0d6a165cf7fe","savedPayload":{"position":{"x":33376.168008789864,"y":19190.70699765233},"targetPosition":{"x":33086.39026090314,"y":19113.061284121573},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","project":"Superalgos","id":"b1eeff79-6ce6-4e3f-916f-efb6f5c57d36","savedPayload":{"position":{"x":33161.39026090314,"y":19242.96509468924},"targetPosition":{"x":33086.39026090314,"y":19113.061284121573},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"dbcf7839-bf6e-41e9-beff-ad4a672dec87"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Time-Frame-Market","project":"Superalgos","id":"8815bfb5-a494-425b-8211-215b858acd8c","savedPayload":{"position":{"x":33047.567404137764,"y":19257.950158064934},"targetPosition":{"x":33086.39026090314,"y":19113.061284121573},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"17464577-a8e2-4909-b674-bf190ae9bd61","savedPayload":{"position":{"x":33086.39026090314,"y":19113.061284121573},"targetPosition":{"x":32936.39026090314,"y":18853.25366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","project":"Superalgos","id":"dbcf7839-bf6e-41e9-beff-ad4a672dec87","savedPayload":{"position":{"x":32936.39026090314,"y":19153.25366298624},"targetPosition":{"x":32936.39026090314,"y":18853.25366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","project":"Superalgos","id":"28298755-1265-4638-ad84-4ea48d9967c4","savedPayload":{"position":{"x":32861.39026090314,"y":18983.157473553907},"targetPosition":{"x":32936.39026090314,"y":18853.25366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","project":"Superalgos","id":"cffec99c-61ce-4c11-acfe-7cfab0661b92","savedPayload":{"position":{"x":32806.48645033548,"y":18928.25366298624},"targetPosition":{"x":32936.39026090314,"y":18853.25366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"0419a095-c117-4b03-8581-c6c2fb30fe43","savedPayload":{"position":{"x":33940.75482307859,"y":18384.395740852524},"targetPosition":{"x":33987.68516259066,"y":18088.089238673983},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Time-Frame-Daily","config":"{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"description\": \"Produces the MACD indicator.\",\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Time-Frame-Daily\"\n }\n }","project":"Superalgos","processOutput":{"type":"Process Output","name":"New Process Output","project":"Superalgos","outputDatasets":[{"type":"Output Dataset","name":"Multi-Time-Frame-Daily Ichimoku Cloud","project":"Superalgos","id":"d7fe8959-24a8-4872-90e6-e4e4ecee89c6","savedPayload":{"position":{"x":32855.58263976781,"y":19338.25366298624},"targetPosition":{"x":32855.58263976781,"y":19038.25366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Daily","id":"ef8da44c-8cc5-41fc-add6-f2feff945632"}}}],"outputDatasetFolders":[],"id":"e4fa5f98-33d5-4d71-935b-ce77340cb43a","savedPayload":{"position":{"x":32855.58263976781,"y":19038.25366298624},"targetPosition":{"x":32855.58263976781,"y":18738.25366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","project":"Superalgos","statusDependencies":[{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","project":"Superalgos","id":"5097611a-6c4c-4629-9b4e-ab1ae850980f","savedPayload":{"position":{"x":32689.881852894927,"y":19297.650144547944},"targetPosition":{"x":32705.58263976781,"y":18998.061284121573},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"906bf32a-6310-4aa4-83d9-7de0a94906d6"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","project":"Superalgos","id":"f7e27eb6-6cdb-4352-a880-51f78903cd72","savedPayload":{"position":{"x":32598.07225490422,"y":19278.135412070733},"targetPosition":{"x":32705.58263976781,"y":18998.061284121573},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Starting Point\"\n}","project":"Superalgos","id":"826de77b-7a62-4f14-b5ea-911aa0612cec","savedPayload":{"position":{"x":32516.786522452858,"y":19231.205072558663},"targetPosition":{"x":32705.58263976781,"y":18998.061284121573},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Time-Frame-Daily","project":"Superalgos","id":"ebfa73d9-6cd5-45f7-b66c-464c68692b63","savedPayload":{"position":{"x":32453.981469384184,"y":19161.45299462608},"targetPosition":{"x":32705.58263976781,"y":18998.061284121573},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}}],"dataMineDataDependencies":[],"id":"434839d0-e4ac-429e-aed0-5542fda64850","savedPayload":{"position":{"x":32705.58263976781,"y":18998.061284121573},"targetPosition":{"x":32855.58263976781,"y":18738.25366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","project":"Superalgos","id":"906bf32a-6310-4aa4-83d9-7de0a94906d6","savedPayload":{"position":{"x":32725.678829200144,"y":18813.25366298624},"targetPosition":{"x":32855.58263976781,"y":18738.25366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","project":"Superalgos","id":"7a8bcb97-9f5e-44e4-861b-dd111ad7c1f2","savedPayload":{"position":{"x":32705.58263976781,"y":18738.25366298624},"targetPosition":{"x":32855.58263976781,"y":18738.25366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","project":"Superalgos","id":"3d514935-9c3a-4b52-9497-b0cdfb4dedc4","savedPayload":{"position":{"x":32725.678829200144,"y":18663.25366298624},"targetPosition":{"x":32855.58263976781,"y":18738.25366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"13b83df6-2b1a-4535-8b78-5711c9b4630d","savedPayload":{"position":{"x":33744.98006427817,"y":18264.424814361726},"targetPosition":{"x":33987.68516259066,"y":18088.089238673983},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"Ichimoku Cloud","config":"{\n \"codeName\": \"Ichimoku\",\n \"singularVariableName\": \"ichimoku\",\n \"pluralVariableName\": \"ichimokus\"\n}","project":"Superalgos","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/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }","project":"Superalgos","id":"80018870-2528-42bf-a3a7-6f0b5e44d9c9","savedPayload":{"position":{"x":33613.620918590954,"y":18462.153482673693},"targetPosition":{"x":33543.22540932285,"y":18017.69372940588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"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/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","project":"Superalgos","id":"ef8da44c-8cc5-41fc-add6-f2feff945632","savedPayload":{"position":{"x":33142.27247343808,"y":18221.989454288676},"targetPosition":{"x":33543.22540932285,"y":18017.69372940588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","project":"Superalgos","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"record.current.begin","project":"Superalgos","id":"72a92d9f-1ed8-4889-85dc-cf06b82a696e","savedPayload":{"position":{"x":33247.35210647924,"y":18013.02174301917},"targetPosition":{"x":33186.877514993466,"y":17855.480046047767},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"e8a2fd42-8b10-4ebd-9403-fda27ec231af","savedPayload":{"position":{"x":33186.877514993466,"y":17855.480046047767},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{ \n\"codeName\": \"end\",\n\"isString\": false,\n\"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"record.current.end","project":"Superalgos","id":"0b6082e7-ec6b-47c1-818e-9af517edf285","savedPayload":{"position":{"x":33039.433254173935,"y":18045.952854074465},"targetPosition":{"x":33048.26494678993,"y":17877.434120084632},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"43e28612-17ea-4a7b-89c7-bd039dec9ea1","savedPayload":{"position":{"x":33048.26494678993,"y":17877.434120084632},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Conversion Line","config":"{ \n \"codeName\": \"conversionLine\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.conversionLine","project":"Superalgos","id":"0e232ef8-ac61-4c1a-ada7-73b687dc805b","savedPayload":{"position":{"x":32836.09564152878,"y":17991.468704975323},"targetPosition":{"x":32912.70653835983,"y":17841.111354018536},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"512e4c3c-391b-4dfa-9e88-0473375d1799","savedPayload":{"position":{"x":32912.70653835983,"y":17841.111354018536},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Base Line","config":"{ \n \"codeName\": \"baseLine\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.baseLine","project":"Superalgos","id":"c9604d93-a559-4469-9cab-5fc86b5e1648","savedPayload":{"position":{"x":32672.49818903433,"y":17858.990100073945},"targetPosition":{"x":32803.641570030195,"y":17752.792284084284},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ca0fadce-a732-4048-991c-9e11de0bed02","savedPayload":{"position":{"x":32803.641570030195,"y":17752.792284084284},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Lagging Span","config":"{\n \"codeName\": \"laggingSpan\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.laggingSpan","project":"Superalgos","id":"f8b08c0d-a298-47c8-98b4-14498ae3f069","savedPayload":{"position":{"x":32576.928382463084,"y":17671.423793688115},"targetPosition":{"x":32739.928365649364,"y":17627.748079827063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"b1421f51-e5e9-4c19-8ef8-0361872d12a5","savedPayload":{"position":{"x":32739.928365649364,"y":17627.748079827063},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Lead Line 1","config":"{ \n \"codeName\": \"leadLine1\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.leadLine1","project":"Superalgos","id":"33f1f757-9ad5-4c0a-9dff-aae377cb5fc4","savedPayload":{"position":{"x":32565.911109595636,"y":17461.201704178347},"targetPosition":{"x":32732.583517071067,"y":17487.600020153885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"40a00adc-bc21-4ae8-95da-623d84b9fb5f","savedPayload":{"position":{"x":32732.583517071067,"y":17487.600020153885},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Lead Line 2","config":"{ \n \"codeName\": \"leadLine2\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.leadLine2","project":"Superalgos","id":"748194a5-7fc8-4389-83ec-251ea6212867","savedPayload":{"position":{"x":32641.351356999556,"y":17264.673140628605},"targetPosition":{"x":32782.877015340346,"y":17356.58097778739},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d4dc6e16-82d8-44b5-bf4a-898746e9f906","savedPayload":{"position":{"x":32782.877015340346,"y":17356.58097778739},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Past Begin","config":"{ \n \"codeName\": \"pastBegin\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.pastBegin","project":"Superalgos","id":"36cea089-33a9-4613-bf31-b6559e672bfe","savedPayload":{"position":{"x":32790.204820545565,"y":17115.819677082593},"targetPosition":{"x":32882.112657704354,"y":17257.345335423382},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"6e65d1a7-d1d6-4e55-8a5e-1b633d847760","savedPayload":{"position":{"x":32882.112657704354,"y":17257.345335423382},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Past End","config":"{ \n \"codeName\": \"pastEnd\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.pastEnd","project":"Superalgos","id":"f6122e26-d738-4265-87d7-05e277ca4125","savedPayload":{"position":{"x":32986.73338409531,"y":17040.379429678673},"targetPosition":{"x":33013.131700070844,"y":17207.051837154104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"6c9f44c4-05fa-45c0-b7c2-4ea0a7215be9","savedPayload":{"position":{"x":33013.131700070844,"y":17207.051837154104},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Forward Begin","config":"{ \n \"codeName\": \"forwardBegin\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.forwardBegin","project":"Superalgos","id":"eea563b8-20c5-4464-8f2f-add8dc54621e","savedPayload":{"position":{"x":33196.95547360508,"y":17051.39670254612},"targetPosition":{"x":33153.27975974403,"y":17214.3966857324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"f4aacf4c-ceb3-42eb-8658-1b75219f91d5","savedPayload":{"position":{"x":33153.27975974403,"y":17214.3966857324},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Forward End","config":"{ \n \"codeName\": \"forwardEnd\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.forwardEnd","project":"Superalgos","id":"b24fdba5-01d6-4172-8d60-97714a1f419e","savedPayload":{"position":{"x":33384.52177999091,"y":17146.96650911737},"targetPosition":{"x":33278.32396400125,"y":17278.109890113235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"66042c7c-421c-4882-b2dc-f68a47c928ea","savedPayload":{"position":{"x":33278.32396400125,"y":17278.109890113235},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Plot Lead Line 1","config":"{ \n \"codeName\": \"plotLeadLine1\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.plotLeadLine1","project":"Superalgos","id":"53b40211-2c67-45d0-909e-aa8182dbe7fa","savedPayload":{"position":{"x":33517.000384892286,"y":17310.563961611817},"targetPosition":{"x":33366.6430339355,"y":17387.174858442864},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"b73f0fd0-94de-4247-a3fb-f066d12c3749","savedPayload":{"position":{"x":33366.6430339355,"y":17387.174858442864},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Plot Lead Line2","config":"{\n \"codeName\": \"plotLeadLine2\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.plotLeadLine2","project":"Superalgos","id":"ed655742-cd9e-4ca2-baad-ea28f5a3fe0a","savedPayload":{"position":{"x":33571.484533991425,"y":17513.90157425697},"targetPosition":{"x":33402.96580000159,"y":17522.73326687297},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"aa927173-5062-420c-bc81-7019042625bc","savedPayload":{"position":{"x":33402.96580000159,"y":17522.73326687297},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Past Candles","config":"{\n \"codeName\": \"pastCandles\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Record Formula","code":"variable.pastCandles","project":"Superalgos","id":"00944aac-c136-4063-802f-03d9d8779cf4","savedPayload":{"position":{"x":33538.55342293614,"y":17721.82042656227},"targetPosition":{"x":33381.01172596473,"y":17661.3458350765},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"72b95347-8ab2-485c-9d53-01c3f242fd0d","savedPayload":{"position":{"x":33381.01172596473,"y":17661.3458350765},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"4ad846c6-be10-469e-bb6b-178b94b1bcf6","savedPayload":{"position":{"x":33065.928332021926,"y":17540.396652104962},"targetPosition":{"x":33543.22540932285,"y":18017.69372940588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","project":"Superalgos","loop":{"type":"Procedure Loop","name":"New Procedure Loop","project":"Superalgos","procedureJavascriptCode":{"type":"Procedure Javascript Code","name":"New Procedure Javascript Code","code":"/* Loop Code */\n\n/* Modify value here */\n\nlet conversionPeriods = 20 // Conversion Line Periods\nlet basePeriods = 30 // Base Line Periods\nlet laggingSpan2Periods = 120 // Lagging Span 2 Periods\nlet displacement = 60 // Displacement\nlet maxCandles = 26\t//max candles for lagging line\n\n/* Define candle object and property */\n\nlet candle = {\n open: record.current.open,\n close: record.current.close,\n min: record.current.min,\n max: record.current.max,\n begin: record.current.begin,\n end: record.current.end,\n} \n\n/* We need a function to calculate the average\nof past (length) Lows and Highs\nBasically it is a Donchian\nwith different periods */\n\n// Build arrays Max and Min for each variable\n\nvariable.lastHiConversionPeriods.push(candle.max)\nvariable.lastHiBasePeriods.push(candle.max)\nvariable.lastHiLaggingSpan2Periods.push(candle.max)\n\nvariable.lastLowConversionPeriods.push(candle.min)\nvariable.lastLowBasePeriods.push(candle.min)\nvariable.lastLowLaggingSpan2Periods.push(candle.min)\n\nvariable.pastCandles.push(record.current.close)\t\t// add current close to the past candles array for later retrieval\n\n// And keep the array the correct size\n// Highs\n\nif (variable.lastHiConversionPeriods.length > conversionPeriods) {\n variable.lastHiConversionPeriods.splice(0, 1)\n}\n\nif (variable.lastHiBasePeriods.length > basePeriods) {\n variable.lastHiBasePeriods.splice(0, 1)\n}\n\nif (variable.lastHiLaggingSpan2Periods.length > laggingSpan2Periods) {\n variable.lastHiLaggingSpan2Periods.splice(0, 1)\n}\n\n// Lows\nif (variable.lastLowConversionPeriods.length > conversionPeriods) {\n variable.lastLowConversionPeriods.splice(0, 1)\n}\n\nif (variable.lastLowBasePeriods.length > basePeriods) {\n variable.lastLowBasePeriods.splice(0, 1)\n}\n\nif (variable.lastLowLaggingSpan2Periods.length > laggingSpan2Periods) {\n variable.lastLowLaggingSpan2Periods.splice(0, 1)\n}\n\n// past candles\nif (variable.pastCandles.length > maxCandles) {\n variable.pastCandles.splice(0, 1)\n}\n \n// Build a donchian function to calculate average of Highs and Lows\n\nfunction donchian (srcMax, srcMin, length) {\n\n let hiHigh = calculateHigh (srcMax, length) // higher highs\n let loLow = calculateLow (srcMin, length) // lower lows\n return (hiHigh + loLow) / 2 // Average\n}\n\nfunction calculateHigh (array, length) {\n /* We check we have enough values to make the calculation */\n if (array.length < length) { return 0 }\n return Math.max(...array)\n}\n\nfunction calculateLow (array, length) {\n /* We check we have enough values to make the calculation */\n if (array.length < length) { return 0 }\n return Math.min(...array)\n}\n\n// Build Ichimoku Clouds!\n\nvariable.conversionLine = donchian (variable.lastHiConversionPeriods, variable.lastLowConversionPeriods, conversionPeriods)\nvariable.baseLine = donchian (variable.lastHiBasePeriods, variable.lastLowBasePeriods, basePeriods)\nvariable.plotLeadLine1 = (variable.conversionLine + variable.baseLine) / 2\nvariable.plotLeadLine2 = donchian (variable.lastHiLaggingSpan2Periods, variable.lastLowLaggingSpan2Periods, laggingSpan2Periods)\n\n// Lagging Span is the close price plotted back \"displacement\" periods\nif (variable.pastCandles.length >= maxCandles) {\n\tvariable.laggingSpan = variable.pastCandles[0]\t// always use the first value in the array\n}\nelse { variable.laggingSpan = 0 }\t//return zero if not enough candle history in the array\n\n\n/* We need to plot data in the past for the LaggingLine\nand in the future for LeadLine 1&2\nDefining past/forward Begin/End -> Values are then stored as new properties\nin Record definition so we can use them in Chart Points to plot\ndata in the past and in the future\n*/\n\nvariable.pastBegin = candle.begin - (candle.end-candle.begin)*displacement\nvariable.pastEnd = candle.end - (candle.end-candle.begin)*displacement\n\nvariable.forwardBegin = candle.begin + (candle.end-candle.begin)*displacement\nvariable.forwardEnd = candle.end + (candle.end-candle.begin)*displacement\n\n/* Syncronizing LeadLine 1&2 values with current candle\nso when writing strategy values are synced\n*/\n\nvariable.pastLeadLine1.push(variable.plotLeadLine1)\nif (variable.pastLeadLine1.length > displacement) {\n variable.pastLeadLine1.splice(0, 1)\n}\n\nif (variable.pastLeadLine1.length < displacement) {\n variable.leadLine1 = 0 \n} else {\n variable.leadLine1 = variable.pastLeadLine1[0] // LeadLine1 \n}\n\nvariable.pastLeadLine2.push(variable.plotLeadLine2)\nif (variable.pastLeadLine2.length > displacement) {\n variable.pastLeadLine2.splice(0, 1)\n}\n\nif (variable.pastLeadLine2.length < displacement) {\n variable.leadLine2 = 0 \n} else {\n variable.leadLine2 = variable.pastLeadLine2[0] // LeadLine2\n}\n\n// End of code :-)","project":"Superalgos","id":"899265ba-76d1-4525-b3c3-2e99d73daf7b","savedPayload":{"position":{"x":33729.85774897365,"y":17279.70332554145},"targetPosition":{"x":33735.74554405098,"y":17392.04914820134},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"5d5b6e50-f79b-4039-b835-b0bdc3e58653","savedPayload":{"position":{"x":33735.74554405098,"y":17392.04914820134},"targetPosition":{"x":33747.52113420564,"y":17616.740793521116},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","project":"Superalgos","procedureJavascriptCode":{"type":"Procedure Javascript Code","name":"New Procedure Javascript Code","code":"/* Initialization Code*/\n\nvariable.lastHiConversionPeriods = []\nvariable.lastHiBasePeriods = []\nvariable.lastHiLaggingSpan2Periods = []\n\nvariable.lastLowConversionPeriods = []\nvariable.lastLowBasePeriods = []\nvariable.lastLowLaggingSpan2Periods = []\n\nvariable.pastLeadLine1 = []\nvariable.pastLeadLine2 = []\n\nvariable.pastCandles = []","project":"Superalgos","id":"50245904-f0f3-43a9-8e7a-164fba5bc780","savedPayload":{"position":{"x":34030.57245088722,"y":17432.925119203544},"targetPosition":{"x":33936.22201199336,"y":17494.197010642736},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"0d1d1ab8-da87-44b2-aa06-1d1c0b034dc1","savedPayload":{"position":{"x":33936.22201199336,"y":17494.197010642736},"targetPosition":{"x":33747.52113420564,"y":17616.740793521116},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"99f9d3e1-78fc-4e8d-b41a-d900687192f9","savedPayload":{"position":{"x":33747.52113420564,"y":17616.740793521116},"targetPosition":{"x":33543.22540932285,"y":18017.69372940588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"ccd20b4b-2783-4b65-a1ac-087621e5e315","savedPayload":{"position":{"x":33543.22540932285,"y":18017.69372940588},"targetPosition":{"x":33987.68516259066,"y":18088.089238673983},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Ichimoku","id":"c5dedee0-0553-457c-9a14-5c5d97907cb2"}}}],"id":"ab48285e-a196-4696-b8be-a25c373a64be","savedPayload":{"position":{"x":33987.68516259066,"y":18088.089238673983},"targetPosition":{"x":34230.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"plotters":[{"type":"Plotter","name":"Wave Trend","config":"{ \n \"codeName\": \"PlotterWaveTrend\"\n}","project":"Superalgos","modules":[{"type":"Plotter Module","name":"Wave Trend","config":"{ \n \"codeName\": \"waveTrend\", \n \"icon\": \"oscillator\"\n}","project":"Superalgos","shapes":{"type":"Shapes","name":"New Shapes","project":"Superalgos","chartPoints":[{"type":"Chart Points","name":"WaveTrend + Signal + Histogram","project":"Superalgos","points":[{"type":"Point","name":"WAVETREND Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.waveTrend","project":"Superalgos","id":"2c5ca3e2-3f1d-41b8-8b16-8bec853896c1","savedPayload":{"position":{"x":33065.15865972403,"y":18396.619786799445},"targetPosition":{"x":33174.894510748636,"y":18421.40472173793},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"0067f22f-46a2-4735-86fe-5e5329285f92","savedPayload":{"position":{"x":33174.894510748636,"y":18421.40472173793},"targetPosition":{"x":33394.36621279786,"y":18470.9745916149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"WAVETREND End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.waveTrend","project":"Superalgos","id":"7bbd00d1-0fab-4055-97fe-7993b2677537","savedPayload":{"position":{"x":33189.97294338889,"y":18202.404970435742},"targetPosition":{"x":33258.10403319188,"y":18291.92817749546},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"244f05f3-b51c-4427-8078-3b319ccd0092","savedPayload":{"position":{"x":33258.10403319188,"y":18291.92817749546},"targetPosition":{"x":33394.36621279786,"y":18470.9745916149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SIGNAL Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.waveTrendSignal","project":"Superalgos","id":"6d226efa-bc1b-4192-9fce-b3389535ec68","savedPayload":{"position":{"x":33410.42510938837,"y":18133.856864640635},"targetPosition":{"x":33405.0721438582,"y":18246.229440298725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"80f21e0b-76c2-48a9-b3d2-1ee3c3f774d9","savedPayload":{"position":{"x":33405.0721438582,"y":18246.229440298725},"targetPosition":{"x":33394.36621279786,"y":18470.9745916149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SIGNAL End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.waveTrendSignal","project":"Superalgos","id":"fc0f1fb3-ab13-4b01-8496-15c9c15a2b57","savedPayload":{"position":{"x":33623.363139198394,"y":18223.049889942984},"targetPosition":{"x":33547.03083039822,"y":18305.691457166955},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"dd98f729-93b7-4509-bc62-3332f00cd3d0","savedPayload":{"position":{"x":33547.03083039822,"y":18305.691457166955},"targetPosition":{"x":33394.36621279786,"y":18470.9745916149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"WT3 Histogram Zero","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = (record.end - record.begin)/2 + record.begin\ny = 0","project":"Superalgos","id":"0e4d11eb-1949-4d16-a548-1bdee21dd59b","savedPayload":{"position":{"x":33729.150962128246,"y":18428.24963853376},"targetPosition":{"x":33617.55604568479,"y":18442.491289560807},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"8c7a44ee-f5e7-4c27-a129-2567f4c3787a","savedPayload":{"position":{"x":33617.55604568479,"y":18442.491289560807},"targetPosition":{"x":33394.36621279786,"y":18470.9745916149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"WT3 Histogram","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = (record.end - record.begin)/2 + record.begin\ny = record.wt3","project":"Superalgos","id":"3d279675-73d8-45b6-823a-3898e74e3ec2","savedPayload":{"position":{"x":33678.28928012838,"y":18653.440867506164},"targetPosition":{"x":33583.64825768487,"y":18592.61877554241},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"041ff6d0-02aa-4a0f-81e1-8af53427e0bf","savedPayload":{"position":{"x":33583.64825768487,"y":18592.61877554241},"targetPosition":{"x":33394.36621279786,"y":18470.9745916149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Zero Line Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 0","project":"Superalgos","id":"95b28bb4-1b05-45ca-b4b2-c36af8849126","savedPayload":{"position":{"x":33494.57683947115,"y":18793.254098102276},"targetPosition":{"x":33461.173297246714,"y":18685.827595939816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"82e2aee4-871f-4f54-85b0-2c34acdcbbdd","savedPayload":{"position":{"x":33461.173297246714,"y":18685.827595939816},"targetPosition":{"x":33394.36621279786,"y":18470.9745916149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Zero Line End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 0","project":"Superalgos","id":"6a55e459-a04d-43ed-bd23-f0b8aac737bd","savedPayload":{"position":{"x":33263.97473287643,"y":18782.269165875197},"targetPosition":{"x":33307.4385595169,"y":18678.504307788433},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"2f1122e6-62ec-47c3-a29c-f3eff9169efd","savedPayload":{"position":{"x":33307.4385595169,"y":18678.504307788433},"targetPosition":{"x":33394.36621279786,"y":18470.9745916149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8a7d2782-832c-4732-94ac-b50588cdfe04","savedPayload":{"position":{"x":33394.36621279786,"y":18470.9745916149},"targetPosition":{"x":32994.39026090314,"y":18677.176526392235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"Upper+Lower Levels","project":"Superalgos","points":[{"type":"Point","name":"Upper 53 Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 53","project":"Superalgos","id":"1b2a894d-474b-431f-945f-0d3a19b5e304","savedPayload":{"position":{"x":33983.155694475485,"y":18444.70076059233},"targetPosition":{"x":34101.52958177592,"y":18564.967902012515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"237d03b2-63ad-400c-9c3c-080bcc7c3d3b","savedPayload":{"position":{"x":34101.52958177592,"y":18564.967902012515},"targetPosition":{"x":34338.277356376806,"y":18805.50218485288},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Upper 53 End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 53","project":"Superalgos","id":"e1cddc05-9901-4b87-bbb3-a093dfdfc40c","savedPayload":{"position":{"x":34298.15706571806,"y":18300.84445452721},"targetPosition":{"x":34311.53049593764,"y":18469.0636979691},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"e042ff20-3176-415f-a4df-09a426fd79da","savedPayload":{"position":{"x":34311.53049593764,"y":18469.0636979691},"targetPosition":{"x":34338.277356376806,"y":18805.50218485288},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Upper 60 Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 60","project":"Superalgos","id":"d75c866e-9530-4d0f-94ca-8ec8b2f9d2ee","savedPayload":{"position":{"x":34631.93116684722,"y":18393.1231091274},"targetPosition":{"x":34534.046563357086,"y":18530.582801035893},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ca64f2c6-152e-4081-8d38-1d8e80045206","savedPayload":{"position":{"x":34534.046563357086,"y":18530.582801035893},"targetPosition":{"x":34338.277356376806,"y":18805.50218485288},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Upper 60 End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 60","project":"Superalgos","id":"16da2601-ca28-4889-9155-12c687a9ec70","savedPayload":{"position":{"x":34828.30138645871,"y":18678.358516342458},"targetPosition":{"x":34664.96004309808,"y":18720.739739179266},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"1a202c3b-ff57-4907-b26f-3caabb330ec3","savedPayload":{"position":{"x":34664.96004309808,"y":18720.739739179266},"targetPosition":{"x":34338.277356376806,"y":18805.50218485288},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Lower 53 Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = -53","project":"Superalgos","id":"d0ce070f-1912-43ce-82c0-77def287c519","savedPayload":{"position":{"x":34795.38391638441,"y":19023.085859098024},"targetPosition":{"x":34643.015063048544,"y":18950.557967682977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"cab7980f-9dae-4f54-9f56-bf377777b85a","savedPayload":{"position":{"x":34643.015063048544,"y":18950.557967682977},"targetPosition":{"x":34338.277356376806,"y":18805.50218485288},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Lower 53 End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = -53","project":"Superalgos","id":"b3aec95a-cdee-4816-8330-c5ac7ae90c79","savedPayload":{"position":{"x":34548.581206709016,"y":19266.003382501105},"targetPosition":{"x":34478.47992326494,"y":19112.50298328503},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"3e633fdd-4535-4a9d-9b2b-5577533e417d","savedPayload":{"position":{"x":34478.47992326494,"y":19112.50298328503},"targetPosition":{"x":34338.277356376806,"y":18805.50218485288},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Lower 60 Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = -60","project":"Superalgos","id":"f0a9d25e-ccda-4d95-b5e7-b8ad25e0615c","savedPayload":{"position":{"x":34203.37498819623,"y":19293.447277623854},"targetPosition":{"x":34248.34244425642,"y":19130.798913366863},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"3b48dde7-59c2-4c52-9aab-a8bfafcb7e99","savedPayload":{"position":{"x":34248.34244425642,"y":19130.798913366863},"targetPosition":{"x":34338.277356376806,"y":18805.50218485288},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Lower 60 End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = -60","project":"Superalgos","id":"f9969fe0-e387-4247-be00-e26ad15ca006","savedPayload":{"position":{"x":33921.29108702795,"y":19092.57624093341},"targetPosition":{"x":34060.28651014424,"y":18996.884888906567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"db3520c1-9af2-4715-af97-cca2986db9ac","savedPayload":{"position":{"x":34060.28651014424,"y":18996.884888906567},"targetPosition":{"x":34338.277356376806,"y":18805.50218485288},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"427a710c-2eb9-4fb3-9023-e2dd30f58871","savedPayload":{"position":{"x":34338.277356376806,"y":18805.50218485288},"targetPosition":{"x":32994.39026090314,"y":18677.176526392235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Zero Line","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"8f897a11-c8bb-4e26-a8fb-46a3ee60b983","savedPayload":{"position":{"x":30035.420084380723,"y":24445.677249329667},"targetPosition":{"x":29849.24610600448,"y":24467.937073577912},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"eaa77ce9-3146-4a18-a228-1b5dfb7f58d1","savedPayload":{"position":{"x":29849.24610600448,"y":24467.937073577912},"targetPosition":{"x":29663.07212762824,"y":24490.196897826158},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"WaveTrend + Signal + Histogram Zero Line Begin","project":"Superalgos","id":"c0a1ab8a-0a7a-47c2-a789-28ab62426e9e","savedPayload":{"position":{"x":29810.45708289251,"y":24606.10170774252},"targetPosition":{"x":29663.07212762824,"y":24490.196897826158},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Zero Line Begin","id":"82e2aee4-871f-4f54-85b0-2c34acdcbbdd"}}},{"type":"Polygon Vertex","name":"WaveTrend + Signal + Histogram Zero Line End","project":"Superalgos","id":"371298d7-7c65-4fbe-b4c2-e3fc54cd88dc","savedPayload":{"position":{"x":29685.331951876484,"y":24676.3708762024},"targetPosition":{"x":29663.07212762824,"y":24490.196897826158},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Zero Line End","id":"2f1122e6-62ec-47c3-a29c-f3eff9169efd"}}}],"id":"12090784-30fc-4f0b-853d-d5711b242112","savedPayload":{"position":{"x":33701.83804617165,"y":19233.51961399078},"targetPosition":{"x":32994.39026090314,"y":18677.176526392235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"WT3 Histogram","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n }\n}","project":"Superalgos","id":"ba324dfe-27b0-41b5-ae10-247e0bc52baf","savedPayload":{"position":{"x":33943.382474113176,"y":18794.97666217412},"targetPosition":{"x":33718.95574832587,"y":18811.027978393944},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.wt3 < 0","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"opacity\": 1,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n}","project":"Superalgos","id":"a268871c-78be-4354-a82c-2218c15a25df","savedPayload":{"position":{"x":33971.18416933427,"y":19183.69515381406},"targetPosition":{"x":33845.06995883007,"y":18997.361566104002},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ae2c64bc-ed7f-470d-b4b0-7118b830ba3c","savedPayload":{"position":{"x":33845.06995883007,"y":18997.361566104002},"targetPosition":{"x":33718.95574832587,"y":18811.027978393944},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0ce7f235-57d6-4ad6-9cf6-a47ac3004b2b","savedPayload":{"position":{"x":33718.95574832587,"y":18811.027978393944},"targetPosition":{"x":33516.57084439598,"y":18712.71546311084},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"WaveTrend + Signal + Histogram WT3 Histogram Zero","project":"Superalgos","id":"cbf4755c-88d8-43cd-9f7c-d2ba81e6a46a","savedPayload":{"position":{"x":33590.1611361424,"y":18925.34064732164},"targetPosition":{"x":33516.57084439598,"y":18712.71546311084},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"WT3 Histogram Zero","id":"8c7a44ee-f5e7-4c27-a129-2567f4c3787a"}}},{"type":"Polygon Vertex","name":"WaveTrend + Signal + Histogram WT3 Histogram","project":"Superalgos","id":"52313113-c0bc-49f4-8f64-a446e5b0fb3d","savedPayload":{"position":{"x":33418.258329112876,"y":18915.100367040726},"targetPosition":{"x":33516.57084439598,"y":18712.71546311084},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"WT3 Histogram","id":"041ff6d0-02aa-4a0f-81e1-8af53427e0bf"}}}],"id":"6399921a-70ac-4c45-ba3d-b2745f291d67","savedPayload":{"position":{"x":33288.75142788883,"y":19527.677263235437},"targetPosition":{"x":32994.39026090314,"y":18677.176526392235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Wave Trend","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.75,\n \"lineWidth\": 0.75,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 1.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"5fb5a80e-4ed6-4131-9762-8a241e4e5de9","savedPayload":{"position":{"x":29506.766636128843,"y":24406.311425576987},"targetPosition":{"x":29442.00299125731,"y":24330.11647624992},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"db105320-a505-4e27-be2a-ad5b2ff77051","savedPayload":{"position":{"x":29442.00299125731,"y":24330.11647624992},"targetPosition":{"x":29320.57115712319,"y":24187.25094626167},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"WaveTrend + Signal + Histogram WAVETREND Begin","project":"Superalgos","id":"d23cd662-a740-425f-b5cd-e0d22580f743","savedPayload":{"position":{"x":29177.70562713494,"y":24308.68278039579},"targetPosition":{"x":29320.57115712319,"y":24187.25094626167},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"WAVETREND Begin","id":"0067f22f-46a2-4735-86fe-5e5329285f92"}}},{"type":"Polygon Vertex","name":"WaveTrend + Signal + Histogram WAVETREND End","project":"Superalgos","id":"5ee7b2b6-96aa-42e1-92e8-78290f09964b","savedPayload":{"position":{"x":29199.13932298907,"y":24044.385416273417},"targetPosition":{"x":29320.57115712319,"y":24187.25094626167},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"WAVETREND End","id":"244f05f3-b51c-4427-8078-3b319ccd0092"}}}],"id":"56bc1d31-4574-45ed-ae1e-a96c0a0ce57d","savedPayload":{"position":{"x":32782.20721894466,"y":19551.806937883423},"targetPosition":{"x":32994.39026090314,"y":18677.176526392235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Signal Line","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.75,\n \"lineWidth\": 0.75,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 1.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"038158de-f7fd-458e-869f-a834f376935e","savedPayload":{"position":{"x":29060.152376399248,"y":24222.72430606592},"targetPosition":{"x":29120.8395294124,"y":24143.244311984654},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"8e26548a-c9d4-48ff-8976-9f81905f1e98","savedPayload":{"position":{"x":29120.8395294124,"y":24143.244311984654},"targetPosition":{"x":29234.627941312057,"y":23994.219323082278},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"WaveTrend + Signal + Histogram SIGNAL Begin","project":"Superalgos","id":"1bdf5db8-ea42-4af0-9498-ae171e29c0ab","savedPayload":{"position":{"x":29048.79080341824,"y":24019.1353456267},"targetPosition":{"x":29234.627941312057,"y":23994.219323082278},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SIGNAL Begin","id":"80f21e0b-76c2-48a9-b3d2-1ee3c3f774d9"}}},{"type":"Polygon Vertex","name":"WaveTrend + Signal + Histogram SIGNAL End","project":"Superalgos","id":"dd6a6d21-d877-4b1f-8e3c-09c92f8a5a5c","savedPayload":{"position":{"x":29085.60295240968,"y":23880.43091118262},"targetPosition":{"x":29234.627941312057,"y":23994.219323082278},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SIGNAL End","id":"dd98f729-93b7-4509-bc62-3332f00cd3d0"}}}],"id":"b233d138-7074-43fb-bca6-d67bed33b3e9","savedPayload":{"position":{"x":32343.02962660858,"y":19298.247636726137},"targetPosition":{"x":32994.39026090314,"y":18677.176526392235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Upper 53","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [3,33],\n \"paletteColor\": \"UI_COLOR.TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"7a412ade-bfb4-4afd-8d02-6e98894ce228","savedPayload":{"position":{"x":28996.37137576998,"y":23883.26838984761},"targetPosition":{"x":29090.394786611225,"y":23849.215516051427},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"8141c484-6521-4a05-a3d9-66941314ad57","savedPayload":{"position":{"x":29090.394786611225,"y":23849.215516051427},"targetPosition":{"x":29266.688681938555,"y":23785.366377683582},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Upper+Lower Levels Upper 53 Begin","project":"Superalgos","id":"5cf6a61d-0d4c-4390-b0e4-4b6f2614593f","savedPayload":{"position":{"x":29096.881914357986,"y":23705.855927528657},"targetPosition":{"x":29266.688681938555,"y":23785.366377683582},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Upper 53 Begin","id":"237d03b2-63ad-400c-9c3c-080bcc7c3d3b"}}},{"type":"Polygon Vertex","name":"Upper+Lower Levels Upper 53 End","project":"Superalgos","id":"6336fba4-1e3f-4574-a645-f8562c8cc41d","savedPayload":{"position":{"x":29202.83954357071,"y":23609.072482356252},"targetPosition":{"x":29266.688681938555,"y":23785.366377683582},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Upper 53 End","id":"e042ff20-3176-415f-a4df-09a426fd79da"}}}],"id":"6c967bd9-801d-44bc-b8e2-30ca4763bb84","savedPayload":{"position":{"x":32110.654433366708,"y":18847.502646316603},"targetPosition":{"x":32994.39026090314,"y":18677.176526392235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Upper 60","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"731315a8-1f99-43de-bdca-06c05c0b277a","savedPayload":{"position":{"x":29002.92230111972,"y":23413.289085532535},"targetPosition":{"x":29118.19390796912,"y":23469.53464079531},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"9caf63a1-7446-4480-8f2f-717e990a1afa","savedPayload":{"position":{"x":29118.19390796912,"y":23469.53464079531},"targetPosition":{"x":29431.66087062816,"y":23622.62411732156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Upper+Lower Levels Upper 60 Begin","project":"Superalgos","id":"ded5d9fd-2b8d-4d29-8921-9109c514dc36","savedPayload":{"position":{"x":29593.497098559226,"y":23290.68530043367},"targetPosition":{"x":29431.66087062816,"y":23622.62411732156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Upper 60 Begin","id":"ca64f2c6-152e-4081-8d38-1d8e80045206"}}},{"type":"Polygon Vertex","name":"Upper+Lower Levels Upper 60 End","project":"Superalgos","id":"2ce948e8-dde1-47f8-a04f-728227d80408","savedPayload":{"position":{"x":29763.391712283956,"y":23784.350503995614},"targetPosition":{"x":29431.66087062816,"y":23622.62411732156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Upper 60 End","id":"1a202c3b-ff57-4907-b26f-3caabb330ec3"}}}],"id":"7761e0e0-697e-48b4-bbe4-0ac0b22be26f","savedPayload":{"position":{"x":32158.859121188678,"y":18342.68031629794},"targetPosition":{"x":32994.39026090314,"y":18677.176526392235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Lower 53","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [3,33],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [3,33],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"3acb3136-b9e9-424f-9ddc-50309522959a","savedPayload":{"position":{"x":28867.26149931651,"y":23905.245169463928},"targetPosition":{"x":28965.87693468833,"y":23921.828169989363},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"59331a82-0691-4f26-aaa9-b871f57e7118","savedPayload":{"position":{"x":28965.87693468833,"y":23921.828169989363},"targetPosition":{"x":29150.780876010493,"y":23952.921295974556},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Upper+Lower Levels Lower 53 Begin","project":"Superalgos","id":"111eef17-b3f6-4e81-988c-9dea12ec48b0","savedPayload":{"position":{"x":29042.02020546589,"y":23800.18830496512},"targetPosition":{"x":29150.780876010493,"y":23952.921295974556},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Lower 53 Begin","id":"cab7980f-9dae-4f54-9f56-bf377777b85a"}}},{"type":"Polygon Vertex","name":"Upper+Lower Levels Lower 53 End","project":"Superalgos","id":"f9f7600a-d00a-440d-bdfc-7fb43df81e79","savedPayload":{"position":{"x":29181.874001995686,"y":23768.017354652395},"targetPosition":{"x":29150.780876010493,"y":23952.921295974556},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Lower 53 End","id":"3e633fdd-4535-4a9d-9b2b-5577533e417d"}}}],"id":"8058bc7b-06c0-41c1-972b-62e146a7515d","savedPayload":{"position":{"x":32472.339042289062,"y":17944.058169546934},"targetPosition":{"x":32994.39026090314,"y":18677.176526392235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Lower 60","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"13ec6d93-ce9f-48f1-a405-9cdfe5cb1abe","savedPayload":{"position":{"x":29571.666836500346,"y":23473.13189032053},"targetPosition":{"x":29655.27369659256,"y":23527.994381564735},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"5006eb12-faac-4f3a-8814-dba7931a70e5","savedPayload":{"position":{"x":29655.27369659256,"y":23527.994381564735},"targetPosition":{"x":29812.036559265467,"y":23630.861552647624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Upper+Lower Levels Lower 60 Begin","project":"Superalgos","id":"308980bc-2ba9-4756-bf65-b06c40f19b31","savedPayload":{"position":{"x":29914.903730348356,"y":23474.09868997472},"targetPosition":{"x":29812.036559265467,"y":23630.861552647624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Lower 60 Begin","id":"3b48dde7-59c2-4c52-9aab-a8bfafcb7e99"}}},{"type":"Polygon Vertex","name":"Upper+Lower Levels Lower 60 End","project":"Superalgos","id":"d5881d46-60c2-4f18-80ef-9defa218d9a5","savedPayload":{"position":{"x":29995.62271673388,"y":23592.751543647584},"targetPosition":{"x":29812.036559265467,"y":23630.861552647624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Lower 60 End","id":"db3520c1-9af2-4715-af97-cca2986db9ac"}}}],"id":"d4fd8b32-5d47-4bdd-bbea-239a78a31f70","savedPayload":{"position":{"x":32951.566536661776,"y":17778.195921127528},"targetPosition":{"x":32994.39026090314,"y":18677.176526392235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"fd680561-143c-44f1-a9cb-f0c185f6769b","savedPayload":{"position":{"x":32994.39026090314,"y":18677.176526392235},"targetPosition":{"x":33444.39026090314,"y":17897.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Wave Trend","config":"{ \n \"codeName\": \"waveTrend\"\n}","project":"Superalgos","panelData":[{"type":"Panel Data","name":"Wave Trend","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.waveTrend","project":"Superalgos","id":"332d453d-9874-4936-b435-7d09042620d9","savedPayload":{"position":{"x":32395.012207370062,"y":17166.573660987106},"targetPosition":{"x":32829.678829200144,"y":17283.04223128324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\",\n \"opacity\": 1,\n \"fontSize\": 16\n}","project":"Superalgos","id":"540f54ff-b28d-4130-9aa4-deba874115e8","savedPayload":{"position":{"x":32511.4807776662,"y":16964.844179749296},"targetPosition":{"x":32829.678829200144,"y":17283.04223128324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ab66b69f-d80d-40bb-8c50-9948cec124b5","savedPayload":{"position":{"x":32829.678829200144,"y":17283.04223128324},"targetPosition":{"x":33219.39026090314,"y":17508.04223128324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Signal","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.waveTrendSignal","project":"Superalgos","id":"a3cc36f6-bb87-4038-8774-d115eebf8950","savedPayload":{"position":{"x":32994.39026090314,"y":16668.330799580242},"targetPosition":{"x":33219.39026090314,"y":17058.04223128324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\",\n \"opacity\": 1,\n \"fontSize\": 16\n}","project":"Superalgos","id":"0fc2adb9-86a3-47b3-a7a3-a602e3a829d5","savedPayload":{"position":{"x":33444.39026090314,"y":16668.330799580242},"targetPosition":{"x":33219.39026090314,"y":17058.04223128324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"901b3dfa-790a-4669-b0d6-97a99262293f","savedPayload":{"position":{"x":33219.39026090314,"y":17058.04223128324},"targetPosition":{"x":33219.39026090314,"y":17508.04223128324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c902b183-78b4-43f5-a537-75795f838954","savedPayload":{"position":{"x":33219.39026090314,"y":17508.04223128324},"targetPosition":{"x":33444.39026090314,"y":17897.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"cfa6bcb9-8d18-4658-81f4-1f7d55adc742","savedPayload":{"position":{"x":33444.39026090314,"y":17897.75366298624},"targetPosition":{"x":33894.39026090314,"y":17897.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f991328f-70b7-492d-baf5-ec38d70e737b","savedPayload":{"position":{"x":33930.39026090314,"y":17911.75366298624},"targetPosition":{"x":34230.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"Super Trend","config":"{ \n \"codeName\": \"PlotterSuperTrend\"\n}","project":"Superalgos","modules":[{"type":"Plotter Module","name":"Super Trend","config":"{ \n \"codeName\": \"superTrend\", \n \"icon\": \"trend\"\n}","project":"Superalgos","shapes":{"type":"Shapes","name":"New Shapes","project":"Superalgos","chartPoints":[{"type":"Chart Points","name":"New Chart Points","project":"Superalgos","points":[{"type":"Point","name":"UP Trend Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.uptrend","project":"Superalgos","id":"05d1244b-e39d-4ec3-a899-4690af33f70d","savedPayload":{"position":{"x":33747.88211784056,"y":18158.869104506997},"targetPosition":{"x":33523.190472520786,"y":18170.64469466166},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"807b982d-7dd4-4b96-ba1f-460b1b6b4fb7","savedPayload":{"position":{"x":33523.190472520786,"y":18170.64469466166},"targetPosition":{"x":33298.49882720101,"y":18182.420284816322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"UP Trend End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.uptrend","project":"Superalgos","id":"709b85bb-ad49-4adb-a651-1b2cecc80b27","savedPayload":{"position":{"x":33459.764404496396,"y":18602.53147674006},"targetPosition":{"x":33379.1316158487,"y":18392.47588077819},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"adf1bd2c-2a5a-4243-9591-2a462635b074","savedPayload":{"position":{"x":33379.1316158487,"y":18392.47588077819},"targetPosition":{"x":33298.49882720101,"y":18182.420284816322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Down Trend Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.downtrend","project":"Superalgos","id":"cf21fd4d-3219-4ab5-994e-aa4b152645ce","savedPayload":{"position":{"x":32948.78314454537,"y":18465.61446078875},"targetPosition":{"x":33123.64098587319,"y":18324.017372802537},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6e276847-0fa5-4473-898f-ccd4c63591c4","savedPayload":{"position":{"x":33123.64098587319,"y":18324.017372802537},"targetPosition":{"x":33298.49882720101,"y":18182.420284816322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Down Trend End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.downtrend","project":"Superalgos","id":"89c531b8-c842-44cb-ad8f-99d4a9f61f4e","savedPayload":{"position":{"x":32921.09707162557,"y":17937.332719059563},"targetPosition":{"x":33109.79794941329,"y":18059.876501937943},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ab5aabfe-781f-41d6-a809-95299392ca90","savedPayload":{"position":{"x":33109.79794941329,"y":18059.876501937943},"targetPosition":{"x":33298.49882720101,"y":18182.420284816322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"603526b3-a7a3-4a2b-9233-8a7414077f20","savedPayload":{"position":{"x":33298.49882720101,"y":18182.420284816322},"targetPosition":{"x":33414.967397497145,"y":17747.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"UP Trend","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREEN\"\n }\n}","project":"Superalgos","id":"41571575-f05c-407e-969a-df51b088ef60","savedPayload":{"position":{"x":33025.255965794146,"y":18407.420284816322},"targetPosition":{"x":32967.02168064608,"y":18190.08697390128},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.trend != 1","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"opacity\": 0.0,\n \"lineWidth\": 0,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n}","project":"Superalgos","id":"b3ab1b97-8eee-4c8b-be96-a090897e42ad","savedPayload":{"position":{"x":32648.823629112132,"y":18508.285025435227},"targetPosition":{"x":32807.922654879105,"y":18349.185999668254},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4070b155-77b5-4c09-b1b4-6ebe49cfcf1d","savedPayload":{"position":{"x":32807.922654879105,"y":18349.185999668254},"targetPosition":{"x":32967.02168064608,"y":18190.08697390128},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"fe128ca4-0803-4db3-b409-8c6a3d31b47b","savedPayload":{"position":{"x":32967.02168064608,"y":18190.08697390128},"targetPosition":{"x":33025.255965794146,"y":17972.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":" UP Trend Begin","project":"Superalgos","id":"87966102-abf2-4ba4-a9b1-2e29faadfb43","savedPayload":{"position":{"x":32635.544534091146,"y":18197.75366298624},"targetPosition":{"x":33025.255965794146,"y":17972.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"UP Trend Begin","id":"807b982d-7dd4-4b96-ba1f-460b1b6b4fb7"}}},{"type":"Polygon Vertex","name":" UP Trend End","project":"Superalgos","id":"04f54fc4-3887-414c-91b2-9d71d70ec519","savedPayload":{"position":{"x":32590.589343964064,"y":17856.285092690105},"targetPosition":{"x":33025.255965794146,"y":17972.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"UP Trend End","id":"adf1bd2c-2a5a-4243-9591-2a462635b074"}}}],"id":"e51152bb-9000-4200-88c1-632aaf05333b","savedPayload":{"position":{"x":33025.255965794146,"y":17972.75366298624},"targetPosition":{"x":33414.967397497145,"y":17747.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Down Trend","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"91670c53-5e35-4144-8fac-6f8feb43e59d","savedPayload":{"position":{"x":33911.24932885277,"y":16108.609894601228},"targetPosition":{"x":34070.34835461974,"y":16267.7089203682},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.trend != -1","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"opacity\": 0.0,\n \"lineWidth\": 0,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n}","project":"Superalgos","id":"2395d71a-99ee-4330-84d4-1837025d78d6","savedPayload":{"position":{"x":34186.81692491588,"y":15833.04229853812},"targetPosition":{"x":34128.58263976781,"y":16050.37560945316},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ba17827a-0425-4044-8e15-d29792f800d5","savedPayload":{"position":{"x":34128.58263976781,"y":16050.37560945316},"targetPosition":{"x":34070.34835461974,"y":16267.7089203682},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a97ad15a-c206-4b75-8d8e-1c95197b9b57","savedPayload":{"position":{"x":34070.34835461974,"y":16267.7089203682},"targetPosition":{"x":34128.58263976781,"y":16485.04223128324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":" Down Trend Begin","project":"Superalgos","id":"54f9e103-c71f-4ec3-b950-0df008f2e6fa","savedPayload":{"position":{"x":34353.58263976781,"y":16095.330799580242},"targetPosition":{"x":34128.58263976781,"y":16485.04223128324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Down Trend Begin","id":"6e276847-0fa5-4473-898f-ccd4c63591c4"}}},{"type":"Polygon Vertex","name":" Down Trend End","project":"Superalgos","id":"d57924a2-920b-40ec-8b56-3ae304ef2979","savedPayload":{"position":{"x":34563.24926159789,"y":16368.573660987106},"targetPosition":{"x":34128.58263976781,"y":16485.04223128324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Down Trend End","id":"ab5aabfe-781f-41d6-a809-95299392ca90"}}}],"id":"4f25fc3c-5e09-4feb-bcfa-7ac9e729a4dc","savedPayload":{"position":{"x":33189.967397497145,"y":17358.04223128324},"targetPosition":{"x":33414.967397497145,"y":17747.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"cff527e9-cc21-4872-9732-2b713890e8b8","savedPayload":{"position":{"x":33414.967397497145,"y":17747.75366298624},"targetPosition":{"x":33674.77501863248,"y":17597.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Super Trend","config":"{ \n \"codeName\": \"superTrend\"\n}","project":"Superalgos","panelData":[{"type":"Panel Data","name":"Up Trend","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"Up Trend","code":"record.uptrend","project":"Superalgos","id":"5b0f1653-7d8e-4ed1-8dec-70dd6701c16b","savedPayload":{"position":{"x":33282.69059893624,"y":16934.86919257274},"targetPosition":{"x":33492.746194898114,"y":17015.501981220434},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 1,\n \"fontSize\": 14\n}","project":"Superalgos","id":"1384fd63-8258-44d4-ab3f-5f18c3eaaaa1","savedPayload":{"position":{"x":33351.1491069119,"y":16840.644139892614},"targetPosition":{"x":33492.746194898114,"y":17015.501981220434},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"07dfc209-e925-4f10-bbc9-608896333744","savedPayload":{"position":{"x":33492.746194898114,"y":17015.501981220434},"targetPosition":{"x":33674.77501863248,"y":17147.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Down Trend","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.downtrend","project":"Superalgos","id":"14561cfc-7d72-4cb5-8567-7892d8ae6a8c","savedPayload":{"position":{"x":33482.70241201973,"y":16745.065069032113},"targetPosition":{"x":33605.246194898114,"y":16933.765946819833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 1,\n \"fontSize\": 14\n}","project":"Superalgos","id":"9d950966-b1bb-406e-b3b3-d1fdaea7577e","savedPayload":{"position":{"x":33593.47060474345,"y":16709.074301500055},"targetPosition":{"x":33605.246194898114,"y":16933.765946819833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3be37b3c-92d2-4f4c-a0d3-644acc172106","savedPayload":{"position":{"x":33605.246194898114,"y":16933.765946819833},"targetPosition":{"x":33674.77501863248,"y":17147.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Trend","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.trend","project":"Superalgos","id":"d8579565-736a-48ec-af20-e7cd3cdf2294","savedPayload":{"position":{"x":33756.0794325215,"y":16709.074301500055},"targetPosition":{"x":33744.30384236684,"y":16933.765946819833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}","project":"Superalgos","id":"ba78eeae-12db-4b4a-9e68-2b30598fc986","savedPayload":{"position":{"x":33866.847625245224,"y":16745.065069032113},"targetPosition":{"x":33744.30384236684,"y":16933.765946819833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c265c3b9-bd32-49fe-8676-d2b93e513455","savedPayload":{"position":{"x":33744.30384236684,"y":16933.765946819833},"targetPosition":{"x":33674.77501863248,"y":17147.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"ATR N Period","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.atrNPeriod","project":"Superalgos","id":"48978331-2944-4c90-8ffe-896ef6ce0a52","savedPayload":{"position":{"x":33902.561714712865,"y":16912.72811723564},"targetPosition":{"x":33856.80384236684,"y":17015.501981220434},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}","project":"Superalgos","id":"00b8eb7b-440e-4e3b-81ee-bd1de53de6b0","savedPayload":{"position":{"x":33968.68755559577,"y":17003.742529102823},"targetPosition":{"x":33856.80384236684,"y":17015.501981220434},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"cd7a1729-5463-4d4b-bec3-eb94685354a1","savedPayload":{"position":{"x":33856.80384236684,"y":17015.501981220434},"targetPosition":{"x":33674.77501863248,"y":17147.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"4e328571-7ea2-44a4-8239-a8bfd6614a6d","savedPayload":{"position":{"x":33674.77501863248,"y":17147.75366298624},"targetPosition":{"x":33674.77501863248,"y":17597.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"acfb7d6b-e877-4fb0-bef4-3923c049244b","savedPayload":{"position":{"x":33674.77501863248,"y":17597.75366298624},"targetPosition":{"x":33934.58263976781,"y":17747.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c6fdad31-1843-49e2-abe3-51fe7ed4a836","savedPayload":{"position":{"x":33987.68516259066,"y":17735.418087298498},"targetPosition":{"x":34230.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"Donchian Channel","config":"{ \n \"codeName\": \"PlotterDonchianChannel\"\n}","project":"Superalgos","modules":[{"type":"Plotter Module","name":"Donchian Channel","config":"{ \n \"codeName\": \"donchian\", \n \"icon\": \"oscillator\"\n}","project":"Superalgos","shapes":{"type":"Shapes","name":"New Shapes","project":"Superalgos","chartPoints":[{"type":"Chart Points","name":"New Chart Points","project":"Superalgos","points":[{"type":"Point","name":"hiHigh Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.hiHigh","project":"Superalgos","id":"55651897-b11c-45f5-a388-b2015d93f406","savedPayload":{"position":{"x":34379.51570556086,"y":16993.921110269406},"targetPosition":{"x":34230.21622903357,"y":16825.59206848316},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"50921056-6afc-4c1f-a6b9-3caa26d760af","savedPayload":{"position":{"x":34230.21622903357,"y":16825.59206848316},"targetPosition":{"x":34080.916752506266,"y":16657.263026696917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"hiHigh End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.hiHigh","project":"Superalgos","id":"ba3e4c9d-b10b-4e21-9452-f8fd45fa0c63","savedPayload":{"position":{"x":34003.88026601718,"y":17100.619970647746},"targetPosition":{"x":34042.39850926172,"y":16878.94149867233},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"922ff9da-5d6f-4db2-b052-15b2a9a33fcd","savedPayload":{"position":{"x":34042.39850926172,"y":16878.94149867233},"targetPosition":{"x":34080.916752506266,"y":16657.263026696917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"loLow Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.loLow","project":"Superalgos","id":"8103aa93-0697-45da-bbbc-3872ec54fe9a","savedPayload":{"position":{"x":33784.92034216986,"y":16819.412263722446},"targetPosition":{"x":33883.58581228199,"y":16765.36251804727},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"8e0ce244-ab42-4e17-a9ce-0c7019722135","savedPayload":{"position":{"x":33883.58581228199,"y":16765.36251804727},"targetPosition":{"x":34080.916752506266,"y":16657.263026696917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"loLow End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.loLow","project":"Superalgos","id":"03e5140a-a35e-4f09-82cd-15b5ecc94027","savedPayload":{"position":{"x":33769.592630909996,"y":16526.942110062977},"targetPosition":{"x":33873.36733810876,"y":16570.382415607623},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c4f84735-1bcb-4ff2-9611-ea6f7a344352","savedPayload":{"position":{"x":33873.36733810876,"y":16570.382415607623},"targetPosition":{"x":34080.916752506266,"y":16657.263026696917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Mid Point Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.midPoint","project":"Superalgos","id":"bb353f64-f496-4db0-84c5-650922328ff7","savedPayload":{"position":{"x":33988.69833306687,"y":16332.606264691101},"targetPosition":{"x":34019.43780621333,"y":16440.825185359707},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"881ca3b6-39c7-4930-a596-b3aad84ab0ad","savedPayload":{"position":{"x":34019.43780621333,"y":16440.825185359707},"targetPosition":{"x":34080.916752506266,"y":16657.263026696917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Mid Point End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.midPoint","project":"Superalgos","id":"a016b845-9a98-4e67-a4c5-43f7fb8aa3fc","savedPayload":{"position":{"x":34277.24638597455,"y":16382.74358290065},"targetPosition":{"x":34211.80317481846,"y":16474.250064166074},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"9493a69b-1a23-4b91-928f-88edebf47e71","savedPayload":{"position":{"x":34211.80317481846,"y":16474.250064166074},"targetPosition":{"x":34080.916752506266,"y":16657.263026696917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"63f034d5-a5e4-47e1-8949-47da43c99b36","savedPayload":{"position":{"x":33345.87019630475,"y":17219.940832169483},"targetPosition":{"x":33786.036616634956,"y":17126.38057130149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"hiHigh","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"65953e73-b3e0-46d9-9eda-6cc40a7f5738","savedPayload":{"position":{"x":32951.82472344386,"y":17219.380348105937},"targetPosition":{"x":33231.89885139302,"y":17111.869963242345},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"f22dc14f-5ba4-49b0-9c92-d8cba9c6b895","savedPayload":{"position":{"x":33231.89885139302,"y":17111.869963242345},"targetPosition":{"x":33511.97297934218,"y":17004.359578378753},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":" hiHigh Begin","project":"Superalgos","id":"45dea2ad-ffd9-4e03-84e5-fddaa7df9365","savedPayload":{"position":{"x":33237.9093420494,"y":16882.338585456015},"targetPosition":{"x":33511.97297934218,"y":17004.359578378753},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"hiHigh Begin","id":"50921056-6afc-4c1f-a6b9-3caa26d760af"}}},{"type":"Polygon Vertex","name":" hiHigh End","project":"Superalgos","id":"261569f5-3798-45cf-94e9-377f8163be3b","savedPayload":{"position":{"x":33404.46259447859,"y":16724.285450429594},"targetPosition":{"x":33511.97297934218,"y":17004.359578378753},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"hiHigh End","id":"922ff9da-5d6f-4db2-b052-15b2a9a33fcd"}}}],"id":"83f6ab27-cdde-40d2-ae59-18b0bc64747b","savedPayload":{"position":{"x":33511.97297934218,"y":17004.359578378753},"targetPosition":{"x":33786.036616634956,"y":17126.38057130149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"loLow","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"81ad12f9-de32-439d-b54f-b8173a9d7e83","savedPayload":{"position":{"x":34734.94473915968,"y":16345.222115563683},"targetPosition":{"x":34797.318246405004,"y":16638.666395783825},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"9d836367-daba-432f-901d-f0c89c5d7d70","savedPayload":{"position":{"x":34797.318246405004,"y":16638.666395783825},"targetPosition":{"x":34859.69175365033,"y":16932.110676003966},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":" loLow Begin","project":"Superalgos","id":"09df170c-f916-4d62-a7c6-eed4a9a575c4","savedPayload":{"position":{"x":35023.08346415484,"y":16680.50950562034},"targetPosition":{"x":34859.69175365033,"y":16932.110676003966},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"loLow Begin","id":"8e0ce244-ab42-4e17-a9ce-0c7019722135"}}},{"type":"Polygon Vertex","name":" loLow End","project":"Superalgos","id":"166b6f98-ae48-4253-8554-6efa78fe8c7b","savedPayload":{"position":{"x":35153.136033870476,"y":16869.73716875864},"targetPosition":{"x":34859.69175365033,"y":16932.110676003966},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"loLow End","id":"c4f84735-1bcb-4ff2-9611-ea6f7a344352"}}}],"id":"955b060d-1916-499a-b281-6ad2d778e470","savedPayload":{"position":{"x":33636.036616634956,"y":16866.57295016616},"targetPosition":{"x":33786.036616634956,"y":17126.38057130149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Mid Point","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 2,\n \"lineDash\": [5,5],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.5,\n \"lineWidth\": 2,\n \"lineDash\": [5,5],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"0babee6c-8476-4607-9c4b-8755442c337c","savedPayload":{"position":{"x":33439.802920985356,"y":16361.73642581683},"targetPosition":{"x":33628.59903830031,"y":16594.88021425392},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"70981c2b-54c8-4621-b6b3-c3f31d20ba9e","savedPayload":{"position":{"x":33628.59903830031,"y":16594.88021425392},"targetPosition":{"x":33817.39515561526,"y":16828.02400269101},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":" Mid Point Begin","project":"Superalgos","id":"18757d43-015d-4613-8eec-c62d45430523","savedPayload":{"position":{"x":33848.75369459555,"y":16529.66743408053},"targetPosition":{"x":33817.39515561526,"y":16828.02400269101},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Mid Point Begin","id":"881ca3b6-39c7-4930-a596-b3aad84ab0ad"}}},{"type":"Polygon Vertex","name":" Mid Point End","project":"Superalgos","id":"caeda3ac-dcce-419a-8b02-385fde1add1d","savedPayload":{"position":{"x":34050.53894405234,"y":16639.227885376058},"targetPosition":{"x":33817.39515561526,"y":16828.02400269101},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Mid Point End","id":"9493a69b-1a23-4b91-928f-88edebf47e71"}}}],"id":"e14b4a49-8143-4d23-91b2-012ccb487ed0","savedPayload":{"position":{"x":33817.39515561526,"y":16828.02400269101},"targetPosition":{"x":33786.036616634956,"y":17126.38057130149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"e30d5478-bee6-4de2-aaba-d2b7f3c9fcc7","savedPayload":{"position":{"x":33786.036616634956,"y":17126.38057130149},"targetPosition":{"x":34008.98006427818,"y":17327.11975320915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Donchian Channel","config":"{ \n \"codeName\": \"donchian\"\n}","project":"Superalgos","panelData":[{"type":"Panel Data","name":"Higher Highs","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"Higher Highs","code":"record.hiHigh","project":"Superalgos","id":"f20d1bbf-730c-42fe-89d5-dae9247a3e87","savedPayload":{"position":{"x":33640.659903762484,"y":16645.87715268352},"targetPosition":{"x":33907.961861018994,"y":16782.074302605382},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 1,\n \"fontSize\": 14\n}","project":"Superalgos","id":"e9f188e5-39f2-4829-a984-20692feec630","savedPayload":{"position":{"x":33892.26107414611,"y":16482.48544217901},"targetPosition":{"x":33907.961861018994,"y":16782.074302605382},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fc38d930-d64d-43b1-ab5c-0298399637c7","savedPayload":{"position":{"x":33907.961861018994,"y":16782.074302605382},"targetPosition":{"x":34071.353571523505,"y":17033.67547298901},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Lower Lows","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.loLow","project":"Superalgos","id":"f74f46f9-e98b-480d-a83a-ea771ac8798f","savedPayload":{"position":{"x":34041.02198045635,"y":16454.914237880323},"targetPosition":{"x":34133.72707876883,"y":16740.231192768868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\",\n \"opacity\": 1,\n \"fontSize\": 14\n}","project":"Superalgos","id":"d1dd430a-4173-4e15-b63e-a79ce99f3a1f","savedPayload":{"position":{"x":34334.46626067649,"y":16517.28774512565},"targetPosition":{"x":34133.72707876883,"y":16740.231192768868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d335f544-6464-4427-9e05-65e0cee03904","savedPayload":{"position":{"x":34133.72707876883,"y":16740.231192768868},"targetPosition":{"x":34071.353571523505,"y":17033.67547298901},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Mid Point","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.midPoint","project":"Superalgos","id":"e463947a-45b3-43ed-ac68-c7bee6d9e15d","savedPayload":{"position":{"x":34459.151891828995,"y":16602.98180522799},"targetPosition":{"x":34322.95474190713,"y":16870.2837624845},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 1,\n \"fontSize\": 14\n}\n\n\n\n","project":"Superalgos","id":"38521ffb-a1aa-4cea-be3f-2879dcd927a2","savedPayload":{"position":{"x":34622.543602333506,"y":16854.582975611618},"targetPosition":{"x":34322.95474190713,"y":16870.2837624845},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3019461a-f4d1-4530-8f20-364f06dce9d3","savedPayload":{"position":{"x":34322.95474190713,"y":16870.2837624845},"targetPosition":{"x":34071.353571523505,"y":17033.67547298901},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"239cb3b7-204e-4b5a-969f-d3cc6eec864c","savedPayload":{"position":{"x":34071.353571523505,"y":17033.67547298901},"targetPosition":{"x":34008.98006427818,"y":17327.11975320915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"dd7b5cd7-3b5e-4809-949e-777ddcce4648","savedPayload":{"position":{"x":34008.98006427818,"y":17327.11975320915},"targetPosition":{"x":34101.68516259066,"y":17612.436708097695},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"45f9ecae-362e-4302-ba60-b6d7f949c9bc","savedPayload":{"position":{"x":34137.68516259066,"y":17626.436708097695},"targetPosition":{"x":34230.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"Directional Movement Index (DMI)","config":"{ \n \"codeName\": \"Plotter-DMI\"\n}","project":"Superalgos","modules":[{"type":"Plotter Module","name":"DMI Directional Movement","config":"{ \n \"codeName\": \"DMI\", \n \"icon\": \"oscillator\"\n}","project":"Superalgos","shapes":{"type":"Shapes","name":"New Shapes","project":"Superalgos","chartPoints":[{"type":"Chart Points","name":"ADX +DI -DI","project":"Superalgos","points":[{"type":"Point","name":"ADX Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.adx","project":"Superalgos","id":"9a5c382e-9075-4fd9-a6c3-3b4595bb9ecb","savedPayload":{"position":{"x":34187.85060728049,"y":17442.310932103002},"targetPosition":{"x":34081.499718345745,"y":17244.03211724173},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"fae38925-e197-4984-bbf3-4f5cf8cdde87","savedPayload":{"position":{"x":34081.499718345745,"y":17244.03211724173},"targetPosition":{"x":33868.79794047625,"y":16847.474487519194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"ADX End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.adx","project":"Superalgos","id":"968b241e-722e-4a8b-aaf4-ee34cb41daaa","savedPayload":{"position":{"x":33602.662165189555,"y":17467.79436396404},"targetPosition":{"x":33691.37409028512,"y":17261.021071815758},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"8cc5bc3c-d019-4a1a-a069-f38d61131e7f","savedPayload":{"position":{"x":33691.37409028512,"y":17261.021071815758},"targetPosition":{"x":33868.79794047625,"y":16847.474487519194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"+DI Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.plusDI","project":"Superalgos","id":"cc9624f8-ae30-4d30-9336-103a59a3bfd1","savedPayload":{"position":{"x":33217.87939006997,"y":17026.16427664265},"targetPosition":{"x":33434.85224020539,"y":16966.601013601496},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ab40f6c8-026c-4c9e-970b-e1da797e83d7","savedPayload":{"position":{"x":33434.85224020539,"y":16966.601013601496},"targetPosition":{"x":33868.79794047625,"y":16847.474487519194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"+DI End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.plusDI","project":"Superalgos","id":"f4f90058-af66-4c40-822f-ccf546ac016f","savedPayload":{"position":{"x":33323.25155972497,"y":16449.97713350387},"targetPosition":{"x":33505.100353308735,"y":16582.47625150898},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"cee77e2a-f5ac-4f21-91dc-21fd2a63ffd4","savedPayload":{"position":{"x":33505.100353308735,"y":16582.47625150898},"targetPosition":{"x":33868.79794047625,"y":16847.474487519194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-DI Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.minusDI","project":"Superalgos","id":"3abacd0d-e595-4322-9e4f-6e7462a6ce06","savedPayload":{"position":{"x":33839.43128120381,"y":16173.113605406972},"targetPosition":{"x":33849.22016762795,"y":16397.900566111046},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"20776211-c287-4689-9048-83655653dac9","savedPayload":{"position":{"x":33849.22016762795,"y":16397.900566111046},"targetPosition":{"x":33868.79794047625,"y":16847.474487519194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-DI End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.minusDI","project":"Superalgos","id":"214b0afe-f312-490f-943b-66f6e302086d","savedPayload":{"position":{"x":34377.72469608547,"y":16404.057575995652},"targetPosition":{"x":34208.08244421573,"y":16551.863213170167},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"f0a11eef-05f1-474f-89e7-3bee3ab07a67","savedPayload":{"position":{"x":34208.08244421573,"y":16551.863213170167},"targetPosition":{"x":33868.79794047625,"y":16847.474487519194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0bea3584-667d-4f44-a761-cd73fde6da89","savedPayload":{"position":{"x":33307.13836205333,"y":17278.637554065637},"targetPosition":{"x":34109.04423382286,"y":16870.046104300047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"BANDS","project":"Superalgos","points":[{"type":"Point","name":"Band 50 Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 50","project":"Superalgos","id":"8153d621-7b8c-4d0b-a6da-8c82b1a09e2a","savedPayload":{"position":{"x":33134.7695500144,"y":17725.59757243659},"targetPosition":{"x":33166.08349773041,"y":17502.787256969736},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"3190a724-bdd5-42d8-8f98-cb0607d80ce8","savedPayload":{"position":{"x":33166.08349773041,"y":17502.787256969736},"targetPosition":{"x":33228.71139316244,"y":17057.16662603603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Band 50 End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 50","project":"Superalgos","id":"28976ae7-de81-4013-a436-036b58dfdae5","savedPayload":{"position":{"x":32911.818088281965,"y":17653.156251215805},"targetPosition":{"x":33017.44918990879,"y":17454.493042822545},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"75de4dca-059a-43c8-97c0-a17cefd70e72","savedPayload":{"position":{"x":33017.44918990879,"y":17454.493042822545},"targetPosition":{"x":33228.71139316244,"y":17057.16662603603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Band 75 Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 75","project":"Superalgos","id":"28f64dde-54a2-4fd3-b2bd-9b1815490769","savedPayload":{"position":{"x":32727.0886359652,"y":17508.82978532826},"targetPosition":{"x":32894.296221697616,"y":17358.275398897516},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"226d3395-f608-4bf7-9526-6cffaf7b734d","savedPayload":{"position":{"x":32894.296221697616,"y":17358.275398897516},"targetPosition":{"x":33228.71139316244,"y":17057.16662603603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Band 75 End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 75","project":"Superalgos","id":"c1a16632-8d96-4f3e-bdb9-ee30b9c2f300","savedPayload":{"position":{"x":32602.86229132986,"y":17310.02607659177},"targetPosition":{"x":32811.47865860739,"y":17225.73959307319},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"85418e43-44b8-47a0-8172-767bdd742b05","savedPayload":{"position":{"x":32811.47865860739,"y":17225.73959307319},"targetPosition":{"x":33228.71139316244,"y":17057.16662603603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Band 100 Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 100","project":"Superalgos","id":"7bdd757b-7e1f-40b6-b46f-fae1ee4b5b4a","savedPayload":{"position":{"x":32554.122584924553,"y":17080.723786310216},"targetPosition":{"x":32778.98552100385,"y":17072.871399552154},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"f5c6c92d-c739-4f17-964d-080240fc4628","savedPayload":{"position":{"x":32778.98552100385,"y":17072.871399552154},"targetPosition":{"x":33228.71139316244,"y":17057.16662603603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Band 100 End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 100","project":"Superalgos","id":"2c839429-dbff-4e26-9366-5f1b1cc261d2","savedPayload":{"position":{"x":32586.748244663213,"y":16848.58015483294},"targetPosition":{"x":32800.735960829625,"y":16918.108978567303},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"798370e8-9a99-4947-9a67-968bca900833","savedPayload":{"position":{"x":32800.735960829625,"y":16918.108978567303},"targetPosition":{"x":33228.71139316244,"y":17057.16662603603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Band 25 Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 25","project":"Superalgos","id":"8fc31d22-96f4-4311-82eb-a6db86a2469a","savedPayload":{"position":{"x":32696.804134477905,"y":16641.59513019121},"targetPosition":{"x":32874.10655403942,"y":16780.118962139484},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c9437036-a169-4106-a07c-3e88867f8ff2","savedPayload":{"position":{"x":32874.10655403942,"y":16780.118962139484},"targetPosition":{"x":33228.71139316244,"y":17057.16662603603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Band 25 End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 25","project":"Superalgos","id":"b0947b18-8186-4774-a839-5e4f3b0aa1eb","savedPayload":{"position":{"x":32871.01588980503,"y":16484.73416113044},"targetPosition":{"x":32990.2477242575,"y":16675.544982765638},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"748819d2-1545-40ef-aa5b-5bf8d5916733","savedPayload":{"position":{"x":32990.2477242575,"y":16675.544982765638},"targetPosition":{"x":33228.71139316244,"y":17057.16662603603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8f04ce0f-d46d-44c8-9bf0-b0cb86b8b0de","savedPayload":{"position":{"x":33228.71139316244,"y":17057.16662603603},"targetPosition":{"x":34109.04423382286,"y":16870.046104300047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"ADX","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"108326b6-7de4-4b09-a38b-b1366de3c0d1","savedPayload":{"position":{"x":34200.61828011816,"y":16709.454405362183},"targetPosition":{"x":34313.055836177744,"y":16705.70660769586},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"4c6d1aad-872b-4d09-9eae-859d28f30589","savedPayload":{"position":{"x":34313.055836177744,"y":16705.70660769586},"targetPosition":{"x":34425.49339223733,"y":16701.95881002954},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"ADX +DI -DI ADX Begin","project":"Superalgos","id":"e70cdd03-d5b5-4da8-a647-ef0b6351f3e5","savedPayload":{"position":{"x":34096.87158626075,"y":16394.53774920792},"targetPosition":{"x":34425.49339223733,"y":16701.95881002954},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"ADX Begin","id":"fae38925-e197-4984-bbf3-4f5cf8cdde87"}}},{"type":"Polygon Vertex","name":"ADX +DI -DI ADX End","project":"Superalgos","id":"8def43f6-65bf-404d-9407-46f1e7b90ea8","savedPayload":{"position":{"x":34410.502201572046,"y":16252.208585791199},"targetPosition":{"x":34425.49339223733,"y":16701.95881002954},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"ADX End","id":"8cc5bc3c-d019-4a1a-a069-f38d61131e7f"}}}],"id":"e493efd6-ece7-4243-8a14-23ea1771b2f1","savedPayload":{"position":{"x":33659.660943183306,"y":16846.494923990722},"targetPosition":{"x":34109.04423382286,"y":16870.046104300047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"+DI","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"1ff8bfc1-8a0e-4cea-bcda-d0dfbbfd6ecd","savedPayload":{"position":{"x":34307.53756263782,"y":16565.66539216746},"targetPosition":{"x":34416.47648426644,"y":16593.746726793765},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"580eab00-426b-410c-8c33-86778ca7f89c","savedPayload":{"position":{"x":34416.47648426644,"y":16593.746726793765},"targetPosition":{"x":34525.41540589505,"y":16621.82806142007},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"ADX +DI -DI +DI Begin","project":"Superalgos","id":"65ec6c2d-5328-41f2-8eb6-0f03fbed8f42","savedPayload":{"position":{"x":34296.71561357619,"y":16234.27625198898},"targetPosition":{"x":34525.41540589505,"y":16621.82806142007},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"+DI Begin","id":"ab40f6c8-026c-4c9e-970b-e1da797e83d7"}}},{"type":"Polygon Vertex","name":"ADX +DI -DI +DI End","project":"Superalgos","id":"a61c7250-5391-45d5-9da3-133b3089268c","savedPayload":{"position":{"x":34637.740744400275,"y":16186.072374905612},"targetPosition":{"x":34525.41540589505,"y":16621.82806142007},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"+DI End","id":"cee77e2a-f5ac-4f21-91dc-21fd2a63ffd4"}}}],"id":"900f1174-1224-4aa1-9d99-58103f23c4ac","savedPayload":{"position":{"x":33681.068801490044,"y":16730.98845683132},"targetPosition":{"x":34109.04423382286,"y":16870.046104300047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"-DI","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"a6a9fd26-a928-484e-9408-7df706ab8202","savedPayload":{"position":{"x":34364.756172712834,"y":16406.591945658623},"targetPosition":{"x":34450.635909292396,"y":16457.823487164078},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"ed323d74-83e4-4338-b932-bb36584e68c4","savedPayload":{"position":{"x":34450.635909292396,"y":16457.823487164078},"targetPosition":{"x":34643.86531659641,"y":16573.09445555135},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"ADX +DI -DI -DI Begin","project":"Superalgos","id":"654b23d0-1ac9-4511-b0a1-b773a6c905d5","savedPayload":{"position":{"x":34533.615434978914,"y":16136.809040251537},"targetPosition":{"x":34643.86531659641,"y":16573.09445555135},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-DI Begin","id":"20776211-c287-4689-9048-83655653dac9"}}},{"type":"Polygon Vertex","name":"ADX +DI -DI -DI End","project":"Superalgos","id":"ae8b6d1e-6ec2-4bba-a5e6-c2a6d3813b53","savedPayload":{"position":{"x":34874.407253370955,"y":16186.635640943317},"targetPosition":{"x":34643.86531659641,"y":16573.09445555135},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-DI End","id":"f0a11eef-05f1-474f-89e7-3bee3ab07a67"}}}],"id":"057d309b-88ca-42f6-8e23-ea8ae1e2ed05","savedPayload":{"position":{"x":33731.64247824742,"y":16624.958538543284},"targetPosition":{"x":34109.04423382286,"y":16870.046104300047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Band 50 - 75","project":"Superalgos","polygonBody":{"type":"Polygon Body","name":"New Polygon Body","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.1,\n \"paletteColor\": \"UI_COLOR.LIGHT\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.5,\n \"paletteColor\": \"UI_COLOR.LIGHT\"\n }\n}","project":"Superalgos","id":"f29f2ffc-a9e6-42b3-b524-32f9d70bc7df","savedPayload":{"position":{"x":34199.95251681845,"y":16200.195885252957},"targetPosition":{"x":34390.38401688734,"y":16320.032623282288},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"dc5a2ec9-1b68-453d-bfc8-035e20b66703","savedPayload":{"position":{"x":34390.38401688734,"y":16320.032623282288},"targetPosition":{"x":34771.24701702513,"y":16559.706099340947},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"BANDS Band 50 Begin","project":"Superalgos","id":"0dc3c13a-0b4b-4a8c-bfc2-238bdb440b60","savedPayload":{"position":{"x":34561.24672157358,"y":16161.71128039193},"targetPosition":{"x":34771.24701702513,"y":16559.706099340947},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 50 Begin","id":"3190a724-bdd5-42d8-8f98-cb0607d80ce8"}}},{"type":"Polygon Vertex","name":"BANDS Band 50 End","project":"Superalgos","id":"e2f2d64f-6fd0-477d-932a-20b83ce53cf1","savedPayload":{"position":{"x":34788.37883583637,"y":16110.032327830733},"targetPosition":{"x":34771.24701702513,"y":16559.706099340947},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 50 End","id":"75de4dca-059a-43c8-97c0-a17cefd70e72"}}},{"type":"Polygon Vertex","name":"BANDS Band 75 End","project":"Superalgos","id":"dde5fc42-4c65-4f55-b754-ee07575081e6","savedPayload":{"position":{"x":35010.920493083795,"y":16178.843099203157},"targetPosition":{"x":34771.24701702513,"y":16559.706099340947},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 75 End","id":"85418e43-44b8-47a0-8172-767bdd742b05"}}},{"type":"Polygon Vertex","name":"BANDS Band 75 Begin","project":"Superalgos","id":"4154f4b4-739c-4d2f-90d0-c4c6f735b3f3","savedPayload":{"position":{"x":35169.24183597416,"y":16349.705803889396},"targetPosition":{"x":34771.24701702513,"y":16559.706099340947},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 75 Begin","id":"226d3395-f608-4bf7-9526-6cffaf7b734d"}}}],"id":"0c2cbdcc-700f-45af-a671-29be9b677dcc","savedPayload":{"position":{"x":33807.93546096138,"y":16535.630932835218},"targetPosition":{"x":34109.04423382286,"y":16870.046104300047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Band 75 - 100","project":"Superalgos","polygonBody":{"type":"Polygon Body","name":"New Polygon Body","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.1,\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.5,\n \"paletteColor\": \"UI_COLOR.GREY\"\n }\n}","project":"Superalgos","id":"cd98d7c9-6bd1-4f1f-a21e-ecda719b6888","savedPayload":{"position":{"x":34599.32924805574,"y":16245.481114710245},"targetPosition":{"x":34748.285023718185,"y":16414.114376247828},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"4af5b3ce-bba8-4f3d-9b54-9674f9daa71f","savedPayload":{"position":{"x":34748.285023718185,"y":16414.114376247828},"targetPosition":{"x":34897.24079938061,"y":16582.74763778541},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"BANDS Band 75 Begin","project":"Superalgos","id":"2f2f44d1-6b8f-4def-a1fb-18500da9952b","savedPayload":{"position":{"x":34807.87508939003,"y":16141.710485293836},"targetPosition":{"x":34897.24079938061,"y":16582.74763778541},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 75 Begin","id":"226d3395-f608-4bf7-9526-6cffaf7b734d"}}},{"type":"Polygon Vertex","name":"BANDS Band 75 End","project":"Superalgos","id":"c9d5eb01-23ba-4da5-8029-84f4ac6c2007","savedPayload":{"position":{"x":35040.366400547326,"y":16156.115404719661},"targetPosition":{"x":34897.24079938061,"y":16582.74763778541},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 75 End","id":"85418e43-44b8-47a0-8172-767bdd742b05"}}},{"type":"Polygon Vertex","name":"BANDS Band 100 End","project":"Superalgos","id":"97b2cafc-9ca1-49fd-b86c-ebafcf546842","savedPayload":{"position":{"x":35234.50732245578,"y":16284.836086460542},"targetPosition":{"x":34897.24079938061,"y":16582.74763778541},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 100 End","id":"798370e8-9a99-4947-9a67-968bca900833"}}},{"type":"Polygon Vertex","name":"BANDS Band 100 Begin","project":"Superalgos","id":"d0dedf91-ac18-4ef0-9335-765bcbdf95b0","savedPayload":{"position":{"x":35338.277951872195,"y":16493.381927794824},"targetPosition":{"x":34897.24079938061,"y":16582.74763778541},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 100 Begin","id":"f5c6c92d-c739-4f17-964d-080240fc4628"}}}],"id":"9b1c6d74-48a6-4c92-85ae-8c0d211dfbf5","savedPayload":{"position":{"x":33904.74850894007,"y":16469.093168415282},"targetPosition":{"x":34109.04423382286,"y":16870.046104300047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Level 50","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.2,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK\"\n }\n}","project":"Superalgos","id":"e06383fe-a5dd-4554-a163-f6d0adaa434a","savedPayload":{"position":{"x":35399.57495148172,"y":16298.552996271781},"targetPosition":{"x":35399.57495148172,"y":15998.552996271781},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"281f1f26-a63f-47e8-aced-cf97115f7925","savedPayload":{"position":{"x":34932.79466434463,"y":16197.31343590646},"targetPosition":{"x":35011.6393967303,"y":16640.352382473273},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"BANDS Band 50 Begin","project":"Superalgos","id":"5ab321e2-936f-4946-a708-62011d8bac64","savedPayload":{"position":{"x":35269.16359524669,"y":16271.324894095385},"targetPosition":{"x":35011.6393967303,"y":16640.352382473273},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 50 Begin","id":"3190a724-bdd5-42d8-8f98-cb0607d80ce8"}}},{"type":"Polygon Vertex","name":"BANDS Band 50 End","project":"Superalgos","id":"2afa5b8c-582f-45f6-8749-6e818fa56d7c","savedPayload":{"position":{"x":35454.67834329711,"y":16561.5076500876},"targetPosition":{"x":35011.6393967303,"y":16640.352382473273},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 50 End","id":"75de4dca-059a-43c8-97c0-a17cefd70e72"}}}],"id":"6df98b5c-0db8-447a-adab-23a356c6182b","savedPayload":{"position":{"x":34015.48397295487,"y":16429.879683969833},"targetPosition":{"x":34109.04423382286,"y":16870.046104300047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Level 75","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.2,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK\"\n }\n}","project":"Superalgos","id":"d58e329b-6996-469e-9279-319128435135","savedPayload":{"position":{"x":35619.83160715615,"y":16027.282280815656},"targetPosition":{"x":35384.70725303397,"y":16410.970354774996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"7befc553-bc07-43b5-9b53-eed7f7564b69","savedPayload":{"position":{"x":35154.34244353759,"y":16280.547655261616},"targetPosition":{"x":35105.17491507156,"y":16727.853539578537},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"BANDS Band 75 Begin","project":"Superalgos","id":"d7ee0589-7046-41da-97e2-64bece0f45ae","savedPayload":{"position":{"x":35456.23463192921,"y":16446.327208305913},"targetPosition":{"x":35105.17491507156,"y":16727.853539578537},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 75 Begin","id":"226d3395-f608-4bf7-9526-6cffaf7b734d"}}},{"type":"Polygon Vertex","name":"BANDS Band 75 End","project":"Superalgos","id":"58218d74-b8ed-4c09-9920-bcd103d2c00b","savedPayload":{"position":{"x":35552.48079938848,"y":16777.02106804457},"targetPosition":{"x":35105.17491507156,"y":16727.853539578537},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 75 End","id":"85418e43-44b8-47a0-8172-767bdd742b05"}}}],"id":"56c84477-78b8-4ec2-bbd6-c0f76f9c9a90","savedPayload":{"position":{"x":34132.595414132185,"y":16420.66281366049},"targetPosition":{"x":34109.04423382286,"y":16870.046104300047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Band 25 - 50","project":"Superalgos","polygonBody":{"type":"Polygon Body","name":"New Polygon Body","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.1,\n \"paletteColor\": \"UI_COLOR.LIGHT_GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.5,\n \"paletteColor\": \"UI_COLOR.LIGHT_GREY\"\n }\n}","project":"Superalgos","id":"6a419c80-9d0a-4f32-8645-44f71498c2a6","savedPayload":{"position":{"x":35230.06811709216,"y":16392.153154796786},"targetPosition":{"x":35200.168890038854,"y":16615.157720269366},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"6c954fd3-d05d-421c-b9dd-9e413759d50b","savedPayload":{"position":{"x":35200.168890038854,"y":16615.157720269366},"targetPosition":{"x":35170.26966298555,"y":16838.162285741946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"BANDS Band 25 Begin","project":"Superalgos","id":"646f52b1-0faf-44cd-bff8-eaf02feff5cd","savedPayload":{"position":{"x":35445.06120882149,"y":16481.806275076924},"targetPosition":{"x":35170.26966298555,"y":16838.162285741946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 25 Begin","id":"c9437036-a169-4106-a07c-3e88867f8ff2"}}},{"type":"Polygon Vertex","name":"BANDS Band 25 End","project":"Superalgos","id":"88b7af94-e3f7-46d8-b3ea-8438c3919f01","savedPayload":{"position":{"x":35586.424127757185,"y":16666.944700632732},"targetPosition":{"x":35170.26966298555,"y":16838.162285741946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 25 End","id":"748819d2-1545-40ef-aa5b-5bf8d5916733"}}},{"type":"Polygon Vertex","name":"BANDS Band 50 End","project":"Superalgos","id":"215b0fd2-a4c4-487f-a1ef-f6854e918ca3","savedPayload":{"position":{"x":35616.27879393071,"y":16897.96073984856},"targetPosition":{"x":35170.26966298555,"y":16838.162285741946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 50 End","id":"75de4dca-059a-43c8-97c0-a17cefd70e72"}}},{"type":"Polygon Vertex","name":"BANDS Band 50 Begin","project":"Superalgos","id":"fbed1fbe-4264-413d-91ea-4eaf3639bab7","savedPayload":{"position":{"x":35526.62567365057,"y":17112.953831577892},"targetPosition":{"x":35170.26966298555,"y":16838.162285741946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 50 Begin","id":"3190a724-bdd5-42d8-8f98-cb0607d80ce8"}}}],"id":"a39c8312-2af2-4dd4-946b-60dc03bb4868","savedPayload":{"position":{"x":34248.101881291586,"y":16442.070671967227},"targetPosition":{"x":34109.04423382286,"y":16870.046104300047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[{"type":"Text","name":"New Text","project":"Superalgos","textCondition":{"type":"Text Condition","name":"New Text Condition","code":"","project":"Superalgos","id":"bbc7ba15-2edb-4f35-9649-4d9ce3c353de","savedPayload":{"position":{"x":34192.86622228424,"y":16072.533156800866},"targetPosition":{"x":34354.13179957963,"y":16492.644348724607},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"textPosition":{"type":"Text Position","name":"","config":"{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }","project":"Superalgos","id":"ff933fea-8a4b-4532-b1ce-1cdd194f09d9","savedPayload":{"position":{"x":34470.600369875756,"y":16057.977726894525},"targetPosition":{"x":34354.13179957963,"y":16492.644348724607},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"textFormula":{"type":"Text Formula","name":"New Text Formula","code":"record.property","project":"Superalgos","id":"73edee06-950f-45cd-bd90-32ef9303ac94","savedPayload":{"position":{"x":34703.847482235265,"y":16209.450172752178},"targetPosition":{"x":34354.13179957963,"y":16492.644348724607},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{ \n\"configuration\": \"Get the appropriate configuration from the documentation\"\n}","project":"Superalgos","id":"f6f816f8-5f5f-4b00-9fa2-21f2b30db3b2","savedPayload":{"position":{"x":34803.51509021918,"y":16469.093168415282},"targetPosition":{"x":34354.13179957963,"y":16492.644348724607},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1b37d84b-5045-456c-aabf-924be783d067","savedPayload":{"position":{"x":34354.13179957963,"y":16492.644348724607},"targetPosition":{"x":34109.04423382286,"y":16870.046104300047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"cdb5a75e-613a-481d-88e0-38991cc242f2","savedPayload":{"position":{"x":34109.04423382286,"y":16870.046104300047},"targetPosition":{"x":34410.153006684355,"y":17204.461275764876},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"DMI Directional Movement","config":"{ \n \"codeName\": \"DMI\"\n}","project":"Superalgos","panelData":[{"type":"Panel Data","name":"ADX","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.adx","project":"Superalgos","id":"0eaf0b8e-aeb3-4b05-be3a-d235958773d2","savedPayload":{"position":{"x":35118.95817308065,"y":16284.115968681886},"targetPosition":{"x":35095.40699277133,"y":16733.499259321445},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 1,\n \"fontSize\": 16\n}","project":"Superalgos","id":"581d5c5a-0805-4d53-80c3-ec3fd38fd825","savedPayload":{"position":{"x":35496.35992865609,"y":16529.20353443865},"targetPosition":{"x":35095.40699277133,"y":16733.499259321445},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"57929c4f-d65a-4342-a156-83e3c37bcde3","savedPayload":{"position":{"x":35095.40699277133,"y":16733.499259321445},"targetPosition":{"x":34850.31942701456,"y":17110.901014896885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"+DI","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.plusDI","project":"Superalgos","id":"f03ad7aa-8df8-48d4-b8f9-ca83062e24f1","savedPayload":{"position":{"x":35624.90101880961,"y":16716.231981167406},"targetPosition":{"x":35290.48584734478,"y":17017.340754028894},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\",\n \"opacity\": 1,\n \"fontSize\": 16\n}","project":"Superalgos","id":"a59f5ccb-0893-4a38-8603-f33c7bd79d86","savedPayload":{"position":{"x":35718.4612796776,"y":17156.39840149762},"targetPosition":{"x":35290.48584734478,"y":17017.340754028894},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a2d73831-c487-4f26-8b5b-66980654a6ff","savedPayload":{"position":{"x":35290.48584734478,"y":17017.340754028894},"targetPosition":{"x":34850.31942701456,"y":17110.901014896885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"-DI","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.minusDI","project":"Superalgos","id":"b0dc6011-498f-486e-947e-4b7d700927ae","savedPayload":{"position":{"x":35677.10447322956,"y":17379.539760962973},"targetPosition":{"x":35227.72118259,"y":17355.988580653648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\",\n \"opacity\": 1,\n \"fontSize\": 16\n}","project":"Superalgos","id":"b942aa1f-30ab-4633-bc95-9c9d5c7dc100","savedPayload":{"position":{"x":35432.016907472804,"y":17756.941516538413},"targetPosition":{"x":35227.72118259,"y":17355.988580653648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c8fd597b-22d1-43c9-88a0-34afa3fd44c1","savedPayload":{"position":{"x":35227.72118259,"y":17355.988580653648},"targetPosition":{"x":34850.31942701456,"y":17110.901014896885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"9021a665-2e1b-472e-ab60-6b244795eb9e","savedPayload":{"position":{"x":34850.31942701456,"y":17110.901014896885},"targetPosition":{"x":34410.153006684355,"y":17204.461275764876},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"4e8c7782-32a0-496d-baab-d11bb1a562d0","savedPayload":{"position":{"x":34410.153006684355,"y":17204.461275764876},"targetPosition":{"x":34271.09535921563,"y":17632.436708097695},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"24ac7fd1-9eb7-4931-9103-43dec214e698","savedPayload":{"position":{"x":34323.09535921563,"y":17626.436708097695},"targetPosition":{"x":34230.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"Ichimoku Cloud","config":"{ \n \"codeName\": \"Plotter-Ichimoku\"\n}","project":"Superalgos","modules":[{"type":"Plotter Module","name":"Ichimoku","config":"{ \n \"codeName\": \"Ichimoku\", \n \"icon\": \"|moving-average\"\n}","project":"Superalgos","shapes":{"type":"Shapes","name":"New Shapes","project":"Superalgos","chartPoints":[{"type":"Chart Points","name":"New Chart Points","project":"Superalgos","points":[{"type":"Point","name":"Lagging Span Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.pastBegin\ny = record.previous.laggingSpan\n","project":"Superalgos","id":"40d770c4-6cc1-4a26-afed-5aae3615acd0","savedPayload":{"position":{"x":34491.969457697836,"y":17458.196811608268},"targetPosition":{"x":34423.09351397275,"y":17166.210331825423},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ed94f11a-7635-42cb-ac2d-fe9d05159b2a","savedPayload":{"position":{"x":34423.09351397275,"y":17166.210331825423},"targetPosition":{"x":34354.21757024765,"y":16874.223852042578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Lagging Span End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.pastEnd\ny = record.laggingSpan\n","project":"Superalgos","id":"a671dd96-1e10-4fe7-bf9c-64acf9379878","savedPayload":{"position":{"x":34154.38221398773,"y":17439.967460392214},"targetPosition":{"x":34254.29989211769,"y":17157.095656217396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"15d9b3e5-54b9-4f6f-9e69-37dae6d9d37b","savedPayload":{"position":{"x":34254.29989211769,"y":17157.095656217396},"targetPosition":{"x":34354.21757024765,"y":16874.223852042578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Conersion Line Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.conversionLine","project":"Superalgos","id":"827748a6-7f40-4a30-a811-f88883118c88","savedPayload":{"position":{"x":34038.233379363206,"y":17119.486957933175},"targetPosition":{"x":34117.22942708432,"y":17058.171181460526},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"a56bb9d9-6e55-4fa3-936d-81582cf1f94d","savedPayload":{"position":{"x":34117.22942708432,"y":17058.171181460526},"targetPosition":{"x":34354.21757024765,"y":16874.223852042578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Conversion Line End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.conversionLine","project":"Superalgos","id":"3e816114-9409-4ef8-ae5b-92de87c7ba20","savedPayload":{"position":{"x":33955.79550728692,"y":16909.718355083376},"targetPosition":{"x":34055.40102302711,"y":16900.844729323177},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"3eaf4ff4-cf81-4928-b2f8-26d75e89d3c0","savedPayload":{"position":{"x":34055.40102302711,"y":16900.844729323177},"targetPosition":{"x":34354.21757024765,"y":16874.223852042578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Base Line Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.baseLine","project":"Superalgos","id":"9473832d-9c65-47c0-81b7-06e6399b21b1","savedPayload":{"position":{"x":33999.853825084894,"y":16688.6804983103},"targetPosition":{"x":34088.444761375584,"y":16735.06633674337},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"f7d3e6d3-089b-4bc7-8468-2e42bc6511b7","savedPayload":{"position":{"x":34088.444761375584,"y":16735.06633674337},"targetPosition":{"x":34354.21757024765,"y":16874.223852042578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Base Line End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.baseLine","project":"Superalgos","id":"01e0f6a0-132f-497a-8cbf-45f305163405","savedPayload":{"position":{"x":34156.420128157464,"y":16526.55134536053},"targetPosition":{"x":34205.86948868001,"y":16613.469472031044},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"385613d8-5b52-44b9-be18-91bca1c86c47","savedPayload":{"position":{"x":34205.86948868001,"y":16613.469472031044},"targetPosition":{"x":34354.21757024765,"y":16874.223852042578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Plot Lead Line 1 Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.forwardBegin\ny = record.previous.plotLeadLine1","project":"Superalgos","id":"19cecf0e-124a-4394-8968-2edcb21cfbd8","savedPayload":{"position":{"x":34375.78572152373,"y":16474.805756745765},"targetPosition":{"x":34370.39368370471,"y":16574.66028056997},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"fbac2c1f-aa48-421f-b725-4b62cc53fc41","savedPayload":{"position":{"x":34370.39368370471,"y":16574.66028056997},"targetPosition":{"x":34354.21757024765,"y":16874.223852042578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Plot Lead Line 1 End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.forwardEnd\ny = record.plotLeadLine1","project":"Superalgos","id":"1584a320-70a4-4487-8b2e-cbacab3288ad","savedPayload":{"position":{"x":34588.303579253115,"y":16549.872591234336},"targetPosition":{"x":34529.78207700175,"y":16630.960406436396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"cb4fb579-edd5-4de7-a831-003f24afcf39","savedPayload":{"position":{"x":34529.78207700175,"y":16630.960406436396},"targetPosition":{"x":34354.21757024765,"y":16874.223852042578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Plot Lead Line 2 Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.forwardBegin\ny = record.previous.plotLeadLine2","project":"Superalgos","id":"66ad8d46-50dc-4306-9d06-a3c6f4ead8e2","savedPayload":{"position":{"x":34726.50078309597,"y":16727.91865927303},"targetPosition":{"x":34633.42997988389,"y":16764.494957465417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"b7ab8f9c-d7a0-4c4d-b7d6-1e1d0c02eb83","savedPayload":{"position":{"x":34633.42997988389,"y":16764.494957465417},"targetPosition":{"x":34354.21757024765,"y":16874.223852042578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Plot Lead Line 2 End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.forwardEnd\ny = record.plotLeadLine2","project":"Superalgos","id":"e837a646-7549-469e-8d35-6c1cee681da4","savedPayload":{"position":{"x":34746.500697286974,"y":16952.41559227296},"targetPosition":{"x":34648.429915527144,"y":16932.867657215364},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"02355e05-fe68-4efc-bfae-d2cc6f1457c3","savedPayload":{"position":{"x":34648.429915527144,"y":16932.867657215364},"targetPosition":{"x":34354.21757024765,"y":16874.223852042578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"3086f338-1640-4ebb-bafe-bf8cfd3da0ec","savedPayload":{"position":{"x":34354.21757024765,"y":16874.223852042578},"targetPosition":{"x":34785.82145045085,"y":17291.018874317975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Lagging Span","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.3,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.PATINATED_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.PATINATED_TURQUOISE\"\n }\n}","project":"Superalgos","id":"fbbfd9a2-92d9-4ce7-8c21-17f2dbc6f1fc","savedPayload":{"position":{"x":34236.49024636483,"y":17116.593729573022},"targetPosition":{"x":34322.52671181749,"y":16993.72092292967},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"cd32ab1b-e563-45d7-a3f8-ecb171273385","savedPayload":{"position":{"x":34322.52671181749,"y":16993.72092292967},"targetPosition":{"x":34408.563177270145,"y":16870.84811628632},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":" Lagging Span Begin","project":"Superalgos","id":"01c3a82b-97af-4c64-9675-c2ae9e55c5c9","savedPayload":{"position":{"x":34113.12085136648,"y":16922.9425695864},"targetPosition":{"x":34408.563177270145,"y":16870.84811628632},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Lagging Span Begin","id":"ed94f11a-7635-42cb-ac2d-fe9d05159b2a"}}},{"type":"Polygon Vertex","name":" Lagging Span End","project":"Superalgos","id":"5e20b9a4-ae32-4a81-bb0b-289bf8d04a58","savedPayload":{"position":{"x":34162.81756398345,"y":16698.775185381008},"targetPosition":{"x":34408.563177270145,"y":16870.84811628632},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Lagging Span End","id":"15d9b3e5-54b9-4f6f-9e69-37dae6d9d37b"}}}],"id":"90a34d00-99e2-4a5e-94f1-782aeaec89ed","savedPayload":{"position":{"x":34494.73273256805,"y":17218.442305638077},"targetPosition":{"x":34785.82145045085,"y":17291.018874317975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Conversion Line","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.TURQUOISE\"\n }\n}","project":"Superalgos","id":"e865a1b2-668e-427f-b16d-3ecc6c4f770f","savedPayload":{"position":{"x":33864.64238626503,"y":16824.045090047755},"targetPosition":{"x":34154.420134151755,"y":16746.399376516998},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"5f0a0922-aecd-4b40-9fb3-b3fdd1207eea","savedPayload":{"position":{"x":34154.420134151755,"y":16746.399376516998},"targetPosition":{"x":34444.197882038476,"y":16668.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":" Conersion Line Begin","project":"Superalgos","id":"0e09b636-d71d-49d5-9d9a-6e3b067925ca","savedPayload":{"position":{"x":34184.39026090314,"y":16518.75366298624},"targetPosition":{"x":34444.197882038476,"y":16668.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Conersion Line Begin","id":"a56bb9d9-6e55-4fa3-936d-81582cf1f94d"}}},{"type":"Polygon Vertex","name":" Conversion Line End","project":"Superalgos","id":"b92598e2-5755-4a95-85f7-80bc63612184","savedPayload":{"position":{"x":34366.55216850772,"y":16378.97591509952},"targetPosition":{"x":34444.197882038476,"y":16668.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Conversion Line End","id":"3eaf4ff4-cf81-4928-b2f8-26d75e89d3c0"}}}],"id":"59bb987c-d919-4454-ad68-f52a84639d18","savedPayload":{"position":{"x":34609.48587476311,"y":17048.313776005492},"targetPosition":{"x":34785.82145045085,"y":17291.018874317975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Base Line","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"623a0cc7-8641-46ab-bb9b-6132f6b4374c","savedPayload":{"position":{"x":34057.61478795412,"y":16283.274919706051},"targetPosition":{"x":34329.507124065116,"y":16410.06039822826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"639d75aa-1e58-4c36-8257-67168abafb05","savedPayload":{"position":{"x":34329.507124065116,"y":16410.06039822826},"targetPosition":{"x":34601.39946017611,"y":16536.845876750467},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":" Base Line Begin","project":"Superalgos","id":"eca8fef0-6505-4e10-908e-5fcf8a99293a","savedPayload":{"position":{"x":34498.79341717841,"y":16254.938090514694},"targetPosition":{"x":34601.39946017611,"y":16536.845876750467},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Base Line Begin","id":"f7d3e6d3-089b-4bc7-8468-2e42bc6511b7"}}},{"type":"Polygon Vertex","name":" Base Line End","project":"Superalgos","id":"09535200-2132-4847-960a-9ce3698e72b9","savedPayload":{"position":{"x":34728.18493869832,"y":16264.953540639472},"targetPosition":{"x":34601.39946017611,"y":16536.845876750467},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Base Line End","id":"385613d8-5b52-44b9-be18-91bca1c86c47"}}}],"id":"5ae2d724-fb7c-478e-bc67-bd08b88562bb","savedPayload":{"position":{"x":34806.74839257408,"y":16991.749659240028},"targetPosition":{"x":34785.82145045085,"y":17291.018874317975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Lead Line 1","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREEN\"\n }\n}","project":"Superalgos","id":"77e51645-bb9d-4c7a-a8bb-70de2bca0f05","savedPayload":{"position":{"x":34983.74751772618,"y":16475.308317122548},"targetPosition":{"x":34988.98323965736,"y":16775.262625669464},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"70f77c83-7b79-4a15-926e-173e9fcbf78f","savedPayload":{"position":{"x":34988.98323965736,"y":16775.262625669464},"targetPosition":{"x":34994.21896158854,"y":17075.21693421638},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":" Plot Lead Line 1 Begin","project":"Superalgos","id":"878fdf21-37b6-4487-ba94-22f16b609ec4","savedPayload":{"position":{"x":35202.61647272625,"y":16859.414994114784},"targetPosition":{"x":34994.21896158854,"y":17075.21693421638},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Plot Lead Line 1 Begin","id":"fbac2c1f-aa48-421f-b725-4b62cc53fc41"}}},{"type":"Polygon Vertex","name":" Plot Lead Line 1 End","project":"Superalgos","id":"3d6e5394-4cef-41ce-8091-4b557155d5a9","savedPayload":{"position":{"x":35294.17327013546,"y":17069.981212285194},"targetPosition":{"x":34994.21896158854,"y":17075.21693421638},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Plot Lead Line 1 End","id":"cb4fb579-edd5-4de7-a831-003f24afcf39"}}}],"id":"c8fca9b3-dfe0-4442-8275-493b9d545d7a","savedPayload":{"position":{"x":34994.21896158854,"y":17075.21693421638},"targetPosition":{"x":34785.82145045085,"y":17291.018874317975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Lead Line 2","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.5,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n }\n}","project":"Superalgos","id":"62ad6e42-cc75-4cf3-8217-b460a5b465f4","savedPayload":{"position":{"x":35119.104551370656,"y":16089.198167212799},"targetPosition":{"x":35041.4588378399,"y":16378.97591509952},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"0637699a-e7e2-4d24-b5c0-7c76748dda74","savedPayload":{"position":{"x":35041.4588378399,"y":16378.97591509952},"targetPosition":{"x":34963.81312430914,"y":16668.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":" Plot Lead Line 2 Begin","project":"Superalgos","id":"3d4d544a-28fc-463b-b792-5d08ec382a6f","savedPayload":{"position":{"x":35223.620745444474,"y":16518.75366298624},"targetPosition":{"x":34963.81312430914,"y":16668.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Plot Lead Line 2 Begin","id":"b7ab8f9c-d7a0-4c4d-b7d6-1e1d0c02eb83"}}},{"type":"Polygon Vertex","name":" Plot Lead Line 2 End","project":"Superalgos","id":"507b22e5-4ae9-4290-a0df-7d7bac232aa9","savedPayload":{"position":{"x":35253.59087219586,"y":16746.399376516998},"targetPosition":{"x":34963.81312430914,"y":16668.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Plot Lead Line 2 End","id":"02355e05-fe68-4efc-bfae-d2cc6f1457c3"}}}],"id":"8bcba1bd-2717-4d86-a955-b7a396e27687","savedPayload":{"position":{"x":35084.17801906133,"y":17259.660335337678},"targetPosition":{"x":34785.82145045085,"y":17291.018874317975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Cloud Green","project":"Superalgos","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.plotLeadLine1 > record.plotLeadLine2","project":"Superalgos","id":"13e89aa0-e3e2-40ac-abc6-0b98ee4bf44a","savedPayload":{"position":{"x":35134.17062490908,"y":16548.463002615514},"targetPosition":{"x":35004.00550317381,"y":16818.75366298624},"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":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.1,\n \"paletteColor\": \"UI_COLOR.GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.1,\n \"paletteColor\": \"UI_COLOR.GREEN\"\n }\n}","project":"Superalgos","id":"403e5719-537a-4f87-ba17-a2885f64f841","savedPayload":{"position":{"x":35473.104392654626,"y":16444.659781871003},"targetPosition":{"x":35238.55494791422,"y":16631.706722428622},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"a896ce8e-5bd8-49fc-b445-ac872d80ad69","savedPayload":{"position":{"x":35238.55494791422,"y":16631.706722428622},"targetPosition":{"x":35004.00550317381,"y":16818.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":" Plot Lead Line 1 Begin","project":"Superalgos","id":"c42cc383-9c0e-4aea-851a-c224501448b4","savedPayload":{"position":{"x":35296.48387682835,"y":16751.997382799345},"targetPosition":{"x":35004.00550317381,"y":16818.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Plot Lead Line 1 Begin","id":"fbac2c1f-aa48-421f-b725-4b62cc53fc41"}}},{"type":"Polygon Vertex","name":" Plot Lead Line 1 End","project":"Superalgos","id":"f315431a-2603-459e-9f05-34b8ee64356c","savedPayload":{"position":{"x":35296.48387682835,"y":16885.509943173136},"targetPosition":{"x":35004.00550317381,"y":16818.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Plot Lead Line 1 End","id":"cb4fb579-edd5-4de7-a831-003f24afcf39"}}},{"type":"Polygon Vertex","name":" Plot Lead Line 2 End","project":"Superalgos","id":"52eb035e-85aa-4746-ad09-7a6f1b636f3c","savedPayload":{"position":{"x":35238.55494791422,"y":17005.80060354386},"targetPosition":{"x":35004.00550317381,"y":16818.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Plot Lead Line 2 End","id":"02355e05-fe68-4efc-bfae-d2cc6f1457c3"}}},{"type":"Polygon Vertex","name":" Plot Lead Line 2 Begin","project":"Superalgos","id":"52b3d278-b029-46f3-8772-e7dd7b5d42a3","savedPayload":{"position":{"x":35134.17062490908,"y":17089.044323356968},"targetPosition":{"x":35004.00550317381,"y":16818.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Plot Lead Line 2 Begin","id":"b7ab8f9c-d7a0-4c4d-b7d6-1e1d0c02eb83"}}}],"id":"d3ee5217-2b18-443a-a8dc-6884ff3711e9","savedPayload":{"position":{"x":35034.53272221736,"y":17458.7767453592},"targetPosition":{"x":34785.82145045085,"y":17291.018874317975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Cloud Red","project":"Superalgos","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.plotLeadLine1 < record.plotLeadLine2","project":"Superalgos","id":"0486bacd-b7c4-468b-a2bd-fca7604d031a","savedPayload":{"position":{"x":35179.30253662229,"y":16959.801978755655},"targetPosition":{"x":34896.13753752977,"y":17058.885697342204},"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":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.1,\n \"paletteColor\": \"UI_COLOR.RED\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.1,\n \"paletteColor\": \"UI_COLOR.RED\"\n }\n}","project":"Superalgos","id":"acf85f27-802a-4609-a45f-f602dd9dcd1c","savedPayload":{"position":{"x":35492.364863465715,"y":17126.06438300419},"targetPosition":{"x":35194.25120049775,"y":17092.475040173198},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"f6448eec-e334-4c22-8d0e-a3c68316ce42","savedPayload":{"position":{"x":35194.25120049775,"y":17092.475040173198},"targetPosition":{"x":34896.13753752977,"y":17058.885697342204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":" Plot Lead Line 1 Begin","project":"Superalgos","id":"ae3a2357-a62e-498d-81e0-90f06b7c3ec4","savedPayload":{"position":{"x":35150.15479729826,"y":17218.495320296806},"targetPosition":{"x":34896.13753752977,"y":17058.885697342204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Plot Lead Line 1 Begin","id":"fbac2c1f-aa48-421f-b725-4b62cc53fc41"}}},{"type":"Polygon Vertex","name":" Plot Lead Line 1 End","project":"Superalgos","id":"cc92f4b4-eee9-4017-b30e-7e69d13f7200","savedPayload":{"position":{"x":35055.747160484374,"y":17312.90295711069},"targetPosition":{"x":34896.13753752977,"y":17058.885697342204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Plot Lead Line 1 End","id":"cb4fb579-edd5-4de7-a831-003f24afcf39"}}},{"type":"Polygon Vertex","name":" Plot Lead Line 2 End","project":"Superalgos","id":"d7e2bed8-30ec-479d-8909-a1d6f05084a1","savedPayload":{"position":{"x":34929.726880360766,"y":17356.999360310176},"targetPosition":{"x":34896.13753752977,"y":17058.885697342204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Plot Lead Line 2 End","id":"02355e05-fe68-4efc-bfae-d2cc6f1457c3"}}},{"type":"Polygon Vertex","name":" Plot Lead Line 2 Begin","project":"Superalgos","id":"9fb73913-c17f-4c3f-b60f-b1f2821d740f","savedPayload":{"position":{"x":34797.053818943226,"y":17342.050696434715},"targetPosition":{"x":34896.13753752977,"y":17058.885697342204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Plot Lead Line 2 Begin","id":"b7ab8f9c-d7a0-4c4d-b7d6-1e1d0c02eb83"}}}],"id":"e1707dc5-c49a-4b2d-b2b9-d6fd2e064a3c","savedPayload":{"position":{"x":34868.51265719595,"y":17579.39738309947},"targetPosition":{"x":34785.82145045085,"y":17291.018874317975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"2a9c9e98-7ccf-4999-804c-2094204d1ca6","savedPayload":{"position":{"x":34785.82145045085,"y":17291.018874317975},"targetPosition":{"x":34663.80045752811,"y":17565.082511610755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Ichimoku Cloud","config":"{ \n \"codeName\": \"\"\n}","project":"Superalgos","panelData":[{"type":"Panel Data","name":"Lagging Span","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.laggingSpan","project":"Superalgos","id":"e923bf3d-c6c5-4f08-9292-4910b5aafd6f","savedPayload":{"position":{"x":35137.475578251586,"y":17128.33345708298},"targetPosition":{"x":35168.834117231876,"y":17426.69002569346},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.PATINATED_TURQUOISE\",\n \"opacity\": 1,\n \"fontSize\": 14\n}","project":"Superalgos","id":"4b843355-d7ea-45af-8fb1-ecefe26e6a75","savedPayload":{"position":{"x":35411.53921554436,"y":17250.354450005718},"targetPosition":{"x":35168.834117231876,"y":17426.69002569346},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ce794350-6644-4e6c-afac-e8a7a10c60ca","savedPayload":{"position":{"x":35168.834117231876,"y":17426.69002569346},"targetPosition":{"x":35046.81312430914,"y":17700.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Conversion Line","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.conversionLine","project":"Superalgos","id":"468401fd-3794-4749-9434-4f9c2107db49","savedPayload":{"position":{"x":35593.90226116197,"y":17025.154843515455},"targetPosition":{"x":35410.87077177787,"y":17436.250299454627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.TURQUOISE\",\n \"opacity\": 1,\n \"fontSize\": 14\n}","project":"Superalgos","id":"32127f3e-22ec-4d64-ab18-90aef4433588","savedPayload":{"position":{"x":35858.405624693594,"y":17389.212490984184},"targetPosition":{"x":35410.87077177787,"y":17436.250299454627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f6d23c72-ba68-4d19-8291-53e729d60d43","savedPayload":{"position":{"x":35410.87077177787,"y":17436.250299454627},"targetPosition":{"x":35046.81312430914,"y":17700.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Base Line","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.baseLine","project":"Superalgos","id":"b00a3c5a-16ca-4a05-b8a2-87442f67e7ee","savedPayload":{"position":{"x":35587.874791232105,"y":17493.0595483182},"targetPosition":{"x":35345.16969291962,"y":17669.395124005943},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 1,\n \"fontSize\": 14\n}","project":"Superalgos","id":"f9456c22-246e-4ebb-9f1a-64023ddc007e","savedPayload":{"position":{"x":35619.2333302124,"y":17791.41611692868},"targetPosition":{"x":35345.16969291962,"y":17669.395124005943},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ab82afc6-55b3-4ec7-9e1e-eec7e1260efc","savedPayload":{"position":{"x":35345.16969291962,"y":17669.395124005943},"targetPosition":{"x":35046.81312430914,"y":17700.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Lead Line 1","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.leadLine1","project":"Superalgos","id":"a275f6d4-c570-4d08-a93a-fcb8d2ed168a","savedPayload":{"position":{"x":35905.44343316404,"y":17836.747343899908},"targetPosition":{"x":35457.90858024832,"y":17883.78515237035},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 1,\n \"fontSize\": 14\n}","project":"Superalgos","id":"bf48ad18-804f-482c-ae5d-dbb0a3522237","savedPayload":{"position":{"x":35722.41194377992,"y":18247.842799839076},"targetPosition":{"x":35457.90858024832,"y":17883.78515237035},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8b7ebb57-8606-435a-be7b-921bc4e6a2d5","savedPayload":{"position":{"x":35457.90858024832,"y":17883.78515237035},"targetPosition":{"x":35046.81312430914,"y":17700.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Lead Line 2","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.leadLine2","project":"Superalgos","id":"2dafd617-bb89-4aad-b697-6a361de69a98","savedPayload":{"position":{"x":35497.21233728966,"y":18065.479754221462},"targetPosition":{"x":35223.148699996884,"y":17943.458761298723},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 1,\n \"fontSize\": 14\n}","project":"Superalgos","id":"34880e13-f3bd-4fa6-8245-cb47783fc1d1","savedPayload":{"position":{"x":35254.50723897718,"y":18241.815329909205},"targetPosition":{"x":35223.148699996884,"y":17943.458761298723},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"375c2ae1-cdb0-42a9-a243-0ea3a9d486a0","savedPayload":{"position":{"x":35223.148699996884,"y":17943.458761298723},"targetPosition":{"x":35046.81312430914,"y":17700.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c2502509-bfd7-483e-bae8-db4db0ae302b","savedPayload":{"position":{"x":35046.81312430914,"y":17700.75366298624},"targetPosition":{"x":34663.80045752811,"y":17565.082511610755},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c5dedee0-0553-457c-9a14-5c5d97907cb2","savedPayload":{"position":{"x":34663.80045752811,"y":17565.082511610755},"targetPosition":{"x":34421.09535921563,"y":17741.418087298498},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f1d66d3b-c40e-4633-aa38-0f85d032d1f8","savedPayload":{"position":{"x":34473.09535921563,"y":17735.418087298498},"targetPosition":{"x":34230.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d2083ac0-43e2-41e4-83c7-eb09a6f29353","savedPayload":{"position":{"x":34230.39026090314,"y":17911.75366298624},"targetPosition":{"x":34230.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}} \ No newline at end of file +{"type":"Data Mine","name":"Zeus","config":"{ \n\"codeName\": \"Zeus\"\n}","project":"Superalgos","sensorBots":[],"apiDataFetcherBots":[],"indicatorBots":[{"type":"Indicator Bot","name":"Super Trend","config":"{ \n\"codeName\": \"Super-Trend\"\n}","project":"Superalgos","processes":[{"type":"Process Definition","name":"Multi-Time-Frame-Market","config":" {\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"framework\": {\n \"name\": \"Multi-Time-Frame-Market\"\n }\n }","project":"Superalgos","processOutput":{"type":"Process Output","name":"New Process Output","project":"Superalgos","outputDatasets":[{"type":"Output Dataset","name":"Multi-Time-Frame-Market Super Trend","project":"Superalgos","id":"2412939e-1585-47f9-8d09-7ea8dd7c8bf0","savedPayload":{"position":{"x":34664.87658172835,"y":17409.843880743556},"targetPosition":{"x":34703.69943849373,"y":17554.732754686916},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Market","id":"7c8e7a6f-99c8-4d90-9f44-e3e9e909eb88"}}}],"outputDatasetFolders":[],"id":"74212c63-4a69-407d-80ec-d39ee2d8df74","savedPayload":{"position":{"x":34703.69943849373,"y":17554.732754686916},"targetPosition":{"x":34742.52229525911,"y":17699.621628630277},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","project":"Superalgos","statusDependencies":[{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","project":"Superalgos","id":"5a35d0d1-cfed-4893-84ab-344a77c7d252","savedPayload":{"position":{"x":34670.168008789864,"y":17150.036259608223},"targetPosition":{"x":34820.168008789864,"y":17409.843880743556},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"25f05344-3e7f-4d5f-ab1c-d72689a85764"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","project":"Superalgos","id":"2a42dd15-1e04-4826-bd5f-85d95fbae135","savedPayload":{"position":{"x":34897.81372232062,"y":17120.066132856835},"targetPosition":{"x":34820.168008789864,"y":17409.843880743556},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Time-Frame-Market","project":"Superalgos","id":"88a45f27-a0b8-4234-b7aa-f139400305db","savedPayload":{"position":{"x":35079.9756299252,"y":17259.843880743556},"targetPosition":{"x":34820.168008789864,"y":17409.843880743556},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"eef38121-80a2-4471-b909-24acdc4d213a","savedPayload":{"position":{"x":34820.168008789864,"y":17409.843880743556},"targetPosition":{"x":34742.52229525911,"y":17699.621628630277},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","project":"Superalgos","id":"25f05344-3e7f-4d5f-ab1c-d72689a85764","savedPayload":{"position":{"x":34954.65432961507,"y":17487.489594274313},"targetPosition":{"x":34742.52229525911,"y":17699.621628630277},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","project":"Superalgos","id":"d9b0ffbd-c1bd-4e43-a00d-04a6b6fb470b","savedPayload":{"position":{"x":35032.30004314583,"y":17621.97591509952},"targetPosition":{"x":34742.52229525911,"y":17699.621628630277},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","project":"Superalgos","id":"d405bfe9-74f9-4419-8288-94229c9813a6","savedPayload":{"position":{"x":35032.30004314583,"y":17777.267342161034},"targetPosition":{"x":34742.52229525911,"y":17699.621628630277},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fc3dbb85-168e-4fac-8893-b285de35a694","savedPayload":{"position":{"x":34742.52229525911,"y":17699.621628630277},"targetPosition":{"x":34530.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Time-Frame-Daily","config":" {\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"framework\": {\n \"name\": \"Multi-Time-Frame-Daily\"\n }\n }","project":"Superalgos","processOutput":{"type":"Process Output","name":"New Process Output","project":"Superalgos","outputDatasets":[{"type":"Output Dataset","name":"Multi-Time-Frame-Daily Super Trend","project":"Superalgos","id":"f5a69b9b-0423-42be-bb58-b5a51f762ee7","savedPayload":{"position":{"x":35063.39026090314,"y":18144.368905256906},"targetPosition":{"x":34763.39026090314,"y":18144.368905256906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Daily","id":"c17b5d3f-7cf7-418a-92b8-f8c67a120446"}}}],"outputDatasetFolders":[],"id":"04c16ec8-b60b-4cf0-acf4-69d955a5d2aa","savedPayload":{"position":{"x":34763.39026090314,"y":18144.368905256906},"targetPosition":{"x":34463.39026090314,"y":18144.368905256906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","project":"Superalgos","statusDependencies":[{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","project":"Superalgos","id":"935a9195-83ac-41bc-835e-f118f5a79049","savedPayload":{"position":{"x":35022.78674246484,"y":18310.06969212979},"targetPosition":{"x":34723.197882038476,"y":18294.368905256906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"89d59eb6-bd97-485d-ac94-a095aaf4e58d"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","project":"Superalgos","id":"a3f5a224-75c0-4054-84ac-c4a98f823085","savedPayload":{"position":{"x":35003.27200998763,"y":18401.879290120498},"targetPosition":{"x":34723.197882038476,"y":18294.368905256906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Starting Point\"\n}","project":"Superalgos","id":"d39acabb-3797-410a-9d86-0edda4a41b70","savedPayload":{"position":{"x":34956.341670475565,"y":18483.16502257186},"targetPosition":{"x":34723.197882038476,"y":18294.368905256906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Time-Frame-Daily","project":"Superalgos","id":"0fbf825f-68af-415d-b01e-1e30528a4b49","savedPayload":{"position":{"x":34886.58959254298,"y":18545.970075640533},"targetPosition":{"x":34723.197882038476,"y":18294.368905256906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}}],"dataMineDataDependencies":[],"id":"98d9f621-8b18-4b4f-b191-b79d930dc4ec","savedPayload":{"position":{"x":34723.197882038476,"y":18294.368905256906},"targetPosition":{"x":34463.39026090314,"y":18144.368905256906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","project":"Superalgos","id":"89d59eb6-bd97-485d-ac94-a095aaf4e58d","savedPayload":{"position":{"x":34538.39026090314,"y":18274.272715824573},"targetPosition":{"x":34463.39026090314,"y":18144.368905256906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","project":"Superalgos","id":"3f1b6db1-7e06-499c-9879-194596e2978e","savedPayload":{"position":{"x":34463.39026090314,"y":18294.368905256906},"targetPosition":{"x":34463.39026090314,"y":18144.368905256906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","project":"Superalgos","id":"f884fccf-e2dc-45db-a1df-36b6826b020c","savedPayload":{"position":{"x":34388.39026090314,"y":18274.272715824573},"targetPosition":{"x":34463.39026090314,"y":18144.368905256906},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c2ade18e-8e3c-4448-a743-947c8163b80d","savedPayload":{"position":{"x":34830.39026090314,"y":17911.75366298624},"targetPosition":{"x":34530.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"Super Trend","config":"{\n \"codeName\": \"Super-Trend\",\n \"singularVariableName\": \"superTrend\",\n \"pluralVariableName\": \"superTrends\"\n}","project":"Superalgos","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/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }","project":"Superalgos","id":"7c8e7a6f-99c8-4d90-9f44-e3e9e909eb88","savedPayload":{"position":{"x":35293.048065704905,"y":18159.556205252084},"targetPosition":{"x":34848.58831243709,"y":18229.951714520186},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"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/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","project":"Superalgos","id":"c17b5d3f-7cf7-418a-92b8-f8c67a120446","savedPayload":{"position":{"x":35249.54124832185,"y":18434.24743940298},"targetPosition":{"x":34848.58831243709,"y":18229.951714520186},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","project":"Superalgos","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"record.current.begin","project":"Superalgos","id":"af4ce0b3-14a3-4e8d-8f27-353aa5d819e5","savedPayload":{"position":{"x":35930.09896247254,"y":18978.89769667342},"targetPosition":{"x":35705.79256238259,"y":18996.550993212186},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"eece0283-d534-4ce5-8606-4fa5cec4fe90","savedPayload":{"position":{"x":35705.79256238259,"y":18996.550993212186},"targetPosition":{"x":35257.17976220268,"y":19031.857586289716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{ \n\"codeName\": \"end\",\n\"isString\": false,\n\"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"record.current.end","project":"Superalgos","id":"47190c61-ec22-49ff-8a4c-e08e5cddc2c0","savedPayload":{"position":{"x":35899.14291070191,"y":19240.444057492805},"targetPosition":{"x":35685.1551945355,"y":19170.915233758442},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"aab131cd-6b2a-4708-84bf-11e65bd4f995","savedPayload":{"position":{"x":35685.1551945355,"y":19170.915233758442},"targetPosition":{"x":35257.17976220268,"y":19031.857586289716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"True Range","config":"{ \n \"codeName\": \"trueRange\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.trueRange","project":"Superalgos","id":"5e5bd969-819b-4131-aad4-d855c57b236d","savedPayload":{"position":{"x":35770.4537889827,"y":19470.23501891259},"targetPosition":{"x":35599.36244672269,"y":19324.1092080383},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"79e64cdc-8d3d-4c17-8bb6-69c52b09d0a5","savedPayload":{"position":{"x":35599.36244672269,"y":19324.1092080383},"targetPosition":{"x":35257.17976220268,"y":19031.857586289716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"ATR N Period","config":"{ \n \"codeName\": \"atrNPeriod\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.atrNPeriod","project":"Superalgos","id":"139dd901-2800-4a78-b536-a26d71f8180f","savedPayload":{"position":{"x":35563.62334952687,"y":19633.286990116863},"targetPosition":{"x":35461.475487085474,"y":19432.81052217448},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"5bf3d6da-c010-4297-90f2-db405eb25ab9","savedPayload":{"position":{"x":35461.475487085474,"y":19432.81052217448},"targetPosition":{"x":35257.17976220268,"y":19031.857586289716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Up Trend","config":"{ \n \"codeName\": \"uptrend\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.uptrend","project":"Superalgos","id":"1227cf03-417e-42af-8be8-0ac79c0372e6","savedPayload":{"position":{"x":35310.13965181897,"y":19704.776786559578},"targetPosition":{"x":35292.48635528021,"y":19480.470386469624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"58b49e52-ac7e-4458-8dc0-c16a63c11c73","savedPayload":{"position":{"x":35292.48635528021,"y":19480.470386469624},"targetPosition":{"x":35257.17976220268,"y":19031.857586289716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Down Trend","config":"{ \n \"codeName\": \"downtrend\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.downtrend","project":"Superalgos","id":"4b55c31f-ca51-4dcd-beaf-a03463e5d541","savedPayload":{"position":{"x":35048.59329099959,"y":19673.820734788944},"targetPosition":{"x":35118.12211473395,"y":19459.833018622536},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"9c7651af-9740-4086-9c1b-c859d25cae26","savedPayload":{"position":{"x":35118.12211473395,"y":19459.833018622536},"targetPosition":{"x":35257.17976220268,"y":19031.857586289716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Trend","config":"{ \n \"codeName\": \"trend\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.trend","project":"Superalgos","id":"eb1e09d6-6794-4d4e-a8a9-227fdbb1698c","savedPayload":{"position":{"x":34818.802329579805,"y":19545.131613069738},"targetPosition":{"x":34964.928140454096,"y":19374.04027080973},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"880b51d4-9bda-4f26-b722-7cd84f9cc494","savedPayload":{"position":{"x":34964.928140454096,"y":19374.04027080973},"targetPosition":{"x":35257.17976220268,"y":19031.857586289716},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"93965329-75b8-4e62-99ab-252a4aed8d86","savedPayload":{"position":{"x":35257.17976220268,"y":19031.857586289716},"targetPosition":{"x":34848.58831243709,"y":18229.951714520186},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","project":"Superalgos","loop":{"type":"Procedure Loop","name":"New Procedure Loop","project":"Superalgos","procedureJavascriptCode":{"type":"Procedure Javascript Code","name":"New Procedure Javascript Code","code":"/* Loop Code */\n\n/* Big thanks to @rico4dev for providing the base start for ATR calcs\nI made some tweaks so now the way ATR is calculated matches TradingView :-)\n */\n\n// Set parameters to be used for ATR Period and Multiplier\nlet Nperiod = 10 // ATR Period\nlet multiplier = 3 // ATR Multiplier\n\n// Get Current and Previous Candle Data\nlet currCandle = record.current \nlet prevCandle = record.previous \n\n/* We need to build the price source\nFor current price there is no problem, we have data\nFor previous price we must check if exist\nSource price is defined as OHCL4*/\n\n// OHCL4 Source for current price\nvariable.currClose = currCandle.close\nvariable.ohcl4 = (currCandle.max + currCandle.min + currCandle.close + currCandle.open)/4\n\n// OHCL4 Source for previous candle price - make sure data exists\nif (prevCandle === undefined) {\n variable.prevClose = currCandle.close\n variable.prev_ohcl4 = 0 \n} else {\n variable.prevClose = prevCandle.close\n variable.prev_ohcl4 = (prevCandle.max + prevCandle.min + prevCandle.close + prevCandle.open)/4\n}\n\n/* Define variables we need and build functions */\n/* True Range and ATR - Average True Range */\n\nvariable.trueRange = calculateTR()\nvariable.atrNPeriod = calculateATR(Nperiod)\nvariable.prevAtrNperiod = variable.atrNPeriod // Store ATR value for calcs in RMA\n\n/* To keep lastNperiodTR array to a fixed length\nwe remove the first element of the array if length is > Nperiod */\n\nvariable.lastNPeriodTR.push(calculateTR())\nif (variable.lastNPeriodTR.length > Nperiod) {\n variable.lastNPeriodTR.splice(0, 1)\n}\n\n/* Calculate ATR */\nfunction calculateATR(length) {\n return calculateRMA(variable.trueRange, length)\n}\n\n/* Calculate True Range */\nfunction calculateTR() {\n let hl = currCandle.max - currCandle.min \n if (variable.prevClose === 0) { return hl } // Return High-Low when previous Close is 0 \n let hcp = Math.abs(currCandle.max - variable.prevClose)\n let lcp = Math.abs(currCandle.min - variable.prevClose) \n return Math.max(hl, hcp, lcp)\n}\n\n/* Calculate RMA */\nfunction calculateRMA(src, length) { \n if (src.length < length) { return 0 } // We check we have enough values to make the calcs. If not, set value to zero \n let alpha=1/length // It's a constant\n if (isNaN(variable.prevAtrNperiod)) {\n return 0 \n } else {\n return alpha * src + (1 - alpha) * variable.prevAtrNperiod \n } \n \n}\n\n// Build Up Trend function\n\nvariable.up = variable.ohcl4 - (multiplier * variable.atrNPeriod)\n\nif (variable.last2uptrend.length > 2) {\n variable.last2uptrend.splice(0, 1)\n}\n\nvariable.up1 = variable.last2uptrend[variable.last2uptrend.length - 1] // Previous Up Trend \n\nvariable.uptrend = calculateUpTrend()\n\nvariable.last2uptrend.push(variable.uptrend) \n\nfunction calculateUpTrend() {\n if (variable.prevClose > variable.up1) {\n return Math.max(variable.up, variable.up1)\n } else {\n return variable.up\n }\n}\n\n// Build Down Trend function\n\nvariable.dn = variable.ohcl4 + (multiplier * variable.atrNPeriod)\n\nif (variable.last2downtrend.length > 2) {\n variable.last2downtrend.splice(0, 1)\n}\n\nvariable.dn1 = variable.last2downtrend[variable.last2downtrend.length - 1] // Previous Down Trend\n\nvariable.downtrend = calculateDnTrend()\n\nvariable.last2downtrend.push(variable.downtrend) \n\nfunction calculateDnTrend() {\n if (variable.prevClose < variable.dn1) {\n return Math.min(variable.dn, variable.dn1)\n } else {\n return variable.dn\n }\n}\n\n\n// Build Trend function\n\nif (variable.last2Trend.length > 2) {\n variable.last2Trend.splice(0, 1)\n}\n\nvariable.prevTrend = variable.last2Trend[variable.last2Trend.length - 1]\n\nvariable.trend = calculateTrend()\n\nvariable.last2Trend.push(variable.trend)\n\nfunction calculateTrend() {\n\n if (variable.trend = -1 && variable.currClose > variable.dn1) {\n return 1\n }\n else if (variable.trend = 1 && variable.currClose < variable.up1) {\n return -1\n } \n else {\n return variable.prevTrend\n }\n}\n\n// End of code :-)","project":"Superalgos","id":"8f978d1c-9ed3-4dc6-9393-85f1a9497a8f","savedPayload":{"position":{"x":34813.47115952182,"y":19010.06260747479},"targetPosition":{"x":34801.7117074042,"y":18898.17889424586},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ab4157e5-9690-48a8-9826-c70b3802e617","savedPayload":{"position":{"x":34801.7117074042,"y":18898.17889424586},"targetPosition":{"x":34778.19280316899,"y":18674.411467788},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","project":"Superalgos","procedureJavascriptCode":{"type":"Procedure Javascript Code","name":"New Procedure Javascript Code","code":"/* Initialization Code*/\n\n//// Arrays to store past data\nvariable.lastNPeriodTR = []\nvariable.last2uptrend = [0]\nvariable.last2downtrend = [0]\nvariable.last2Trend = [0]\n\n// Initialize trend\nvariable.trend = 1","project":"Superalgos","id":"179290ba-51ab-4754-be1c-90355b7a74c2","savedPayload":{"position":{"x":34640.9191861309,"y":18982.733059742375},"targetPosition":{"x":34686.677058476926,"y":18879.959195757583},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"17591e91-1610-4ccd-ab12-167be170d523","savedPayload":{"position":{"x":34686.677058476926,"y":18879.959195757583},"targetPosition":{"x":34778.19280316899,"y":18674.411467788},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"eee493c1-3895-4351-91ea-b53baf429bbb","savedPayload":{"position":{"x":34778.19280316899,"y":18674.411467788},"targetPosition":{"x":34848.58831243709,"y":18229.951714520186},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"2bb58403-f839-4e0a-9b04-4f9219d7df83","savedPayload":{"position":{"x":34848.58831243709,"y":18229.951714520186},"targetPosition":{"x":34530.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Super Trend","id":"acfb7d6b-e877-4fb0-bef4-3923c049244b"}}}],"id":"c2aec9e5-4b10-4ebc-89c7-84b3df03c4a4","savedPayload":{"position":{"x":34530.39026090314,"y":17911.75366298624},"targetPosition":{"x":34230.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Indicator Bot","name":"Wave Trend","config":"{ \n\"codeName\": \"Wave-Trend\"\n}","project":"Superalgos","processes":[{"type":"Process Definition","name":"Multi-Time-Frame-Market","config":" {\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"framework\": {\n \"name\": \"Multi-Time-Frame-Market\"\n }\n }","project":"Superalgos","processOutput":{"type":"Process Output","name":"New Process Output","project":"Superalgos","outputDatasets":[{"type":"Output Dataset","name":"Multi-Time-Frame-Market Wave Trend","project":"Superalgos","id":"d39fc6ac-79b2-4308-9c65-05e82bf02c8d","savedPayload":{"position":{"x":35078.820689778826,"y":17597.582537482143},"targetPosition":{"x":34998.18790113113,"y":17807.638133444012},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Market","id":"9b727bdd-1684-43e1-a39c-fbd14ce64828"}}}],"outputDatasetFolders":[],"id":"ce1d6928-a5ef-4a75-af09-51d8b6e5ec3a","savedPayload":{"position":{"x":34998.18790113113,"y":17807.638133444012},"targetPosition":{"x":34917.55511248344,"y":18017.69372940588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","project":"Superalgos","statusDependencies":[{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","project":"Superalgos","id":"88287fbf-f6b6-4b7d-ab0a-557c10b459d2","savedPayload":{"position":{"x":35104.17240592887,"y":17764.212928190736},"targetPosition":{"x":35092.41295381126,"y":17876.096641419666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"64877b9b-6a54-4b10-b82a-ab1a12ff483b"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","project":"Superalgos","id":"f713c037-7ea9-46f2-9982-318e30de5db1","savedPayload":{"position":{"x":35179.84187447517,"y":17805.29809742656},"targetPosition":{"x":35092.41295381126,"y":17876.096641419666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Time-Frame-Market","project":"Superalgos","id":"d4377097-6d3f-418d-8101-2bed732b55ec","savedPayload":{"position":{"x":35204.29666704019,"y":17887.856093537277},"targetPosition":{"x":35092.41295381126,"y":17876.096641419666},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"e2689a2e-356c-4dda-b198-2fa163578c77","savedPayload":{"position":{"x":35092.41295381126,"y":17876.096641419666},"targetPosition":{"x":34917.55511248344,"y":18017.69372940588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","project":"Superalgos","id":"64877b9b-6a54-4b10-b82a-ab1a12ff483b","savedPayload":{"position":{"x":35362.01486575125,"y":17947.298220137778},"targetPosition":{"x":34917.55511248344,"y":18017.69372940588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","project":"Superalgos","id":"dbb205f1-b207-4e15-8523-16a8f5d00c81","savedPayload":{"position":{"x":35127.61070844531,"y":18098.326518053575},"targetPosition":{"x":34917.55511248344,"y":18017.69372940588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","project":"Superalgos","id":"1abb722a-a84a-4dbe-892b-cc35a0776e3a","savedPayload":{"position":{"x":35059.15220046965,"y":18192.5515707337},"targetPosition":{"x":34917.55511248344,"y":18017.69372940588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"26d5d563-1bb6-4766-9601-f43578e09501","savedPayload":{"position":{"x":34917.55511248344,"y":18017.69372940588},"targetPosition":{"x":34473.09535921563,"y":18088.089238673983},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Time-Frame-Daily","config":" {\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"framework\": {\n \"name\": \"Multi-Time-Frame-Daily\"\n }\n }","project":"Superalgos","processOutput":{"type":"Process Output","name":"New Process Output","project":"Superalgos","outputDatasets":[{"type":"Output Dataset","name":"Multi-Time-Frame-Daily Wave Trend","project":"Superalgos","id":"b8a695ab-0f23-4002-82b9-400a29d413c2","savedPayload":{"position":{"x":35659.34391856269,"y":17986.529623437378},"targetPosition":{"x":35248.248462623524,"y":18169.561112821488},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Daily","id":"3bf983d5-4d3c-46f8-a130-9e621b76e62d"}}}],"outputDatasetFolders":[],"id":"c66980e3-2ed9-4ce8-a3b0-a63d5e91bc17","savedPayload":{"position":{"x":35248.248462623524,"y":18169.561112821488},"targetPosition":{"x":34837.153006684355,"y":18352.592602205597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","project":"Superalgos","statusDependencies":[{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","project":"Superalgos","id":"543c4f25-0af0-450b-9ea1-a4a4c6877d4a","savedPayload":{"position":{"x":35704.79905152382,"y":18238.364833380656},"targetPosition":{"x":35284.687859600075,"y":18399.63041067604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a79125c3-e49c-4ad0-85df-8ea1e6b72cb2"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","project":"Superalgos","id":"2f7dd1e6-e0e0-4565-a6b9-a49c2ddcd0b4","savedPayload":{"position":{"x":35734.07115023963,"y":18376.079230366715},"targetPosition":{"x":35284.687859600075,"y":18399.63041067604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Starting Point\"\n}","project":"Superalgos","id":"01b4e456-8585-448d-acd1-d9a730f95eb1","savedPayload":{"position":{"x":35719.35448143016,"y":18516.098980972176},"targetPosition":{"x":35284.687859600075,"y":18399.63041067604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Time-Frame-Daily","project":"Superalgos","id":"97ed7b3c-ce95-484a-8608-e8826f28d08e","savedPayload":{"position":{"x":35662.089615175515,"y":18644.717976432803},"targetPosition":{"x":35284.687859600075,"y":18399.63041067604},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}}],"dataMineDataDependencies":[],"id":"f5fb61fa-828b-4551-8b48-9e9c1fc4fa64","savedPayload":{"position":{"x":35284.687859600075,"y":18399.63041067604},"targetPosition":{"x":34837.153006684355,"y":18352.592602205597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","project":"Superalgos","id":"a79125c3-e49c-4ad0-85df-8ea1e6b72cb2","savedPayload":{"position":{"x":35201.21065415308,"y":18617.09596573721},"targetPosition":{"x":34837.153006684355,"y":18352.592602205597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","project":"Superalgos","id":"17690387-850d-4e80-8d08-abebcf1ec894","savedPayload":{"position":{"x":34928.668751376405,"y":18558.14033017518},"targetPosition":{"x":34837.153006684355,"y":18352.592602205597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","project":"Superalgos","id":"654860da-2fe0-4b1c-a91d-45690a8d11b8","savedPayload":{"position":{"x":34813.63410244913,"y":18576.360028663457},"targetPosition":{"x":34837.153006684355,"y":18352.592602205597},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"56663c74-0c47-441f-8591-d9098f9a610b","savedPayload":{"position":{"x":34837.153006684355,"y":18352.592602205597},"targetPosition":{"x":34473.09535921563,"y":18088.089238673983},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"Wave Trend","config":"{\n \"codeName\": \"Wave-Trend\",\n \"singularVariableName\": \"waveTrend\",\n \"pluralVariableName\": \"waveTrends\"\n}","project":"Superalgos","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/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }","project":"Superalgos","id":"9b727bdd-1684-43e1-a39c-fbd14ce64828","savedPayload":{"position":{"x":34787.327655984205,"y":18520.592890774387},"targetPosition":{"x":34520.025698727695,"y":18384.395740852524},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"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/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","project":"Superalgos","id":"3bf983d5-4d3c-46f8-a130-9e621b76e62d","savedPayload":{"position":{"x":34656.22284864956,"y":18651.697698109034},"targetPosition":{"x":34520.025698727695,"y":18384.395740852524},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","project":"Superalgos","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"record.current.begin","project":"Superalgos","id":"7c0c0127-d33a-40cd-95ce-a4c4db782862","savedPayload":{"position":{"x":34892.452596577736,"y":19354.60097983951},"targetPosition":{"x":34659.308808140646,"y":19165.804862524557},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1fa9f019-5b1a-4310-acb9-18be189b37a7","savedPayload":{"position":{"x":34659.308808140646,"y":19165.804862524557},"targetPosition":{"x":34426.165019703556,"y":18977.008745209605},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{ \n\"codeName\": \"end\",\n\"isString\": false,\n\"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"record.current.end","project":"Superalgos","id":"fe518407-7360-4ded-ac8c-743508cf9944","savedPayload":{"position":{"x":34641.18578943074,"y":19537.157001107924},"targetPosition":{"x":34533.67540456715,"y":19257.082873158764},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"efbc0585-5a1c-4caf-ad89-2e29b5e98ca0","savedPayload":{"position":{"x":34533.67540456715,"y":19257.082873158764},"targetPosition":{"x":34426.165019703556,"y":18977.008745209605},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Record WAVETREND","config":"{ \n \"codeName\": \"waveTrend\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.waveTrend","project":"Superalgos","id":"29c99584-8b16-494a-a1be-0e9d7071641b","savedPayload":{"position":{"x":34355.76951043545,"y":19421.468498477418},"targetPosition":{"x":34379.23468019148,"y":19273.315247388146},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"39424ebf-7f21-4372-8b88-15bb7086cca9","savedPayload":{"position":{"x":34379.23468019148,"y":19273.315247388146},"targetPosition":{"x":34426.165019703556,"y":18977.008745209605},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Record WAVETRENDSIGNAL","config":"{ \n \"codeName\": \"waveTrendSignal\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.waveTrendSignal","project":"Superalgos","id":"a5e59332-48bb-4252-97aa-ac587609a4e8","savedPayload":{"position":{"x":34142.97084373113,"y":19326.72442786524},"targetPosition":{"x":34237.3689023886,"y":19210.152533646695},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d9a10773-5caa-4b8d-8637-ccaa4faef8b2","savedPayload":{"position":{"x":34237.3689023886,"y":19210.152533646695},"targetPosition":{"x":34426.165019703556,"y":18977.008745209605},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Record WT3","config":"{ \n \"codeName\": \"wt3\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.wt3","project":"Superalgos","id":"a8cbbddf-28c6-4d38-8eca-841e44f4884a","savedPayload":{"position":{"x":34006.05382777982,"y":19138.274322504993},"targetPosition":{"x":34146.0908917544,"y":19084.519130073197},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"33d15bce-9db7-4b43-b795-59353cd2e63d","savedPayload":{"position":{"x":34146.0908917544,"y":19084.519130073197},"targetPosition":{"x":34426.165019703556,"y":18977.008745209605},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8a14c05f-d4a6-4cd5-9beb-328ec32e44dd","savedPayload":{"position":{"x":34426.165019703556,"y":18977.008745209605},"targetPosition":{"x":34520.025698727695,"y":18384.395740852524},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","project":"Superalgos","loop":{"type":"Procedure Loop","name":"New Procedure Loop","project":"Superalgos","procedureJavascriptCode":{"type":"Procedure Javascript Code","name":"New Procedure Javascript Code","code":"/* Loop Code */\n\nlet candle = {\n open: record.current.open,\n close: record.current.close,\n min: record.current.min,\n max: record.current.max,\n begin: record.current.begin,\n end: record.current.end,\n} \n\n/* Set constant */\n\nlet n1=10 // Channel Length\nlet n2=21 // Average Length\n\n// Overbought and Oversold Levels\nlet ob=60\nlet ob2=53\nlet os=-60\nlet os2=-53\n\n/* ************** */\n\nvariable.ap = (candle.max+candle.min+candle.close)/3\n\n/* Build 3 EMAs and CI parameter */\n\nvariable.EMAesa = calculateEMA(variable.ap, n1, variable.previousEMAesa)\nif (isNaN(variable.EMAesa)) {variable.EMAesa=0}\nvariable.previousEMAesa = variable.EMAesa\n\nvariable.EMAd = calculateEMA(Math.abs(variable.ap-variable.EMAesa), n1, variable.previousEMAd)\nif (isNaN(variable.EMAd)) {variable.EMAd=0}\nvariable.previousEMAd = variable.EMAd\n\nvariable.ci = (variable.ap-variable.EMAesa)/(0.015*variable.EMAd)\nif (isNaN(variable.ci)) {variable.ci=0}\n\nvariable.EMAtci = calculateEMA(variable.ci, n2, variable.previousEMAtci)\nif (isNaN(variable.EMAtci)) {variable.EMAtci=0}\nvariable.previousEMAtci = variable.EMAtci\n\nfunction calculateEMA(src, periods, previousEMA) {\n if (src.length < periods) { return 0 }\n let k = 2 / (periods + 1)\n return src * k + previousEMA * (1-k)\n}\n\n/* Build WAVETREND and WAVETRENDSIGNAL \nFor WAVETRENDSIGNAL we need a SMA\nParameters are SMA(WAVETREND, 4) */\n\nvariable.waveTrend = variable.EMAtci // Wave Trend - It's a line\n\nvariable.last4wt1.push(variable.waveTrend)\nif (variable.last4wt1.length > 4) {\n variable.last4wt1.splice(0, 1) // Remove the first element of the array to keep it at a maximum of 4 elements\n}\n\nvariable.waveTrendSignal = calculateSMA(variable.last4wt1, 4) // Signal - It's a line\n\nfunction calculateSMA(src, periods) { \n // Check we have enough values to make the calculation\n if (src.length < periods) { return 0 }\n \n let sum = 0 // Initialize sum variable\n for (let i = src.length - periods; i < src.length; i++) {\n sum = sum + src[i]\n }\n let sma = sum / periods\n return sma\n}\n\n/* Build WT3 */\n\nvariable.wt3 = variable.waveTrend - variable.waveTrendSignal // Histogram\n\n// End of code :-)","project":"Superalgos","id":"32d5f441-d68a-4c29-89ee-041138ae67d3","savedPayload":{"position":{"x":34182.89366437173,"y":18813.0341261546},"targetPosition":{"x":34232.89366437173,"y":18726.431585776154},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"6c129c1b-0def-43a3-826b-7542c834eb24","savedPayload":{"position":{"x":34232.89366437173,"y":18726.431585776154},"targetPosition":{"x":34307.89366437173,"y":18596.527775208488},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","project":"Superalgos","procedureJavascriptCode":{"type":"Procedure Javascript Code","name":"New Procedure Javascript Code","code":"/* Initialization Code */\n/* WaveTrend needs 3 EMA and 1 SMA\nOthers constants and vars are declared in the loop code\nso to use let and not var and avoid possible conflicts */\n \nvariable.previousEMAesa = 0\nvariable.previousEMAd = 0\nvariable.previousEMAtci = 0\n\nvariable.last4wt1 = [] // Last 4 wt1 records\n\n/* HLC3 */\nvariable.ap = 0","project":"Superalgos","id":"5cad68f2-69ba-42a1-95b5-3a6ae2cac0b1","savedPayload":{"position":{"x":34091.38731342562,"y":18721.527775208488},"targetPosition":{"x":34177.989853804065,"y":18671.527775208488},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c689da4f-8f19-47e6-8f82-11e2f42d3ecd","savedPayload":{"position":{"x":34177.989853804065,"y":18671.527775208488},"targetPosition":{"x":34307.89366437173,"y":18596.527775208488},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"3f88bd6f-cdde-4122-9778-ce7a7588fd7b","savedPayload":{"position":{"x":34307.89366437173,"y":18596.527775208488},"targetPosition":{"x":34520.025698727695,"y":18384.395740852524},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"ff542733-ddbd-4cbf-b90d-a12c49752916","savedPayload":{"position":{"x":34520.025698727695,"y":18384.395740852524},"targetPosition":{"x":34473.09535921563,"y":18088.089238673983},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Wave Trend","id":"cfa6bcb9-8d18-4658-81f4-1f7d55adc742"}}}],"id":"9ce52f75-7caa-4d0e-8faf-09a1e8a8033a","savedPayload":{"position":{"x":34473.09535921563,"y":18088.089238673983},"targetPosition":{"x":34230.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Indicator Bot","name":"Donchian Channel","config":"{ \n\"codeName\": \"Donchian-Channel\"\n}","project":"Superalgos","processes":[{"type":"Process Definition","name":"Multi-Time-Frame-Market","config":"{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"description\": \"Produces the MACD indicator.\",\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Time-Frame-Market\"\n }\n }","project":"Superalgos","processOutput":{"type":"Process Output","name":"New Process Output","project":"Superalgos","outputDatasets":[{"type":"Output Dataset","name":"Multi-Time-Frame-Market Donchian Channel","project":"Superalgos","id":"2000e920-443a-49d2-9003-b16d742547dc","savedPayload":{"position":{"x":35093.59965723939,"y":18006.484346787634},"targetPosition":{"x":34841.998486855766,"y":18169.876057292142},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Market","id":"7298225c-3b68-4f34-a935-fc0ab3d8f662"}}}],"outputDatasetFolders":[],"id":"014aaa46-fa23-41a3-9834-b9382f6af876","savedPayload":{"position":{"x":34841.998486855766,"y":18169.876057292142},"targetPosition":{"x":34590.39731647214,"y":18333.26776779665},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","project":"Superalgos","statusDependencies":[{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","project":"Superalgos","id":"22266684-e056-49a8-8885-4a31cebd34d2","savedPayload":{"position":{"x":35090.725358806165,"y":18094.623533280548},"targetPosition":{"x":34889.98617689851,"y":18317.566980923766},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","project":"Superalgos","id":"d55aa460-8292-4cba-831a-01425cbea4e7","savedPayload":{"position":{"x":35039.780607111694,"y":18309.716587487324},"targetPosition":{"x":34889.98617689851,"y":18317.566980923766},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"8af7a7fd-54f6-496c-b4e3-05a37d838288"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Time-Frame-Market","project":"Superalgos","id":"71b430e7-6a5c-437b-a015-76a8202de236","savedPayload":{"position":{"x":35001.45790072012,"y":18417.936571877595},"targetPosition":{"x":34889.98617689851,"y":18317.566980923766},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"9070474a-4a33-4c1b-8ac0-113ca33928c5","savedPayload":{"position":{"x":34889.98617689851,"y":18317.566980923766},"targetPosition":{"x":34590.39731647214,"y":18333.26776779665},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","project":"Superalgos","id":"8af7a7fd-54f6-496c-b4e3-05a37d838288","savedPayload":{"position":{"x":34857.69927372865,"y":18469.464917718513},"targetPosition":{"x":34590.39731647214,"y":18333.26776779665},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","project":"Superalgos","id":"75ad91f0-37ca-42fb-9c20-c3965f115741","savedPayload":{"position":{"x":34672.093171724395,"y":18459.068352988463},"targetPosition":{"x":34590.39731647214,"y":18333.26776779665},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","project":"Superalgos","id":"f4f25b2a-d402-43d9-b1de-248f2987e80f","savedPayload":{"position":{"x":34598.24770990858,"y":18483.062198009837},"targetPosition":{"x":34590.39731647214,"y":18333.26776779665},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"18bfecb5-3666-4eaf-8b3a-d44a41aa5752","savedPayload":{"position":{"x":34590.39731647214,"y":18333.26776779665},"targetPosition":{"x":34323.09535921563,"y":18197.070617874786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Time-Frame-Daily","config":"{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"description\": \"Produces the MACD indicator.\",\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Time-Frame-Daily\"\n }\n }","project":"Superalgos","processOutput":{"type":"Process Output","name":"New Process Output","project":"Superalgos","outputDatasets":[{"type":"Output Dataset","name":"Multi-Time-Frame-Daily Donchian Channel","project":"Superalgos","id":"a0373c2d-dcd9-4b36-8db8-6c5e377f4e70","savedPayload":{"position":{"x":33608.97088400983,"y":18756.406184765485},"targetPosition":{"x":33631.38991208576,"y":18457.24504561113},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Daily","id":"50ed783e-0e71-4903-8a82-854c8bd2ed6e"}}}],"outputDatasetFolders":[],"id":"a9f3e616-1897-4716-94be-92676ab2c97c","savedPayload":{"position":{"x":33631.38991208576,"y":18457.24504561113},"targetPosition":{"x":33653.80894016169,"y":18158.083906456774},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","project":"Superalgos","statusDependencies":[{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","project":"Superalgos","id":"ab757f0c-c816-42c1-86f0-97c16ef7df9b","savedPayload":{"position":{"x":33446.76773487712,"y":18703.533366689542},"targetPosition":{"x":33484.8129227426,"y":18405.955538751572},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"0c9cddc3-dfd4-49f2-b5e9-2d9cb15164e2"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","project":"Superalgos","id":"5675ab54-d0e8-4038-ab6a-56ef2aa08c55","savedPayload":{"position":{"x":33356.67319292745,"y":18677.212261512315},"targetPosition":{"x":33484.8129227426,"y":18405.955538751572},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Starting Point\"\n}","project":"Superalgos","id":"51eb2e2d-75b5-4aa9-9628-da6fdafee5c0","savedPayload":{"position":{"x":33279.12186053407,"y":18624.338658354547},"targetPosition":{"x":33484.8129227426,"y":18405.955538751572},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Time-Frame-Daily","project":"Superalgos","id":"c19ecb80-d74c-4a66-8bc9-7c164f2f81bf","savedPayload":{"position":{"x":33221.705002443574,"y":18550.088193885374},"targetPosition":{"x":33484.8129227426,"y":18405.955538751572},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}}],"dataMineDataDependencies":[],"id":"22190dfd-2d9d-401b-a391-642f3140b8ba","savedPayload":{"position":{"x":33484.8129227426,"y":18405.955538751572},"targetPosition":{"x":33653.80894016169,"y":18158.083906456774},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","project":"Superalgos","id":"0c9cddc3-dfd4-49f2-b5e9-2d9cb15164e2","savedPayload":{"position":{"x":33518.66360997633,"y":18223.16646732441},"targetPosition":{"x":33653.80894016169,"y":18158.083906456774},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","project":"Superalgos","id":"decfbbf5-ddb1-48ed-9703-3dfd2817fd4a","savedPayload":{"position":{"x":33504.22837058451,"y":18146.87439241881},"targetPosition":{"x":33653.80894016169,"y":18158.083906456774},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","project":"Superalgos","id":"66d5f6e0-5b1e-4fce-9187-11f226def0a6","savedPayload":{"position":{"x":33529.87312401429,"y":18073.58589774723},"targetPosition":{"x":33653.80894016169,"y":18158.083906456774},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"04245397-cdac-4f93-b45f-86787e821ab6","savedPayload":{"position":{"x":34415.80045752811,"y":18482.38757276333},"targetPosition":{"x":34323.09535921563,"y":18197.070617874786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"Donchian Channel","config":"{\n \"codeName\": \"Donchian-Channel\",\n \"singularVariableName\": \"donchian\",\n \"pluralVariableName\": \"donchians\"\n}","project":"Superalgos","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/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }","project":"Superalgos","id":"7298225c-3b68-4f34-a935-fc0ab3d8f662","savedPayload":{"position":{"x":34563.25938760064,"y":18668.419063027653},"targetPosition":{"x":34118.79963433283,"y":18598.02355375955},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"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/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","project":"Superalgos","id":"50ed783e-0e71-4903-8a82-854c8bd2ed6e","savedPayload":{"position":{"x":34189.19514360093,"y":19042.483307027363},"targetPosition":{"x":34118.79963433283,"y":18598.02355375955},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","project":"Superalgos","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"record.current.begin","project":"Superalgos","id":"1a36f31f-c662-44c1-859e-95dfc06c72cf","savedPayload":{"position":{"x":34083.47286386884,"y":19272.098489718886},"targetPosition":{"x":33800.42154718726,"y":19088.282815401315},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"39eca54b-9530-4c5b-a28f-a58a7b7a7f6a","savedPayload":{"position":{"x":33800.42154718726,"y":19088.282815401315},"targetPosition":{"x":33517.37023050568,"y":18904.467141083744},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{ \n\"codeName\": \"end\",\n\"isString\": false,\n\"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"record.current.end","project":"Superalgos","id":"25467c14-bbdd-4b2f-8f55-7463c2e47d0f","savedPayload":{"position":{"x":33482.04346004169,"y":19578.542077043083},"targetPosition":{"x":33499.706845273686,"y":19241.504609063413},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d8a9f877-40ea-4464-823b-6ece32c332a4","savedPayload":{"position":{"x":33499.706845273686,"y":19241.504609063413},"targetPosition":{"x":33517.37023050568,"y":18904.467141083744},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"hiHigh","config":"{ \n \"codeName\": \"hiHigh\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.hiHigh","project":"Superalgos","id":"7d1d3c9b-5638-4ff1-a97b-fccb540d14f4","savedPayload":{"position":{"x":33066.298177635326,"y":19134.29983157689},"targetPosition":{"x":33216.655528592106,"y":19057.688934745842},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"6fd13621-5530-49fc-9b62-cd43937ae9c8","savedPayload":{"position":{"x":33216.655528592106,"y":19057.688934745842},"targetPosition":{"x":33517.37023050568,"y":18904.467141083744},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"loLow","config":"{ \n \"codeName\": \"loLow\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.loLow","project":"Superalgos","id":"ed2dd438-916d-422c-8395-b85103cfac6a","savedPayload":{"position":{"x":33092.79325548331,"y":18628.743629607387},"targetPosition":{"x":33234.3189138241,"y":18720.651466766172},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d8ffc062-4f09-429d-8b7f-fad13e2b0bcc","savedPayload":{"position":{"x":33234.3189138241,"y":18720.651466766172},"targetPosition":{"x":33517.37023050568,"y":18904.467141083744},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Mid Point","config":"{ \n \"codeName\": \"midPoint\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.midPoint","project":"Superalgos","id":"fda3d478-ea77-4a42-a742-e99caddf1b37","savedPayload":{"position":{"x":33543.86530835368,"y":18398.91093911424},"targetPosition":{"x":33535.03361573767,"y":18567.429673104074},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"be82c2e0-7fbd-4aa6-9cc2-203b60a3138d","savedPayload":{"position":{"x":33535.03361573767,"y":18567.429673104074},"targetPosition":{"x":33517.37023050568,"y":18904.467141083744},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"086a47ac-062a-442f-9cde-0fa2f0550df3","savedPayload":{"position":{"x":33517.37023050568,"y":18904.467141083744},"targetPosition":{"x":34118.79963433283,"y":18598.02355375955},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","project":"Superalgos","loop":{"type":"Procedure Loop","name":"New Procedure Loop","project":"Superalgos","procedureJavascriptCode":{"type":"Procedure Javascript Code","name":"New Procedure Javascript Code","code":"/* Loop Code */\n\nlet dcLen = 20 // Channel length\nlet candle = record.current\n\n// Build arrays Max and Min\n\nvariable.lastHighs.push(candle.max) \nvariable.lastLows.push(candle.min)\n\n// Keep the array the correct size\n\nif (variable.lastHighs.length > dcLen) {\n variable.lastHighs.splice(0, 1)\n}\n\nif (variable.lastLows.length > dcLen) {\n variable.lastLows.splice(0, 1)\n}\n\n// Calculate indicator values\n\nvariable.hiHigh = calculateHigh (variable.lastHighs, dcLen) // higher highs\nvariable.loLow = calculateLow (variable.lastLows, dcLen) // lower lows\nvariable.midPoint = (variable.hiHigh + variable.loLow) / 2 // Midpoint\n\nfunction calculateHigh (array, length) {\n\n /* We check we have enough values to make the calculation */\n if (array.length < length) { return 0 }\n\n return Math.max(...array)\n}\n\nfunction calculateLow (array, length) {\n\n /* We check we have enough values to make the calculation */\n if (array.length < length) { return 0 }\n\n return Math.min(...array)\n}\n\n\n// End of code :-)","project":"Superalgos","id":"58b389fb-0695-4083-8b14-cd6679d36d67","savedPayload":{"position":{"x":33474.60161642633,"y":18192.474074503505},"targetPosition":{"x":33583.26827188385,"y":18221.591217077537},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"0655fb31-8425-4174-bc6b-275c313ee834","savedPayload":{"position":{"x":33583.26827188385,"y":18221.591217077537},"targetPosition":{"x":33800.60158279889,"y":18279.825502225605},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","project":"Superalgos","procedureJavascriptCode":{"type":"Procedure Javascript Code","name":"New Procedure Javascript Code","code":"/* Initialization Code*/\n\nvariable.lastHighs = []\nvariable.lastLows = []\n\n","project":"Superalgos","id":"eeb544b6-45f7-4bff-a026-cef0ad9edbff","savedPayload":{"position":{"x":33713.250155076785,"y":17953.825535853044},"targetPosition":{"x":33742.36729765082,"y":18062.492191310565},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"a2c221ef-f3c9-4069-9ff3-4ac1190b1527","savedPayload":{"position":{"x":33742.36729765082,"y":18062.492191310565},"targetPosition":{"x":33800.60158279889,"y":18279.825502225605},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"393374e9-30fa-4598-9143-8df35e487665","savedPayload":{"position":{"x":33800.60158279889,"y":18279.825502225605},"targetPosition":{"x":34118.79963433283,"y":18598.02355375955},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"4768d183-d8ea-4686-8419-f9dad3172020","savedPayload":{"position":{"x":34118.79963433283,"y":18598.02355375955},"targetPosition":{"x":34323.09535921563,"y":18197.070617874786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Donchian Channel","id":"dd7b5cd7-3b5e-4809-949e-777ddcce4648"}}}],"id":"48c69242-e9f9-4433-b12f-6c79ee85d86b","savedPayload":{"position":{"x":34323.09535921563,"y":18197.070617874786},"targetPosition":{"x":34230.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Indicator Bot","name":"Directional Movement Index (DMI)","config":"{ \n\"codeName\": \"DMI\"\n}","project":"Superalgos","processes":[{"type":"Process Definition","name":"Multi-Time-Frame-Market","config":"{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"framework\": {\n \"name\": \"Multi-Time-Frame-Market\"\n }\n }","project":"Superalgos","processOutput":{"type":"Process Output","name":"New Process Output","project":"Superalgos","outputDatasets":[{"type":"Output Dataset","name":"Multi-Time-Frame-Market DMI Directional Movement","project":"Superalgos","id":"5919f5c5-6bee-468c-b910-f5652cbecb82","savedPayload":{"position":{"x":34873.06003336527,"y":18495.774148877063},"targetPosition":{"x":34573.471172938895,"y":18480.07336200418},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Market","id":"ffc7f78b-9ec3-4218-b76f-47233d535a17"}}}],"outputDatasetFolders":[],"id":"7aaea608-87b1-44dd-b913-0b901b31f0a4","savedPayload":{"position":{"x":34573.471172938895,"y":18480.07336200418},"targetPosition":{"x":34273.88231251252,"y":18464.372575131296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","project":"Superalgos","statusDependencies":[{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","project":"Superalgos","id":"fe35d43c-c6df-4e14-8f8f-05097d8780c4","savedPayload":{"position":{"x":34818.92776311629,"y":18565.390778390476},"targetPosition":{"x":34525.48348289615,"y":18627.764285635803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","project":"Superalgos","id":"fd624718-e85a-4d9d-8a67-90d4e961d39d","savedPayload":{"position":{"x":34651.28406808796,"y":18709.46014088806},"targetPosition":{"x":34525.48348289615,"y":18627.764285635803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"f80adcc4-0286-43e6-a21f-b11c8210b305"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Time-Frame-Market","project":"Superalgos","id":"84e787de-6e28-47f7-999b-ccb4df1b58b3","savedPayload":{"position":{"x":34556.67023651881,"y":18774.486425745876},"targetPosition":{"x":34525.48348289615,"y":18627.764285635803},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"0caf1c52-9492-4149-900c-88c36f943c04","savedPayload":{"position":{"x":34525.48348289615,"y":18627.764285635803},"targetPosition":{"x":34273.88231251252,"y":18464.372575131296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","project":"Superalgos","id":"f80adcc4-0286-43e6-a21f-b11c8210b305","savedPayload":{"position":{"x":34410.07946243438,"y":18731.674532387806},"targetPosition":{"x":34273.88231251252,"y":18464.372575131296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","project":"Superalgos","id":"77ab62fd-1ace-4833-852a-4b7fcfa71af1","savedPayload":{"position":{"x":34266.03191907608,"y":18614.167005344483},"targetPosition":{"x":34273.88231251252,"y":18464.372575131296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","project":"Superalgos","id":"1e735ccd-0aac-412e-9cd3-e7371c4da681","savedPayload":{"position":{"x":34192.186457260264,"y":18590.17316032311},"targetPosition":{"x":34273.88231251252,"y":18464.372575131296},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"b15d854d-e6bd-4a3f-86a4-e52298e1bedb","savedPayload":{"position":{"x":34273.88231251252,"y":18464.372575131296},"targetPosition":{"x":34137.68516259066,"y":18197.070617874786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Time-Frame-Daily","config":" {\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"framework\": {\n \"name\": \"Multi-Time-Frame-Daily\"\n }\n }","project":"Superalgos","processOutput":{"type":"Process Output","name":"New Process Output","project":"Superalgos","outputDatasets":[{"type":"Output Dataset","name":"Multi-Time-Frame-Daily DMI Directional Movement","project":"Superalgos","id":"7aa772da-83ed-49bc-ae02-cdf6dec2e327","savedPayload":{"position":{"x":34446.458428093494,"y":18928.274468049767},"targetPosition":{"x":34245.719246185836,"y":18705.33102040655},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Daily","id":"9b222dca-e8c2-4392-9c3e-7c970dca4a52"}}}],"outputDatasetFolders":[],"id":"689dc40b-6766-4c3f-8b01-1337836842d3","savedPayload":{"position":{"x":34245.719246185836,"y":18705.33102040655},"targetPosition":{"x":34044.98006427818,"y":18482.38757276333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","project":"Superalgos","statusDependencies":[{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","project":"Superalgos","id":"68ae89c3-ae95-4f7c-8010-77696f7cece1","savedPayload":{"position":{"x":34296.14968883846,"y":19008.975641420562},"targetPosition":{"x":34107.353571523505,"y":18775.831852983472},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"410a9275-4f43-4cbe-9ee9-a674a8465fb2"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","project":"Superalgos","id":"676dd9be-1e1e-4f80-98af-e9d74d588c9b","savedPayload":{"position":{"x":34214.8639563871,"y":19055.90598093263},"targetPosition":{"x":34107.353571523505,"y":18775.831852983472},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Starting Point\"\n}","project":"Superalgos","id":"7d829a3f-61dc-451c-aedf-2d441bb73ee6","savedPayload":{"position":{"x":34123.05435839639,"y":19075.420713409843},"targetPosition":{"x":34107.353571523505,"y":18775.831852983472},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Time-Frame-Daily","project":"Superalgos","id":"a4433576-f48c-46ad-be60-94456f62807d","savedPayload":{"position":{"x":34029.70785799275,"y":19065.609600870193},"targetPosition":{"x":34107.353571523505,"y":18775.831852983472},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}}],"dataMineDataDependencies":[],"id":"2bc735c8-7b2c-43bf-a5ad-04a92a55b492","savedPayload":{"position":{"x":34107.353571523505,"y":18775.831852983472},"targetPosition":{"x":34044.98006427818,"y":18482.38757276333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","project":"Superalgos","id":"410a9275-4f43-4cbe-9ee9-a674a8465fb2","savedPayload":{"position":{"x":33998.62751512193,"y":18625.046050207606},"targetPosition":{"x":34044.98006427818,"y":18482.38757276333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","project":"Superalgos","id":"f5079609-c590-4de5-aeaf-50454e9462ff","savedPayload":{"position":{"x":33933.50834045657,"y":18582.75716371716},"targetPosition":{"x":34044.98006427818,"y":18482.38757276333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","project":"Superalgos","id":"4a4808ce-da77-4797-9c98-a20c7f4b66ff","savedPayload":{"position":{"x":33898.25792416811,"y":18513.574326385995},"targetPosition":{"x":34044.98006427818,"y":18482.38757276333},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"e7398a04-47e8-4195-9504-c8fb6a7f8006","savedPayload":{"position":{"x":34044.98006427818,"y":18482.38757276333},"targetPosition":{"x":34137.68516259066,"y":18197.070617874786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"DMI Directional Movement","config":"{\n \"codeName\": \"DMI\",\n \"singularVariableName\": \"DMI\",\n \"pluralVariableName\": \"DMIs\"\n}","project":"Superalgos","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/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }","project":"Superalgos","id":"ffc7f78b-9ec3-4218-b76f-47233d535a17","savedPayload":{"position":{"x":34054.930278239844,"y":18719.564394291527},"targetPosition":{"x":33736.73222670589,"y":18401.36634275758},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"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/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","project":"Superalgos","id":"9b222dca-e8c2-4392-9c3e-7c970dca4a52","savedPayload":{"position":{"x":33532.436501823104,"y":18802.319278642346},"targetPosition":{"x":33736.73222670589,"y":18401.36634275758},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","project":"Superalgos","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"record.current.begin","project":"Superalgos","id":"1ec34464-ca30-478d-b477-060d5ce5c395","savedPayload":{"position":{"x":33311.94096274725,"y":18925.939866741035},"targetPosition":{"x":33190.991779775715,"y":18610.85647279823},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"e5938129-efd9-406d-99d7-5138f70c071f","savedPayload":{"position":{"x":33190.991779775715,"y":18610.85647279823},"targetPosition":{"x":33070.04259680418,"y":18295.773078855425},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{ \n\"codeName\": \"end\",\n\"isString\": false,\n\"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"record.current.end","project":"Superalgos","id":"fec95a23-69ea-4963-8525-8eaa5d791bc9","savedPayload":{"position":{"x":32645.251332845535,"y":18820.34660283888},"targetPosition":{"x":32857.64696482486,"y":18558.059840847152},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"138e7e11-7336-481f-9a0c-397cdcf8c275","savedPayload":{"position":{"x":32857.64696482486,"y":18558.059840847152},"targetPosition":{"x":33070.04259680418,"y":18295.773078855425},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"+DI","config":"{ \n \"codeName\": \"plusDI\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.plusDI","project":"Superalgos","id":"ff000762-5411-45e6-bd76-17f41e2b7770","savedPayload":{"position":{"x":32570.02537437789,"y":18216.57813092881},"targetPosition":{"x":32736.69778185332,"y":18242.976446904348},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ae437f00-ed26-439e-8ee2-b464ac13a414","savedPayload":{"position":{"x":32736.69778185332,"y":18242.976446904348},"targetPosition":{"x":33070.04259680418,"y":18295.773078855425},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"-DI","config":"{ \n \"codeName\": \"minusDI\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.minusDI","project":"Superalgos","id":"bc1af38f-d7ee-4af5-a8ed-e793527c0955","savedPayload":{"position":{"x":32888.61882234686,"y":17823.147987941218},"targetPosition":{"x":32949.09341383264,"y":17980.68968491262},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"25cafbf6-5636-4e0e-aabc-5323c92faa92","savedPayload":{"position":{"x":32949.09341383264,"y":17980.68968491262},"targetPosition":{"x":33070.04259680418,"y":18295.773078855425},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"ADX","config":"{ \n \"codeName\": \"adx\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.adx","project":"Superalgos","id":"57bc2009-d447-4470-a9e3-49cab55d6fac","savedPayload":{"position":{"x":33388.63604477316,"y":17902.342935867833},"targetPosition":{"x":33282.4382287835,"y":18033.4863168637},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"01c1bb22-2c02-4b43-8084-71126021fbc9","savedPayload":{"position":{"x":33282.4382287835,"y":18033.4863168637},"targetPosition":{"x":33070.04259680418,"y":18295.773078855425},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"3aa516a7-f994-48ed-9f01-92cf496e5338","savedPayload":{"position":{"x":33070.04259680418,"y":18295.773078855425},"targetPosition":{"x":33736.73222670589,"y":18401.36634275758},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","project":"Superalgos","loop":{"type":"Procedure Loop","name":"New Procedure Loop","project":"Superalgos","procedureJavascriptCode":{"type":"Procedure Javascript Code","name":"New Procedure Javascript Code","code":"/* Loop Code */\n\nlet len = 14 // DI Length\nlet lensig = 14 // ADX Smoothing\n\n// Get Current and Previous Candle Data\nlet currCandle = record.current \nlet prevCandle = record.previous \n\n\n// Make sure data exists for prevCandle\n// Build variable.up = current max - previous max\n\nif (prevCandle === undefined) {\n variable.up = 0\n variable.down = 0\n variable.prevClose = currCandle.close\n} else {\n variable.up = currCandle.max - prevCandle.max\n variable.down = prevCandle.min - currCandle.min\n variable.prevClose = prevCandle.close\n}\n\n\n// console.log (variable.up, variable.down)\n\n\nvariable.plusDM = calculatePlusDM (variable.up,variable.down)\nvariable.minusDM = calculateMinusDM (variable.up,variable.down)\n\n\nfunction calculatePlusDM (up, down) {\n if (up > down && up > 0) {\n return up\n } else {\n return 0\n }\n}\n\nfunction calculateMinusDM (up, down) {\n if (down > up && down > 0) {\n return down\n } else {\n return 0\n }\n}\n\n\nvariable.trueRange = calculateTR()\n\n/* Calculate True Range */\nfunction calculateTR() {\n let hl = currCandle.max - currCandle.min \n if (variable.prevClose === 0) { return hl }\n if (isNaN(variable.prevClose)) { return hl } // Return High-Low when previous Close is 0 \n let hcp = Math.abs(currCandle.max - variable.prevClose)\n let lcp = Math.abs(currCandle.min - variable.prevClose) \n return Math.max(hl, hcp, lcp)\n}\n\n/* Calculate RMA */\nfunction calculateRMA(src, length, prevRMA) {\n if (src.length < length) { return 0 }\n let alpha = 1/length\n return alpha*src+(1-alpha)*prevRMA\n}\n\nvariable.trur = calculateRMA(variable.trueRange, len, variable.previousTrur)\nvariable.previousTrur = variable.trur\n\nk = 100/variable.trur\n\nvariable.basePlusDI = calculateRMA(variable.plusDM, len, variable.previousBasePlusDI)\nvariable.previousBasePlusDI = variable.basePlusDI\n\nvariable.baseMinusDI = calculateRMA(variable.minusDM, len, variable.previousBaseMinusDI)\nvariable.previousBaseMinusDI = variable.baseMinusDI\n\nvariable.plusDI = variable.basePlusDI * k\nif (isNaN(variable.plusDI)) {variable.plusDI=0}\nvariable.minusDI = variable.baseMinusDI * k\nif (isNaN(variable.minusDI)) {variable.minusDI=0}\n\nvariable.sumPlusMinus = variable.plusDI + variable.minusDI\n\nif (variable.sumPlusMinus == 0) {\n variable.sumPlusMinus = 1 \n} else {\n variable.sumPlusMinus = variable.sumPlusMinus\n}\n\nvariable.baseADX = calculateRMA(Math.abs(variable.plusDI - variable.minusDI)/variable.sumPlusMinus, lensig, variable.previousBaseADX)\nvariable.previousBaseADX = variable.baseADX\nvariable.adx = 100 * variable.baseADX\n\n// End of code :-)","project":"Superalgos","id":"3d2db569-3ddf-43da-be3d-c28e5504273d","savedPayload":{"position":{"x":33453.94108545847,"y":17694.61982749804},"targetPosition":{"x":33524.73962945158,"y":17782.04874816195},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"a6258f38-8354-48de-adb7-3b661899667e","savedPayload":{"position":{"x":33524.73962945158,"y":17782.04874816195},"targetPosition":{"x":33666.33671743779,"y":17956.90658948977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","project":"Superalgos","procedureJavascriptCode":{"type":"Procedure Javascript Code","name":"New Procedure Javascript Code","code":"/* Initialization Code*/\n\n\nvariable.previousTrur = 0\nvariable.previousBasePlusDI = 0\nvariable.previousBaseMinusDI = 0\nvariable.previousBaseADX = 0","project":"Superalgos","id":"c2937149-cf61-4d86-808e-979e5948216b","savedPayload":{"position":{"x":33787.28590040933,"y":17641.823195546964},"targetPosition":{"x":33746.96950608549,"y":17746.8509935279},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"9a0b15f6-028e-47c3-9ba3-6c0bef0cdfb3","savedPayload":{"position":{"x":33746.96950608549,"y":17746.8509935279},"targetPosition":{"x":33666.33671743779,"y":17956.90658948977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"da6ee60e-081f-401e-bd6a-5df0a847e64f","savedPayload":{"position":{"x":33666.33671743779,"y":17956.90658948977},"targetPosition":{"x":33736.73222670589,"y":18401.36634275758},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"baba93f1-f096-429d-a544-efe36119fac8","savedPayload":{"position":{"x":33736.73222670589,"y":18401.36634275758},"targetPosition":{"x":34137.68516259066,"y":18197.070617874786},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"DMI Directional Movement","id":"4e8c7782-32a0-496d-baab-d11bb1a562d0"}}}],"id":"de6b7c83-31ee-41f3-83cc-57f47865c6e9","savedPayload":{"position":{"x":34137.68516259066,"y":18197.070617874786},"targetPosition":{"x":34230.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Indicator Bot","name":"Ichimoku Cloud","config":"{ \n\"codeName\": \"Ichimoku\"\n}","project":"Superalgos","processes":[{"type":"Process Definition","name":"Multi-Time-Frame-Market","config":"{\n \"codeName\": \"Multi-Time-Frame-Market\",\n \"description\": \"Produces the MACD indicator.\",\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Time-Frame-Market\"\n }\n }","project":"Superalgos","processOutput":{"type":"Process Output","name":"New Process Output","project":"Superalgos","outputDatasets":[{"type":"Output Dataset","name":"Multi-Time-Frame-Market Ichimoku Cloud","project":"Superalgos","id":"fc0db1a6-d3f2-42ee-8151-3341b44cd685","savedPayload":{"position":{"x":33456.00550317381,"y":19153.25366298624},"targetPosition":{"x":33196.197882038476,"y":19003.25366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Market","id":"80018870-2528-42bf-a3a7-6f0b5e44d9c9"}}}],"outputDatasetFolders":[],"id":"6ff0e507-30a0-44cf-9889-234622011f92","savedPayload":{"position":{"x":33196.197882038476,"y":19003.25366298624},"targetPosition":{"x":32936.39026090314,"y":18853.25366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","project":"Superalgos","statusDependencies":[{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","project":"Superalgos","id":"5e8b154e-58b0-436c-a28e-0d6a165cf7fe","savedPayload":{"position":{"x":33376.168008789864,"y":19190.70699765233},"targetPosition":{"x":33086.39026090314,"y":19113.061284121573},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"a0a61ba9-91cb-4ec7-92fe-134ff079de2d"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","project":"Superalgos","id":"b1eeff79-6ce6-4e3f-916f-efb6f5c57d36","savedPayload":{"position":{"x":33161.39026090314,"y":19242.96509468924},"targetPosition":{"x":33086.39026090314,"y":19113.061284121573},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"dbcf7839-bf6e-41e9-beff-ad4a672dec87"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Time-Frame-Market","project":"Superalgos","id":"8815bfb5-a494-425b-8211-215b858acd8c","savedPayload":{"position":{"x":33047.567404137764,"y":19257.950158064934},"targetPosition":{"x":33086.39026090314,"y":19113.061284121573},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Market","id":"2b03494a-67d6-47f1-89b6-53fc4c9116a8"}}}],"dataMineDataDependencies":[],"id":"17464577-a8e2-4909-b674-bf190ae9bd61","savedPayload":{"position":{"x":33086.39026090314,"y":19113.061284121573},"targetPosition":{"x":32936.39026090314,"y":18853.25366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","project":"Superalgos","id":"dbcf7839-bf6e-41e9-beff-ad4a672dec87","savedPayload":{"position":{"x":32936.39026090314,"y":19153.25366298624},"targetPosition":{"x":32936.39026090314,"y":18853.25366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","project":"Superalgos","id":"28298755-1265-4638-ad84-4ea48d9967c4","savedPayload":{"position":{"x":32861.39026090314,"y":18983.157473553907},"targetPosition":{"x":32936.39026090314,"y":18853.25366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"1824fa00-dd30-4cdc-acc0-01c2f29056c5"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","project":"Superalgos","id":"cffec99c-61ce-4c11-acfe-7cfab0661b92","savedPayload":{"position":{"x":32806.48645033548,"y":18928.25366298624},"targetPosition":{"x":32936.39026090314,"y":18853.25366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"0419a095-c117-4b03-8581-c6c2fb30fe43","savedPayload":{"position":{"x":33940.75482307859,"y":18384.395740852524},"targetPosition":{"x":33987.68516259066,"y":18088.089238673983},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Process Definition","name":"Multi-Time-Frame-Daily","config":"{\n \"codeName\": \"Multi-Time-Frame-Daily\",\n \"description\": \"Produces the MACD indicator.\",\n \"deadWaitTime\": 0,\n \"normalWaitTime\": 0,\n \"retryWaitTime\": 10000,\n \"sleepWaitTime\": 3600000,\n \"comaWaitTime\": 86400000,\n \"framework\": {\n \"name\": \"Multi-Time-Frame-Daily\"\n }\n }","project":"Superalgos","processOutput":{"type":"Process Output","name":"New Process Output","project":"Superalgos","outputDatasets":[{"type":"Output Dataset","name":"Multi-Time-Frame-Daily Ichimoku Cloud","project":"Superalgos","id":"d7fe8959-24a8-4872-90e6-e4e4ecee89c6","savedPayload":{"position":{"x":32855.58263976781,"y":19338.25366298624},"targetPosition":{"x":32855.58263976781,"y":19038.25366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Daily","id":"ef8da44c-8cc5-41fc-add6-f2feff945632"}}}],"outputDatasetFolders":[],"id":"e4fa5f98-33d5-4d71-935b-ce77340cb43a","savedPayload":{"position":{"x":32855.58263976781,"y":19038.25366298624},"targetPosition":{"x":32855.58263976781,"y":18738.25366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"processDependencies":{"type":"Process Dependencies","name":"New Process Dependencies","project":"Superalgos","statusDependencies":[{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Self Reference\"\n}","project":"Superalgos","id":"5097611a-6c4c-4629-9b4e-ab1ae850980f","savedPayload":{"position":{"x":32689.881852894927,"y":19297.650144547944},"targetPosition":{"x":32705.58263976781,"y":18998.061284121573},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"906bf32a-6310-4aa4-83d9-7de0a94906d6"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Ending Point\"\n}","project":"Superalgos","id":"f7e27eb6-6cdb-4352-a880-51f78903cd72","savedPayload":{"position":{"x":32598.07225490422,"y":19278.135412070733},"targetPosition":{"x":32705.58263976781,"y":18998.061284121573},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"2a021da8-9feb-475e-90ab-1586968c17c7"}}},{"type":"Status Dependency","name":"","config":"{ \n\"mainUtility\": \"Market Starting Point\"\n}","project":"Superalgos","id":"826de77b-7a62-4f14-b5ea-911aa0612cec","savedPayload":{"position":{"x":32516.786522452858,"y":19231.205072558663},"targetPosition":{"x":32705.58263976781,"y":18998.061284121573},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Status Report","name":"New Status Report","id":"181c7c34-7243-497a-9ddb-1b0067c6d66e"}}}],"dataDependencies":[{"type":"Data Dependency","name":"Candles Multi-Time-Frame-Daily","project":"Superalgos","id":"ebfa73d9-6cd5-45f7-b66c-464c68692b63","savedPayload":{"position":{"x":32453.981469384184,"y":19161.45299462608},"targetPosition":{"x":32705.58263976781,"y":18998.061284121573},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Time-Frame-Daily","id":"678a567c-f08d-49b9-813b-4e54fd6afadb"}}}],"dataMineDataDependencies":[],"id":"434839d0-e4ac-429e-aed0-5542fda64850","savedPayload":{"position":{"x":32705.58263976781,"y":18998.061284121573},"targetPosition":{"x":32855.58263976781,"y":18738.25366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"statusReport":{"type":"Status Report","name":"New Status Report","project":"Superalgos","id":"906bf32a-6310-4aa4-83d9-7de0a94906d6","savedPayload":{"position":{"x":32725.678829200144,"y":18813.25366298624},"targetPosition":{"x":32855.58263976781,"y":18738.25366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"executionStartedEvent":{"type":"Execution Started Event","name":"","project":"Superalgos","id":"7a8bcb97-9f5e-44e4-861b-dd111ad7c1f2","savedPayload":{"position":{"x":32705.58263976781,"y":18738.25366298624},"targetPosition":{"x":32855.58263976781,"y":18738.25366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Execution Finished Event","name":"New Execution Finished Event","id":"f29d08f9-e7c8-490c-8fca-14851a0d3dc3"}}},"executionFinishedEvent":{"type":"Execution Finished Event","name":"New Execution Finished Event","project":"Superalgos","id":"3d514935-9c3a-4b52-9497-b0cdfb4dedc4","savedPayload":{"position":{"x":32725.678829200144,"y":18663.25366298624},"targetPosition":{"x":32855.58263976781,"y":18738.25366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"13b83df6-2b1a-4535-8b78-5711c9b4630d","savedPayload":{"position":{"x":33744.98006427817,"y":18264.424814361726},"targetPosition":{"x":33987.68516259066,"y":18088.089238673983},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"products":[{"type":"Product Definition","name":"Ichimoku Cloud","config":"{\n \"codeName\": \"Ichimoku\",\n \"singularVariableName\": \"ichimoku\",\n \"pluralVariableName\": \"ichimokus\"\n}","project":"Superalgos","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/@Product/@Dataset/@TimeFrame\",\n \"fileName\": \"Data.json\"\n }","project":"Superalgos","id":"80018870-2528-42bf-a3a7-6f0b5e44d9c9","savedPayload":{"position":{"x":33613.620918590954,"y":18462.153482673693},"targetPosition":{"x":33543.22540932285,"y":18017.69372940588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},{"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/@Product/@Dataset/@TimeFrame/@Year/@Month/@Day\",\n \"fileName\": \"Data.json\",\n \"dataRange\": {\n \"filePath\": \"Project/@Project/@MineType/@Mine/@Bot/@Exchange/@BaseAsset-@QuotedAsset/Output/@Product/@Dataset\",\n \"fileName\": \"Data.Range.json\"\n }\n }","project":"Superalgos","id":"ef8da44c-8cc5-41fc-add6-f2feff945632","savedPayload":{"position":{"x":33142.27247343808,"y":18221.989454288676},"targetPosition":{"x":33543.22540932285,"y":18017.69372940588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}}],"record":{"type":"Record Definition","name":"New Record Definition","project":"Superalgos","properties":[{"type":"Record Property","name":"Begin","config":"{\n \"codeName\": \"begin\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"record.current.begin","project":"Superalgos","id":"72a92d9f-1ed8-4889-85dc-cf06b82a696e","savedPayload":{"position":{"x":33247.35210647924,"y":18013.02174301917},"targetPosition":{"x":33186.877514993466,"y":17855.480046047767},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"e8a2fd42-8b10-4ebd-9403-fda27ec231af","savedPayload":{"position":{"x":33186.877514993466,"y":17855.480046047767},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"End","config":"{ \n\"codeName\": \"end\",\n\"isString\": false,\n\"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"record.current.end","project":"Superalgos","id":"0b6082e7-ec6b-47c1-818e-9af517edf285","savedPayload":{"position":{"x":33039.433254173935,"y":18045.952854074465},"targetPosition":{"x":33048.26494678993,"y":17877.434120084632},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"43e28612-17ea-4a7b-89c7-bd039dec9ea1","savedPayload":{"position":{"x":33048.26494678993,"y":17877.434120084632},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Conversion Line","config":"{ \n \"codeName\": \"conversionLine\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.conversionLine","project":"Superalgos","id":"0e232ef8-ac61-4c1a-ada7-73b687dc805b","savedPayload":{"position":{"x":32836.09564152878,"y":17991.468704975323},"targetPosition":{"x":32912.70653835983,"y":17841.111354018536},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"512e4c3c-391b-4dfa-9e88-0473375d1799","savedPayload":{"position":{"x":32912.70653835983,"y":17841.111354018536},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Base Line","config":"{ \n \"codeName\": \"baseLine\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.baseLine","project":"Superalgos","id":"c9604d93-a559-4469-9cab-5fc86b5e1648","savedPayload":{"position":{"x":32672.49818903433,"y":17858.990100073945},"targetPosition":{"x":32803.641570030195,"y":17752.792284084284},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ca0fadce-a732-4048-991c-9e11de0bed02","savedPayload":{"position":{"x":32803.641570030195,"y":17752.792284084284},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Lagging Span","config":"{\n \"codeName\": \"laggingSpan\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.laggingSpan","project":"Superalgos","id":"f8b08c0d-a298-47c8-98b4-14498ae3f069","savedPayload":{"position":{"x":32576.928382463084,"y":17671.423793688115},"targetPosition":{"x":32739.928365649364,"y":17627.748079827063},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"b1421f51-e5e9-4c19-8ef8-0361872d12a5","savedPayload":{"position":{"x":32739.928365649364,"y":17627.748079827063},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Lead Line 1","config":"{ \n \"codeName\": \"leadLine1\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.leadLine1","project":"Superalgos","id":"33f1f757-9ad5-4c0a-9dff-aae377cb5fc4","savedPayload":{"position":{"x":32565.911109595636,"y":17461.201704178347},"targetPosition":{"x":32732.583517071067,"y":17487.600020153885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"40a00adc-bc21-4ae8-95da-623d84b9fb5f","savedPayload":{"position":{"x":32732.583517071067,"y":17487.600020153885},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Lead Line 2","config":"{ \n \"codeName\": \"leadLine2\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.leadLine2","project":"Superalgos","id":"748194a5-7fc8-4389-83ec-251ea6212867","savedPayload":{"position":{"x":32641.351356999556,"y":17264.673140628605},"targetPosition":{"x":32782.877015340346,"y":17356.58097778739},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"d4dc6e16-82d8-44b5-bf4a-898746e9f906","savedPayload":{"position":{"x":32782.877015340346,"y":17356.58097778739},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Past Begin","config":"{ \n \"codeName\": \"pastBegin\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.pastBegin","project":"Superalgos","id":"36cea089-33a9-4613-bf31-b6559e672bfe","savedPayload":{"position":{"x":32790.204820545565,"y":17115.819677082593},"targetPosition":{"x":32882.112657704354,"y":17257.345335423382},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"6e65d1a7-d1d6-4e55-8a5e-1b633d847760","savedPayload":{"position":{"x":32882.112657704354,"y":17257.345335423382},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Past End","config":"{ \n \"codeName\": \"pastEnd\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.pastEnd","project":"Superalgos","id":"f6122e26-d738-4265-87d7-05e277ca4125","savedPayload":{"position":{"x":32986.73338409531,"y":17040.379429678673},"targetPosition":{"x":33013.131700070844,"y":17207.051837154104},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"6c9f44c4-05fa-45c0-b7c2-4ea0a7215be9","savedPayload":{"position":{"x":33013.131700070844,"y":17207.051837154104},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Forward Begin","config":"{ \n \"codeName\": \"forwardBegin\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.forwardBegin","project":"Superalgos","id":"eea563b8-20c5-4464-8f2f-add8dc54621e","savedPayload":{"position":{"x":33196.95547360508,"y":17051.39670254612},"targetPosition":{"x":33153.27975974403,"y":17214.3966857324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"f4aacf4c-ceb3-42eb-8658-1b75219f91d5","savedPayload":{"position":{"x":33153.27975974403,"y":17214.3966857324},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Forward End","config":"{ \n \"codeName\": \"forwardEnd\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.forwardEnd","project":"Superalgos","id":"b24fdba5-01d6-4172-8d60-97714a1f419e","savedPayload":{"position":{"x":33384.52177999091,"y":17146.96650911737},"targetPosition":{"x":33278.32396400125,"y":17278.109890113235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"66042c7c-421c-4882-b2dc-f68a47c928ea","savedPayload":{"position":{"x":33278.32396400125,"y":17278.109890113235},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Plot Lead Line 1","config":"{ \n \"codeName\": \"plotLeadLine1\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.plotLeadLine1","project":"Superalgos","id":"53b40211-2c67-45d0-909e-aa8182dbe7fa","savedPayload":{"position":{"x":33517.000384892286,"y":17310.563961611817},"targetPosition":{"x":33366.6430339355,"y":17387.174858442864},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"b73f0fd0-94de-4247-a3fb-f066d12c3749","savedPayload":{"position":{"x":33366.6430339355,"y":17387.174858442864},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Plot Lead Line2","config":"{\n \"codeName\": \"plotLeadLine2\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Formula","code":"variable.plotLeadLine2","project":"Superalgos","id":"ed655742-cd9e-4ca2-baad-ea28f5a3fe0a","savedPayload":{"position":{"x":33571.484533991425,"y":17513.90157425697},"targetPosition":{"x":33402.96580000159,"y":17522.73326687297},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"aa927173-5062-420c-bc81-7019042625bc","savedPayload":{"position":{"x":33402.96580000159,"y":17522.73326687297},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Record Property","name":"Past Candles","config":"{\n \"codeName\": \"pastCandles\",\n \"isString\": false,\n \"isCalculated\": false\n}","project":"Superalgos","recordFormula":{"type":"Record Formula","name":"New Record Formula","code":"variable.pastCandles","project":"Superalgos","id":"00944aac-c136-4063-802f-03d9d8779cf4","savedPayload":{"position":{"x":33538.55342293614,"y":17721.82042656227},"targetPosition":{"x":33381.01172596473,"y":17661.3458350765},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"72b95347-8ab2-485c-9d53-01c3f242fd0d","savedPayload":{"position":{"x":33381.01172596473,"y":17661.3458350765},"targetPosition":{"x":33065.928332021926,"y":17540.396652104962},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"4ad846c6-be10-469e-bb6b-178b94b1bcf6","savedPayload":{"position":{"x":33065.928332021926,"y":17540.396652104962},"targetPosition":{"x":33543.22540932285,"y":18017.69372940588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"dataBuilding":{"type":"Data Building Procedure","name":"New Data Building Procedure","project":"Superalgos","loop":{"type":"Procedure Loop","name":"New Procedure Loop","project":"Superalgos","procedureJavascriptCode":{"type":"Procedure Javascript Code","name":"New Procedure Javascript Code","code":"/* Loop Code */\n\n/* Modify value here */\n\nlet conversionPeriods = 20 // Conversion Line Periods\nlet basePeriods = 30 // Base Line Periods\nlet laggingSpan2Periods = 120 // Lagging Span 2 Periods\nlet displacement = 60 // Displacement\nlet maxCandles = 26\t//max candles for lagging line\n\n/* Define candle object and property */\n\nlet candle = {\n open: record.current.open,\n close: record.current.close,\n min: record.current.min,\n max: record.current.max,\n begin: record.current.begin,\n end: record.current.end,\n} \n\n/* We need a function to calculate the average\nof past (length) Lows and Highs\nBasically it is a Donchian\nwith different periods */\n\n// Build arrays Max and Min for each variable\n\nvariable.lastHiConversionPeriods.push(candle.max)\nvariable.lastHiBasePeriods.push(candle.max)\nvariable.lastHiLaggingSpan2Periods.push(candle.max)\n\nvariable.lastLowConversionPeriods.push(candle.min)\nvariable.lastLowBasePeriods.push(candle.min)\nvariable.lastLowLaggingSpan2Periods.push(candle.min)\n\nvariable.pastCandles.push(record.current.close)\t\t// add current close to the past candles array for later retrieval\n\n// And keep the array the correct size\n// Highs\n\nif (variable.lastHiConversionPeriods.length > conversionPeriods) {\n variable.lastHiConversionPeriods.splice(0, 1)\n}\n\nif (variable.lastHiBasePeriods.length > basePeriods) {\n variable.lastHiBasePeriods.splice(0, 1)\n}\n\nif (variable.lastHiLaggingSpan2Periods.length > laggingSpan2Periods) {\n variable.lastHiLaggingSpan2Periods.splice(0, 1)\n}\n\n// Lows\nif (variable.lastLowConversionPeriods.length > conversionPeriods) {\n variable.lastLowConversionPeriods.splice(0, 1)\n}\n\nif (variable.lastLowBasePeriods.length > basePeriods) {\n variable.lastLowBasePeriods.splice(0, 1)\n}\n\nif (variable.lastLowLaggingSpan2Periods.length > laggingSpan2Periods) {\n variable.lastLowLaggingSpan2Periods.splice(0, 1)\n}\n\n// past candles\nif (variable.pastCandles.length > maxCandles) {\n variable.pastCandles.splice(0, 1)\n}\n \n// Build a donchian function to calculate average of Highs and Lows\n\nfunction donchian (srcMax, srcMin, length) {\n\n let hiHigh = calculateHigh (srcMax, length) // higher highs\n let loLow = calculateLow (srcMin, length) // lower lows\n return (hiHigh + loLow) / 2 // Average\n}\n\nfunction calculateHigh (array, length) {\n /* We check we have enough values to make the calculation */\n if (array.length < length) { return 0 }\n return Math.max(...array)\n}\n\nfunction calculateLow (array, length) {\n /* We check we have enough values to make the calculation */\n if (array.length < length) { return 0 }\n return Math.min(...array)\n}\n\n// Build Ichimoku Clouds!\n\nvariable.conversionLine = donchian (variable.lastHiConversionPeriods, variable.lastLowConversionPeriods, conversionPeriods)\nvariable.baseLine = donchian (variable.lastHiBasePeriods, variable.lastLowBasePeriods, basePeriods)\nvariable.plotLeadLine1 = (variable.conversionLine + variable.baseLine) / 2\nvariable.plotLeadLine2 = donchian (variable.lastHiLaggingSpan2Periods, variable.lastLowLaggingSpan2Periods, laggingSpan2Periods)\n\n// Lagging Span is the close price plotted back \"displacement\" periods\nif (variable.pastCandles.length >= maxCandles) {\n\tvariable.laggingSpan = variable.pastCandles[0]\t// always use the first value in the array\n}\nelse { variable.laggingSpan = 0 }\t//return zero if not enough candle history in the array\n\n\n/* We need to plot data in the past for the LaggingLine\nand in the future for LeadLine 1&2\nDefining past/forward Begin/End -> Values are then stored as new properties\nin Record definition so we can use them in Chart Points to plot\ndata in the past and in the future\n*/\n\nvariable.pastBegin = candle.begin - (candle.end-candle.begin)*displacement\nvariable.pastEnd = candle.end - (candle.end-candle.begin)*displacement\n\nvariable.forwardBegin = candle.begin + (candle.end-candle.begin)*displacement\nvariable.forwardEnd = candle.end + (candle.end-candle.begin)*displacement\n\n/* Syncronizing LeadLine 1&2 values with current candle\nso when writing strategy values are synced\n*/\n\nvariable.pastLeadLine1.push(variable.plotLeadLine1)\nif (variable.pastLeadLine1.length > displacement) {\n variable.pastLeadLine1.splice(0, 1)\n}\n\nif (variable.pastLeadLine1.length < displacement) {\n variable.leadLine1 = 0 \n} else {\n variable.leadLine1 = variable.pastLeadLine1[0] // LeadLine1 \n}\n\nvariable.pastLeadLine2.push(variable.plotLeadLine2)\nif (variable.pastLeadLine2.length > displacement) {\n variable.pastLeadLine2.splice(0, 1)\n}\n\nif (variable.pastLeadLine2.length < displacement) {\n variable.leadLine2 = 0 \n} else {\n variable.leadLine2 = variable.pastLeadLine2[0] // LeadLine2\n}\n\n// End of code :-)","project":"Superalgos","id":"899265ba-76d1-4525-b3c3-2e99d73daf7b","savedPayload":{"position":{"x":33729.85774897365,"y":17279.70332554145},"targetPosition":{"x":33735.74554405098,"y":17392.04914820134},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"5d5b6e50-f79b-4039-b835-b0bdc3e58653","savedPayload":{"position":{"x":33735.74554405098,"y":17392.04914820134},"targetPosition":{"x":33747.52113420564,"y":17616.740793521116},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"initialization":{"type":"Procedure Initialization","name":"New Procedure Initialization","project":"Superalgos","procedureJavascriptCode":{"type":"Procedure Javascript Code","name":"New Procedure Javascript Code","code":"/* Initialization Code*/\n\nvariable.lastHiConversionPeriods = []\nvariable.lastHiBasePeriods = []\nvariable.lastHiLaggingSpan2Periods = []\n\nvariable.lastLowConversionPeriods = []\nvariable.lastLowBasePeriods = []\nvariable.lastLowLaggingSpan2Periods = []\n\nvariable.pastLeadLine1 = []\nvariable.pastLeadLine2 = []\n\nvariable.pastCandles = []","project":"Superalgos","id":"50245904-f0f3-43a9-8e7a-164fba5bc780","savedPayload":{"position":{"x":34030.57245088722,"y":17432.925119203544},"targetPosition":{"x":33936.22201199336,"y":17494.197010642736},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"0d1d1ab8-da87-44b2-aa06-1d1c0b034dc1","savedPayload":{"position":{"x":33936.22201199336,"y":17494.197010642736},"targetPosition":{"x":33747.52113420564,"y":17616.740793521116},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"99f9d3e1-78fc-4e8d-b41a-d900687192f9","savedPayload":{"position":{"x":33747.52113420564,"y":17616.740793521116},"targetPosition":{"x":33543.22540932285,"y":18017.69372940588},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"id":"ccd20b4b-2783-4b65-a1ac-087621e5e315","savedPayload":{"position":{"x":33543.22540932285,"y":18017.69372940588},"targetPosition":{"x":33987.68516259066,"y":18088.089238673983},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Plotter Module","name":"Ichimoku","id":"c5dedee0-0553-457c-9a14-5c5d97907cb2"}}}],"id":"ab48285e-a196-4696-b8be-a25c373a64be","savedPayload":{"position":{"x":33987.68516259066,"y":18088.089238673983},"targetPosition":{"x":34230.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"plotters":[{"type":"Plotter","name":"Wave Trend","config":"{ \n \"codeName\": \"PlotterWaveTrend\"\n}","project":"Superalgos","modules":[{"type":"Plotter Module","name":"Wave Trend","config":"{ \n \"codeName\": \"waveTrend\", \n \"icon\": \"oscillator\"\n}","project":"Superalgos","shapes":{"type":"Shapes","name":"New Shapes","project":"Superalgos","chartPoints":[{"type":"Chart Points","name":"WaveTrend + Signal + Histogram","project":"Superalgos","points":[{"type":"Point","name":"WAVETREND Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.waveTrend","project":"Superalgos","id":"2c5ca3e2-3f1d-41b8-8b16-8bec853896c1","savedPayload":{"position":{"x":33065.15865972403,"y":18396.619786799445},"targetPosition":{"x":33174.894510748636,"y":18421.40472173793},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"0067f22f-46a2-4735-86fe-5e5329285f92","savedPayload":{"position":{"x":33174.894510748636,"y":18421.40472173793},"targetPosition":{"x":33394.36621279786,"y":18470.9745916149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"WAVETREND End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.waveTrend","project":"Superalgos","id":"7bbd00d1-0fab-4055-97fe-7993b2677537","savedPayload":{"position":{"x":33189.97294338889,"y":18202.404970435742},"targetPosition":{"x":33258.10403319188,"y":18291.92817749546},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"244f05f3-b51c-4427-8078-3b319ccd0092","savedPayload":{"position":{"x":33258.10403319188,"y":18291.92817749546},"targetPosition":{"x":33394.36621279786,"y":18470.9745916149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SIGNAL Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.waveTrendSignal","project":"Superalgos","id":"6d226efa-bc1b-4192-9fce-b3389535ec68","savedPayload":{"position":{"x":33410.42510938837,"y":18133.856864640635},"targetPosition":{"x":33405.0721438582,"y":18246.229440298725},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"80f21e0b-76c2-48a9-b3d2-1ee3c3f774d9","savedPayload":{"position":{"x":33405.0721438582,"y":18246.229440298725},"targetPosition":{"x":33394.36621279786,"y":18470.9745916149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"SIGNAL End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.waveTrendSignal","project":"Superalgos","id":"fc0f1fb3-ab13-4b01-8496-15c9c15a2b57","savedPayload":{"position":{"x":33623.363139198394,"y":18223.049889942984},"targetPosition":{"x":33547.03083039822,"y":18305.691457166955},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"dd98f729-93b7-4509-bc62-3332f00cd3d0","savedPayload":{"position":{"x":33547.03083039822,"y":18305.691457166955},"targetPosition":{"x":33394.36621279786,"y":18470.9745916149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"WT3 Histogram Zero","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = (record.end - record.begin)/2 + record.begin\ny = 0","project":"Superalgos","id":"0e4d11eb-1949-4d16-a548-1bdee21dd59b","savedPayload":{"position":{"x":33729.150962128246,"y":18428.24963853376},"targetPosition":{"x":33617.55604568479,"y":18442.491289560807},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"8c7a44ee-f5e7-4c27-a129-2567f4c3787a","savedPayload":{"position":{"x":33617.55604568479,"y":18442.491289560807},"targetPosition":{"x":33394.36621279786,"y":18470.9745916149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"WT3 Histogram","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = (record.end - record.begin)/2 + record.begin\ny = record.wt3","project":"Superalgos","id":"3d279675-73d8-45b6-823a-3898e74e3ec2","savedPayload":{"position":{"x":33678.28928012838,"y":18653.440867506164},"targetPosition":{"x":33583.64825768487,"y":18592.61877554241},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"041ff6d0-02aa-4a0f-81e1-8af53427e0bf","savedPayload":{"position":{"x":33583.64825768487,"y":18592.61877554241},"targetPosition":{"x":33394.36621279786,"y":18470.9745916149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Zero Line Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 0","project":"Superalgos","id":"95b28bb4-1b05-45ca-b4b2-c36af8849126","savedPayload":{"position":{"x":33494.57683947115,"y":18793.254098102276},"targetPosition":{"x":33461.173297246714,"y":18685.827595939816},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"82e2aee4-871f-4f54-85b0-2c34acdcbbdd","savedPayload":{"position":{"x":33461.173297246714,"y":18685.827595939816},"targetPosition":{"x":33394.36621279786,"y":18470.9745916149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Zero Line End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 0","project":"Superalgos","id":"6a55e459-a04d-43ed-bd23-f0b8aac737bd","savedPayload":{"position":{"x":33263.97473287643,"y":18782.269165875197},"targetPosition":{"x":33307.4385595169,"y":18678.504307788433},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"2f1122e6-62ec-47c3-a29c-f3eff9169efd","savedPayload":{"position":{"x":33307.4385595169,"y":18678.504307788433},"targetPosition":{"x":33394.36621279786,"y":18470.9745916149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8a7d2782-832c-4732-94ac-b50588cdfe04","savedPayload":{"position":{"x":33394.36621279786,"y":18470.9745916149},"targetPosition":{"x":32994.39026090314,"y":18677.176526392235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"Upper+Lower Levels","project":"Superalgos","points":[{"type":"Point","name":"Upper 53 Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 53","project":"Superalgos","id":"1b2a894d-474b-431f-945f-0d3a19b5e304","savedPayload":{"position":{"x":33983.155694475485,"y":18444.70076059233},"targetPosition":{"x":34101.52958177592,"y":18564.967902012515},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"237d03b2-63ad-400c-9c3c-080bcc7c3d3b","savedPayload":{"position":{"x":34101.52958177592,"y":18564.967902012515},"targetPosition":{"x":34338.277356376806,"y":18805.50218485288},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Upper 53 End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 53","project":"Superalgos","id":"e1cddc05-9901-4b87-bbb3-a093dfdfc40c","savedPayload":{"position":{"x":34298.15706571806,"y":18300.84445452721},"targetPosition":{"x":34311.53049593764,"y":18469.0636979691},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"e042ff20-3176-415f-a4df-09a426fd79da","savedPayload":{"position":{"x":34311.53049593764,"y":18469.0636979691},"targetPosition":{"x":34338.277356376806,"y":18805.50218485288},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Upper 60 Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 60","project":"Superalgos","id":"d75c866e-9530-4d0f-94ca-8ec8b2f9d2ee","savedPayload":{"position":{"x":34631.93116684722,"y":18393.1231091274},"targetPosition":{"x":34534.046563357086,"y":18530.582801035893},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ca64f2c6-152e-4081-8d38-1d8e80045206","savedPayload":{"position":{"x":34534.046563357086,"y":18530.582801035893},"targetPosition":{"x":34338.277356376806,"y":18805.50218485288},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Upper 60 End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 60","project":"Superalgos","id":"16da2601-ca28-4889-9155-12c687a9ec70","savedPayload":{"position":{"x":34828.30138645871,"y":18678.358516342458},"targetPosition":{"x":34664.96004309808,"y":18720.739739179266},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"1a202c3b-ff57-4907-b26f-3caabb330ec3","savedPayload":{"position":{"x":34664.96004309808,"y":18720.739739179266},"targetPosition":{"x":34338.277356376806,"y":18805.50218485288},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Lower 53 Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = -53","project":"Superalgos","id":"d0ce070f-1912-43ce-82c0-77def287c519","savedPayload":{"position":{"x":34795.38391638441,"y":19023.085859098024},"targetPosition":{"x":34643.015063048544,"y":18950.557967682977},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"cab7980f-9dae-4f54-9f56-bf377777b85a","savedPayload":{"position":{"x":34643.015063048544,"y":18950.557967682977},"targetPosition":{"x":34338.277356376806,"y":18805.50218485288},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Lower 53 End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = -53","project":"Superalgos","id":"b3aec95a-cdee-4816-8330-c5ac7ae90c79","savedPayload":{"position":{"x":34548.581206709016,"y":19266.003382501105},"targetPosition":{"x":34478.47992326494,"y":19112.50298328503},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"3e633fdd-4535-4a9d-9b2b-5577533e417d","savedPayload":{"position":{"x":34478.47992326494,"y":19112.50298328503},"targetPosition":{"x":34338.277356376806,"y":18805.50218485288},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Lower 60 Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = -60","project":"Superalgos","id":"f0a9d25e-ccda-4d95-b5e7-b8ad25e0615c","savedPayload":{"position":{"x":34203.37498819623,"y":19293.447277623854},"targetPosition":{"x":34248.34244425642,"y":19130.798913366863},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"3b48dde7-59c2-4c52-9aab-a8bfafcb7e99","savedPayload":{"position":{"x":34248.34244425642,"y":19130.798913366863},"targetPosition":{"x":34338.277356376806,"y":18805.50218485288},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Lower 60 End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = -60","project":"Superalgos","id":"f9969fe0-e387-4247-be00-e26ad15ca006","savedPayload":{"position":{"x":33921.29108702795,"y":19092.57624093341},"targetPosition":{"x":34060.28651014424,"y":18996.884888906567},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"db3520c1-9af2-4715-af97-cca2986db9ac","savedPayload":{"position":{"x":34060.28651014424,"y":18996.884888906567},"targetPosition":{"x":34338.277356376806,"y":18805.50218485288},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"427a710c-2eb9-4fb3-9023-e2dd30f58871","savedPayload":{"position":{"x":34338.277356376806,"y":18805.50218485288},"targetPosition":{"x":32994.39026090314,"y":18677.176526392235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Zero Line","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"8f897a11-c8bb-4e26-a8fb-46a3ee60b983","savedPayload":{"position":{"x":30035.420084380723,"y":24445.677249329667},"targetPosition":{"x":29849.24610600448,"y":24467.937073577912},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"eaa77ce9-3146-4a18-a228-1b5dfb7f58d1","savedPayload":{"position":{"x":29849.24610600448,"y":24467.937073577912},"targetPosition":{"x":29663.07212762824,"y":24490.196897826158},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"WaveTrend + Signal + Histogram Zero Line Begin","project":"Superalgos","id":"c0a1ab8a-0a7a-47c2-a789-28ab62426e9e","savedPayload":{"position":{"x":29810.45708289251,"y":24606.10170774252},"targetPosition":{"x":29663.07212762824,"y":24490.196897826158},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Zero Line Begin","id":"82e2aee4-871f-4f54-85b0-2c34acdcbbdd"}}},{"type":"Polygon Vertex","name":"WaveTrend + Signal + Histogram Zero Line End","project":"Superalgos","id":"371298d7-7c65-4fbe-b4c2-e3fc54cd88dc","savedPayload":{"position":{"x":29685.331951876484,"y":24676.3708762024},"targetPosition":{"x":29663.07212762824,"y":24490.196897826158},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Zero Line End","id":"2f1122e6-62ec-47c3-a29c-f3eff9169efd"}}}],"id":"12090784-30fc-4f0b-853d-d5711b242112","savedPayload":{"position":{"x":33701.83804617165,"y":19233.51961399078},"targetPosition":{"x":32994.39026090314,"y":18677.176526392235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"WT3 Histogram","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.TITANIUM_YELLOW\"\n }\n}","project":"Superalgos","id":"ba324dfe-27b0-41b5-ae10-247e0bc52baf","savedPayload":{"position":{"x":33943.382474113176,"y":18794.97666217412},"targetPosition":{"x":33718.95574832587,"y":18811.027978393944},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.wt3 < 0","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"opacity\": 1,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n}","project":"Superalgos","id":"a268871c-78be-4354-a82c-2218c15a25df","savedPayload":{"position":{"x":33971.18416933427,"y":19183.69515381406},"targetPosition":{"x":33845.06995883007,"y":18997.361566104002},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ae2c64bc-ed7f-470d-b4b0-7118b830ba3c","savedPayload":{"position":{"x":33845.06995883007,"y":18997.361566104002},"targetPosition":{"x":33718.95574832587,"y":18811.027978393944},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0ce7f235-57d6-4ad6-9cf6-a47ac3004b2b","savedPayload":{"position":{"x":33718.95574832587,"y":18811.027978393944},"targetPosition":{"x":33516.57084439598,"y":18712.71546311084},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"WaveTrend + Signal + Histogram WT3 Histogram Zero","project":"Superalgos","id":"cbf4755c-88d8-43cd-9f7c-d2ba81e6a46a","savedPayload":{"position":{"x":33590.1611361424,"y":18925.34064732164},"targetPosition":{"x":33516.57084439598,"y":18712.71546311084},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"WT3 Histogram Zero","id":"8c7a44ee-f5e7-4c27-a129-2567f4c3787a"}}},{"type":"Polygon Vertex","name":"WaveTrend + Signal + Histogram WT3 Histogram","project":"Superalgos","id":"52313113-c0bc-49f4-8f64-a446e5b0fb3d","savedPayload":{"position":{"x":33418.258329112876,"y":18915.100367040726},"targetPosition":{"x":33516.57084439598,"y":18712.71546311084},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"WT3 Histogram","id":"041ff6d0-02aa-4a0f-81e1-8af53427e0bf"}}}],"id":"6399921a-70ac-4c45-ba3d-b2745f291d67","savedPayload":{"position":{"x":33288.75142788883,"y":19527.677263235437},"targetPosition":{"x":32994.39026090314,"y":18677.176526392235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Wave Trend","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.75,\n \"lineWidth\": 0.75,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 1.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"5fb5a80e-4ed6-4131-9762-8a241e4e5de9","savedPayload":{"position":{"x":29506.766636128843,"y":24406.311425576987},"targetPosition":{"x":29442.00299125731,"y":24330.11647624992},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"db105320-a505-4e27-be2a-ad5b2ff77051","savedPayload":{"position":{"x":29442.00299125731,"y":24330.11647624992},"targetPosition":{"x":29320.57115712319,"y":24187.25094626167},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"WaveTrend + Signal + Histogram WAVETREND Begin","project":"Superalgos","id":"d23cd662-a740-425f-b5cd-e0d22580f743","savedPayload":{"position":{"x":29177.70562713494,"y":24308.68278039579},"targetPosition":{"x":29320.57115712319,"y":24187.25094626167},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"WAVETREND Begin","id":"0067f22f-46a2-4735-86fe-5e5329285f92"}}},{"type":"Polygon Vertex","name":"WaveTrend + Signal + Histogram WAVETREND End","project":"Superalgos","id":"5ee7b2b6-96aa-42e1-92e8-78290f09964b","savedPayload":{"position":{"x":29199.13932298907,"y":24044.385416273417},"targetPosition":{"x":29320.57115712319,"y":24187.25094626167},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"WAVETREND End","id":"244f05f3-b51c-4427-8078-3b319ccd0092"}}}],"id":"56bc1d31-4574-45ed-ae1e-a96c0a0ce57d","savedPayload":{"position":{"x":32782.20721894466,"y":19551.806937883423},"targetPosition":{"x":32994.39026090314,"y":18677.176526392235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Signal Line","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.75,\n \"lineWidth\": 0.75,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.75,\n \"lineWidth\": 1.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"038158de-f7fd-458e-869f-a834f376935e","savedPayload":{"position":{"x":29060.152376399248,"y":24222.72430606592},"targetPosition":{"x":29120.8395294124,"y":24143.244311984654},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"8e26548a-c9d4-48ff-8976-9f81905f1e98","savedPayload":{"position":{"x":29120.8395294124,"y":24143.244311984654},"targetPosition":{"x":29234.627941312057,"y":23994.219323082278},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"WaveTrend + Signal + Histogram SIGNAL Begin","project":"Superalgos","id":"1bdf5db8-ea42-4af0-9498-ae171e29c0ab","savedPayload":{"position":{"x":29048.79080341824,"y":24019.1353456267},"targetPosition":{"x":29234.627941312057,"y":23994.219323082278},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SIGNAL Begin","id":"80f21e0b-76c2-48a9-b3d2-1ee3c3f774d9"}}},{"type":"Polygon Vertex","name":"WaveTrend + Signal + Histogram SIGNAL End","project":"Superalgos","id":"dd6a6d21-d877-4b1f-8e3c-09c92f8a5a5c","savedPayload":{"position":{"x":29085.60295240968,"y":23880.43091118262},"targetPosition":{"x":29234.627941312057,"y":23994.219323082278},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"SIGNAL End","id":"dd98f729-93b7-4509-bc62-3332f00cd3d0"}}}],"id":"b233d138-7074-43fb-bca6-d67bed33b3e9","savedPayload":{"position":{"x":32343.02962660858,"y":19298.247636726137},"targetPosition":{"x":32994.39026090314,"y":18677.176526392235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Upper 53","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [3,33],\n \"paletteColor\": \"UI_COLOR.TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"7a412ade-bfb4-4afd-8d02-6e98894ce228","savedPayload":{"position":{"x":28996.37137576998,"y":23883.26838984761},"targetPosition":{"x":29090.394786611225,"y":23849.215516051427},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"8141c484-6521-4a05-a3d9-66941314ad57","savedPayload":{"position":{"x":29090.394786611225,"y":23849.215516051427},"targetPosition":{"x":29266.688681938555,"y":23785.366377683582},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Upper+Lower Levels Upper 53 Begin","project":"Superalgos","id":"5cf6a61d-0d4c-4390-b0e4-4b6f2614593f","savedPayload":{"position":{"x":29096.881914357986,"y":23705.855927528657},"targetPosition":{"x":29266.688681938555,"y":23785.366377683582},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Upper 53 Begin","id":"237d03b2-63ad-400c-9c3c-080bcc7c3d3b"}}},{"type":"Polygon Vertex","name":"Upper+Lower Levels Upper 53 End","project":"Superalgos","id":"6336fba4-1e3f-4574-a645-f8562c8cc41d","savedPayload":{"position":{"x":29202.83954357071,"y":23609.072482356252},"targetPosition":{"x":29266.688681938555,"y":23785.366377683582},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Upper 53 End","id":"e042ff20-3176-415f-a4df-09a426fd79da"}}}],"id":"6c967bd9-801d-44bc-b8e2-30ca4763bb84","savedPayload":{"position":{"x":32110.654433366708,"y":18847.502646316603},"targetPosition":{"x":32994.39026090314,"y":18677.176526392235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Upper 60","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"731315a8-1f99-43de-bdca-06c05c0b277a","savedPayload":{"position":{"x":29002.92230111972,"y":23413.289085532535},"targetPosition":{"x":29118.19390796912,"y":23469.53464079531},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"9caf63a1-7446-4480-8f2f-717e990a1afa","savedPayload":{"position":{"x":29118.19390796912,"y":23469.53464079531},"targetPosition":{"x":29431.66087062816,"y":23622.62411732156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Upper+Lower Levels Upper 60 Begin","project":"Superalgos","id":"ded5d9fd-2b8d-4d29-8921-9109c514dc36","savedPayload":{"position":{"x":29593.497098559226,"y":23290.68530043367},"targetPosition":{"x":29431.66087062816,"y":23622.62411732156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Upper 60 Begin","id":"ca64f2c6-152e-4081-8d38-1d8e80045206"}}},{"type":"Polygon Vertex","name":"Upper+Lower Levels Upper 60 End","project":"Superalgos","id":"2ce948e8-dde1-47f8-a04f-728227d80408","savedPayload":{"position":{"x":29763.391712283956,"y":23784.350503995614},"targetPosition":{"x":29431.66087062816,"y":23622.62411732156},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Upper 60 End","id":"1a202c3b-ff57-4907-b26f-3caabb330ec3"}}}],"id":"7761e0e0-697e-48b4-bbe4-0ac0b22be26f","savedPayload":{"position":{"x":32158.859121188678,"y":18342.68031629794},"targetPosition":{"x":32994.39026090314,"y":18677.176526392235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Lower 53","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [3,33],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [3,33],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"3acb3136-b9e9-424f-9ddc-50309522959a","savedPayload":{"position":{"x":28867.26149931651,"y":23905.245169463928},"targetPosition":{"x":28965.87693468833,"y":23921.828169989363},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"59331a82-0691-4f26-aaa9-b871f57e7118","savedPayload":{"position":{"x":28965.87693468833,"y":23921.828169989363},"targetPosition":{"x":29150.780876010493,"y":23952.921295974556},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Upper+Lower Levels Lower 53 Begin","project":"Superalgos","id":"111eef17-b3f6-4e81-988c-9dea12ec48b0","savedPayload":{"position":{"x":29042.02020546589,"y":23800.18830496512},"targetPosition":{"x":29150.780876010493,"y":23952.921295974556},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Lower 53 Begin","id":"cab7980f-9dae-4f54-9f56-bf377777b85a"}}},{"type":"Polygon Vertex","name":"Upper+Lower Levels Lower 53 End","project":"Superalgos","id":"f9f7600a-d00a-440d-bdfc-7fb43df81e79","savedPayload":{"position":{"x":29181.874001995686,"y":23768.017354652395},"targetPosition":{"x":29150.780876010493,"y":23952.921295974556},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Lower 53 End","id":"3e633fdd-4535-4a9d-9b2b-5577533e417d"}}}],"id":"8058bc7b-06c0-41c1-972b-62e146a7515d","savedPayload":{"position":{"x":32472.339042289062,"y":17944.058169546934},"targetPosition":{"x":32994.39026090314,"y":18677.176526392235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Lower 60","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"13ec6d93-ce9f-48f1-a405-9cdfe5cb1abe","savedPayload":{"position":{"x":29571.666836500346,"y":23473.13189032053},"targetPosition":{"x":29655.27369659256,"y":23527.994381564735},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"5006eb12-faac-4f3a-8814-dba7931a70e5","savedPayload":{"position":{"x":29655.27369659256,"y":23527.994381564735},"targetPosition":{"x":29812.036559265467,"y":23630.861552647624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"Upper+Lower Levels Lower 60 Begin","project":"Superalgos","id":"308980bc-2ba9-4756-bf65-b06c40f19b31","savedPayload":{"position":{"x":29914.903730348356,"y":23474.09868997472},"targetPosition":{"x":29812.036559265467,"y":23630.861552647624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Lower 60 Begin","id":"3b48dde7-59c2-4c52-9aab-a8bfafcb7e99"}}},{"type":"Polygon Vertex","name":"Upper+Lower Levels Lower 60 End","project":"Superalgos","id":"d5881d46-60c2-4f18-80ef-9defa218d9a5","savedPayload":{"position":{"x":29995.62271673388,"y":23592.751543647584},"targetPosition":{"x":29812.036559265467,"y":23630.861552647624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Lower 60 End","id":"db3520c1-9af2-4715-af97-cca2986db9ac"}}}],"id":"d4fd8b32-5d47-4bdd-bbea-239a78a31f70","savedPayload":{"position":{"x":32951.566536661776,"y":17778.195921127528},"targetPosition":{"x":32994.39026090314,"y":18677.176526392235},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"fd680561-143c-44f1-a9cb-f0c185f6769b","savedPayload":{"position":{"x":32994.39026090314,"y":18677.176526392235},"targetPosition":{"x":33444.39026090314,"y":17897.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Wave Trend","config":"{ \n \"codeName\": \"waveTrend\"\n}","project":"Superalgos","panelData":[{"type":"Panel Data","name":"Wave Trend","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.waveTrend","project":"Superalgos","id":"332d453d-9874-4936-b435-7d09042620d9","savedPayload":{"position":{"x":32395.012207370062,"y":17166.573660987106},"targetPosition":{"x":32829.678829200144,"y":17283.04223128324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\",\n \"opacity\": 1,\n \"fontSize\": 16\n}","project":"Superalgos","id":"540f54ff-b28d-4130-9aa4-deba874115e8","savedPayload":{"position":{"x":32511.4807776662,"y":16964.844179749296},"targetPosition":{"x":32829.678829200144,"y":17283.04223128324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ab66b69f-d80d-40bb-8c50-9948cec124b5","savedPayload":{"position":{"x":32829.678829200144,"y":17283.04223128324},"targetPosition":{"x":33219.39026090314,"y":17508.04223128324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Signal","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.waveTrendSignal","project":"Superalgos","id":"a3cc36f6-bb87-4038-8774-d115eebf8950","savedPayload":{"position":{"x":32994.39026090314,"y":16668.330799580242},"targetPosition":{"x":33219.39026090314,"y":17058.04223128324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\",\n \"opacity\": 1,\n \"fontSize\": 16\n}","project":"Superalgos","id":"0fc2adb9-86a3-47b3-a7a3-a602e3a829d5","savedPayload":{"position":{"x":33444.39026090314,"y":16668.330799580242},"targetPosition":{"x":33219.39026090314,"y":17058.04223128324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"901b3dfa-790a-4669-b0d6-97a99262293f","savedPayload":{"position":{"x":33219.39026090314,"y":17058.04223128324},"targetPosition":{"x":33219.39026090314,"y":17508.04223128324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c902b183-78b4-43f5-a537-75795f838954","savedPayload":{"position":{"x":33219.39026090314,"y":17508.04223128324},"targetPosition":{"x":33444.39026090314,"y":17897.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"cfa6bcb9-8d18-4658-81f4-1f7d55adc742","savedPayload":{"position":{"x":33444.39026090314,"y":17897.75366298624},"targetPosition":{"x":33894.39026090314,"y":17897.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f991328f-70b7-492d-baf5-ec38d70e737b","savedPayload":{"position":{"x":33930.39026090314,"y":17911.75366298624},"targetPosition":{"x":34230.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"Super Trend","config":"{ \n \"codeName\": \"PlotterSuperTrend\"\n}","project":"Superalgos","modules":[{"type":"Plotter Module","name":"Super Trend","config":"{ \n \"codeName\": \"superTrend\", \n \"icon\": \"trend\"\n}","project":"Superalgos","shapes":{"type":"Shapes","name":"New Shapes","project":"Superalgos","chartPoints":[{"type":"Chart Points","name":"New Chart Points","project":"Superalgos","points":[{"type":"Point","name":"UP Trend Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.uptrend","project":"Superalgos","id":"05d1244b-e39d-4ec3-a899-4690af33f70d","savedPayload":{"position":{"x":33747.88211784056,"y":18158.869104506997},"targetPosition":{"x":33523.190472520786,"y":18170.64469466166},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"807b982d-7dd4-4b96-ba1f-460b1b6b4fb7","savedPayload":{"position":{"x":33523.190472520786,"y":18170.64469466166},"targetPosition":{"x":33298.49882720101,"y":18182.420284816322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"UP Trend End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.uptrend","project":"Superalgos","id":"709b85bb-ad49-4adb-a651-1b2cecc80b27","savedPayload":{"position":{"x":33459.764404496396,"y":18602.53147674006},"targetPosition":{"x":33379.1316158487,"y":18392.47588077819},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"adf1bd2c-2a5a-4243-9591-2a462635b074","savedPayload":{"position":{"x":33379.1316158487,"y":18392.47588077819},"targetPosition":{"x":33298.49882720101,"y":18182.420284816322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Down Trend Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.downtrend","project":"Superalgos","id":"cf21fd4d-3219-4ab5-994e-aa4b152645ce","savedPayload":{"position":{"x":32948.78314454537,"y":18465.61446078875},"targetPosition":{"x":33123.64098587319,"y":18324.017372802537},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"6e276847-0fa5-4473-898f-ccd4c63591c4","savedPayload":{"position":{"x":33123.64098587319,"y":18324.017372802537},"targetPosition":{"x":33298.49882720101,"y":18182.420284816322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Down Trend End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.downtrend","project":"Superalgos","id":"89c531b8-c842-44cb-ad8f-99d4a9f61f4e","savedPayload":{"position":{"x":32921.09707162557,"y":17937.332719059563},"targetPosition":{"x":33109.79794941329,"y":18059.876501937943},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ab5aabfe-781f-41d6-a809-95299392ca90","savedPayload":{"position":{"x":33109.79794941329,"y":18059.876501937943},"targetPosition":{"x":33298.49882720101,"y":18182.420284816322},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"603526b3-a7a3-4a2b-9233-8a7414077f20","savedPayload":{"position":{"x":33298.49882720101,"y":18182.420284816322},"targetPosition":{"x":33414.967397497145,"y":17747.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"UP Trend","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREEN\"\n }\n}","project":"Superalgos","id":"41571575-f05c-407e-969a-df51b088ef60","savedPayload":{"position":{"x":33025.255965794146,"y":18407.420284816322},"targetPosition":{"x":32967.02168064608,"y":18190.08697390128},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.trend != 1","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"opacity\": 0.0,\n \"lineWidth\": 0,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n}","project":"Superalgos","id":"b3ab1b97-8eee-4c8b-be96-a090897e42ad","savedPayload":{"position":{"x":32648.823629112132,"y":18508.285025435227},"targetPosition":{"x":32807.922654879105,"y":18349.185999668254},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"4070b155-77b5-4c09-b1b4-6ebe49cfcf1d","savedPayload":{"position":{"x":32807.922654879105,"y":18349.185999668254},"targetPosition":{"x":32967.02168064608,"y":18190.08697390128},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"fe128ca4-0803-4db3-b409-8c6a3d31b47b","savedPayload":{"position":{"x":32967.02168064608,"y":18190.08697390128},"targetPosition":{"x":33025.255965794146,"y":17972.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":" UP Trend Begin","project":"Superalgos","id":"87966102-abf2-4ba4-a9b1-2e29faadfb43","savedPayload":{"position":{"x":32635.544534091146,"y":18197.75366298624},"targetPosition":{"x":33025.255965794146,"y":17972.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"UP Trend Begin","id":"807b982d-7dd4-4b96-ba1f-460b1b6b4fb7"}}},{"type":"Polygon Vertex","name":" UP Trend End","project":"Superalgos","id":"04f54fc4-3887-414c-91b2-9d71d70ec519","savedPayload":{"position":{"x":32590.589343964064,"y":17856.285092690105},"targetPosition":{"x":33025.255965794146,"y":17972.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"UP Trend End","id":"adf1bd2c-2a5a-4243-9591-2a462635b074"}}}],"id":"e51152bb-9000-4200-88c1-632aaf05333b","savedPayload":{"position":{"x":33025.255965794146,"y":17972.75366298624},"targetPosition":{"x":33414.967397497145,"y":17747.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Down Trend","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"91670c53-5e35-4144-8fac-6f8feb43e59d","savedPayload":{"position":{"x":33911.24932885277,"y":16108.609894601228},"targetPosition":{"x":34070.34835461974,"y":16267.7089203682},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[{"type":"Style Condition","name":"New Style Condition","code":"record.trend != -1","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"opacity\": 0.0,\n \"lineWidth\": 0,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n}","project":"Superalgos","id":"2395d71a-99ee-4330-84d4-1837025d78d6","savedPayload":{"position":{"x":34186.81692491588,"y":15833.04229853812},"targetPosition":{"x":34128.58263976781,"y":16050.37560945316},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ba17827a-0425-4044-8e15-d29792f800d5","savedPayload":{"position":{"x":34128.58263976781,"y":16050.37560945316},"targetPosition":{"x":34070.34835461974,"y":16267.7089203682},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"a97ad15a-c206-4b75-8d8e-1c95197b9b57","savedPayload":{"position":{"x":34070.34835461974,"y":16267.7089203682},"targetPosition":{"x":34128.58263976781,"y":16485.04223128324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":" Down Trend Begin","project":"Superalgos","id":"54f9e103-c71f-4ec3-b950-0df008f2e6fa","savedPayload":{"position":{"x":34353.58263976781,"y":16095.330799580242},"targetPosition":{"x":34128.58263976781,"y":16485.04223128324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Down Trend Begin","id":"6e276847-0fa5-4473-898f-ccd4c63591c4"}}},{"type":"Polygon Vertex","name":" Down Trend End","project":"Superalgos","id":"d57924a2-920b-40ec-8b56-3ae304ef2979","savedPayload":{"position":{"x":34563.24926159789,"y":16368.573660987106},"targetPosition":{"x":34128.58263976781,"y":16485.04223128324},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Down Trend End","id":"ab5aabfe-781f-41d6-a809-95299392ca90"}}}],"id":"4f25fc3c-5e09-4feb-bcfa-7ac9e729a4dc","savedPayload":{"position":{"x":33189.967397497145,"y":17358.04223128324},"targetPosition":{"x":33414.967397497145,"y":17747.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"cff527e9-cc21-4872-9732-2b713890e8b8","savedPayload":{"position":{"x":33414.967397497145,"y":17747.75366298624},"targetPosition":{"x":33674.77501863248,"y":17597.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Super Trend","config":"{ \n \"codeName\": \"superTrend\"\n}","project":"Superalgos","panelData":[{"type":"Panel Data","name":"Up Trend","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"Up Trend","code":"record.uptrend","project":"Superalgos","id":"5b0f1653-7d8e-4ed1-8dec-70dd6701c16b","savedPayload":{"position":{"x":33282.69059893624,"y":16934.86919257274},"targetPosition":{"x":33492.746194898114,"y":17015.501981220434},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 1,\n \"fontSize\": 14\n}","project":"Superalgos","id":"1384fd63-8258-44d4-ab3f-5f18c3eaaaa1","savedPayload":{"position":{"x":33351.1491069119,"y":16840.644139892614},"targetPosition":{"x":33492.746194898114,"y":17015.501981220434},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"07dfc209-e925-4f10-bbc9-608896333744","savedPayload":{"position":{"x":33492.746194898114,"y":17015.501981220434},"targetPosition":{"x":33674.77501863248,"y":17147.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Down Trend","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.downtrend","project":"Superalgos","id":"14561cfc-7d72-4cb5-8567-7892d8ae6a8c","savedPayload":{"position":{"x":33482.70241201973,"y":16745.065069032113},"targetPosition":{"x":33605.246194898114,"y":16933.765946819833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 1,\n \"fontSize\": 14\n}","project":"Superalgos","id":"9d950966-b1bb-406e-b3b3-d1fdaea7577e","savedPayload":{"position":{"x":33593.47060474345,"y":16709.074301500055},"targetPosition":{"x":33605.246194898114,"y":16933.765946819833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3be37b3c-92d2-4f4c-a0d3-644acc172106","savedPayload":{"position":{"x":33605.246194898114,"y":16933.765946819833},"targetPosition":{"x":33674.77501863248,"y":17147.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Trend","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.trend","project":"Superalgos","id":"d8579565-736a-48ec-af20-e7cd3cdf2294","savedPayload":{"position":{"x":33756.0794325215,"y":16709.074301500055},"targetPosition":{"x":33744.30384236684,"y":16933.765946819833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}","project":"Superalgos","id":"ba78eeae-12db-4b4a-9e68-2b30598fc986","savedPayload":{"position":{"x":33866.847625245224,"y":16745.065069032113},"targetPosition":{"x":33744.30384236684,"y":16933.765946819833},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":3,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c265c3b9-bd32-49fe-8676-d2b93e513455","savedPayload":{"position":{"x":33744.30384236684,"y":16933.765946819833},"targetPosition":{"x":33674.77501863248,"y":17147.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"ATR N Period","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.atrNPeriod","project":"Superalgos","id":"48978331-2944-4c90-8ffe-896ef6ce0a52","savedPayload":{"position":{"x":33902.561714712865,"y":16912.72811723564},"targetPosition":{"x":33856.80384236684,"y":17015.501981220434},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.GREY\",\n \"opacity\": 1,\n \"fontSize\": 14\n}","project":"Superalgos","id":"00b8eb7b-440e-4e3b-81ee-bd1de53de6b0","savedPayload":{"position":{"x":33968.68755559577,"y":17003.742529102823},"targetPosition":{"x":33856.80384236684,"y":17015.501981220434},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"cd7a1729-5463-4d4b-bec3-eb94685354a1","savedPayload":{"position":{"x":33856.80384236684,"y":17015.501981220434},"targetPosition":{"x":33674.77501863248,"y":17147.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"4e328571-7ea2-44a4-8239-a8bfd6614a6d","savedPayload":{"position":{"x":33674.77501863248,"y":17147.75366298624},"targetPosition":{"x":33674.77501863248,"y":17597.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"acfb7d6b-e877-4fb0-bef4-3923c049244b","savedPayload":{"position":{"x":33674.77501863248,"y":17597.75366298624},"targetPosition":{"x":33934.58263976781,"y":17747.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c6fdad31-1843-49e2-abe3-51fe7ed4a836","savedPayload":{"position":{"x":33987.68516259066,"y":17735.418087298498},"targetPosition":{"x":34230.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"Donchian Channel","config":"{ \n \"codeName\": \"PlotterDonchianChannel\"\n}","project":"Superalgos","modules":[{"type":"Plotter Module","name":"Donchian Channel","config":"{ \n \"codeName\": \"donchian\", \n \"icon\": \"oscillator\"\n}","project":"Superalgos","shapes":{"type":"Shapes","name":"New Shapes","project":"Superalgos","chartPoints":[{"type":"Chart Points","name":"New Chart Points","project":"Superalgos","points":[{"type":"Point","name":"hiHigh Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.hiHigh","project":"Superalgos","id":"55651897-b11c-45f5-a388-b2015d93f406","savedPayload":{"position":{"x":34379.51570556086,"y":16993.921110269406},"targetPosition":{"x":34230.21622903357,"y":16825.59206848316},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"50921056-6afc-4c1f-a6b9-3caa26d760af","savedPayload":{"position":{"x":34230.21622903357,"y":16825.59206848316},"targetPosition":{"x":34080.916752506266,"y":16657.263026696917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"hiHigh End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.hiHigh","project":"Superalgos","id":"ba3e4c9d-b10b-4e21-9452-f8fd45fa0c63","savedPayload":{"position":{"x":34003.88026601718,"y":17100.619970647746},"targetPosition":{"x":34042.39850926172,"y":16878.94149867233},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"922ff9da-5d6f-4db2-b052-15b2a9a33fcd","savedPayload":{"position":{"x":34042.39850926172,"y":16878.94149867233},"targetPosition":{"x":34080.916752506266,"y":16657.263026696917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"loLow Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.loLow","project":"Superalgos","id":"8103aa93-0697-45da-bbbc-3872ec54fe9a","savedPayload":{"position":{"x":33784.92034216986,"y":16819.412263722446},"targetPosition":{"x":33883.58581228199,"y":16765.36251804727},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"8e0ce244-ab42-4e17-a9ce-0c7019722135","savedPayload":{"position":{"x":33883.58581228199,"y":16765.36251804727},"targetPosition":{"x":34080.916752506266,"y":16657.263026696917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"loLow End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.loLow","project":"Superalgos","id":"03e5140a-a35e-4f09-82cd-15b5ecc94027","savedPayload":{"position":{"x":33769.592630909996,"y":16526.942110062977},"targetPosition":{"x":33873.36733810876,"y":16570.382415607623},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c4f84735-1bcb-4ff2-9611-ea6f7a344352","savedPayload":{"position":{"x":33873.36733810876,"y":16570.382415607623},"targetPosition":{"x":34080.916752506266,"y":16657.263026696917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Mid Point Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.midPoint","project":"Superalgos","id":"bb353f64-f496-4db0-84c5-650922328ff7","savedPayload":{"position":{"x":33988.69833306687,"y":16332.606264691101},"targetPosition":{"x":34019.43780621333,"y":16440.825185359707},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"881ca3b6-39c7-4930-a596-b3aad84ab0ad","savedPayload":{"position":{"x":34019.43780621333,"y":16440.825185359707},"targetPosition":{"x":34080.916752506266,"y":16657.263026696917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Mid Point End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.midPoint","project":"Superalgos","id":"a016b845-9a98-4e67-a4c5-43f7fb8aa3fc","savedPayload":{"position":{"x":34277.24638597455,"y":16382.74358290065},"targetPosition":{"x":34211.80317481846,"y":16474.250064166074},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"9493a69b-1a23-4b91-928f-88edebf47e71","savedPayload":{"position":{"x":34211.80317481846,"y":16474.250064166074},"targetPosition":{"x":34080.916752506266,"y":16657.263026696917},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"63f034d5-a5e4-47e1-8949-47da43c99b36","savedPayload":{"position":{"x":33345.87019630475,"y":17219.940832169483},"targetPosition":{"x":33786.036616634956,"y":17126.38057130149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"hiHigh","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"65953e73-b3e0-46d9-9eda-6cc40a7f5738","savedPayload":{"position":{"x":32951.82472344386,"y":17219.380348105937},"targetPosition":{"x":33231.89885139302,"y":17111.869963242345},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"f22dc14f-5ba4-49b0-9c92-d8cba9c6b895","savedPayload":{"position":{"x":33231.89885139302,"y":17111.869963242345},"targetPosition":{"x":33511.97297934218,"y":17004.359578378753},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":" hiHigh Begin","project":"Superalgos","id":"45dea2ad-ffd9-4e03-84e5-fddaa7df9365","savedPayload":{"position":{"x":33237.9093420494,"y":16882.338585456015},"targetPosition":{"x":33511.97297934218,"y":17004.359578378753},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"hiHigh Begin","id":"50921056-6afc-4c1f-a6b9-3caa26d760af"}}},{"type":"Polygon Vertex","name":" hiHigh End","project":"Superalgos","id":"261569f5-3798-45cf-94e9-377f8163be3b","savedPayload":{"position":{"x":33404.46259447859,"y":16724.285450429594},"targetPosition":{"x":33511.97297934218,"y":17004.359578378753},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"hiHigh End","id":"922ff9da-5d6f-4db2-b052-15b2a9a33fcd"}}}],"id":"83f6ab27-cdde-40d2-ae59-18b0bc64747b","savedPayload":{"position":{"x":33511.97297934218,"y":17004.359578378753},"targetPosition":{"x":33786.036616634956,"y":17126.38057130149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"loLow","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"81ad12f9-de32-439d-b54f-b8173a9d7e83","savedPayload":{"position":{"x":34734.94473915968,"y":16345.222115563683},"targetPosition":{"x":34797.318246405004,"y":16638.666395783825},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"9d836367-daba-432f-901d-f0c89c5d7d70","savedPayload":{"position":{"x":34797.318246405004,"y":16638.666395783825},"targetPosition":{"x":34859.69175365033,"y":16932.110676003966},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":" loLow Begin","project":"Superalgos","id":"09df170c-f916-4d62-a7c6-eed4a9a575c4","savedPayload":{"position":{"x":35023.08346415484,"y":16680.50950562034},"targetPosition":{"x":34859.69175365033,"y":16932.110676003966},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"loLow Begin","id":"8e0ce244-ab42-4e17-a9ce-0c7019722135"}}},{"type":"Polygon Vertex","name":" loLow End","project":"Superalgos","id":"166b6f98-ae48-4253-8554-6efa78fe8c7b","savedPayload":{"position":{"x":35153.136033870476,"y":16869.73716875864},"targetPosition":{"x":34859.69175365033,"y":16932.110676003966},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"loLow End","id":"c4f84735-1bcb-4ff2-9611-ea6f7a344352"}}}],"id":"955b060d-1916-499a-b281-6ad2d778e470","savedPayload":{"position":{"x":33636.036616634956,"y":16866.57295016616},"targetPosition":{"x":33786.036616634956,"y":17126.38057130149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Mid Point","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 2,\n \"lineDash\": [5,5],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.5,\n \"lineWidth\": 2,\n \"lineDash\": [5,5],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"0babee6c-8476-4607-9c4b-8755442c337c","savedPayload":{"position":{"x":33439.802920985356,"y":16361.73642581683},"targetPosition":{"x":33628.59903830031,"y":16594.88021425392},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"70981c2b-54c8-4621-b6b3-c3f31d20ba9e","savedPayload":{"position":{"x":33628.59903830031,"y":16594.88021425392},"targetPosition":{"x":33817.39515561526,"y":16828.02400269101},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":" Mid Point Begin","project":"Superalgos","id":"18757d43-015d-4613-8eec-c62d45430523","savedPayload":{"position":{"x":33848.75369459555,"y":16529.66743408053},"targetPosition":{"x":33817.39515561526,"y":16828.02400269101},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Mid Point Begin","id":"881ca3b6-39c7-4930-a596-b3aad84ab0ad"}}},{"type":"Polygon Vertex","name":" Mid Point End","project":"Superalgos","id":"caeda3ac-dcce-419a-8b02-385fde1add1d","savedPayload":{"position":{"x":34050.53894405234,"y":16639.227885376058},"targetPosition":{"x":33817.39515561526,"y":16828.02400269101},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Mid Point End","id":"9493a69b-1a23-4b91-928f-88edebf47e71"}}}],"id":"e14b4a49-8143-4d23-91b2-012ccb487ed0","savedPayload":{"position":{"x":33817.39515561526,"y":16828.02400269101},"targetPosition":{"x":33786.036616634956,"y":17126.38057130149},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"e30d5478-bee6-4de2-aaba-d2b7f3c9fcc7","savedPayload":{"position":{"x":33786.036616634956,"y":17126.38057130149},"targetPosition":{"x":34008.98006427818,"y":17327.11975320915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Donchian Channel","config":"{ \n \"codeName\": \"donchian\"\n}","project":"Superalgos","panelData":[{"type":"Panel Data","name":"Higher Highs","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"Higher Highs","code":"record.hiHigh","project":"Superalgos","id":"f20d1bbf-730c-42fe-89d5-dae9247a3e87","savedPayload":{"position":{"x":33640.659903762484,"y":16645.87715268352},"targetPosition":{"x":33907.961861018994,"y":16782.074302605382},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 1,\n \"fontSize\": 14\n}","project":"Superalgos","id":"e9f188e5-39f2-4829-a984-20692feec630","savedPayload":{"position":{"x":33892.26107414611,"y":16482.48544217901},"targetPosition":{"x":33907.961861018994,"y":16782.074302605382},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"fc38d930-d64d-43b1-ab5c-0298399637c7","savedPayload":{"position":{"x":33907.961861018994,"y":16782.074302605382},"targetPosition":{"x":34071.353571523505,"y":17033.67547298901},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Lower Lows","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.loLow","project":"Superalgos","id":"f74f46f9-e98b-480d-a83a-ea771ac8798f","savedPayload":{"position":{"x":34041.02198045635,"y":16454.914237880323},"targetPosition":{"x":34133.72707876883,"y":16740.231192768868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\",\n \"opacity\": 1,\n \"fontSize\": 14\n}","project":"Superalgos","id":"d1dd430a-4173-4e15-b63e-a79ce99f3a1f","savedPayload":{"position":{"x":34334.46626067649,"y":16517.28774512565},"targetPosition":{"x":34133.72707876883,"y":16740.231192768868},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"d335f544-6464-4427-9e05-65e0cee03904","savedPayload":{"position":{"x":34133.72707876883,"y":16740.231192768868},"targetPosition":{"x":34071.353571523505,"y":17033.67547298901},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Mid Point","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.midPoint","project":"Superalgos","id":"e463947a-45b3-43ed-ac68-c7bee6d9e15d","savedPayload":{"position":{"x":34459.151891828995,"y":16602.98180522799},"targetPosition":{"x":34322.95474190713,"y":16870.2837624845},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 1,\n \"fontSize\": 14\n}\n\n\n\n","project":"Superalgos","id":"38521ffb-a1aa-4cea-be3f-2879dcd927a2","savedPayload":{"position":{"x":34622.543602333506,"y":16854.582975611618},"targetPosition":{"x":34322.95474190713,"y":16870.2837624845},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"3019461a-f4d1-4530-8f20-364f06dce9d3","savedPayload":{"position":{"x":34322.95474190713,"y":16870.2837624845},"targetPosition":{"x":34071.353571523505,"y":17033.67547298901},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"239cb3b7-204e-4b5a-969f-d3cc6eec864c","savedPayload":{"position":{"x":34071.353571523505,"y":17033.67547298901},"targetPosition":{"x":34008.98006427818,"y":17327.11975320915},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"dd7b5cd7-3b5e-4809-949e-777ddcce4648","savedPayload":{"position":{"x":34008.98006427818,"y":17327.11975320915},"targetPosition":{"x":34101.68516259066,"y":17612.436708097695},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"45f9ecae-362e-4302-ba60-b6d7f949c9bc","savedPayload":{"position":{"x":34137.68516259066,"y":17626.436708097695},"targetPosition":{"x":34230.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"Directional Movement Index (DMI)","config":"{ \n \"codeName\": \"Plotter-DMI\"\n}","project":"Superalgos","modules":[{"type":"Plotter Module","name":"DMI Directional Movement","config":"{ \n \"codeName\": \"DMI\", \n \"icon\": \"oscillator\"\n}","project":"Superalgos","shapes":{"type":"Shapes","name":"New Shapes","project":"Superalgos","chartPoints":[{"type":"Chart Points","name":"ADX +DI -DI","project":"Superalgos","points":[{"type":"Point","name":"ADX Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.adx","project":"Superalgos","id":"9a5c382e-9075-4fd9-a6c3-3b4595bb9ecb","savedPayload":{"position":{"x":34187.85060728049,"y":17442.310932103002},"targetPosition":{"x":34081.499718345745,"y":17244.03211724173},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"fae38925-e197-4984-bbf3-4f5cf8cdde87","savedPayload":{"position":{"x":34081.499718345745,"y":17244.03211724173},"targetPosition":{"x":33868.79794047625,"y":16847.474487519194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"ADX End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.adx","project":"Superalgos","id":"968b241e-722e-4a8b-aaf4-ee34cb41daaa","savedPayload":{"position":{"x":33602.662165189555,"y":17467.79436396404},"targetPosition":{"x":33691.37409028512,"y":17261.021071815758},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"8cc5bc3c-d019-4a1a-a069-f38d61131e7f","savedPayload":{"position":{"x":33691.37409028512,"y":17261.021071815758},"targetPosition":{"x":33868.79794047625,"y":16847.474487519194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"+DI Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.plusDI","project":"Superalgos","id":"cc9624f8-ae30-4d30-9336-103a59a3bfd1","savedPayload":{"position":{"x":33217.87939006997,"y":17026.16427664265},"targetPosition":{"x":33434.85224020539,"y":16966.601013601496},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"ab40f6c8-026c-4c9e-970b-e1da797e83d7","savedPayload":{"position":{"x":33434.85224020539,"y":16966.601013601496},"targetPosition":{"x":33868.79794047625,"y":16847.474487519194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"+DI End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.plusDI","project":"Superalgos","id":"f4f90058-af66-4c40-822f-ccf546ac016f","savedPayload":{"position":{"x":33323.25155972497,"y":16449.97713350387},"targetPosition":{"x":33505.100353308735,"y":16582.47625150898},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"cee77e2a-f5ac-4f21-91dc-21fd2a63ffd4","savedPayload":{"position":{"x":33505.100353308735,"y":16582.47625150898},"targetPosition":{"x":33868.79794047625,"y":16847.474487519194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-DI Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.minusDI","project":"Superalgos","id":"3abacd0d-e595-4322-9e4f-6e7462a6ce06","savedPayload":{"position":{"x":33839.43128120381,"y":16173.113605406972},"targetPosition":{"x":33849.22016762795,"y":16397.900566111046},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"20776211-c287-4689-9048-83655653dac9","savedPayload":{"position":{"x":33849.22016762795,"y":16397.900566111046},"targetPosition":{"x":33868.79794047625,"y":16847.474487519194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"-DI End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.minusDI","project":"Superalgos","id":"214b0afe-f312-490f-943b-66f6e302086d","savedPayload":{"position":{"x":34377.72469608547,"y":16404.057575995652},"targetPosition":{"x":34208.08244421573,"y":16551.863213170167},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"f0a11eef-05f1-474f-89e7-3bee3ab07a67","savedPayload":{"position":{"x":34208.08244421573,"y":16551.863213170167},"targetPosition":{"x":33868.79794047625,"y":16847.474487519194},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"0bea3584-667d-4f44-a761-cd73fde6da89","savedPayload":{"position":{"x":33307.13836205333,"y":17278.637554065637},"targetPosition":{"x":34109.04423382286,"y":16870.046104300047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Chart Points","name":"BANDS","project":"Superalgos","points":[{"type":"Point","name":"Band 50 Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 50","project":"Superalgos","id":"8153d621-7b8c-4d0b-a6da-8c82b1a09e2a","savedPayload":{"position":{"x":33134.7695500144,"y":17725.59757243659},"targetPosition":{"x":33166.08349773041,"y":17502.787256969736},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"3190a724-bdd5-42d8-8f98-cb0607d80ce8","savedPayload":{"position":{"x":33166.08349773041,"y":17502.787256969736},"targetPosition":{"x":33228.71139316244,"y":17057.16662603603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Band 50 End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 50","project":"Superalgos","id":"28976ae7-de81-4013-a436-036b58dfdae5","savedPayload":{"position":{"x":32911.818088281965,"y":17653.156251215805},"targetPosition":{"x":33017.44918990879,"y":17454.493042822545},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"75de4dca-059a-43c8-97c0-a17cefd70e72","savedPayload":{"position":{"x":33017.44918990879,"y":17454.493042822545},"targetPosition":{"x":33228.71139316244,"y":17057.16662603603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Band 75 Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 75","project":"Superalgos","id":"28f64dde-54a2-4fd3-b2bd-9b1815490769","savedPayload":{"position":{"x":32727.0886359652,"y":17508.82978532826},"targetPosition":{"x":32894.296221697616,"y":17358.275398897516},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"226d3395-f608-4bf7-9526-6cffaf7b734d","savedPayload":{"position":{"x":32894.296221697616,"y":17358.275398897516},"targetPosition":{"x":33228.71139316244,"y":17057.16662603603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Band 75 End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 75","project":"Superalgos","id":"c1a16632-8d96-4f3e-bdb9-ee30b9c2f300","savedPayload":{"position":{"x":32602.86229132986,"y":17310.02607659177},"targetPosition":{"x":32811.47865860739,"y":17225.73959307319},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"85418e43-44b8-47a0-8172-767bdd742b05","savedPayload":{"position":{"x":32811.47865860739,"y":17225.73959307319},"targetPosition":{"x":33228.71139316244,"y":17057.16662603603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Band 100 Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 100","project":"Superalgos","id":"7bdd757b-7e1f-40b6-b46f-fae1ee4b5b4a","savedPayload":{"position":{"x":32554.122584924553,"y":17080.723786310216},"targetPosition":{"x":32778.98552100385,"y":17072.871399552154},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"f5c6c92d-c739-4f17-964d-080240fc4628","savedPayload":{"position":{"x":32778.98552100385,"y":17072.871399552154},"targetPosition":{"x":33228.71139316244,"y":17057.16662603603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Band 100 End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 100","project":"Superalgos","id":"2c839429-dbff-4e26-9366-5f1b1cc261d2","savedPayload":{"position":{"x":32586.748244663213,"y":16848.58015483294},"targetPosition":{"x":32800.735960829625,"y":16918.108978567303},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"798370e8-9a99-4947-9a67-968bca900833","savedPayload":{"position":{"x":32800.735960829625,"y":16918.108978567303},"targetPosition":{"x":33228.71139316244,"y":17057.16662603603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Band 25 Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = 25","project":"Superalgos","id":"8fc31d22-96f4-4311-82eb-a6db86a2469a","savedPayload":{"position":{"x":32696.804134477905,"y":16641.59513019121},"targetPosition":{"x":32874.10655403942,"y":16780.118962139484},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"c9437036-a169-4106-a07c-3e88867f8ff2","savedPayload":{"position":{"x":32874.10655403942,"y":16780.118962139484},"targetPosition":{"x":33228.71139316244,"y":17057.16662603603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Band 25 End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = 25","project":"Superalgos","id":"b0947b18-8186-4774-a839-5e4f3b0aa1eb","savedPayload":{"position":{"x":32871.01588980503,"y":16484.73416113044},"targetPosition":{"x":32990.2477242575,"y":16675.544982765638},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"id":"748819d2-1545-40ef-aa5b-5bf8d5916733","savedPayload":{"position":{"x":32990.2477242575,"y":16675.544982765638},"targetPosition":{"x":33228.71139316244,"y":17057.16662603603},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"8f04ce0f-d46d-44c8-9bf0-b0cb86b8b0de","savedPayload":{"position":{"x":33228.71139316244,"y":17057.16662603603},"targetPosition":{"x":34109.04423382286,"y":16870.046104300047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"ADX","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"108326b6-7de4-4b09-a38b-b1366de3c0d1","savedPayload":{"position":{"x":34200.61828011816,"y":16709.454405362183},"targetPosition":{"x":34313.055836177744,"y":16705.70660769586},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"4c6d1aad-872b-4d09-9eae-859d28f30589","savedPayload":{"position":{"x":34313.055836177744,"y":16705.70660769586},"targetPosition":{"x":34425.49339223733,"y":16701.95881002954},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"ADX +DI -DI ADX Begin","project":"Superalgos","id":"e70cdd03-d5b5-4da8-a647-ef0b6351f3e5","savedPayload":{"position":{"x":34096.87158626075,"y":16394.53774920792},"targetPosition":{"x":34425.49339223733,"y":16701.95881002954},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"ADX Begin","id":"fae38925-e197-4984-bbf3-4f5cf8cdde87"}}},{"type":"Polygon Vertex","name":"ADX +DI -DI ADX End","project":"Superalgos","id":"8def43f6-65bf-404d-9407-46f1e7b90ea8","savedPayload":{"position":{"x":34410.502201572046,"y":16252.208585791199},"targetPosition":{"x":34425.49339223733,"y":16701.95881002954},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"ADX End","id":"8cc5bc3c-d019-4a1a-a069-f38d61131e7f"}}}],"id":"e493efd6-ece7-4243-8a14-23ea1771b2f1","savedPayload":{"position":{"x":33659.660943183306,"y":16846.494923990722},"targetPosition":{"x":34109.04423382286,"y":16870.046104300047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"+DI","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"1ff8bfc1-8a0e-4cea-bcda-d0dfbbfd6ecd","savedPayload":{"position":{"x":34307.53756263782,"y":16565.66539216746},"targetPosition":{"x":34416.47648426644,"y":16593.746726793765},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"580eab00-426b-410c-8c33-86778ca7f89c","savedPayload":{"position":{"x":34416.47648426644,"y":16593.746726793765},"targetPosition":{"x":34525.41540589505,"y":16621.82806142007},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":1,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"ADX +DI -DI +DI Begin","project":"Superalgos","id":"65ec6c2d-5328-41f2-8eb6-0f03fbed8f42","savedPayload":{"position":{"x":34296.71561357619,"y":16234.27625198898},"targetPosition":{"x":34525.41540589505,"y":16621.82806142007},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"+DI Begin","id":"ab40f6c8-026c-4c9e-970b-e1da797e83d7"}}},{"type":"Polygon Vertex","name":"ADX +DI -DI +DI End","project":"Superalgos","id":"a61c7250-5391-45d5-9da3-133b3089268c","savedPayload":{"position":{"x":34637.740744400275,"y":16186.072374905612},"targetPosition":{"x":34525.41540589505,"y":16621.82806142007},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"+DI End","id":"cee77e2a-f5ac-4f21-91dc-21fd2a63ffd4"}}}],"id":"900f1174-1224-4aa1-9d99-58103f23c4ac","savedPayload":{"position":{"x":33681.068801490044,"y":16730.98845683132},"targetPosition":{"x":34109.04423382286,"y":16870.046104300047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"-DI","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"a6a9fd26-a928-484e-9408-7df706ab8202","savedPayload":{"position":{"x":34364.756172712834,"y":16406.591945658623},"targetPosition":{"x":34450.635909292396,"y":16457.823487164078},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"ed323d74-83e4-4338-b932-bb36584e68c4","savedPayload":{"position":{"x":34450.635909292396,"y":16457.823487164078},"targetPosition":{"x":34643.86531659641,"y":16573.09445555135},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"ADX +DI -DI -DI Begin","project":"Superalgos","id":"654b23d0-1ac9-4511-b0a1-b773a6c905d5","savedPayload":{"position":{"x":34533.615434978914,"y":16136.809040251537},"targetPosition":{"x":34643.86531659641,"y":16573.09445555135},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-DI Begin","id":"20776211-c287-4689-9048-83655653dac9"}}},{"type":"Polygon Vertex","name":"ADX +DI -DI -DI End","project":"Superalgos","id":"ae8b6d1e-6ec2-4bba-a5e6-c2a6d3813b53","savedPayload":{"position":{"x":34874.407253370955,"y":16186.635640943317},"targetPosition":{"x":34643.86531659641,"y":16573.09445555135},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"-DI End","id":"f0a11eef-05f1-474f-89e7-3bee3ab07a67"}}}],"id":"057d309b-88ca-42f6-8e23-ea8ae1e2ed05","savedPayload":{"position":{"x":33731.64247824742,"y":16624.958538543284},"targetPosition":{"x":34109.04423382286,"y":16870.046104300047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Band 50 - 75","project":"Superalgos","polygonBody":{"type":"Polygon Body","name":"New Polygon Body","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.1,\n \"paletteColor\": \"UI_COLOR.LIGHT\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.5,\n \"paletteColor\": \"UI_COLOR.LIGHT\"\n }\n}","project":"Superalgos","id":"f29f2ffc-a9e6-42b3-b524-32f9d70bc7df","savedPayload":{"position":{"x":34199.95251681845,"y":16200.195885252957},"targetPosition":{"x":34390.38401688734,"y":16320.032623282288},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"dc5a2ec9-1b68-453d-bfc8-035e20b66703","savedPayload":{"position":{"x":34390.38401688734,"y":16320.032623282288},"targetPosition":{"x":34771.24701702513,"y":16559.706099340947},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"BANDS Band 50 Begin","project":"Superalgos","id":"0dc3c13a-0b4b-4a8c-bfc2-238bdb440b60","savedPayload":{"position":{"x":34561.24672157358,"y":16161.71128039193},"targetPosition":{"x":34771.24701702513,"y":16559.706099340947},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 50 Begin","id":"3190a724-bdd5-42d8-8f98-cb0607d80ce8"}}},{"type":"Polygon Vertex","name":"BANDS Band 50 End","project":"Superalgos","id":"e2f2d64f-6fd0-477d-932a-20b83ce53cf1","savedPayload":{"position":{"x":34788.37883583637,"y":16110.032327830733},"targetPosition":{"x":34771.24701702513,"y":16559.706099340947},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 50 End","id":"75de4dca-059a-43c8-97c0-a17cefd70e72"}}},{"type":"Polygon Vertex","name":"BANDS Band 75 End","project":"Superalgos","id":"dde5fc42-4c65-4f55-b754-ee07575081e6","savedPayload":{"position":{"x":35010.920493083795,"y":16178.843099203157},"targetPosition":{"x":34771.24701702513,"y":16559.706099340947},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 75 End","id":"85418e43-44b8-47a0-8172-767bdd742b05"}}},{"type":"Polygon Vertex","name":"BANDS Band 75 Begin","project":"Superalgos","id":"4154f4b4-739c-4d2f-90d0-c4c6f735b3f3","savedPayload":{"position":{"x":35169.24183597416,"y":16349.705803889396},"targetPosition":{"x":34771.24701702513,"y":16559.706099340947},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 75 Begin","id":"226d3395-f608-4bf7-9526-6cffaf7b734d"}}}],"id":"0c2cbdcc-700f-45af-a671-29be9b677dcc","savedPayload":{"position":{"x":33807.93546096138,"y":16535.630932835218},"targetPosition":{"x":34109.04423382286,"y":16870.046104300047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Band 75 - 100","project":"Superalgos","polygonBody":{"type":"Polygon Body","name":"New Polygon Body","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.1,\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.5,\n \"paletteColor\": \"UI_COLOR.GREY\"\n }\n}","project":"Superalgos","id":"cd98d7c9-6bd1-4f1f-a21e-ecda719b6888","savedPayload":{"position":{"x":34599.32924805574,"y":16245.481114710245},"targetPosition":{"x":34748.285023718185,"y":16414.114376247828},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"4af5b3ce-bba8-4f3d-9b54-9674f9daa71f","savedPayload":{"position":{"x":34748.285023718185,"y":16414.114376247828},"targetPosition":{"x":34897.24079938061,"y":16582.74763778541},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"BANDS Band 75 Begin","project":"Superalgos","id":"2f2f44d1-6b8f-4def-a1fb-18500da9952b","savedPayload":{"position":{"x":34807.87508939003,"y":16141.710485293836},"targetPosition":{"x":34897.24079938061,"y":16582.74763778541},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 75 Begin","id":"226d3395-f608-4bf7-9526-6cffaf7b734d"}}},{"type":"Polygon Vertex","name":"BANDS Band 75 End","project":"Superalgos","id":"c9d5eb01-23ba-4da5-8029-84f4ac6c2007","savedPayload":{"position":{"x":35040.366400547326,"y":16156.115404719661},"targetPosition":{"x":34897.24079938061,"y":16582.74763778541},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 75 End","id":"85418e43-44b8-47a0-8172-767bdd742b05"}}},{"type":"Polygon Vertex","name":"BANDS Band 100 End","project":"Superalgos","id":"97b2cafc-9ca1-49fd-b86c-ebafcf546842","savedPayload":{"position":{"x":35234.50732245578,"y":16284.836086460542},"targetPosition":{"x":34897.24079938061,"y":16582.74763778541},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 100 End","id":"798370e8-9a99-4947-9a67-968bca900833"}}},{"type":"Polygon Vertex","name":"BANDS Band 100 Begin","project":"Superalgos","id":"d0dedf91-ac18-4ef0-9335-765bcbdf95b0","savedPayload":{"position":{"x":35338.277951872195,"y":16493.381927794824},"targetPosition":{"x":34897.24079938061,"y":16582.74763778541},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 100 Begin","id":"f5c6c92d-c739-4f17-964d-080240fc4628"}}}],"id":"9b1c6d74-48a6-4c92-85ae-8c0d211dfbf5","savedPayload":{"position":{"x":33904.74850894007,"y":16469.093168415282},"targetPosition":{"x":34109.04423382286,"y":16870.046104300047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Level 50","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.2,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK\"\n }\n}","project":"Superalgos","id":"e06383fe-a5dd-4554-a163-f6d0adaa434a","savedPayload":{"position":{"x":35399.57495148172,"y":16298.552996271781},"targetPosition":{"x":35399.57495148172,"y":15998.552996271781},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"281f1f26-a63f-47e8-aced-cf97115f7925","savedPayload":{"position":{"x":34932.79466434463,"y":16197.31343590646},"targetPosition":{"x":35011.6393967303,"y":16640.352382473273},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"BANDS Band 50 Begin","project":"Superalgos","id":"5ab321e2-936f-4946-a708-62011d8bac64","savedPayload":{"position":{"x":35269.16359524669,"y":16271.324894095385},"targetPosition":{"x":35011.6393967303,"y":16640.352382473273},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 50 Begin","id":"3190a724-bdd5-42d8-8f98-cb0607d80ce8"}}},{"type":"Polygon Vertex","name":"BANDS Band 50 End","project":"Superalgos","id":"2afa5b8c-582f-45f6-8749-6e818fa56d7c","savedPayload":{"position":{"x":35454.67834329711,"y":16561.5076500876},"targetPosition":{"x":35011.6393967303,"y":16640.352382473273},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 50 End","id":"75de4dca-059a-43c8-97c0-a17cefd70e72"}}}],"id":"6df98b5c-0db8-447a-adab-23a356c6182b","savedPayload":{"position":{"x":34015.48397295487,"y":16429.879683969833},"targetPosition":{"x":34109.04423382286,"y":16870.046104300047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Level 75","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.2,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.DARK\"\n }\n}","project":"Superalgos","id":"d58e329b-6996-469e-9279-319128435135","savedPayload":{"position":{"x":35619.83160715615,"y":16027.282280815656},"targetPosition":{"x":35384.70725303397,"y":16410.970354774996},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"7befc553-bc07-43b5-9b53-eed7f7564b69","savedPayload":{"position":{"x":35154.34244353759,"y":16280.547655261616},"targetPosition":{"x":35105.17491507156,"y":16727.853539578537},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"BANDS Band 75 Begin","project":"Superalgos","id":"d7ee0589-7046-41da-97e2-64bece0f45ae","savedPayload":{"position":{"x":35456.23463192921,"y":16446.327208305913},"targetPosition":{"x":35105.17491507156,"y":16727.853539578537},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 75 Begin","id":"226d3395-f608-4bf7-9526-6cffaf7b734d"}}},{"type":"Polygon Vertex","name":"BANDS Band 75 End","project":"Superalgos","id":"58218d74-b8ed-4c09-9920-bcd103d2c00b","savedPayload":{"position":{"x":35552.48079938848,"y":16777.02106804457},"targetPosition":{"x":35105.17491507156,"y":16727.853539578537},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 75 End","id":"85418e43-44b8-47a0-8172-767bdd742b05"}}}],"id":"56c84477-78b8-4ec2-bbd6-c0f76f9c9a90","savedPayload":{"position":{"x":34132.595414132185,"y":16420.66281366049},"targetPosition":{"x":34109.04423382286,"y":16870.046104300047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Band 25 - 50","project":"Superalgos","polygonBody":{"type":"Polygon Body","name":"New Polygon Body","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.1,\n \"paletteColor\": \"UI_COLOR.LIGHT_GREY\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.5,\n \"paletteColor\": \"UI_COLOR.LIGHT_GREY\"\n }\n}","project":"Superalgos","id":"6a419c80-9d0a-4f32-8645-44f71498c2a6","savedPayload":{"position":{"x":35230.06811709216,"y":16392.153154796786},"targetPosition":{"x":35200.168890038854,"y":16615.157720269366},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"6c954fd3-d05d-421c-b9dd-9e413759d50b","savedPayload":{"position":{"x":35200.168890038854,"y":16615.157720269366},"targetPosition":{"x":35170.26966298555,"y":16838.162285741946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":"BANDS Band 25 Begin","project":"Superalgos","id":"646f52b1-0faf-44cd-bff8-eaf02feff5cd","savedPayload":{"position":{"x":35445.06120882149,"y":16481.806275076924},"targetPosition":{"x":35170.26966298555,"y":16838.162285741946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 25 Begin","id":"c9437036-a169-4106-a07c-3e88867f8ff2"}}},{"type":"Polygon Vertex","name":"BANDS Band 25 End","project":"Superalgos","id":"88b7af94-e3f7-46d8-b3ea-8438c3919f01","savedPayload":{"position":{"x":35586.424127757185,"y":16666.944700632732},"targetPosition":{"x":35170.26966298555,"y":16838.162285741946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 25 End","id":"748819d2-1545-40ef-aa5b-5bf8d5916733"}}},{"type":"Polygon Vertex","name":"BANDS Band 50 End","project":"Superalgos","id":"215b0fd2-a4c4-487f-a1ef-f6854e918ca3","savedPayload":{"position":{"x":35616.27879393071,"y":16897.96073984856},"targetPosition":{"x":35170.26966298555,"y":16838.162285741946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 50 End","id":"75de4dca-059a-43c8-97c0-a17cefd70e72"}}},{"type":"Polygon Vertex","name":"BANDS Band 50 Begin","project":"Superalgos","id":"fbed1fbe-4264-413d-91ea-4eaf3639bab7","savedPayload":{"position":{"x":35526.62567365057,"y":17112.953831577892},"targetPosition":{"x":35170.26966298555,"y":16838.162285741946},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Band 50 Begin","id":"3190a724-bdd5-42d8-8f98-cb0607d80ce8"}}}],"id":"a39c8312-2af2-4dd4-946b-60dc03bb4868","savedPayload":{"position":{"x":34248.101881291586,"y":16442.070671967227},"targetPosition":{"x":34109.04423382286,"y":16870.046104300047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[{"type":"Text","name":"New Text","project":"Superalgos","textCondition":{"type":"Text Condition","name":"New Text Condition","code":"","project":"Superalgos","id":"bbc7ba15-2edb-4f35-9649-4d9ce3c353de","savedPayload":{"position":{"x":34192.86622228424,"y":16072.533156800866},"targetPosition":{"x":34354.13179957963,"y":16492.644348724607},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"textPosition":{"type":"Text Position","name":"","config":"{ \n\"offsetX\": 0,\n \"offsetY\": 0\n }","project":"Superalgos","id":"ff933fea-8a4b-4532-b1ce-1cdd194f09d9","savedPayload":{"position":{"x":34470.600369875756,"y":16057.977726894525},"targetPosition":{"x":34354.13179957963,"y":16492.644348724607},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"textFormula":{"type":"Text Formula","name":"New Text Formula","code":"record.property","project":"Superalgos","id":"73edee06-950f-45cd-bd90-32ef9303ac94","savedPayload":{"position":{"x":34703.847482235265,"y":16209.450172752178},"targetPosition":{"x":34354.13179957963,"y":16492.644348724607},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{ \n\"configuration\": \"Get the appropriate configuration from the documentation\"\n}","project":"Superalgos","id":"f6f816f8-5f5f-4b00-9fa2-21f2b30db3b2","savedPayload":{"position":{"x":34803.51509021918,"y":16469.093168415282},"targetPosition":{"x":34354.13179957963,"y":16492.644348724607},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"1b37d84b-5045-456c-aabf-924be783d067","savedPayload":{"position":{"x":34354.13179957963,"y":16492.644348724607},"targetPosition":{"x":34109.04423382286,"y":16870.046104300047},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"cdb5a75e-613a-481d-88e0-38991cc242f2","savedPayload":{"position":{"x":34109.04423382286,"y":16870.046104300047},"targetPosition":{"x":34410.153006684355,"y":17204.461275764876},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"DMI Directional Movement","config":"{ \n \"codeName\": \"DMI\"\n}","project":"Superalgos","panelData":[{"type":"Panel Data","name":"ADX","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.adx","project":"Superalgos","id":"0eaf0b8e-aeb3-4b05-be3a-d235958773d2","savedPayload":{"position":{"x":35118.95817308065,"y":16284.115968681886},"targetPosition":{"x":35095.40699277133,"y":16733.499259321445},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.MANGANESE_PURPLE\",\n \"opacity\": 1,\n \"fontSize\": 16\n}","project":"Superalgos","id":"581d5c5a-0805-4d53-80c3-ec3fd38fd825","savedPayload":{"position":{"x":35496.35992865609,"y":16529.20353443865},"targetPosition":{"x":35095.40699277133,"y":16733.499259321445},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"57929c4f-d65a-4342-a156-83e3c37bcde3","savedPayload":{"position":{"x":35095.40699277133,"y":16733.499259321445},"targetPosition":{"x":34850.31942701456,"y":17110.901014896885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"+DI","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.plusDI","project":"Superalgos","id":"f03ad7aa-8df8-48d4-b8f9-ca83062e24f1","savedPayload":{"position":{"x":35624.90101880961,"y":16716.231981167406},"targetPosition":{"x":35290.48584734478,"y":17017.340754028894},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.DARK_TURQUOISE\",\n \"opacity\": 1,\n \"fontSize\": 16\n}","project":"Superalgos","id":"a59f5ccb-0893-4a38-8603-f33c7bd79d86","savedPayload":{"position":{"x":35718.4612796776,"y":17156.39840149762},"targetPosition":{"x":35290.48584734478,"y":17017.340754028894},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"a2d73831-c487-4f26-8b5b-66980654a6ff","savedPayload":{"position":{"x":35290.48584734478,"y":17017.340754028894},"targetPosition":{"x":34850.31942701456,"y":17110.901014896885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"-DI","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.minusDI","project":"Superalgos","id":"b0dc6011-498f-486e-947e-4b7d700927ae","savedPayload":{"position":{"x":35677.10447322956,"y":17379.539760962973},"targetPosition":{"x":35227.72118259,"y":17355.988580653648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.GOLDEN_ORANGE\",\n \"opacity\": 1,\n \"fontSize\": 16\n}","project":"Superalgos","id":"b942aa1f-30ab-4633-bc95-9c9d5c7dc100","savedPayload":{"position":{"x":35432.016907472804,"y":17756.941516538413},"targetPosition":{"x":35227.72118259,"y":17355.988580653648},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"c8fd597b-22d1-43c9-88a0-34afa3fd44c1","savedPayload":{"position":{"x":35227.72118259,"y":17355.988580653648},"targetPosition":{"x":34850.31942701456,"y":17110.901014896885},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"9021a665-2e1b-472e-ab60-6b244795eb9e","savedPayload":{"position":{"x":34850.31942701456,"y":17110.901014896885},"targetPosition":{"x":34410.153006684355,"y":17204.461275764876},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"4e8c7782-32a0-496d-baab-d11bb1a562d0","savedPayload":{"position":{"x":34410.153006684355,"y":17204.461275764876},"targetPosition":{"x":34271.09535921563,"y":17632.436708097695},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"24ac7fd1-9eb7-4931-9103-43dec214e698","savedPayload":{"position":{"x":34323.09535921563,"y":17626.436708097695},"targetPosition":{"x":34230.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Plotter","name":"Ichimoku Cloud","config":"{ \n \"codeName\": \"Plotter-Ichimoku\"\n}","project":"Superalgos","modules":[{"type":"Plotter Module","name":"Ichimoku","config":"{ \n \"codeName\": \"Ichimoku\", \n \"icon\": \"|moving-average\"\n}","project":"Superalgos","shapes":{"type":"Shapes","name":"New Shapes","project":"Superalgos","chartPoints":[{"type":"Chart Points","name":"New Chart Points","project":"Superalgos","points":[{"type":"Point","name":"Lagging Span Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.pastBegin\ny = record.previous.laggingSpan\n","project":"Superalgos","id":"40d770c4-6cc1-4a26-afed-5aae3615acd0","savedPayload":{"position":{"x":34491.969457697836,"y":17458.196811608268},"targetPosition":{"x":34423.09351397275,"y":17166.210331825423},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ed94f11a-7635-42cb-ac2d-fe9d05159b2a","savedPayload":{"position":{"x":34423.09351397275,"y":17166.210331825423},"targetPosition":{"x":34354.21757024765,"y":16874.223852042578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Lagging Span End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.pastEnd\ny = record.laggingSpan\n","project":"Superalgos","id":"a671dd96-1e10-4fe7-bf9c-64acf9379878","savedPayload":{"position":{"x":34154.38221398773,"y":17439.967460392214},"targetPosition":{"x":34254.29989211769,"y":17157.095656217396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"15d9b3e5-54b9-4f6f-9e69-37dae6d9d37b","savedPayload":{"position":{"x":34254.29989211769,"y":17157.095656217396},"targetPosition":{"x":34354.21757024765,"y":16874.223852042578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Conersion Line Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.conversionLine","project":"Superalgos","id":"827748a6-7f40-4a30-a811-f88883118c88","savedPayload":{"position":{"x":34038.233379363206,"y":17119.486957933175},"targetPosition":{"x":34117.22942708432,"y":17058.171181460526},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"a56bb9d9-6e55-4fa3-936d-81582cf1f94d","savedPayload":{"position":{"x":34117.22942708432,"y":17058.171181460526},"targetPosition":{"x":34354.21757024765,"y":16874.223852042578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Conversion Line End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.conversionLine","project":"Superalgos","id":"3e816114-9409-4ef8-ae5b-92de87c7ba20","savedPayload":{"position":{"x":33955.79550728692,"y":16909.718355083376},"targetPosition":{"x":34055.40102302711,"y":16900.844729323177},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"3eaf4ff4-cf81-4928-b2f8-26d75e89d3c0","savedPayload":{"position":{"x":34055.40102302711,"y":16900.844729323177},"targetPosition":{"x":34354.21757024765,"y":16874.223852042578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Base Line Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.begin\ny = record.previous.baseLine","project":"Superalgos","id":"9473832d-9c65-47c0-81b7-06e6399b21b1","savedPayload":{"position":{"x":33999.853825084894,"y":16688.6804983103},"targetPosition":{"x":34088.444761375584,"y":16735.06633674337},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"f7d3e6d3-089b-4bc7-8468-2e42bc6511b7","savedPayload":{"position":{"x":34088.444761375584,"y":16735.06633674337},"targetPosition":{"x":34354.21757024765,"y":16874.223852042578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Base Line End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.end\ny = record.baseLine","project":"Superalgos","id":"01e0f6a0-132f-497a-8cbf-45f305163405","savedPayload":{"position":{"x":34156.420128157464,"y":16526.55134536053},"targetPosition":{"x":34205.86948868001,"y":16613.469472031044},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"385613d8-5b52-44b9-be18-91bca1c86c47","savedPayload":{"position":{"x":34205.86948868001,"y":16613.469472031044},"targetPosition":{"x":34354.21757024765,"y":16874.223852042578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Plot Lead Line 1 Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.forwardBegin\ny = record.previous.plotLeadLine1","project":"Superalgos","id":"19cecf0e-124a-4394-8968-2edcb21cfbd8","savedPayload":{"position":{"x":34375.78572152373,"y":16474.805756745765},"targetPosition":{"x":34370.39368370471,"y":16574.66028056997},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"fbac2c1f-aa48-421f-b725-4b62cc53fc41","savedPayload":{"position":{"x":34370.39368370471,"y":16574.66028056997},"targetPosition":{"x":34354.21757024765,"y":16874.223852042578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Plot Lead Line 1 End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.forwardEnd\ny = record.plotLeadLine1","project":"Superalgos","id":"1584a320-70a4-4487-8b2e-cbacab3288ad","savedPayload":{"position":{"x":34588.303579253115,"y":16549.872591234336},"targetPosition":{"x":34529.78207700175,"y":16630.960406436396},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"cb4fb579-edd5-4de7-a831-003f24afcf39","savedPayload":{"position":{"x":34529.78207700175,"y":16630.960406436396},"targetPosition":{"x":34354.21757024765,"y":16874.223852042578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Plot Lead Line 2 Begin","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.forwardBegin\ny = record.previous.plotLeadLine2","project":"Superalgos","id":"66ad8d46-50dc-4306-9d06-a3c6f4ead8e2","savedPayload":{"position":{"x":34726.50078309597,"y":16727.91865927303},"targetPosition":{"x":34633.42997988389,"y":16764.494957465417},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"b7ab8f9c-d7a0-4c4d-b7d6-1e1d0c02eb83","savedPayload":{"position":{"x":34633.42997988389,"y":16764.494957465417},"targetPosition":{"x":34354.21757024765,"y":16874.223852042578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Point","name":"Plot Lead Line 2 End","project":"Superalgos","pointFormula":{"type":"Point Formula","name":"New Point Formula","code":"x = record.forwardEnd\ny = record.plotLeadLine2","project":"Superalgos","id":"e837a646-7549-469e-8d35-6c1cee681da4","savedPayload":{"position":{"x":34746.500697286974,"y":16952.41559227296},"targetPosition":{"x":34648.429915527144,"y":16932.867657215364},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":1,"arrangementStyle":0},"uiObject":{}}},"id":"02355e05-fe68-4efc-bfae-d2cc6f1457c3","savedPayload":{"position":{"x":34648.429915527144,"y":16932.867657215364},"targetPosition":{"x":34354.21757024765,"y":16874.223852042578},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"3086f338-1640-4ebb-bafe-bf8cfd3da0ec","savedPayload":{"position":{"x":34354.21757024765,"y":16874.223852042578},"targetPosition":{"x":34785.82145045085,"y":17291.018874317975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":5,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"polygons":[{"type":"Polygon","name":"Lagging Span","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.3,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.PATINATED_TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.3,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.PATINATED_TURQUOISE\"\n }\n}","project":"Superalgos","id":"fbbfd9a2-92d9-4ce7-8c21-17f2dbc6f1fc","savedPayload":{"position":{"x":34236.49024636483,"y":17116.593729573022},"targetPosition":{"x":34322.52671181749,"y":16993.72092292967},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"cd32ab1b-e563-45d7-a3f8-ecb171273385","savedPayload":{"position":{"x":34322.52671181749,"y":16993.72092292967},"targetPosition":{"x":34408.563177270145,"y":16870.84811628632},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":2,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":" Lagging Span Begin","project":"Superalgos","id":"01c3a82b-97af-4c64-9675-c2ae9e55c5c9","savedPayload":{"position":{"x":34113.12085136648,"y":16922.9425695864},"targetPosition":{"x":34408.563177270145,"y":16870.84811628632},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Lagging Span Begin","id":"ed94f11a-7635-42cb-ac2d-fe9d05159b2a"}}},{"type":"Polygon Vertex","name":" Lagging Span End","project":"Superalgos","id":"5e20b9a4-ae32-4a81-bb0b-289bf8d04a58","savedPayload":{"position":{"x":34162.81756398345,"y":16698.775185381008},"targetPosition":{"x":34408.563177270145,"y":16870.84811628632},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Lagging Span End","id":"15d9b3e5-54b9-4f6f-9e69-37dae6d9d37b"}}}],"id":"90a34d00-99e2-4a5e-94f1-782aeaec89ed","savedPayload":{"position":{"x":34494.73273256805,"y":17218.442305638077},"targetPosition":{"x":34785.82145045085,"y":17291.018874317975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Conversion Line","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.TURQUOISE\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.TURQUOISE\"\n }\n}","project":"Superalgos","id":"e865a1b2-668e-427f-b16d-3ecc6c4f770f","savedPayload":{"position":{"x":33864.64238626503,"y":16824.045090047755},"targetPosition":{"x":34154.420134151755,"y":16746.399376516998},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"5f0a0922-aecd-4b40-9fb3-b3fdd1207eea","savedPayload":{"position":{"x":34154.420134151755,"y":16746.399376516998},"targetPosition":{"x":34444.197882038476,"y":16668.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":" Conersion Line Begin","project":"Superalgos","id":"0e09b636-d71d-49d5-9d9a-6e3b067925ca","savedPayload":{"position":{"x":34184.39026090314,"y":16518.75366298624},"targetPosition":{"x":34444.197882038476,"y":16668.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Conersion Line Begin","id":"a56bb9d9-6e55-4fa3-936d-81582cf1f94d"}}},{"type":"Polygon Vertex","name":" Conversion Line End","project":"Superalgos","id":"b92598e2-5755-4a95-85f7-80bc63612184","savedPayload":{"position":{"x":34366.55216850772,"y":16378.97591509952},"targetPosition":{"x":34444.197882038476,"y":16668.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Conversion Line End","id":"3eaf4ff4-cf81-4928-b2f8-26d75e89d3c0"}}}],"id":"59bb987c-d919-4454-ad68-f52a84639d18","savedPayload":{"position":{"x":34609.48587476311,"y":17048.313776005492},"targetPosition":{"x":34785.82145045085,"y":17291.018874317975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Base Line","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 2,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\"\n }\n}","project":"Superalgos","id":"623a0cc7-8641-46ab-bb9b-6132f6b4374c","savedPayload":{"position":{"x":34057.61478795412,"y":16283.274919706051},"targetPosition":{"x":34329.507124065116,"y":16410.06039822826},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"639d75aa-1e58-4c36-8257-67168abafb05","savedPayload":{"position":{"x":34329.507124065116,"y":16410.06039822826},"targetPosition":{"x":34601.39946017611,"y":16536.845876750467},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":" Base Line Begin","project":"Superalgos","id":"eca8fef0-6505-4e10-908e-5fcf8a99293a","savedPayload":{"position":{"x":34498.79341717841,"y":16254.938090514694},"targetPosition":{"x":34601.39946017611,"y":16536.845876750467},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Base Line Begin","id":"f7d3e6d3-089b-4bc7-8468-2e42bc6511b7"}}},{"type":"Polygon Vertex","name":" Base Line End","project":"Superalgos","id":"09535200-2132-4847-960a-9ce3698e72b9","savedPayload":{"position":{"x":34728.18493869832,"y":16264.953540639472},"targetPosition":{"x":34601.39946017611,"y":16536.845876750467},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Base Line End","id":"385613d8-5b52-44b9-be18-91bca1c86c47"}}}],"id":"5ae2d724-fb7c-478e-bc67-bd08b88562bb","savedPayload":{"position":{"x":34806.74839257408,"y":16991.749659240028},"targetPosition":{"x":34785.82145045085,"y":17291.018874317975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Lead Line 1","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 1,\n \"lineWidth\": 0.5,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.GREEN\"\n }\n}","project":"Superalgos","id":"77e51645-bb9d-4c7a-a8bb-70de2bca0f05","savedPayload":{"position":{"x":34983.74751772618,"y":16475.308317122548},"targetPosition":{"x":34988.98323965736,"y":16775.262625669464},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"70f77c83-7b79-4a15-926e-173e9fcbf78f","savedPayload":{"position":{"x":34988.98323965736,"y":16775.262625669464},"targetPosition":{"x":34994.21896158854,"y":17075.21693421638},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":" Plot Lead Line 1 Begin","project":"Superalgos","id":"878fdf21-37b6-4487-ba94-22f16b609ec4","savedPayload":{"position":{"x":35202.61647272625,"y":16859.414994114784},"targetPosition":{"x":34994.21896158854,"y":17075.21693421638},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Plot Lead Line 1 Begin","id":"fbac2c1f-aa48-421f-b725-4b62cc53fc41"}}},{"type":"Polygon Vertex","name":" Plot Lead Line 1 End","project":"Superalgos","id":"3d6e5394-4cef-41ce-8091-4b557155d5a9","savedPayload":{"position":{"x":35294.17327013546,"y":17069.981212285194},"targetPosition":{"x":34994.21896158854,"y":17075.21693421638},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Plot Lead Line 1 End","id":"cb4fb579-edd5-4de7-a831-003f24afcf39"}}}],"id":"c8fca9b3-dfe0-4442-8275-493b9d545d7a","savedPayload":{"position":{"x":34994.21896158854,"y":17075.21693421638},"targetPosition":{"x":34785.82145045085,"y":17291.018874317975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Lead Line 2","project":"Superalgos","polygonBorder":{"type":"Polygon Border","name":"New Polygon Border","project":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.5,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.5,\n \"lineWidth\": 1,\n \"lineDash\": [0,0],\n \"paletteColor\": \"UI_COLOR.RED\"\n }\n}","project":"Superalgos","id":"62ad6e42-cc75-4cf3-8217-b460a5b465f4","savedPayload":{"position":{"x":35119.104551370656,"y":16089.198167212799},"targetPosition":{"x":35041.4588378399,"y":16378.97591509952},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"0637699a-e7e2-4d24-b5c0-7c76748dda74","savedPayload":{"position":{"x":35041.4588378399,"y":16378.97591509952},"targetPosition":{"x":34963.81312430914,"y":16668.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":" Plot Lead Line 2 Begin","project":"Superalgos","id":"3d4d544a-28fc-463b-b792-5d08ec382a6f","savedPayload":{"position":{"x":35223.620745444474,"y":16518.75366298624},"targetPosition":{"x":34963.81312430914,"y":16668.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Plot Lead Line 2 Begin","id":"b7ab8f9c-d7a0-4c4d-b7d6-1e1d0c02eb83"}}},{"type":"Polygon Vertex","name":" Plot Lead Line 2 End","project":"Superalgos","id":"507b22e5-4ae9-4290-a0df-7d7bac232aa9","savedPayload":{"position":{"x":35253.59087219586,"y":16746.399376516998},"targetPosition":{"x":34963.81312430914,"y":16668.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Plot Lead Line 2 End","id":"02355e05-fe68-4efc-bfae-d2cc6f1457c3"}}}],"id":"8bcba1bd-2717-4d86-a955-b7a396e27687","savedPayload":{"position":{"x":35084.17801906133,"y":17259.660335337678},"targetPosition":{"x":34785.82145045085,"y":17291.018874317975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Cloud Green","project":"Superalgos","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.plotLeadLine1 > record.plotLeadLine2","project":"Superalgos","id":"13e89aa0-e3e2-40ac-abc6-0b98ee4bf44a","savedPayload":{"position":{"x":35134.17062490908,"y":16548.463002615514},"targetPosition":{"x":35004.00550317381,"y":16818.75366298624},"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":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.1,\n \"paletteColor\": \"UI_COLOR.GREEN\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.1,\n \"paletteColor\": \"UI_COLOR.GREEN\"\n }\n}","project":"Superalgos","id":"403e5719-537a-4f87-ba17-a2885f64f841","savedPayload":{"position":{"x":35473.104392654626,"y":16444.659781871003},"targetPosition":{"x":35238.55494791422,"y":16631.706722428622},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"a896ce8e-5bd8-49fc-b445-ac872d80ad69","savedPayload":{"position":{"x":35238.55494791422,"y":16631.706722428622},"targetPosition":{"x":35004.00550317381,"y":16818.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":" Plot Lead Line 1 Begin","project":"Superalgos","id":"c42cc383-9c0e-4aea-851a-c224501448b4","savedPayload":{"position":{"x":35296.48387682835,"y":16751.997382799345},"targetPosition":{"x":35004.00550317381,"y":16818.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Plot Lead Line 1 Begin","id":"fbac2c1f-aa48-421f-b725-4b62cc53fc41"}}},{"type":"Polygon Vertex","name":" Plot Lead Line 1 End","project":"Superalgos","id":"f315431a-2603-459e-9f05-34b8ee64356c","savedPayload":{"position":{"x":35296.48387682835,"y":16885.509943173136},"targetPosition":{"x":35004.00550317381,"y":16818.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Plot Lead Line 1 End","id":"cb4fb579-edd5-4de7-a831-003f24afcf39"}}},{"type":"Polygon Vertex","name":" Plot Lead Line 2 End","project":"Superalgos","id":"52eb035e-85aa-4746-ad09-7a6f1b636f3c","savedPayload":{"position":{"x":35238.55494791422,"y":17005.80060354386},"targetPosition":{"x":35004.00550317381,"y":16818.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Plot Lead Line 2 End","id":"02355e05-fe68-4efc-bfae-d2cc6f1457c3"}}},{"type":"Polygon Vertex","name":" Plot Lead Line 2 Begin","project":"Superalgos","id":"52b3d278-b029-46f3-8772-e7dd7b5d42a3","savedPayload":{"position":{"x":35134.17062490908,"y":17089.044323356968},"targetPosition":{"x":35004.00550317381,"y":16818.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Plot Lead Line 2 Begin","id":"b7ab8f9c-d7a0-4c4d-b7d6-1e1d0c02eb83"}}}],"id":"d3ee5217-2b18-443a-a8dc-6884ff3711e9","savedPayload":{"position":{"x":35034.53272221736,"y":17458.7767453592},"targetPosition":{"x":34785.82145045085,"y":17291.018874317975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Polygon","name":"Cloud Red","project":"Superalgos","polygonCondition":{"type":"Polygon Condition","name":"New Polygon Condition","code":"record.plotLeadLine1 < record.plotLeadLine2","project":"Superalgos","id":"0486bacd-b7c4-468b-a2bd-fca7604d031a","savedPayload":{"position":{"x":35179.30253662229,"y":16959.801978755655},"targetPosition":{"x":34896.13753752977,"y":17058.885697342204},"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":"Superalgos","style":{"type":"Style","name":"New Style","config":"{\n \"default\": {\n \"opacity\": 0.1,\n \"paletteColor\": \"UI_COLOR.RED\"\n },\n \"atMousePosition\": {\n \"opacity\": 0.1,\n \"paletteColor\": \"UI_COLOR.RED\"\n }\n}","project":"Superalgos","id":"acf85f27-802a-4609-a45f-f602dd9dcd1c","savedPayload":{"position":{"x":35492.364863465715,"y":17126.06438300419},"targetPosition":{"x":35194.25120049775,"y":17092.475040173198},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"styleConditions":[],"id":"f6448eec-e334-4c22-8d0e-a3c68316ce42","savedPayload":{"position":{"x":35194.25120049775,"y":17092.475040173198},"targetPosition":{"x":34896.13753752977,"y":17058.885697342204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"polygonVertexes":[{"type":"Polygon Vertex","name":" Plot Lead Line 1 Begin","project":"Superalgos","id":"ae3a2357-a62e-498d-81e0-90f06b7c3ec4","savedPayload":{"position":{"x":35150.15479729826,"y":17218.495320296806},"targetPosition":{"x":34896.13753752977,"y":17058.885697342204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Plot Lead Line 1 Begin","id":"fbac2c1f-aa48-421f-b725-4b62cc53fc41"}}},{"type":"Polygon Vertex","name":" Plot Lead Line 1 End","project":"Superalgos","id":"cc92f4b4-eee9-4017-b30e-7e69d13f7200","savedPayload":{"position":{"x":35055.747160484374,"y":17312.90295711069},"targetPosition":{"x":34896.13753752977,"y":17058.885697342204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Plot Lead Line 1 End","id":"cb4fb579-edd5-4de7-a831-003f24afcf39"}}},{"type":"Polygon Vertex","name":" Plot Lead Line 2 End","project":"Superalgos","id":"d7e2bed8-30ec-479d-8909-a1d6f05084a1","savedPayload":{"position":{"x":34929.726880360766,"y":17356.999360310176},"targetPosition":{"x":34896.13753752977,"y":17058.885697342204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Plot Lead Line 2 End","id":"02355e05-fe68-4efc-bfae-d2cc6f1457c3"}}},{"type":"Polygon Vertex","name":" Plot Lead Line 2 Begin","project":"Superalgos","id":"9fb73913-c17f-4c3f-b60f-b1f2821d740f","savedPayload":{"position":{"x":34797.053818943226,"y":17342.050696434715},"targetPosition":{"x":34896.13753752977,"y":17058.885697342204},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Point","name":"Plot Lead Line 2 Begin","id":"b7ab8f9c-d7a0-4c4d-b7d6-1e1d0c02eb83"}}}],"id":"e1707dc5-c49a-4b2d-b2b9-d6fd2e064a3c","savedPayload":{"position":{"x":34868.51265719595,"y":17579.39738309947},"targetPosition":{"x":34785.82145045085,"y":17291.018874317975},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"images":[],"texts":[],"id":"2a9c9e98-7ccf-4999-804c-2094204d1ca6","savedPayload":{"position":{"x":34785.82145045085,"y":17291.018874317975},"targetPosition":{"x":34663.80045752811,"y":17565.082511610755},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},"panels":[{"type":"Plotter Panel","name":"Ichimoku Cloud","config":"{ \n \"codeName\": \"\"\n}","project":"Superalgos","panelData":[{"type":"Panel Data","name":"Lagging Span","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.laggingSpan","project":"Superalgos","id":"e923bf3d-c6c5-4f08-9292-4910b5aafd6f","savedPayload":{"position":{"x":35137.475578251586,"y":17128.33345708298},"targetPosition":{"x":35168.834117231876,"y":17426.69002569346},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.PATINATED_TURQUOISE\",\n \"opacity\": 1,\n \"fontSize\": 14\n}","project":"Superalgos","id":"4b843355-d7ea-45af-8fb1-ecefe26e6a75","savedPayload":{"position":{"x":35411.53921554436,"y":17250.354450005718},"targetPosition":{"x":35168.834117231876,"y":17426.69002569346},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ce794350-6644-4e6c-afac-e8a7a10c60ca","savedPayload":{"position":{"x":35168.834117231876,"y":17426.69002569346},"targetPosition":{"x":35046.81312430914,"y":17700.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Conversion Line","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.conversionLine","project":"Superalgos","id":"468401fd-3794-4749-9434-4f9c2107db49","savedPayload":{"position":{"x":35593.90226116197,"y":17025.154843515455},"targetPosition":{"x":35410.87077177787,"y":17436.250299454627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.TURQUOISE\",\n \"opacity\": 1,\n \"fontSize\": 14\n}","project":"Superalgos","id":"32127f3e-22ec-4d64-ab18-90aef4433588","savedPayload":{"position":{"x":35858.405624693594,"y":17389.212490984184},"targetPosition":{"x":35410.87077177787,"y":17436.250299454627},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"f6d23c72-ba68-4d19-8291-53e729d60d43","savedPayload":{"position":{"x":35410.87077177787,"y":17436.250299454627},"targetPosition":{"x":35046.81312430914,"y":17700.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Base Line","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.baseLine","project":"Superalgos","id":"b00a3c5a-16ca-4a05-b8a2-87442f67e7ee","savedPayload":{"position":{"x":35587.874791232105,"y":17493.0595483182},"targetPosition":{"x":35345.16969291962,"y":17669.395124005943},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.RUSTED_RED\",\n \"opacity\": 1,\n \"fontSize\": 14\n}","project":"Superalgos","id":"f9456c22-246e-4ebb-9f1a-64023ddc007e","savedPayload":{"position":{"x":35619.2333302124,"y":17791.41611692868},"targetPosition":{"x":35345.16969291962,"y":17669.395124005943},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"ab82afc6-55b3-4ec7-9e1e-eec7e1260efc","savedPayload":{"position":{"x":35345.16969291962,"y":17669.395124005943},"targetPosition":{"x":35046.81312430914,"y":17700.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Lead Line 1","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.leadLine1","project":"Superalgos","id":"a275f6d4-c570-4d08-a93a-fcb8d2ed168a","savedPayload":{"position":{"x":35905.44343316404,"y":17836.747343899908},"targetPosition":{"x":35457.90858024832,"y":17883.78515237035},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.GREEN\",\n \"opacity\": 1,\n \"fontSize\": 14\n}","project":"Superalgos","id":"bf48ad18-804f-482c-ae5d-dbb0a3522237","savedPayload":{"position":{"x":35722.41194377992,"y":18247.842799839076},"targetPosition":{"x":35457.90858024832,"y":17883.78515237035},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"8b7ebb57-8606-435a-be7b-921bc4e6a2d5","savedPayload":{"position":{"x":35457.90858024832,"y":17883.78515237035},"targetPosition":{"x":35046.81312430914,"y":17700.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":4,"arrangementStyle":0},"uiObject":{"isRunning":false}}},{"type":"Panel Data","name":"Lead Line 2","config":"{\n \"valueDecimals\": 2\n}","project":"Superalgos","dataFormula":{"type":"Data Formula","name":"New Data Formula","code":"record.leadLine2","project":"Superalgos","id":"2dafd617-bb89-4aad-b697-6a361de69a98","savedPayload":{"position":{"x":35497.21233728966,"y":18065.479754221462},"targetPosition":{"x":35223.148699996884,"y":17943.458761298723},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"textStyle":{"type":"Text Style","name":"New Text Style","config":"{\n \"paletteColor\": \"UI_COLOR.RED\",\n \"opacity\": 1,\n \"fontSize\": 14\n}","project":"Superalgos","id":"34880e13-f3bd-4fa6-8245-cb47783fc1d1","savedPayload":{"position":{"x":35254.50723897718,"y":18241.815329909205},"targetPosition":{"x":35223.148699996884,"y":17943.458761298723},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{}}},"id":"375c2ae1-cdb0-42a9-a243-0ea3a9d486a0","savedPayload":{"position":{"x":35223.148699996884,"y":17943.458761298723},"targetPosition":{"x":35046.81312430914,"y":17700.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c2502509-bfd7-483e-bae8-db4db0ae302b","savedPayload":{"position":{"x":35046.81312430914,"y":17700.75366298624},"targetPosition":{"x":34663.80045752811,"y":17565.082511610755},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"c5dedee0-0553-457c-9a14-5c5d97907cb2","savedPayload":{"position":{"x":34663.80045752811,"y":17565.082511610755},"targetPosition":{"x":34421.09535921563,"y":17741.418087298498},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"f1d66d3b-c40e-4633-aa38-0f85d032d1f8","savedPayload":{"position":{"x":34473.09535921563,"y":17735.418087298498},"targetPosition":{"x":34230.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}}],"id":"d2083ac0-43e2-41e4-83c7-eb09a6f29353","savedPayload":{"position":{"x":34230.39026090314,"y":17911.75366298624},"targetPosition":{"x":34230.39026090314,"y":17911.75366298624},"floatingObject":{"isPinned":true,"isFrozen":false,"isCollapsed":false,"angleToParent":1,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false}}} \ No newline at end of file diff --git a/Projects/Data-Mining/TS/Bot-Modules/API-Data-Fetcher-Bot/SingleMarketAPIDataFetcherBot.js b/Projects/Data-Mining/TS/Bot-Modules/API-Data-Fetcher-Bot/SingleMarketAPIDataFetcherBot.js index b87eb3483f..e869f94e45 100644 --- a/Projects/Data-Mining/TS/Bot-Modules/API-Data-Fetcher-Bot/SingleMarketAPIDataFetcherBot.js +++ b/Projects/Data-Mining/TS/Bot-Modules/API-Data-Fetcher-Bot/SingleMarketAPIDataFetcherBot.js @@ -82,13 +82,13 @@ exports.newDataMiningBotModulesSingleMarketAPIDataFetcherBot = function (process /* We tell the UI that we are running. */ TS.projects.foundations.functionLibraries.processFunctions.processHeartBeat(processIndex) - /* 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. + /* We define the datetime for the process that we are running now. This will be the official processing time for both the infrastructure 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 consistently 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() - /* We will prepare first the infraestructure needed for the bot to run. There are 4 modules we need to sucessfullly initialize first. */ + /* We will prepare first the infrastructure needed for the bot to run. There are 4 modules we need to successfully initialize first. */ let processExecutionEvents let statusDependencies; let nextWaitTime; diff --git a/Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/SingleMarketIndicatorBot.js b/Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/SingleMarketIndicatorBot.js index 47de8ea6e1..1bc64b3b39 100644 --- a/Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/SingleMarketIndicatorBot.js +++ b/Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/SingleMarketIndicatorBot.js @@ -79,13 +79,13 @@ /* We tell the UI that we are running. */ TS.projects.foundations.functionLibraries.processFunctions.processHeartBeat(processIndex) - /* 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. + /* We define the datetime for the process that we are running now. This will be the official processing time for both the infrastructure 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 consistently 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() - /* We will prepare first the infraestructure needed for the bot to run. There are 3 modules we need to sucessfullly initialize first. */ + /* We will prepare first the infrastructure needed for the bot to run. There are 3 modules we need to successfully initialize first. */ let processExecutionEvents let processFramework; let statusDependencies; diff --git a/Projects/Data-Mining/TS/Bot-Modules/Sensor-Bot/SingleMarketSensorBot.js b/Projects/Data-Mining/TS/Bot-Modules/Sensor-Bot/SingleMarketSensorBot.js index 32b7e8c167..af17f7437b 100644 --- a/Projects/Data-Mining/TS/Bot-Modules/Sensor-Bot/SingleMarketSensorBot.js +++ b/Projects/Data-Mining/TS/Bot-Modules/Sensor-Bot/SingleMarketSensorBot.js @@ -82,13 +82,13 @@ /* We tell the UI that we are running. */ TS.projects.foundations.functionLibraries.processFunctions.processHeartBeat(processIndex) - /* 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. + /* We define the datetime for the process that we are running now. This will be the official processing time for both the infrastructure 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 consistently 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() - /* We will prepare first the infraestructure needed for the bot to run. There are 4 modules we need to sucessfullly initialize first. */ + /* We will prepare first the infrastructure needed for the bot to run. There are 4 modules we need to successfully initialize first. */ let processExecutionEvents let statusDependencies; let nextWaitTime; diff --git a/Projects/Education/Schemas/Docs-Topics/Q/Quick/Quick-Guides/quick-guides-001-keyboard-shortcut-quick-guide.json b/Projects/Education/Schemas/Docs-Topics/Q/Quick/Quick-Guides/quick-guides-001-keyboard-shortcut-quick-guide.json index f83acf444b..9458a7e559 100644 --- a/Projects/Education/Schemas/Docs-Topics/Q/Quick/Quick-Guides/quick-guides-001-keyboard-shortcut-quick-guide.json +++ b/Projects/Education/Schemas/Docs-Topics/Q/Quick/Quick-Guides/quick-guides-001-keyboard-shortcut-quick-guide.json @@ -3,7 +3,7 @@ "pageNumber": 1, "type": "Keyboard Shortcut Quick Guide", "definition": { - "text": "Superalgos offers a number of keyboard shortcuts to make working with the platform more efficent and user friendly.", + "text": "Superalgos offers a number of keyboard shortcuts to make working with the platform more efficient and user friendly.", "updated": 1634909540261 }, "paragraphs": [ @@ -14,7 +14,7 @@ }, { "style": "Text", - "text": "Here is the current list of all implemented shortcuts and options for customazation:" + "text": "Here is the current list of all implemented shortcuts and options for customization:" }, { "style": "Subtitle", @@ -109,7 +109,7 @@ }, { "style": "List", - "text": "Display animation preformance: Ctrl + Shift + Alt + F11", + "text": "Display animation performance: Ctrl + Shift + Alt + F11", "updated": 1634910183292 }, { @@ -136,7 +136,7 @@ }, { "style": "Text", - "text": "You can find additional descriptions of how to use your mouse and keybord to navigate the Charting Space and Design Space at the Basic Navigation page.", + "text": "You can find additional descriptions of how to use your mouse and keyboard to navigate the Charting Space and Design Space at the Basic Navigation page.", "updated": 1634912820206 }, { @@ -145,12 +145,12 @@ }, { "style": "Important", - "text": "If any of these keyboard shortucts do not function as expected, please disable any installed browser extentions while using Superalgos as they can override expected functionality.", + "text": "If any of these keyboard shortcuts do not function as expected, please disable any installed browser extentions while using Superalgos as they can override expected functionality.", "updated": 1634999290105 }, { "style": "Success", - "text": "In addtion to this, many shortcuts will work without using the Alt key. For example Ctrl + Shift + Key-S. ", + "text": "In addition to this, many shortcuts will work without using the Alt key. For example Ctrl + Shift + Key-S. ", "updated": 1634999389000 }, { diff --git a/Projects/Education/UI/Spaces/Tutorial-Space/TutorialSpace.js b/Projects/Education/UI/Spaces/Tutorial-Space/TutorialSpace.js index 7f269b8116..74a4f5a45b 100644 --- a/Projects/Education/UI/Spaces/Tutorial-Space/TutorialSpace.js +++ b/Projects/Education/UI/Spaces/Tutorial-Space/TutorialSpace.js @@ -320,7 +320,7 @@ function newEducationTutorialSpace() { htmlImage.height = "100" } else if (icon === undefined) { // Legacy Code to handle icons being fetched by literal path - // Note: This if statment should be removed once all tutoials have been refactored + // Note: This if statement should be removed once all tutorials have been refactored let webParam = 'Icons/' + newImageProject + '/' + newImageName + '.png' htmlImage.src = webParam htmlImage.width = "100" @@ -379,7 +379,7 @@ function newEducationTutorialSpace() { config.controlDocs.page.type !== '' ) { /* - This produces the Docs to laod the specified page. + This produces the Docs to load the specified page. */ UI.projects.education.spaces.docsSpace.openSpaceAreaAndNavigateTo(config.controlDocs.page.project, config.controlDocs.page.category, config.controlDocs.page.type, config.controlDocs.page.anchor) } @@ -392,7 +392,7 @@ function newEducationTutorialSpace() { workspacesCounter++ if (config.workspaces === undefined) { /* - The worspaces panel will remain as it is, and the user will be free to open or close it at will. + The workspaces panel will remain as it is, and the user will be free to open or close it at will. */ return } @@ -854,7 +854,7 @@ function newEducationTutorialSpace() { } let previousNode /* - Reseet the Status of Current and Previous Node + Reset the Status of Current and Previous Node so that RESUME goes to the right node. */ UI.projects.foundations.utilities.tutorial.saveTutorial(currentNode.payload, tutorial) @@ -1085,7 +1085,7 @@ function newEducationTutorialSpace() { function findTutorialNode(node) { /* - We will consider the tutorialRootNode the head of the hirierchy + We will consider the tutorialRootNode the head of the hierarchy */ tutorialRootNode = node @@ -1310,7 +1310,7 @@ function newEducationTutorialSpace() { function syncConfigIconWithDocumentIcon() { /* We update here the image of the document with whatever we find at the config, since - we need to mechanism to keep this syncronized. + we need to mechanism to keep this synchronized. */ if (nodeConfig.icon === undefined) { nodeConfig.icon = { diff --git a/Projects/Foundations/Bots-Plotters-Code/Bollinger/plotters/Plotters-Bollinger-Bands/PercentageBandwidth.js b/Projects/Foundations/Bots-Plotters-Code/Bollinger/plotters/Plotters-Bollinger-Bands/PercentageBandwidth.js index 1ef4a806ec..6f72d9de66 100644 --- a/Projects/Foundations/Bots-Plotters-Code/Bollinger/plotters/Plotters-Bollinger-Bands/PercentageBandwidth.js +++ b/Projects/Foundations/Bots-Plotters-Code/Bollinger/plotters/Plotters-Bollinger-Bands/PercentageBandwidth.js @@ -49,7 +49,7 @@ /* these are module specific variables: */ - let percentageBandwidthArray = []; // Here we keep the percentageBandwidthArray to be ploted every time the Draw() function is called by the AAWebPlatform. + let percentageBandwidthArray = []; // Here we keep the percentageBandwidthArray to be plotted every time the Draw() function is called by the AAWebPlatform. let zoomChangedEventSubscriptionId let offsetChangedEventSubscriptionId @@ -63,7 +63,7 @@ function finalize() { try { - /* Stop listening to the necesary events. */ + /* Stop listening to the necessary events. */ UI.projects.foundations.spaces.chartingSpace.viewport.eventHandler.stopListening(zoomChangedEventSubscriptionId); UI.projects.foundations.spaces.chartingSpace.viewport.eventHandler.stopListening(offsetChangedEventSubscriptionId); @@ -72,7 +72,7 @@ marketFiles.eventHandler.stopListening(marketFilesUpdatedEventSubscriptionId); dailyFiles.eventHandler.stopListening(dailyFilesUpdatedEventSubscriptionId); - /* Destroyd References */ + /* Destroyed References */ marketFiles = undefined; dailyFiles = undefined; @@ -113,7 +113,7 @@ marketFile = marketFiles.getFile(pTimeFrame); fileCursor = dailyFiles.getFileCursor(pTimeFrame); - /* Listen to the necesary events. */ + /* Listen to the necessary events. */ zoomChangedEventSubscriptionId = UI.projects.foundations.spaces.chartingSpace.viewport.eventHandler.listenToEvent("Zoom Changed", onViewportZoomChanged); offsetChangedEventSubscriptionId = UI.projects.foundations.spaces.chartingSpace.viewport.eventHandler.listenToEvent("Position Changed", onViewportPositionChanged); @@ -354,7 +354,7 @@ currentDate = new Date(currentDate.valueOf() + ONE_DAY_IN_MILISECONDS); } - /* Lests check if all the visible screen is going to be covered by percentageBandwidthArray. */ + /* Lets check if all the visible screen is going to be covered by percentageBandwidthArray. */ let lowerEnd = leftDate.valueOf(); let upperEnd = rightDate.valueOf(); @@ -508,7 +508,7 @@ if (percentageBandwidthArray.length > 0) { - /* This next section is to get ready in order to be able to plot dinamically constrained to the viewport */ + /* This next section is to get ready in order to be able to plot dynamically constrained to the viewport */ let visibleHeight = UI.projects.foundations.spaces.chartingSpace.viewport.visibleArea.bottomRight.y - UI.projects.foundations.spaces.chartingSpace.viewport.visibleArea.topLeft.y; diff --git a/Projects/Foundations/Bots-Plotters-Code/Candles/plotters/Plotters-Candles-Volumes/VolumePanel.js b/Projects/Foundations/Bots-Plotters-Code/Candles/plotters/Plotters-Candles-Volumes/VolumePanel.js index fa39f9cbc4..d9f6907c71 100644 --- a/Projects/Foundations/Bots-Plotters-Code/Candles/plotters/Plotters-Candles-Volumes/VolumePanel.js +++ b/Projects/Foundations/Bots-Plotters-Code/Candles/plotters/Plotters-Candles-Volumes/VolumePanel.js @@ -118,7 +118,7 @@ function newCandlesPlottersCandlesVolumesVolumesVolumePanel() { y: Y_AXIS_BUY }; - /* Extra bounderies due to constrained space */ + /* Extra boundaries due to constrained space */ const upperLimit = frameTitleHeight + frameBodyHeight * 0.15; const downLimit = frameTitleHeight + frameBodyHeight * 0.85; diff --git a/Projects/Foundations/Bots-Plotters-Code/Candles/plotters/Plotters-Candles-Volumes/Volumes.js b/Projects/Foundations/Bots-Plotters-Code/Candles/plotters/Plotters-Candles-Volumes/Volumes.js index ba3f07343a..9a902fd500 100644 --- a/Projects/Foundations/Bots-Plotters-Code/Candles/plotters/Plotters-Candles-Volumes/Volumes.js +++ b/Projects/Foundations/Bots-Plotters-Code/Candles/plotters/Plotters-Candles-Volumes/Volumes.js @@ -46,7 +46,7 @@ /* these are module specific variables: */ - let volumes = []; // Here we keep the volumes to be ploted every time the Draw() function is called by the AAWebPlatform. + let volumes = []; // Here we keep the volumes to be plotted every time the Draw() function is called by the AAWebPlatform. let onMouseOverEventSuscriptionId let zoomChangedEventSubscriptionId @@ -63,7 +63,7 @@ function finalize() { try { - /* Stop listening to the necesary events. */ + /* Stop listening to the necessary events. */ thisObject.container.eventHandler.stopListening(onMouseOverEventSuscriptionId) UI.projects.foundations.spaces.chartingSpace.viewport.eventHandler.stopListening(zoomChangedEventSubscriptionId); UI.projects.foundations.spaces.chartingSpace.viewport.eventHandler.stopListening(offsetChangedEventSubscriptionId); @@ -72,7 +72,7 @@ marketFiles.eventHandler.stopListening(marketFilesUpdatedEventSubscriptionId); dailyFiles.eventHandler.stopListening(dailyFilesUpdatedEventSubscriptionId); - /* Destroyd References */ + /* Destroyed References */ marketFiles = undefined; dailyFiles = undefined; @@ -116,7 +116,7 @@ marketFile = marketFiles.getFile(pTimeFrame); fileCursor = dailyFiles.getFileCursor(pTimeFrame); - /* Listen to the necesary events. */ + /* Listen to the necessary events. */ zoomChangedEventSubscriptionId = UI.projects.foundations.spaces.chartingSpace.viewport.eventHandler.listenToEvent("Zoom Changed", onViewportZoomChanged); offsetChangedEventSubscriptionId = UI.projects.foundations.spaces.chartingSpace.viewport.eventHandler.listenToEvent("Position Changed", onViewportPositionChanged); @@ -352,7 +352,7 @@ currentDate = new Date(currentDate.valueOf() + ONE_DAY_IN_MILISECONDS); } - /* Lests check if all the visible screen is going to be covered by volumes. */ + /* Lets check if all the visible screen is going to be covered by volumes. */ let lowerEnd = leftDate.valueOf(); let upperEnd = rightDate.valueOf(); @@ -650,7 +650,7 @@ browserCanvasContext.fillStyle = 'rgba(' + UI_COLOR.GREEN + ', 0.40)'; if (userPositionDate >= volume.begin && userPositionDate <= volume.end) { - browserCanvasContext.fillStyle = 'rgba(' + UI_COLOR.TITANIUM_YELLOW + ', 0.40)'; // Current bar accroding to time + browserCanvasContext.fillStyle = 'rgba(' + UI_COLOR.TITANIUM_YELLOW + ', 0.40)'; // Current bar according to time } } @@ -674,7 +674,7 @@ browserCanvasContext.fillStyle = 'rgba(' + UI_COLOR.RUSTED_RED + ', 0.40)'; if (userPositionDate >= volume.begin && userPositionDate <= volume.end) { - browserCanvasContext.fillStyle = 'rgba(' + UI_COLOR.TITANIUM_YELLOW + ', 0.40)'; // Current volume accroding to time + browserCanvasContext.fillStyle = 'rgba(' + UI_COLOR.TITANIUM_YELLOW + ', 0.40)'; // Current volume according to time } browserCanvasContext.fill(); diff --git a/Projects/Foundations/Schemas/App-Schema/signals-provider.json b/Projects/Foundations/Schemas/App-Schema/signals-provider.json index e1a36a77f0..b4558f36db 100644 --- a/Projects/Foundations/Schemas/App-Schema/signals-provider.json +++ b/Projects/Foundations/Schemas/App-Schema/signals-provider.json @@ -13,7 +13,7 @@ "label": "Send Test Message", "workingLabel": "Sending Message", "workDoneLabel": "Message Sent", - "workFailedLabel": "Message not Delived", + "workFailedLabel": "Message not Delivered", "iconPathOn": "run", "iconPathOff": "run", "actionFunction": "payload.executeAction" diff --git a/Projects/Foundations/Schemas/Docs-Books/reviews.json b/Projects/Foundations/Schemas/Docs-Books/reviews.json index 003c626496..15ae5d324f 100644 --- a/Projects/Foundations/Schemas/Docs-Books/reviews.json +++ b/Projects/Foundations/Schemas/Docs-Books/reviews.json @@ -1,13 +1,13 @@ { "type": "Reviews", "definition": { - "text": "This book is a cataloge of all types of reviews at the Docs.", + "text": "This book is a catalogue of all types of reviews at the Docs.", "updated": 1621437863554 }, "paragraphs": [ { "style": "Chapter", - "text": "I->Foundations->Review->Superalgos Project Review->These are reviews of the project submited by users.", + "text": "I->Foundations->Review->Superalgos Project Review->These are reviews of the project submitted by users.", "updated": 1621437834465 } ] diff --git a/Projects/Foundations/Schemas/Docs-Concepts/P/Plugin/Plugin-Workspace/plugin-workspace.json b/Projects/Foundations/Schemas/Docs-Concepts/P/Plugin/Plugin-Workspace/plugin-workspace.json index d658e4f3c6..8ae2a18e74 100644 --- a/Projects/Foundations/Schemas/Docs-Concepts/P/Plugin/Plugin-Workspace/plugin-workspace.json +++ b/Projects/Foundations/Schemas/Docs-Concepts/P/Plugin/Plugin-Workspace/plugin-workspace.json @@ -1,7 +1,7 @@ { "type": "Plugin Workspace", "definition": { - "text": "Refers to a Workspace created by a user, contributed to the project as a plugin and distributed with the software package. Plugin workspaces are useful to give users access to ready-to-run strategies, demos, tutorials, or intoductions to areas of the system under development.", + "text": "Refers to a Workspace created by a user, contributed to the project as a plugin and distributed with the software package. Plugin workspaces are useful to give users access to ready-to-run strategies, demos, tutorials, or introductions to areas of the system under development.", "updated": 1629895587555, "translations": [ { diff --git a/Projects/Foundations/Schemas/Docs-Concepts/P/Project/Project-Schema-File/project-schema-file.json b/Projects/Foundations/Schemas/Docs-Concepts/P/Project/Project-Schema-File/project-schema-file.json index 49bdd10c02..359f5f4de4 100644 --- a/Projects/Foundations/Schemas/Docs-Concepts/P/Project/Project-Schema-File/project-schema-file.json +++ b/Projects/Foundations/Schemas/Docs-Concepts/P/Project/Project-Schema-File/project-schema-file.json @@ -1,7 +1,7 @@ { "type": "Project Schema File", "definition": { - "text": "It is the most basic and low level system-wide configuration file. You will find it at the Projects folder. It contains a list of all integrated projects and for each one the list of javascript modules organized in different categories, like Function Libraries, Utilities, Spaces, Globals, etc; in turn organized into the broather categories UI, TS and PL.", + "text": "It is the most basic and low level system-wide configuration file. You will find it at the Projects folder. It contains a list of all integrated projects and for each one the list of javascript modules organized in different categories, like Function Libraries, Utilities, Spaces, Globals, etc; in turn organized into the broader categories UI, TS and PL.", "updated": 1614939492529 }, "paragraphs": [ diff --git a/Projects/Foundations/Schemas/Docs-Concepts/R/Remove/Remove-Distance-to-Parent-Node/remove-distance-to-parent-node.json b/Projects/Foundations/Schemas/Docs-Concepts/R/Remove/Remove-Distance-to-Parent-Node/remove-distance-to-parent-node.json index 97c2bdb336..b29f8f4b43 100644 --- a/Projects/Foundations/Schemas/Docs-Concepts/R/Remove/Remove-Distance-to-Parent-Node/remove-distance-to-parent-node.json +++ b/Projects/Foundations/Schemas/Docs-Concepts/R/Remove/Remove-Distance-to-Parent-Node/remove-distance-to-parent-node.json @@ -1,7 +1,7 @@ { "type": "Remove Distance to Parent Node", "definition": { - "text": "The distance setting is dissabled and the node may assume any distance to its parent.", + "text": "The distance setting is disabled and the node may assume any distance to its parent.", "updated": 1610030359012 }, "paragraphs": [ diff --git a/Projects/Foundations/Schemas/Docs-Concepts/R/replaceBy/replaceBy-Config-Property/replaceby-config-property.json b/Projects/Foundations/Schemas/Docs-Concepts/R/replaceBy/replaceBy-Config-Property/replaceby-config-property.json index 4d53d5ba40..d2800e148d 100644 --- a/Projects/Foundations/Schemas/Docs-Concepts/R/replaceBy/replaceBy-Config-Property/replaceby-config-property.json +++ b/Projects/Foundations/Schemas/Docs-Concepts/R/replaceBy/replaceBy-Config-Property/replaceby-config-property.json @@ -137,7 +137,7 @@ }, { "style": "List", - "text": "@BeginCurrentMinute: This will instruct the Bot to use a timestamp at the begining of the current minute." + "text": "@BeginCurrentMinute: This will instruct the Bot to use a timestamp at the beginning of the current minute." }, { "style": "Javascript", diff --git a/Projects/Foundations/Schemas/Docs-Concepts/S/Set/Set-Node-Arrangement-to-Concave/set-node-arrangement-to-concave.json b/Projects/Foundations/Schemas/Docs-Concepts/S/Set/Set-Node-Arrangement-to-Concave/set-node-arrangement-to-concave.json index 46a847a320..a8b883d4ce 100644 --- a/Projects/Foundations/Schemas/Docs-Concepts/S/Set/Set-Node-Arrangement-to-Concave/set-node-arrangement-to-concave.json +++ b/Projects/Foundations/Schemas/Docs-Concepts/S/Set/Set-Node-Arrangement-to-Concave/set-node-arrangement-to-concave.json @@ -1,7 +1,7 @@ { "type": "Set Node Arrangement to Concave", "definition": { - "text": "The node adopts a slot on a circumsference around its parent node. In the icon’s graphic, the orange dot represents the parent node, and the blue dots represent the node adopting the specific arrangement style.", + "text": "The node adopts a slot on a circumference around its parent node. In the icon’s graphic, the orange dot represents the parent node, and the blue dots represent the node adopting the specific arrangement style.", "updated": 1610032139983 }, "paragraphs": [ diff --git a/Projects/Foundations/Schemas/Docs-Nodes/R/Record/Record-Definition/record-definition.json b/Projects/Foundations/Schemas/Docs-Nodes/R/Record/Record-Definition/record-definition.json index 971d46c442..e97676e537 100644 --- a/Projects/Foundations/Schemas/Docs-Nodes/R/Record/Record-Definition/record-definition.json +++ b/Projects/Foundations/Schemas/Docs-Nodes/R/Record/Record-Definition/record-definition.json @@ -42,7 +42,7 @@ }, { "style": "Text", - "text": "The formulas nodes there are used to expand the record definition adding fields that are not actually going to be saved on disk, to minimize space used, and they are going to be calculated at runtime. This allows proceeses that consume this data to have ell the fields available at runtime even though some were not actually saved on disk." + "text": "The formulas nodes there are used to expand the record definition adding fields that are not actually going to be saved on disk, to minimize space used, and they are going to be calculated at runtime. This allows processes that consume this data to have ell the fields available at runtime even though some were not actually saved on disk." } ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Nodes/R/Record/Record-Formula/record-formula.json b/Projects/Foundations/Schemas/Docs-Nodes/R/Record/Record-Formula/record-formula.json index 612435935e..1a13bce2b5 100644 --- a/Projects/Foundations/Schemas/Docs-Nodes/R/Record/Record-Formula/record-formula.json +++ b/Projects/Foundations/Schemas/Docs-Nodes/R/Record/Record-Formula/record-formula.json @@ -21,7 +21,7 @@ }, { "style": "Text", - "text": "A formula may act in slightly different ways depending on the isCaculated attribute in the record property configuration:" + "text": "A formula may act in slightly different ways depending on the isCalculated attribute in the record property configuration:" }, { "style": "List", diff --git a/Projects/Foundations/Schemas/Docs-Nodes/R/Record/Record-Property/record-property.json b/Projects/Foundations/Schemas/Docs-Nodes/R/Record/Record-Property/record-property.json index 99f33b6b28..36814ac7fa 100644 --- a/Projects/Foundations/Schemas/Docs-Nodes/R/Record/Record-Property/record-property.json +++ b/Projects/Foundations/Schemas/Docs-Nodes/R/Record/Record-Property/record-property.json @@ -50,7 +50,7 @@ }, { "style": "List", - "text": "isCalculated determines if the field is stored in the dataset or if, instead, is calculated at a later stage. A value true* means that the record is not stored. In the case isCaculated is not defined in the configuration, it is assumed to be false.", + "text": "isCalculated determines if the field is stored in the dataset or if, instead, is calculated at a later stage. A value true* means that the record is not stored. In the case isCalculated is not defined in the configuration, it is assumed to be false.", "updated": 1621972714008 }, { diff --git a/Projects/Foundations/Schemas/Docs-Nodes/S/Serial/Serial-Number/serial-number.json b/Projects/Foundations/Schemas/Docs-Nodes/S/Serial/Serial-Number/serial-number.json index d3c0c42fed..f72b59cb73 100644 --- a/Projects/Foundations/Schemas/Docs-Nodes/S/Serial/Serial-Number/serial-number.json +++ b/Projects/Foundations/Schemas/Docs-Nodes/S/Serial/Serial-Number/serial-number.json @@ -10,7 +10,7 @@ }, { "style": "Text", - "text": "Serial numbers start at 1 and increment by 1 with each intance of the object that is opened." + "text": "Serial numbers start at 1 and increment by 1 with each instance of the object that is opened." }, { "style": "Block", diff --git a/Projects/Foundations/Schemas/Docs-Nodes/S/Space/Space-Settings/space-settings.json b/Projects/Foundations/Schemas/Docs-Nodes/S/Space/Space-Settings/space-settings.json index c39e88e0e4..a206944af5 100644 --- a/Projects/Foundations/Schemas/Docs-Nodes/S/Space/Space-Settings/space-settings.json +++ b/Projects/Foundations/Schemas/Docs-Nodes/S/Space/Space-Settings/space-settings.json @@ -1,7 +1,7 @@ { "type": "Space Settings", "definition": { - "text": "The space settings node features controls over the phisics, proportions, and positioning of icons representing node, and their menus." + "text": "The space settings node features controls over the physics, proportions, and positioning of icons representing node, and their menus." }, "paragraphs": [ { @@ -53,7 +53,7 @@ }, { "style": "List", - "text": "animationSteps adjusts the amount of steps the animation takes to open a node menu upon hovering over it. A higher value leads to smoother transtion.", + "text": "animationSteps adjusts the amount of steps the animation takes to open a node menu upon hovering over it. A higher value leads to smoother transition.", "updated": 1631588728860 }, { @@ -73,46 +73,46 @@ }, { "style": "List", - "text": "radiusPercentage is the reference radious of the circular matrix that governs the distribution of items in the circular menu. Larger numbers cause items to spread appart while smaller numbers makes items lie closer to each other.", + "text": "radiusPercentage is the reference radius of the circular matrix that governs the distribution of items in the circular menu. Larger numbers cause items to spread apart while smaller numbers makes items lie closer to each other.", "updated": 1631554041849 }, { "style": "Subtitle", - "text": "Shorcut Properties" + "text": "Shortcut Properties" }, { "style": "Text", - "text": "Shorcuts are key stroke combinations that helps users execute certain actions very quickly. To execute a shorcut users need to simultaniously press CTRL + SHIFT + a pre-defined key.", + "text": "Shortcuts are key stroke combinations that helps users execute certain actions very quickly. To execute a Shortcut users need to simultaneously press CTRL + SHIFT + a pre-defined key.", "updated": 1625419324367 }, { "style": "Success", - "text": "Shorcuts default values can be seen below. You can modify those values by changing the Config Properties listed below.", + "text": "Shortcuts default values can be seen below. You can modify those values by changing the Config Properties listed below.", "updated": 1625419754545 }, { "style": "List", - "text": "toggleMapMode defines which key will be used as a Shorcut for entering and leaving the Map Mode.", + "text": "toggleMapMode defines which key will be used as a Shortcut for entering and leaving the Map Mode.", "updated": 1625419803171 }, { "style": "List", - "text": "toggleDrawRelationshipLines defines which key will be used as a Shorcut for turning on and off the drawing of Reference Lines.", + "text": "toggleDrawRelationshipLines defines which key will be used as a Shortcut for turning on and off the drawing of Reference Lines.", "updated": 1625419810253 }, { "style": "List", - "text": "toggleDrawParentLines defines which key will be used as a Shorcut for turning on and off the drawing of Parent Lines.", + "text": "toggleDrawParentLines defines which key will be used as a Shortcut for turning on and off the drawing of Parent Lines.", "updated": 1625419816654 }, { "style": "List", - "text": "saveWorkspace defines which key will be used as a Shorcut for saving the Workspace.", + "text": "saveWorkspace defines which key will be used as a Shortcut for saving the Workspace.", "updated": 1625419822252 }, { "style": "List", - "text": "adjustAspectRation defines which key will be used as a Shorcut for forcing a Time Machine to adjust it's aspect ratio according to the size of the screen a user currently have.", + "text": "adjustAspectRation defines which key will be used as a Shortcut for forcing a Time Machine to adjust it's aspect ratio according to the size of the screen a user currently have.", "updated": 1625419830418 } ] diff --git a/Projects/Foundations/Schemas/Docs-Nodes/S/Strategy/Strategy-Close-Stage/strategy-close-stage.json b/Projects/Foundations/Schemas/Docs-Nodes/S/Strategy/Strategy-Close-Stage/strategy-close-stage.json index 2a9c9b0468..28fd461244 100644 --- a/Projects/Foundations/Schemas/Docs-Nodes/S/Strategy/Strategy-Close-Stage/strategy-close-stage.json +++ b/Projects/Foundations/Schemas/Docs-Nodes/S/Strategy/Strategy-Close-Stage/strategy-close-stage.json @@ -14,7 +14,7 @@ }, { "style": "Text", - "text": "Therefore, this section of the data structure features information spaning those periods only." + "text": "Therefore, this section of the data structure features information spanning those periods only." } ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Nodes/S/Strategy/Strategy-Manage-Stage/strategy-manage-stage.json b/Projects/Foundations/Schemas/Docs-Nodes/S/Strategy/Strategy-Manage-Stage/strategy-manage-stage.json index 953a491814..01670ecd58 100644 --- a/Projects/Foundations/Schemas/Docs-Nodes/S/Strategy/Strategy-Manage-Stage/strategy-manage-stage.json +++ b/Projects/Foundations/Schemas/Docs-Nodes/S/Strategy/Strategy-Manage-Stage/strategy-manage-stage.json @@ -14,7 +14,7 @@ }, { "style": "Text", - "text": "Therefore, this section of the data structure features information spaning those periods only." + "text": "Therefore, this section of the data structure features information spanning those periods only." } ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Nodes/S/Strategy/Strategy-Trigger-Stage/strategy-trigger-stage.json b/Projects/Foundations/Schemas/Docs-Nodes/S/Strategy/Strategy-Trigger-Stage/strategy-trigger-stage.json index b6d229d1d9..9898126241 100644 --- a/Projects/Foundations/Schemas/Docs-Nodes/S/Strategy/Strategy-Trigger-Stage/strategy-trigger-stage.json +++ b/Projects/Foundations/Schemas/Docs-Nodes/S/Strategy/Strategy-Trigger-Stage/strategy-trigger-stage.json @@ -10,7 +10,7 @@ }, { "style": "Text", - "text": "The trigger stage is active from the instant the trigger-on event is triggered until either the trigger-off event or the take position event gets triggered. Therefore, this section of the data structure features information spaning those periods only." + "text": "The trigger stage is active from the instant the trigger-on event is triggered until either the trigger-off event or the take position event gets triggered. Therefore, this section of the data structure features information spanning those periods only." } ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Nodes/S/Super/Super-Scripts/super-scripts.json b/Projects/Foundations/Schemas/Docs-Nodes/S/Super/Super-Scripts/super-scripts.json index 3ab4a2538a..49d2a0a718 100644 --- a/Projects/Foundations/Schemas/Docs-Nodes/S/Super/Super-Scripts/super-scripts.json +++ b/Projects/Foundations/Schemas/Docs-Nodes/S/Super/Super-Scripts/super-scripts.json @@ -10,7 +10,7 @@ }, { "style": "Text", - "text": "The super scripts hierarchy may be used by developers who wish to create their own scripts for automating the deployment or manitenance of all sorts of structures of nodes across any of the hierarchies in the design space." + "text": "The super scripts hierarchy may be used by developers who wish to create their own scripts for automating the deployment or maintenance of all sorts of structures of nodes across any of the hierarchies in the design space." }, { "style": "Text", diff --git a/Projects/Foundations/Schemas/Docs-Reviews/S/Superalgos/Superalgos-Project-Review/superalgos-project-review-031-superalgos-review-my-first-superalgos-review.json b/Projects/Foundations/Schemas/Docs-Reviews/S/Superalgos/Superalgos-Project-Review/superalgos-project-review-031-superalgos-review-my-first-superalgos-review.json index f55d232ff5..7b79f1f660 100644 --- a/Projects/Foundations/Schemas/Docs-Reviews/S/Superalgos/Superalgos-Project-Review/superalgos-project-review-031-superalgos-review-my-first-superalgos-review.json +++ b/Projects/Foundations/Schemas/Docs-Reviews/S/Superalgos/Superalgos-Project-Review/superalgos-project-review-031-superalgos-review-my-first-superalgos-review.json @@ -3,7 +3,7 @@ "pageNumber": 31, "type": "Superalgos Review - My first Superalgos review", "definition": { - "text": "I'm just grinding the tutorials for now, can't wait to run some backtests. I'm impressed how complex but also easy to use this software is. As a developer i am also higly motivated to contribute to the project.", + "text": "I'm just grinding the tutorials for now, can't wait to run some backtests. I'm impressed how complex but also easy to use this software is. As a developer i am also highly motivated to contribute to the project.", "updated": 1633844141741 }, "paragraphs": [ diff --git a/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-004-node-config.json b/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-004-node-config.json index d1aeec6f40..ad2c246244 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-004-node-config.json +++ b/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-004-node-config.json @@ -9,7 +9,7 @@ "paragraphs": [ { "style": "Text", - "text": "Each type of node, might have a definition with the initial values for it's configuration. The Initial Values are set at the node iwhen the Node is first created. ", + "text": "Each type of node, might have a definition with the initial values for it's configuration. The Initial Values are set at the node when the Node is first created. ", "updated": 1609244634949 } ] diff --git a/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-005-node-code.json b/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-005-node-code.json index 7ce570f9bc..f00e6879de 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-005-node-code.json +++ b/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-005-node-code.json @@ -9,7 +9,7 @@ "paragraphs": [ { "style": "Text", - "text": "Some types of nodes, might have code that defines their behaviour. The code can usually be accesed by users via the Edit menu item. When first created, the code of a Node is initialized with the initial value present at the Node's Definition Document. Some types of node represents Formulas and they hold code that defines those formulas at the Node Code.", + "text": "Some types of nodes, might have code that defines their behaviour. The code can usually be accessed by users via the Edit menu item. When first created, the code of a Node is initialized with the initial value present at the Node's Definition Document. Some types of node represents Formulas and they hold code that defines those formulas at the Node Code.", "updated": 1609246211297 } ] diff --git a/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-006-node-menu.json b/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-006-node-menu.json index 2ba5022ae4..50c81a7e17 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-006-node-menu.json +++ b/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-006-node-menu.json @@ -9,7 +9,7 @@ "paragraphs": [ { "style": "Text", - "text": "Each Node Type, might have a menu which allow users to interact with the Node. There is no fixed set of menu items. Instead each menu items is defined at each Node's definition. Each menu item haave a set of properties that allow the system to execute some action when the menu item is clicked by users.", + "text": "Each Node Type, might have a menu which allow users to interact with the Node. There is no fixed set of menu items. Instead each menu items is defined at each Node's definition. Each menu item has a set of properties that allow the system to execute some action when the menu item is clicked by users.", "updated": 1609240463871 } ] diff --git a/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-008-node-attaching-rules.json b/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-008-node-attaching-rules.json index b56272f8e0..85de2812be 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-008-node-attaching-rules.json +++ b/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-008-node-attaching-rules.json @@ -16,7 +16,7 @@ "paragraphs": [ { "style": "Text", - "text": "Each Node Type, might have a set of rules that defines to which nodes it can be attached to. These rules are literally two lists of Node Type s, one for compatible types and the second one for uncompatible types. There is also the possiblity to replace the list of types for the keyword *Any Node*.", + "text": "Each Node Type, might have a set of rules that defines to which nodes it can be attached to. These rules are literally two lists of Node Type s, one for compatible types and the second one for incompatible types. There is also the possibility to replace the list of types for the keyword *Any Node*.", "updated": 1609243750949 } ] diff --git a/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-009-node-referencing-rules.json b/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-009-node-referencing-rules.json index 854d88c346..f5551407bb 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-009-node-referencing-rules.json +++ b/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-009-node-referencing-rules.json @@ -3,7 +3,7 @@ "pageNumber": "9", "type": "Node Referencing Rules", "definition": { - "text": "Each Node Type can have a set of rules that defines with which Node Type it can stablish a reference.", + "text": "Each Node Type can have a set of rules that defines with which Node Type it can Establish a reference.", "updated": 1609244259240, "translations": [ { diff --git a/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-012-reference-parent.json b/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-012-reference-parent.json index 44b0c081b1..d8d748c3f7 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-012-reference-parent.json +++ b/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-012-reference-parent.json @@ -3,7 +3,7 @@ "pageNumber": "12", "type": "Reference Parent", "definition": { - "text": "The Reference Parent of a certain Node A, is the node with which A stablishes a Reference.", + "text": "The Reference Parent of a certain Node A, is the node with which A establishes a Reference.", "updated": 1609240205404 }, "paragraphs": [ diff --git a/Projects/Foundations/Schemas/Docs-Topics/O/Omega/Omega-One-Data-Mine/omega-one-data-mine-001-omega-one-overview.json b/Projects/Foundations/Schemas/Docs-Topics/O/Omega/Omega-One-Data-Mine/omega-one-data-mine-001-omega-one-overview.json index 9effa4f957..5406af4f36 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/O/Omega/Omega-One-Data-Mine/omega-one-data-mine-001-omega-one-overview.json +++ b/Projects/Foundations/Schemas/Docs-Topics/O/Omega/Omega-One-Data-Mine/omega-one-data-mine-001-omega-one-overview.json @@ -26,7 +26,7 @@ }, { "style": "Text", - "text": "ARPS - Average Range Percentage Spread measures the amount force of Bull Power and Bear Power. Two separate indicators measuring the same thing, in order to be used either separatly or combined.", + "text": "ARPS - Average Range Percentage Spread measures the amount force of Bull Power and Bear Power. Two separate indicators measuring the same thing, in order to be used either separately or combined.", "updated": 1617957855552 }, { diff --git a/Projects/Foundations/Schemas/Docs-Topics/O/Omega/Omega-One-Data-Mine/omega-one-data-mine-003-arps-slow-arps-fast.json b/Projects/Foundations/Schemas/Docs-Topics/O/Omega/Omega-One-Data-Mine/omega-one-data-mine-003-arps-slow-arps-fast.json index 0af10c5d79..cd318781f2 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/O/Omega/Omega-One-Data-Mine/omega-one-data-mine-003-arps-slow-arps-fast.json +++ b/Projects/Foundations/Schemas/Docs-Topics/O/Omega/Omega-One-Data-Mine/omega-one-data-mine-003-arps-slow-arps-fast.json @@ -27,7 +27,7 @@ }, { "style": "Text", - "text": "Two separate indicators that can be used either separatly or in combination with others." + "text": "Two separate indicators that can be used either separately or in combination with others." }, { "style": "Text", @@ -67,7 +67,7 @@ }, { "style": "List", - "text": "All values are multiplied by 100 to convert it to precentage form (%)." + "text": "All values are multiplied by 100 to convert it to percentage form (%)." }, { "style": "Subtitle", diff --git a/Projects/Foundations/Schemas/Docs-Topics/O/Order/Order-Management/order-management-007-canceling-orders.json b/Projects/Foundations/Schemas/Docs-Topics/O/Order/Order-Management/order-management-007-canceling-orders.json index 0395940061..9682558b24 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/O/Order/Order-Management/order-management-007-canceling-orders.json +++ b/Projects/Foundations/Schemas/Docs-Topics/O/Order/Order-Management/order-management-007-canceling-orders.json @@ -43,7 +43,7 @@ }, { "style": "List", - "text": "If it’s a backtesting or paper trading session, the order cancelation must be simulated (see Simulating Order Cancelation).", + "text": "If it’s a backtesting or paper trading session, the order cancellation must be simulated (see Simulating Order Cancellation).", "updated": 1610222051378 }, { diff --git a/Projects/Foundations/Schemas/Docs-Topics/O/Order/Order-Management/order-management-011-simulating-order-cancellations.json b/Projects/Foundations/Schemas/Docs-Topics/O/Order/Order-Management/order-management-011-simulating-order-cancellations.json index 0f1c01e310..e36cdade02 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/O/Order/Order-Management/order-management-011-simulating-order-cancellations.json +++ b/Projects/Foundations/Schemas/Docs-Topics/O/Order/Order-Management/order-management-011-simulating-order-cancellations.json @@ -9,7 +9,7 @@ "paragraphs": [ { "style": "Text", - "text": "Simulating the cancelation of an order is almost trivial. Of course, the process applies to backtesting and paper trading sessions only.", + "text": "Simulating the cancellation of an order is almost trivial. Of course, the process applies to backtesting and paper trading sessions only.", "updated": 1610223521328 }, { diff --git a/Projects/Foundations/Schemas/Docs-Topics/O/Order/Order-Management/order-management-012-accounting.json b/Projects/Foundations/Schemas/Docs-Topics/O/Order/Order-Management/order-management-012-accounting.json index 1890524a4e..74d51eb45d 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/O/Order/Order-Management/order-management-012-accounting.json +++ b/Projects/Foundations/Schemas/Docs-Topics/O/Order/Order-Management/order-management-012-accounting.json @@ -26,7 +26,7 @@ }, { "style": "Text", - "text": "Stage base aset, undoing the previous accounting:" + "text": "Stage base asset, undoing the previous accounting:" }, { "style": "Javascript", diff --git a/Projects/Foundations/Schemas/Docs-Topics/S/Sparta/Sparta-Data-Mine/sparta-data-mine-001-sparta-by-@julian-molina.json b/Projects/Foundations/Schemas/Docs-Topics/S/Sparta/Sparta-Data-Mine/sparta-data-mine-001-sparta-by-@julian-molina.json index b17b60e2eb..cf77bd467f 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/S/Sparta/Sparta-Data-Mine/sparta-data-mine-001-sparta-by-@julian-molina.json +++ b/Projects/Foundations/Schemas/Docs-Topics/S/Sparta/Sparta-Data-Mine/sparta-data-mine-001-sparta-by-@julian-molina.json @@ -3,7 +3,7 @@ "pageNumber": 1, "type": "Sparta By @julian-molina", "definition": { - "text": "The set of indicators built in the Sparta data mine include Simple Moving Average (SMA), Exponential Moving Averege (EMA), Relative Strength Index (RSI), and Moving Average convergence Divergence (MACD).", + "text": "The set of indicators built in the Sparta data mine include Simple Moving Average (SMA), Exponential Moving Average (EMA), Relative Strength Index (RSI), and Moving Average convergence Divergence (MACD).", "updated": 1611685345604 }, "paragraphs": [ diff --git a/Projects/Foundations/Schemas/Docs-Topics/S/Sparta/Sparta-Data-Mine/sparta-data-mine-002-simple-moving-average-sma-sparta-indicator.json b/Projects/Foundations/Schemas/Docs-Topics/S/Sparta/Sparta-Data-Mine/sparta-data-mine-002-simple-moving-average-sma-sparta-indicator.json index 99ee5630be..fdf0d3f79c 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/S/Sparta/Sparta-Data-Mine/sparta-data-mine-002-simple-moving-average-sma-sparta-indicator.json +++ b/Projects/Foundations/Schemas/Docs-Topics/S/Sparta/Sparta-Data-Mine/sparta-data-mine-002-simple-moving-average-sma-sparta-indicator.json @@ -3,7 +3,7 @@ "pageNumber": 2, "type": "Simple Moving Average (SMA) - Sparta Indicator", "definition": { - "text": "The indicator produces the Simple Moving Avarge in multiple settings, including the popular 20, 50, 100, and 200, as well as less frequent base 7 and base 11 SMAs.", + "text": "The indicator produces the Simple Moving Average in multiple settings, including the popular 20, 50, 100, and 200, as well as less frequent base 7 and base 11 SMAs.", "updated": 1611661320849 }, "paragraphs": [ diff --git a/Projects/Foundations/Schemas/Docs-Topics/S/Sparta/Sparta-Data-Mine/sparta-data-mine-003-exponential-moving-average-ema-sparta-indicator.json b/Projects/Foundations/Schemas/Docs-Topics/S/Sparta/Sparta-Data-Mine/sparta-data-mine-003-exponential-moving-average-ema-sparta-indicator.json index 10e1ec6371..619a9c229e 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/S/Sparta/Sparta-Data-Mine/sparta-data-mine-003-exponential-moving-average-ema-sparta-indicator.json +++ b/Projects/Foundations/Schemas/Docs-Topics/S/Sparta/Sparta-Data-Mine/sparta-data-mine-003-exponential-moving-average-ema-sparta-indicator.json @@ -3,7 +3,7 @@ "pageNumber": 3, "type": "Exponential Moving Average (EMA) - Sparta Indicator", "definition": { - "text": "The indicator produces the Exponential Moving Avarge in multiple settings, including the popular 20, 50, 100, and 200, as well as less frequent base 7 and base 11 SMAs.", + "text": "The indicator produces the Exponential Moving Average in multiple settings, including the popular 20, 50, 100, and 200, as well as less frequent base 7 and base 11 SMAs.", "updated": 1611661783066 }, "paragraphs": [ diff --git a/Projects/Foundations/Schemas/Docs-Topics/S/Sparta/Sparta-Data-Mine/sparta-data-mine-004-relative-strenght-index-rsi-sparta-indicator.json b/Projects/Foundations/Schemas/Docs-Topics/S/Sparta/Sparta-Data-Mine/sparta-data-mine-004-relative-strenght-index-rsi-sparta-indicator.json index 73b0ca4931..b43180d035 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/S/Sparta/Sparta-Data-Mine/sparta-data-mine-004-relative-strenght-index-rsi-sparta-indicator.json +++ b/Projects/Foundations/Schemas/Docs-Topics/S/Sparta/Sparta-Data-Mine/sparta-data-mine-004-relative-strenght-index-rsi-sparta-indicator.json @@ -23,7 +23,7 @@ }, { "style": "Text", - "text": "The chart for this indicator shows the RSI oscillating in a scale ranging from 0 at the bottom to 100 at the top. The bottom section of the chart shows a blue background covering the range from 0 to 20, also marked by a dotted line. When the RSI value falls below the 20 mark, the RSI line turns red, for easier viasualization. Also in the bottom section, there is a second dotted line signaling the 30 mark." + "text": "The chart for this indicator shows the RSI oscillating in a scale ranging from 0 at the bottom to 100 at the top. The bottom section of the chart shows a blue background covering the range from 0 to 20, also marked by a dotted line. When the RSI value falls below the 20 mark, the RSI line turns red, for easier visualization. Also in the bottom section, there is a second dotted line signaling the 30 mark." }, { "style": "Text", diff --git a/Projects/Foundations/Schemas/Docs-Topics/S/Sparta/Sparta-Data-Mine/sparta-data-mine-005-moving-average-convergence-divergence-macd-sparta-indicator.json b/Projects/Foundations/Schemas/Docs-Topics/S/Sparta/Sparta-Data-Mine/sparta-data-mine-005-moving-average-convergence-divergence-macd-sparta-indicator.json index 117d7eb9b7..a1a48e644f 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/S/Sparta/Sparta-Data-Mine/sparta-data-mine-005-moving-average-convergence-divergence-macd-sparta-indicator.json +++ b/Projects/Foundations/Schemas/Docs-Topics/S/Sparta/Sparta-Data-Mine/sparta-data-mine-005-moving-average-convergence-divergence-macd-sparta-indicator.json @@ -14,7 +14,7 @@ }, { "style": "Text", - "text": "There are four different products, each configured with a specific setting for the fast and slow moving avarages and the MACD Signal line." + "text": "There are four different products, each configured with a specific setting for the fast and slow moving averages and the MACD Signal line." }, { "style": "Table", diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-API-Data-Fetcher-Bot-Error/ts-api-data-fetcher-bot-error-001-ts-api-data-fetcher-bot-error-api-map-reference-node-missing.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-API-Data-Fetcher-Bot-Error/ts-api-data-fetcher-bot-error-001-ts-api-data-fetcher-bot-error-api-map-reference-node-missing.json index c5b1499d9a..7de684e084 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-API-Data-Fetcher-Bot-Error/ts-api-data-fetcher-bot-error-001-ts-api-data-fetcher-bot-error-api-map-reference-node-missing.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-API-Data-Fetcher-Bot-Error/ts-api-data-fetcher-bot-error-001-ts-api-data-fetcher-bot-error-api-map-reference-node-missing.json @@ -31,7 +31,7 @@ }, { "style": "Text", - "text": "The following is the Error Message of the Exception that occured at the API Data Fetcher Bot:" + "text": "The following is the Error Message of the Exception that occurred at the API Data Fetcher Bot:" }, { "style": "Placeholder", @@ -43,7 +43,7 @@ }, { "style": "Text", - "text": "The following is the Error Stack of the Exception that occured at the API Data Fetcher Bot:" + "text": "The following is the Error Stack of the Exception that occurred at the API Data Fetcher Bot:" }, { "style": "Placeholder", @@ -55,7 +55,7 @@ }, { "style": "Text", - "text": "The following is the Error Code of the Exception that occured at the API Data Fetcher Bot:" + "text": "The following is the Error Code of the Exception that occurred at the API Data Fetcher Bot:" }, { "style": "Placeholder", @@ -67,7 +67,7 @@ }, { "style": "Text", - "text": "The following are all the Error details of the Exception that occured at the API Data Fetcher Bot:" + "text": "The following are all the Error details of the Exception that occurred at the API Data Fetcher Bot:" }, { "style": "Placeholder", diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-API-Data-Fetcher-Bot-Error/ts-api-data-fetcher-bot-error-003-ts-api-data-fetcher-bot-error-config-property-missing.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-API-Data-Fetcher-Bot-Error/ts-api-data-fetcher-bot-error-003-ts-api-data-fetcher-bot-error-config-property-missing.json index 59b445f6f9..7ea0e37c87 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-API-Data-Fetcher-Bot-Error/ts-api-data-fetcher-bot-error-003-ts-api-data-fetcher-bot-error-config-property-missing.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-API-Data-Fetcher-Bot-Error/ts-api-data-fetcher-bot-error-003-ts-api-data-fetcher-bot-error-config-property-missing.json @@ -55,7 +55,7 @@ }, { "style": "Text", - "text": "The following is the Error Code of the Exception that occured at the API Data Fetcher Bot:" + "text": "The following is the Error Code of the Exception that occurred at the API Data Fetcher Bot:" }, { "style": "Placeholder", @@ -67,7 +67,7 @@ }, { "style": "Text", - "text": "The following are all the Error details of the Exception that occured at the API Data Fetcher Bot:" + "text": "The following are all the Error details of the Exception that occurred at the API Data Fetcher Bot:" }, { "style": "Placeholder", diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-API-Data-Fetcher-Bot-Error/ts-api-data-fetcher-bot-error-006-ts-api-data-fetcher-bot-error-api-response-field-not-descendant-from-endpoint.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-API-Data-Fetcher-Bot-Error/ts-api-data-fetcher-bot-error-006-ts-api-data-fetcher-bot-error-api-response-field-not-descendant-from-endpoint.json index c0cf0e0c55..9dc3d27ea2 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-API-Data-Fetcher-Bot-Error/ts-api-data-fetcher-bot-error-006-ts-api-data-fetcher-bot-error-api-response-field-not-descendant-from-endpoint.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-API-Data-Fetcher-Bot-Error/ts-api-data-fetcher-bot-error-006-ts-api-data-fetcher-bot-error-api-response-field-not-descendant-from-endpoint.json @@ -3,7 +3,7 @@ "pageNumber": "6", "type": "TS API Data Fetcher Bot Error - API Response Field Not Descendant From Endpoint", "definition": { - "text": "Every API Response Field Node needs to descend from an API Endpoint node. Check this node's parent node, and it's parent, and continue until you find the API Endpoint. Find the place where the chain is broken and fix it in order for the API Data Fetcher Bot to be able to preccedd.", + "text": "Every API Response Field Node needs to descend from an API Endpoint node. Check this node's parent node, and it's parent, and continue until you find the API Endpoint. Find the place where the chain is broken and fix it in order for the API Data Fetcher Bot to be able to proceed.", "updated": 1621860822884 }, "paragraphs": [ diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-API-Data-Fetcher-Bot-Error/ts-api-data-fetcher-bot-error-009-ts-api-data-fetcher-bot-error-unexpected-api-response-code.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-API-Data-Fetcher-Bot-Error/ts-api-data-fetcher-bot-error-009-ts-api-data-fetcher-bot-error-unexpected-api-response-code.json index 999d54914a..e73aa85512 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-API-Data-Fetcher-Bot-Error/ts-api-data-fetcher-bot-error-009-ts-api-data-fetcher-bot-error-unexpected-api-response-code.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-API-Data-Fetcher-Bot-Error/ts-api-data-fetcher-bot-error-009-ts-api-data-fetcher-bot-error-unexpected-api-response-code.json @@ -31,7 +31,7 @@ }, { "style": "Text", - "text": "The following is the Error Message of the Exception that occured at the API Data Fetcher Bot:" + "text": "The following is the Error Message of the Exception that occurred at the API Data Fetcher Bot:" }, { "style": "Placeholder", @@ -43,7 +43,7 @@ }, { "style": "Text", - "text": "The following is the Error Stack of the Exception that occured at the API Data Fetcher Bot:" + "text": "The following is the Error Stack of the Exception that occurred at the API Data Fetcher Bot:" }, { "style": "Placeholder", @@ -55,7 +55,7 @@ }, { "style": "Text", - "text": "The following is the Error Code of the Exception that occured at the API Data Fetcher Bot:" + "text": "The following is the Error Code of the Exception that occurred at the API Data Fetcher Bot:" }, { "style": "Placeholder", @@ -67,7 +67,7 @@ }, { "style": "Text", - "text": "The following are all the Error details of the Exception that occured at the API Data Fetcher Bot:" + "text": "The following are all the Error details of the Exception that occurred at the API Data Fetcher Bot:" }, { "style": "Placeholder", diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-API-Data-Fetcher-Bot-Error/ts-api-data-fetcher-bot-error-010-ts-api-data-fetcher-bot-error-unsupported-dataset-type.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-API-Data-Fetcher-Bot-Error/ts-api-data-fetcher-bot-error-010-ts-api-data-fetcher-bot-error-unsupported-dataset-type.json index a97f4506db..cacd0bc715 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-API-Data-Fetcher-Bot-Error/ts-api-data-fetcher-bot-error-010-ts-api-data-fetcher-bot-error-unsupported-dataset-type.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-API-Data-Fetcher-Bot-Error/ts-api-data-fetcher-bot-error-010-ts-api-data-fetcher-bot-error-unsupported-dataset-type.json @@ -31,7 +31,7 @@ }, { "style": "Text", - "text": "The following is the Error Message of the Exception that occured at the API Data Fetcher Bot:" + "text": "The following is the Error Message of the Exception that occurred at the API Data Fetcher Bot:" }, { "style": "Placeholder", @@ -43,7 +43,7 @@ }, { "style": "Text", - "text": "The following is the Error Stack of the Exception that occured at the API Data Fetcher Bot:" + "text": "The following is the Error Stack of the Exception that occurred at the API Data Fetcher Bot:" }, { "style": "Placeholder", @@ -55,7 +55,7 @@ }, { "style": "Text", - "text": "The following is the Error Code of the Exception that occured at the API Data Fetcher Bot:" + "text": "The following is the Error Code of the Exception that occurred at the API Data Fetcher Bot:" }, { "style": "Placeholder", @@ -67,7 +67,7 @@ }, { "style": "Text", - "text": "The following are all the Error details of the Exception that occured at the API Data Fetcher Bot:" + "text": "The following are all the Error details of the Exception that occurred at the API Data Fetcher Bot:" }, { "style": "Placeholder", diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-API-Data-Fetcher-Bot-Error/ts-api-data-fetcher-bot-error-011-ts-api-data-fetcher-bot-error-timestamp-record-property-missing.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-API-Data-Fetcher-Bot-Error/ts-api-data-fetcher-bot-error-011-ts-api-data-fetcher-bot-error-timestamp-record-property-missing.json index 4e330b15dc..1b3f81ecc2 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-API-Data-Fetcher-Bot-Error/ts-api-data-fetcher-bot-error-011-ts-api-data-fetcher-bot-error-timestamp-record-property-missing.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-API-Data-Fetcher-Bot-Error/ts-api-data-fetcher-bot-error-011-ts-api-data-fetcher-bot-error-timestamp-record-property-missing.json @@ -3,7 +3,7 @@ "pageNumber": "11", "type": "TS API Data Fetcher Bot Error - Timestamp Record Property Missing", "definition": { - "text": "The API Data Fetcher Bot expects that one of the Repord Property nodes is defined with a config property codeName as a timestamp. This is a special value and concept. This means that the Record Property will hold the timestamp value returned by the API, but at the same time it assures the Bot that the information will be well organized by time. To solve this issue simply make sure that you have a Timestamp Record Property that ultimately references the Timestamp API Response Field holding the actual timestamp of the information returned by the API server.", + "text": "The API Data Fetcher Bot expects that one of the Record Property nodes is defined with a config property codeName as a timestamp. This is a special value and concept. This means that the Record Property will hold the timestamp value returned by the API, but at the same time it assures the Bot that the information will be well organized by time. To solve this issue simply make sure that you have a Timestamp Record Property that ultimately references the Timestamp API Response Field holding the actual timestamp of the information returned by the API server.", "updated": 1621860822884 }, "paragraphs": [ @@ -31,7 +31,7 @@ }, { "style": "Text", - "text": "The following is the Error Message of the Exception that occured at the API Data Fetcher Bot:" + "text": "The following is the Error Message of the Exception that occurred at the API Data Fetcher Bot:" }, { "style": "Placeholder", @@ -43,7 +43,7 @@ }, { "style": "Text", - "text": "The following is the Error Stack of the Exception that occured at the API Data Fetcher Bot:" + "text": "The following is the Error Stack of the Exception that occurred at the API Data Fetcher Bot:" }, { "style": "Placeholder", @@ -55,7 +55,7 @@ }, { "style": "Text", - "text": "The following is the Error Code of the Exception that occured at the API Data Fetcher Bot:" + "text": "The following is the Error Code of the Exception that occurred at the API Data Fetcher Bot:" }, { "style": "Placeholder", @@ -67,7 +67,7 @@ }, { "style": "Text", - "text": "The following are all the Error details of the Exception that occured at the API Data Fetcher Bot:" + "text": "The following are all the Error details of the Exception that occurred at the API Data Fetcher Bot:" }, { "style": "Placeholder", diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Dataset-Type-Standard-Converter-Error/ts-dataset-type-standard-converter-error-001-ts-dataset-type-standard-convertert-error-only-one-data-dependency-expected.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Dataset-Type-Standard-Converter-Error/ts-dataset-type-standard-converter-error-001-ts-dataset-type-standard-convertert-error-only-one-data-dependency-expected.json index 39e4c97cbe..e46d6a529c 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Dataset-Type-Standard-Converter-Error/ts-dataset-type-standard-converter-error-001-ts-dataset-type-standard-convertert-error-only-one-data-dependency-expected.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Dataset-Type-Standard-Converter-Error/ts-dataset-type-standard-converter-error-001-ts-dataset-type-standard-convertert-error-only-one-data-dependency-expected.json @@ -1,7 +1,7 @@ { "topic": "TS Dataset Type Standard Converter Error", "pageNumber": "1", - "type": "TS Dataset Type Standard Convertert Error - Only One Data Dependency Expected", + "type": "TS Dataset Type Standard Converter Error - Only One Data Dependency Expected", "definition": { "text": "For this type of Dataset conversion, the process needs to have only one Data Dependency defined. Zero or more than one where found. To fix this issue, define only one Data Dependency and try again.", "updated": 1621859784437 @@ -31,7 +31,7 @@ }, { "style": "Text", - "text": "The following is the Error Message of the Exception that occured at the API Data Fetcher Bot:" + "text": "The following is the Error Message of the Exception that occurred at the API Data Fetcher Bot:" }, { "style": "Placeholder", @@ -43,7 +43,7 @@ }, { "style": "Text", - "text": "The following is the Error Stack of the Exception that occured at the API Data Fetcher Bot:" + "text": "The following is the Error Stack of the Exception that occurred at the API Data Fetcher Bot:" }, { "style": "Placeholder", @@ -55,7 +55,7 @@ }, { "style": "Text", - "text": "The following is the Error Code of the Exception that occured at the API Data Fetcher Bot:" + "text": "The following is the Error Code of the Exception that occurred at the API Data Fetcher Bot:" }, { "style": "Placeholder", @@ -67,7 +67,7 @@ }, { "style": "Text", - "text": "The following are all the Error details of the Exception that occured at the API Data Fetcher Bot:" + "text": "The following are all the Error details of the Exception that occurred at the API Data Fetcher Bot:" }, { "style": "Placeholder", diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Dataset-Type-Standard-Converter-Error/ts-dataset-type-standard-converter-error-002-ts-dataset-type-standard-convertert-error-only-one-output-dataset-expected.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Dataset-Type-Standard-Converter-Error/ts-dataset-type-standard-converter-error-002-ts-dataset-type-standard-convertert-error-only-one-output-dataset-expected.json index 06d0d57490..be6849af22 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Dataset-Type-Standard-Converter-Error/ts-dataset-type-standard-converter-error-002-ts-dataset-type-standard-convertert-error-only-one-output-dataset-expected.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Dataset-Type-Standard-Converter-Error/ts-dataset-type-standard-converter-error-002-ts-dataset-type-standard-convertert-error-only-one-output-dataset-expected.json @@ -1,7 +1,7 @@ { "topic": "TS Dataset Type Standard Converter Error", "pageNumber": "2", - "type": "TS Dataset Type Standard Convertert Error - Only One Output Dataset Expected", + "type": "TS Dataset Type Standard Converter Error - Only One Output Dataset Expected", "definition": { "text": "For this type of Dataset conversion, the process needs to have only one Output Datasety defined. Zero or more than one where found. To fix this issue, define only one Output Dataset and try again.", "updated": 1621859784437 diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Dataset-Type-Standard-Converter-Error/ts-dataset-type-standard-converter-error-003-ts-dataset-type-standard-convertert-error-status-report-is-corrupt.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Dataset-Type-Standard-Converter-Error/ts-dataset-type-standard-converter-error-003-ts-dataset-type-standard-convertert-error-status-report-is-corrupt.json index ed7d7ca501..114ad4ac80 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Dataset-Type-Standard-Converter-Error/ts-dataset-type-standard-converter-error-003-ts-dataset-type-standard-convertert-error-status-report-is-corrupt.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Dataset-Type-Standard-Converter-Error/ts-dataset-type-standard-converter-error-003-ts-dataset-type-standard-convertert-error-status-report-is-corrupt.json @@ -1,7 +1,7 @@ { "topic": "TS Dataset Type Standard Converter Error", "pageNumber": "3", - "type": "TS Dataset Type Standard Convertert Error - Status Report Is Corrupt", + "type": "TS Dataset Type Standard Converter Error - Status Report Is Corrupt", "definition": { "text": "The status report of one of the processes defined as Status Dependencies is corrupt and cannot be read. See below for details.", "updated": 1621859784437 diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Dataset-Type-Standard-Converter-Error/ts-dataset-type-standard-converter-error-004-ts-dataset-type-standard-convertert-error-get-context-variables-failed.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Dataset-Type-Standard-Converter-Error/ts-dataset-type-standard-converter-error-004-ts-dataset-type-standard-convertert-error-get-context-variables-failed.json index b80e46f6a6..6ce2855c01 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Dataset-Type-Standard-Converter-Error/ts-dataset-type-standard-converter-error-004-ts-dataset-type-standard-convertert-error-get-context-variables-failed.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Dataset-Type-Standard-Converter-Error/ts-dataset-type-standard-converter-error-004-ts-dataset-type-standard-convertert-error-get-context-variables-failed.json @@ -1,7 +1,7 @@ { "topic": "TS Dataset Type Standard Converter Error", "pageNumber": "4", - "type": "TS Dataset Type Standard Convertert Error - Get Context Variables Failed", + "type": "TS Dataset Type Standard Converter Error - Get Context Variables Failed", "definition": { "text": "It was not possible to get the context variables needed for running this process. See below for details.", "updated": 1621859784437 diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Learning-Bot-Errors/ts-lf-learning-bot-errors-001-ts-lf-learning-bot-error-evaluating-condition-error.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Learning-Bot-Errors/ts-lf-learning-bot-errors-001-ts-lf-learning-bot-error-evaluating-condition-error.json index d092289ce3..253ad979b0 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Learning-Bot-Errors/ts-lf-learning-bot-errors-001-ts-lf-learning-bot-error-evaluating-condition-error.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Learning-Bot-Errors/ts-lf-learning-bot-errors-001-ts-lf-learning-bot-error-evaluating-condition-error.json @@ -3,7 +3,7 @@ "pageNumber": "1", "type": "TS LF Learning Bot Error - Evaluating Condition Error", "definition": { - "text": "An error occured while evaluating a user defined Condition in the Learning System.", + "text": "An error occurred while evaluating a user defined Condition in the Learning System.", "updated": 1611925832560 }, "paragraphs": [ @@ -36,7 +36,7 @@ }, { "style": "Text", - "text": "The following is the Error Message of the Exception that occured at the LF Learning Bot:", + "text": "The following is the Error Message of the Exception that occurred at the LF Learning Bot:", "updated": 1611569424352 }, { @@ -49,7 +49,7 @@ }, { "style": "Text", - "text": "The following is the Error Stack of the Exception that occured at the LF Learning Bot:", + "text": "The following is the Error Stack of the Exception that occurred at the LF Learning Bot:", "updated": 1611569434043 }, { @@ -62,7 +62,7 @@ }, { "style": "Text", - "text": "The following is the Error Code of the Exception that occured at the LF Learning Bot:", + "text": "The following is the Error Code of the Exception that occurred at the LF Learning Bot:", "updated": 1611569440715 }, { @@ -75,7 +75,7 @@ }, { "style": "Text", - "text": "The following are all the Error details of the Exception that occured at the LF Learning Bot:", + "text": "The following are all the Error details of the Exception that occurred at the LF Learning Bot:", "updated": 1611569446711 }, { diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Learning-Bot-Errors/ts-lf-learning-bot-errors-002-ts-lf-learning-bot-error-evaluating-formula-error.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Learning-Bot-Errors/ts-lf-learning-bot-errors-002-ts-lf-learning-bot-error-evaluating-formula-error.json index e14bb63200..206242ebbb 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Learning-Bot-Errors/ts-lf-learning-bot-errors-002-ts-lf-learning-bot-error-evaluating-formula-error.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Learning-Bot-Errors/ts-lf-learning-bot-errors-002-ts-lf-learning-bot-error-evaluating-formula-error.json @@ -3,7 +3,7 @@ "pageNumber": "2", "type": "TS LF Learning Bot Error - Evaluating Formula Error", "definition": { - "text": "An error occured while evaluatiing a user-defined Formula at the Learning System.", + "text": "An error occurred while evaluating a user-defined Formula at the Learning System.", "updated": 1611926309593 }, "paragraphs": [ @@ -36,7 +36,7 @@ }, { "style": "Text", - "text": "The following is the Error Message of the Exception that occured at the LF Learning Bot:", + "text": "The following is the Error Message of the Exception that occurred at the LF Learning Bot:", "updated": 1611569424352 }, { @@ -49,7 +49,7 @@ }, { "style": "Text", - "text": "The following is the Error Stack of the Exception that occured at the LF Learning Bot:", + "text": "The following is the Error Stack of the Exception that occurred at the LF Learning Bot:", "updated": 1611569434043 }, { @@ -62,7 +62,7 @@ }, { "style": "Text", - "text": "The following is the Error Code of the Exception that occured at the LF Learning Bot:", + "text": "The following is the Error Code of the Exception that occurred at the LF Learning Bot:", "updated": 1611569440715 }, { @@ -75,7 +75,7 @@ }, { "style": "Text", - "text": "The following are all the Error details of the Exception that occured at the LF Learning Bot:", + "text": "The following are all the Error details of the Exception that occurred at the LF Learning Bot:", "updated": 1611569446711 }, { diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-001-ts-lf-trading-bot-error-evaluating-condition-error.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-001-ts-lf-trading-bot-error-evaluating-condition-error.json index d2726495a0..db64ccbb82 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-001-ts-lf-trading-bot-error-evaluating-condition-error.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-001-ts-lf-trading-bot-error-evaluating-condition-error.json @@ -3,7 +3,7 @@ "pageNumber": 1, "type": "TS LF Trading Bot Error - Evaluating Condition Error", "definition": { - "text": "An error occured while evaluating a user defined Condition in the Trading System.", + "text": "An error occurred while evaluating a user defined Condition in the Trading System.", "updated": 1611925832560 }, "paragraphs": [ @@ -36,7 +36,7 @@ }, { "style": "Text", - "text": "The following is the Error Message of the Exception that occured at the LF Trading Bot:", + "text": "The following is the Error Message of the Exception that occurred at the LF Trading Bot:", "updated": 1611569424352 }, { @@ -49,7 +49,7 @@ }, { "style": "Text", - "text": "The following is the Error Stack of the Exception that occured at the LF Trading Bot:", + "text": "The following is the Error Stack of the Exception that occurred at the LF Trading Bot:", "updated": 1611569434043 }, { @@ -62,7 +62,7 @@ }, { "style": "Text", - "text": "The following is the Error Code of the Exception that occured at the LF Trading Bot:", + "text": "The following is the Error Code of the Exception that occurred at the LF Trading Bot:", "updated": 1611569440715 }, { @@ -75,7 +75,7 @@ }, { "style": "Text", - "text": "The following are all the Error details of the Exception that occured at the LF Trading Bot:", + "text": "The following are all the Error details of the Exception that occurred at the LF Trading Bot:", "updated": 1611569446711 }, { diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-002-ts-lf-trading-bot-error-evaluating-formula-error.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-002-ts-lf-trading-bot-error-evaluating-formula-error.json index f514eb752a..a4d3125069 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-002-ts-lf-trading-bot-error-evaluating-formula-error.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-002-ts-lf-trading-bot-error-evaluating-formula-error.json @@ -3,7 +3,7 @@ "pageNumber": 2, "type": "TS LF Trading Bot Error - Evaluating Formula Error", "definition": { - "text": "An error occurred while evaluatiing a user-defined Formula at the Trading System.", + "text": "An error occurred while evaluating a user-defined Formula at the Trading System.", "updated": 1611926309593 }, "paragraphs": [ diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-005-ts-lf-trading-bot-error-maximum-balance-reached.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-005-ts-lf-trading-bot-error-maximum-balance-reached.json index 515a6d813f..7a98946573 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-005-ts-lf-trading-bot-error-maximum-balance-reached.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-005-ts-lf-trading-bot-error-maximum-balance-reached.json @@ -9,7 +9,7 @@ "paragraphs": [ { "style": "Text", - "text": "The Session Base Asset and Session Quoted Asset Trading Parameters enable the setting of a maximumBalance. The parameter is optional. When you use it, the LF Trading Bot checks—for every candle during the Trading Session—that the balance has not reached the configured maximum. If it does, this error is triggered and the Trading Session stops immediatelly.", + "text": "The Session Base Asset and Session Quoted Asset Trading Parameters enable the setting of a maximumBalance. The parameter is optional. When you use it, the LF Trading Bot checks—for every candle during the Trading Session—that the balance has not reached the configured maximum. If it does, this error is triggered and the Trading Session stops immediately.", "updated": 1611930588291 }, { diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-006-ts-lf-trading-bot-error-minimum-balance-reached.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-006-ts-lf-trading-bot-error-minimum-balance-reached.json index 2908d48d8e..ff96ba547f 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-006-ts-lf-trading-bot-error-minimum-balance-reached.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-006-ts-lf-trading-bot-error-minimum-balance-reached.json @@ -9,7 +9,7 @@ "paragraphs": [ { "style": "Text", - "text": "The Session Base Asset and Session Quoted Asset Trading Parameters enable the setting of a minimumBalance. The parameter is optional. When you use it, the LF Trading Bot checks—for every candle during the Trading Session—that the balance has not reached the configured minimum. If it does, this error is triggered and the Trading Session stops immediatelly.", + "text": "The Session Base Asset and Session Quoted Asset Trading Parameters enable the setting of a minimumBalance. The parameter is optional. When you use it, the LF Trading Bot checks—for every candle during the Trading Session—that the balance has not reached the configured minimum. If it does, this error is triggered and the Trading Session stops immediately.", "updated": 1611934902255 }, { diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-027-ts-lf-trading-bot-error-order-statistics-node-missing.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-027-ts-lf-trading-bot-error-order-statistics-node-missing.json index 666a9a4e82..1abc7e5862 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-027-ts-lf-trading-bot-error-order-statistics-node-missing.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-027-ts-lf-trading-bot-error-order-statistics-node-missing.json @@ -9,7 +9,7 @@ "paragraphs": [ { "style": "Error", - "text": "Order Statistics Node Misssing", + "text": "Order Statistics Node Missing", "updated": 1611650682469 }, { diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-053-ts-lf-trading-bot-error-announcement-condition-evaluation-error.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-053-ts-lf-trading-bot-error-announcement-condition-evaluation-error.json index de41c31bb2..f96d2bf8f9 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-053-ts-lf-trading-bot-error-announcement-condition-evaluation-error.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-053-ts-lf-trading-bot-error-announcement-condition-evaluation-error.json @@ -9,7 +9,7 @@ "paragraphs": [ { "style": "Error", - "text": "Annoucement Unexpected Error", + "text": "Announcement Unexpected Error", "updated": 1611732817870 }, { diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-056-ts-lf-trading-bot-error-invalid-exchange-api-secret.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-056-ts-lf-trading-bot-error-invalid-exchange-api-secret.json index bf58004618..46c7d9db96 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-056-ts-lf-trading-bot-error-invalid-exchange-api-secret.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-056-ts-lf-trading-bot-error-invalid-exchange-api-secret.json @@ -3,7 +3,7 @@ "pageNumber": 56, "type": "TS LF Trading Bot Error - Invalid Exchange API Secret", "definition": { - "text": "The secret in the Exchange API Key you provided was not recongnized by the Exchange as a valid secret for the particular key.", + "text": "The secret in the Exchange API Key you provided was not recognized by the Exchange as a valid secret for the particular key.", "updated": 1611951391613 }, "paragraphs": [ diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-057-ts-lf-trading-bot-error-get-order-unexpected-error.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-057-ts-lf-trading-bot-error-get-order-unexpected-error.json index a7844e1f5e..9a43e7f3ec 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-057-ts-lf-trading-bot-error-get-order-unexpected-error.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-057-ts-lf-trading-bot-error-get-order-unexpected-error.json @@ -45,7 +45,7 @@ }, { "style": "Text", - "text": "The following is the Error Message of the Exception that occured at the LF Trading Bot:" + "text": "The following is the Error Message of the Exception that occurred at the LF Trading Bot:" }, { "style": "Placeholder", @@ -57,7 +57,7 @@ }, { "style": "Text", - "text": "The following is the Error Stack of the Exception that occured at the LF Trading Bot:" + "text": "The following is the Error Stack of the Exception that occurred at the LF Trading Bot:" }, { "style": "Placeholder", @@ -69,7 +69,7 @@ }, { "style": "Text", - "text": "The following is the Error Code of the Exception that occured at the LF Trading Bot:" + "text": "The following is the Error Code of the Exception that occurred at the LF Trading Bot:" }, { "style": "Placeholder", @@ -81,7 +81,7 @@ }, { "style": "Text", - "text": "The following are all the Error details of the Exception that occured at the LF Trading Bot:" + "text": "The following are all the Error details of the Exception that occurred at the LF Trading Bot:" }, { "style": "Placeholder", @@ -117,7 +117,7 @@ }, { "style": "Text", - "text": "The following is the context information preserved when the error occured:" + "text": "The following is the context information preserved when the error occurred:" }, { "style": "Placeholder", diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-058-ts-lf-trading-bot-error-cancel-order-unexpected-error.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-058-ts-lf-trading-bot-error-cancel-order-unexpected-error.json index ba44bf22a7..3937b13a57 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-058-ts-lf-trading-bot-error-cancel-order-unexpected-error.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-058-ts-lf-trading-bot-error-cancel-order-unexpected-error.json @@ -3,7 +3,7 @@ "pageNumber": 58, "type": "TS LF Trading Bot Error - Cancel Order Unexpected Error", "definition": { - "text": "An Unexpected Error occured while trying to cancel an order at the exchange. The LF Trading Bot continued running after reporting this error.", + "text": "An Unexpected Error occurred while trying to cancel an order at the exchange. The LF Trading Bot continued running after reporting this error.", "updated": 1611952604513 }, "paragraphs": [ @@ -40,7 +40,7 @@ }, { "style": "Text", - "text": "The following is the Error Message of the Exception that occured at the LF Trading Bot:" + "text": "The following is the Error Message of the Exception that occurred at the LF Trading Bot:" }, { "style": "Placeholder", @@ -52,7 +52,7 @@ }, { "style": "Text", - "text": "The following is the Error Stack of the Exception that occured at the LF Trading Bot:" + "text": "The following is the Error Stack of the Exception that occurred at the LF Trading Bot:" }, { "style": "Placeholder", @@ -64,7 +64,7 @@ }, { "style": "Text", - "text": "The following is the Error Code of the Exception that occured at the LF Trading Bot:" + "text": "The following is the Error Code of the Exception that occurred at the LF Trading Bot:" }, { "style": "Placeholder", @@ -76,7 +76,7 @@ }, { "style": "Text", - "text": "The following are all the Error details of the Exception that occured at the LF Trading Bot:" + "text": "The following are all the Error details of the Exception that occurred at the LF Trading Bot:" }, { "style": "Placeholder", @@ -112,7 +112,7 @@ }, { "style": "Text", - "text": "The following is the context information preserved when the error occured:" + "text": "The following is the context information preserved when the error occurred:" }, { "style": "Placeholder", diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-059-ts-lf-trading-bot-error-create-order-unexpected-error.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-059-ts-lf-trading-bot-error-create-order-unexpected-error.json index 8c65b23fe1..85ab2d017d 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-059-ts-lf-trading-bot-error-create-order-unexpected-error.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-059-ts-lf-trading-bot-error-create-order-unexpected-error.json @@ -3,7 +3,7 @@ "pageNumber": 59, "type": "TS LF Trading Bot Error - Create Order Unexpected Error", "definition": { - "text": "An Uncexpected Error occured while trying to cancel an order at the exchange. The LF Trading Bot continued running after reporting this error.", + "text": "An Unexpected Error occurred while trying to cancel an order at the exchange. The LF Trading Bot continued running after reporting this error.", "updated": 1611736350925 }, "paragraphs": [ @@ -40,7 +40,7 @@ }, { "style": "Text", - "text": "The following is the Error Message of the Exception that occured at the LF Trading Bot:" + "text": "The following is the Error Message of the Exception that occurred at the LF Trading Bot:" }, { "style": "Placeholder", @@ -52,7 +52,7 @@ }, { "style": "Text", - "text": "The following is the Error Stack of the Exception that occured at the LF Trading Bot:" + "text": "The following is the Error Stack of the Exception that occurred at the LF Trading Bot:" }, { "style": "Placeholder", @@ -64,7 +64,7 @@ }, { "style": "Text", - "text": "The following is the Error Code of the Exception that occured at the LF Trading Bot:" + "text": "The following is the Error Code of the Exception that occurred at the LF Trading Bot:" }, { "style": "Placeholder", @@ -76,7 +76,7 @@ }, { "style": "Text", - "text": "The following are all the Error details of the Exception that occured at the LF Trading Bot:" + "text": "The following are all the Error details of the Exception that occurred at the LF Trading Bot:" }, { "style": "Placeholder", @@ -112,7 +112,7 @@ }, { "style": "Text", - "text": "The following is the context information preserved when the error occured:" + "text": "The following is the context information preserved when the error occurred:" }, { "style": "Placeholder", diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-060-ts-lf-trading-bot-error-execution-unexpected-error.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-060-ts-lf-trading-bot-error-execution-unexpected-error.json index 6711652c36..31706d7319 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-060-ts-lf-trading-bot-error-execution-unexpected-error.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Errors/ts-lf-trading-bot-errors-060-ts-lf-trading-bot-error-execution-unexpected-error.json @@ -3,7 +3,7 @@ "pageNumber": 60, "type": "TS LF Trading Bot Error - Execution Unexpected Error", "definition": { - "text": "An Unexpected Error occurred while procesing the execution of orders. The LF Trading Bot continued running after reporting this error.", + "text": "An Unexpected Error occurred while processing the execution of orders. The LF Trading Bot continued running after reporting this error.", "updated": 1611953087876 }, "paragraphs": [ diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Infos/ts-lf-trading-bot-infos-003-ts-lf-trading-bot-info-order-closed.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Infos/ts-lf-trading-bot-infos-003-ts-lf-trading-bot-info-order-closed.json index eb5654621f..01d87a3e65 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Infos/ts-lf-trading-bot-infos-003-ts-lf-trading-bot-info-order-closed.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Infos/ts-lf-trading-bot-infos-003-ts-lf-trading-bot-info-order-closed.json @@ -3,7 +3,7 @@ "pageNumber": "3", "type": "TS LF Trading Bot Info - Order Closed", "definition": { - "text": "The order that triggered this Infor Message has been closed.", + "text": "The order that triggered this Info Message has been closed.", "updated": 1611920136713 }, "paragraphs": [ diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Warnings/ts-lf-trading-bot-warnings-008-ts-lf-trading-bot-warning-simulating-actual-rate-too-hight.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Warnings/ts-lf-trading-bot-warnings-008-ts-lf-trading-bot-warning-simulating-actual-rate-too-hight.json index 387da4ede5..71c6e68c73 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Warnings/ts-lf-trading-bot-warnings-008-ts-lf-trading-bot-warning-simulating-actual-rate-too-hight.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Warnings/ts-lf-trading-bot-warnings-008-ts-lf-trading-bot-warning-simulating-actual-rate-too-hight.json @@ -1,7 +1,7 @@ { "topic": "TS LF Trading Bot Warnings", "pageNumber": "8", - "type": "TS LF Trading Bot Warning - Simulating - Actual Rate Too Hight", + "type": "TS LF Trading Bot Warning - Simulating - Actual Rate Too High", "definition": { "text": "The Actual Rate was adjusted to the Candle Max value because the original Actual Rate of the Buy Order was above the Current Candle Max.", "updated": 1611924420717 @@ -14,7 +14,7 @@ }, { "style": "Warning", - "text": "Actual Rate Too Hight" + "text": "Actual Rate Too High" }, { "style": "Title", diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Warnings/ts-lf-trading-bot-warnings-013-ts-lf-trading-bot-warning-order-size-shrinked.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Warnings/ts-lf-trading-bot-warnings-013-ts-lf-trading-bot-warning-order-size-shrinked.json index fd741f1d81..6b7ce23ba0 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Warnings/ts-lf-trading-bot-warnings-013-ts-lf-trading-bot-warning-order-size-shrinked.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-LF-Trading-Bot-Warnings/ts-lf-trading-bot-warnings-013-ts-lf-trading-bot-warning-order-size-shrinked.json @@ -1,9 +1,9 @@ { "topic": "TS LF Trading Bot Warnings", "pageNumber": "13", - "type": "TS LF Trading Bot Warning - Order Size Shrinked", + "type": "TS LF Trading Bot Warning - Order Size Shrunk", "definition": { - "text": "The Order Size was shrinked to enforce the cap set in the Target Size of the stage. Otherwise, the original definition of the order Size would have set the Size Placed higher than the Target Size.", + "text": "The Order Size was shrunk to enforce the cap set in the Target Size of the stage. Otherwise, the original definition of the order Size would have set the Size Placed higher than the Target Size.", "updated": 1611916645008 }, "paragraphs": [ @@ -14,7 +14,7 @@ }, { "style": "Warning", - "text": "Order Size Shrinked" + "text": "Order Size Shrunk" }, { "style": "Title", diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-002-ts-trading-session-error-invalid-initial-datetime-property-value.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-002-ts-trading-session-error-invalid-initial-datetime-property-value.json index 888273830d..f230afd438 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-002-ts-trading-session-error-invalid-initial-datetime-property-value.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-002-ts-trading-session-error-invalid-initial-datetime-property-value.json @@ -3,7 +3,7 @@ "pageNumber": "2", "type": "TS Trading Session Error - Invalid Initial Datetime Property Value", "definition": { - "text": "The initialDatetime property configured at the Time Range node is not recongnized as a valid Javascript Datetime.", + "text": "The initialDatetime property configured at the Time Range node is not recognized as a valid Javascript Datetime.", "updated": 1611322806779 }, "paragraphs": [ @@ -14,7 +14,7 @@ }, { "style": "Success", - "text": "Check Node JS Javsacript docs to learn how to correctly express a datetime value.", + "text": "Check Node JS Javascript docs to learn how to correctly express a datetime value.", "updated": 1611323830743 }, { diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-003-ts-trading-session-error-invalid-final-datetime-property-value.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-003-ts-trading-session-error-invalid-final-datetime-property-value.json index 227c349f7a..7219f8f607 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-003-ts-trading-session-error-invalid-final-datetime-property-value.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-003-ts-trading-session-error-invalid-final-datetime-property-value.json @@ -3,7 +3,7 @@ "pageNumber": "3", "type": "TS Trading Session Error - Invalid Final Datetime Property Value", "definition": { - "text": "The finalDatetime property configured at the Time Range node is not recongnized as a valid Javascript Datetime.", + "text": "The finalDatetime property configured at the Time Range node is not recognized as a valid Javascript Datetime.", "updated": 1611323471271 }, "paragraphs": [ @@ -14,7 +14,7 @@ }, { "style": "Success", - "text": "Check Node JS Javsacript docs to learn how to correctly express a datetime value.", + "text": "Check Node JS Javascript docs to learn how to correctly express a datetime value.", "updated": 1611323848427 }, { diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-004-ts-trading-session-error-time-frame-node-missing.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-004-ts-trading-session-error-time-frame-node-missing.json index 10b0fd1afa..43e5afeda9 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-004-ts-trading-session-error-time-frame-node-missing.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-004-ts-trading-session-error-time-frame-node-missing.json @@ -9,7 +9,7 @@ "paragraphs": [ { "style": "Success", - "text": "Add a Time Frame Node at the Trading Parameters Node where this error poped up, check it's config and try running the Trading Session again.", + "text": "Add a Time Frame Node at the Trading Parameters Node where this error popped up, check it's config and try running the Trading Session again.", "updated": 1611331091819 } ] diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-005-ts-trading-session-error-label-property-missing.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-005-ts-trading-session-error-label-property-missing.json index d670abbeec..ac8ce4b3c2 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-005-ts-trading-session-error-label-property-missing.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-005-ts-trading-session-error-label-property-missing.json @@ -3,7 +3,7 @@ "pageNumber": "5", "type": "TS Trading Session Error - Label Property Missing", "definition": { - "text": "A property called label is expeceted at the Time Frame Node config, but it is missing.", + "text": "A property called label is expected at the Time Frame Node config, but it is missing.", "updated": 1611332389501 }, "paragraphs": [ diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-007-ts-trading-session-error-session-base-asset-node-missing.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-007-ts-trading-session-error-session-base-asset-node-missing.json index 9420e27647..2f75761eb4 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-007-ts-trading-session-error-session-base-asset-node-missing.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-007-ts-trading-session-error-session-base-asset-node-missing.json @@ -9,7 +9,7 @@ "paragraphs": [ { "style": "Success", - "text": "Add a Session Base Asset Node at the Trading Parameters Node where this error poped up, check it's config and try running the Trading Session again.", + "text": "Add a Session Base Asset Node at the Trading Parameters Node where this error popped up, check it's config and try running the Trading Session again.", "updated": 1611331221697 } ] diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-008-ts-trading-session-error-session-quoted-asset-node-missing.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-008-ts-trading-session-error-session-quoted-asset-node-missing.json index 261ae2baed..4f87459597 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-008-ts-trading-session-error-session-quoted-asset-node-missing.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-008-ts-trading-session-error-session-quoted-asset-node-missing.json @@ -9,7 +9,7 @@ "paragraphs": [ { "style": "Success", - "text": "Add a Session Quoted Asset Node at the Trading Parameters Node where this error poped up, check it's config and try running the Trading Session again.", + "text": "Add a Session Quoted Asset Node at the Trading Parameters Node where this error popped up, check it's config and try running the Trading Session again.", "updated": 1611331377674 } ] diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-009-ts-trading-session-error-initial-balance-property-missing.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-009-ts-trading-session-error-initial-balance-property-missing.json index 48671bdcdb..4d01fe5826 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-009-ts-trading-session-error-initial-balance-property-missing.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-009-ts-trading-session-error-initial-balance-property-missing.json @@ -3,7 +3,7 @@ "pageNumber": "9", "type": "TS Trading Session Error - Initial Balance Property Missing", "definition": { - "text": "A property called initialBalance is expeceted at the Session Base Asset and Session Quoted Asset Node config.", + "text": "A property called initialBalance is expected at the Session Base Asset and Session Quoted Asset Node config.", "updated": 1611335687259 }, "paragraphs": [ diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-010-ts-trading-session-error-key-reference-node-missing.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-010-ts-trading-session-error-key-reference-node-missing.json index de818c2af7..94271c5902 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-010-ts-trading-session-error-key-reference-node-missing.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-010-ts-trading-session-error-key-reference-node-missing.json @@ -9,7 +9,7 @@ "paragraphs": [ { "style": "Success", - "text": "At the Task Node where this error poped up, add a Key Reference Node and reference from it an Exchange Account Key with it. Then you can try to run the Trading Session again.", + "text": "At the Task Node where this error popped up, add a Key Reference Node and reference from it an Exchange Account Key with it. Then you can try to run the Trading Session again.", "updated": 1611392617497 } ] diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-011-ts-trading-session-error-exchange-account-key-node-missing.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-011-ts-trading-session-error-exchange-account-key-node-missing.json index 794dd7d406..4c95661e78 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-011-ts-trading-session-error-exchange-account-key-node-missing.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-011-ts-trading-session-error-exchange-account-key-node-missing.json @@ -9,7 +9,7 @@ "paragraphs": [ { "style": "Success", - "text": "From the Key Reference Node where this error poped up, you need to reference an Account Exchange Key holding your keys to access your account at the Exchange.", + "text": "From the Key Reference Node where this error popped up, you need to reference an Account Exchange Key holding your keys to access your account at the Exchange.", "updated": 1611392779124 } ] diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-012-ts-trading-session-error-codename-property-missing.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-012-ts-trading-session-error-codename-property-missing.json index d8bea34cd0..c2eddffda1 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-012-ts-trading-session-error-codename-property-missing.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-012-ts-trading-session-error-codename-property-missing.json @@ -3,7 +3,7 @@ "pageNumber": "12", "type": "TS Trading Session Error - Codename Property Missing", "definition": { - "text": "A property called codeName is expeceted at the Exchange Account Key Node config.", + "text": "A property called codeName is expected at the Exchange Account Key Node config.", "updated": 1611392953689 }, "paragraphs": [ diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-013-ts-trading-session-error-secret-property-missing.json b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-013-ts-trading-session-error-secret-property-missing.json index 35d805eb2b..2f8c5e4dda 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-013-ts-trading-session-error-secret-property-missing.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/TS/TS-Trading-Session-Errors/ts-trading-session-errors-013-ts-trading-session-error-secret-property-missing.json @@ -3,7 +3,7 @@ "pageNumber": "13", "type": "TS Trading Session Error - Secret Property Missing", "definition": { - "text": "A property called secret is expeceted at the Exchange Account Key Node config.", + "text": "A property called secret is expected at the Exchange Account Key Node config.", "updated": 1611393059925 }, "paragraphs": [ diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Farms/trading-farms-001-trading-farms-fundamental-concepts.json b/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Farms/trading-farms-001-trading-farms-fundamental-concepts.json index 52f7d1dba2..95434520fd 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Farms/trading-farms-001-trading-farms-fundamental-concepts.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Farms/trading-farms-001-trading-farms-fundamental-concepts.json @@ -37,7 +37,7 @@ }, { "style": "Text", - "text": "The whole purpose of the Network definition is to let the system know where each task must run and where the data is localted. ", + "text": "The whole purpose of the Network definition is to let the system know where each task must run and where the data is located. ", "updated": 1614353600414 }, { @@ -51,7 +51,7 @@ }, { "style": "Text", - "text": "There are many different way you might want to organize the Tasks across several Clients. It is really up to you. The system doesn't care or have any preferred way for you to do so. It justs need to know where each Task runs, and where the Data is located. That's it.", + "text": "There are many different way you might want to organize the Tasks across several Clients. It is really up to you. The system doesn't care or have any preferred way for you to do so. It just need to know where each Task runs, and where the Data is located. That's it.", "updated": 1617263562866 }, { diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Farms/trading-farms-002-trading-farms-set-up-a-network-of-nodes.json b/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Farms/trading-farms-002-trading-farms-set-up-a-network-of-nodes.json index f5d2ac3abb..cdcc13aaad 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Farms/trading-farms-002-trading-farms-set-up-a-network-of-nodes.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Farms/trading-farms-002-trading-farms-set-up-a-network-of-nodes.json @@ -32,7 +32,7 @@ }, { "style": "Important", - "text": "One of the most important things to undestand of this procedure is that it takes into account the things you have at the workspace at the moment you run this command. " + "text": "One of the most important things to understand of this procedure is that it takes into account the things you have at the workspace at the moment you run this command. " }, { "style": "Text", @@ -82,7 +82,7 @@ }, { "style": "Text", - "text": "Assuming you will go with the startegy of installing one Network Node first, this is what you need to know on how to move Task s to other Network Nodes.", + "text": "Assuming you will go with the strategy of installing one Network Node first, this is what you need to know on how to move Task s to other Network Nodes.", "updated": 1614357184981 }, { @@ -92,7 +92,7 @@ }, { "style": "Text", - "text": "Always remember that the system just needs you to define where you want the Tasks to run and the Data to be Hosted, but there is an implcit relationship between Tasks and Data because a Task produces certain Data, and those definition needs to be consistent and be found at the same Network Node." + "text": "Always remember that the system just needs you to define where you want the Tasks to run and the Data to be Hosted, but there is an implicit relationship between Tasks and Data because a Task produces certain Data, and those definition needs to be consistent and be found at the same Network Node." }, { "style": "Warning", @@ -105,7 +105,7 @@ }, { "style": "Note", - "text": "When we say moving, what we are saying is detaching a Node branch and re-attaching that same branch somewhere else. Note that if you, for example, make a backup of a branch, restore that somehwhere else without deleting the original branch first, you will inadvertently be creating new ids for each Node at this branch and messing up the incoming references, which will cause things to not work anymore.", + "text": "When we say moving, what we are saying is detaching a Node branch and re-attaching that same branch somewhere else. Note that if you, for example, make a backup of a branch, restore that somewhere else without deleting the original branch first, you will inadvertently be creating new ids for each Node at this branch and messing up the incoming references, which will cause things to not work anymore.", "updated": 1617264249424 }, { diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Logic/trading-logic-002-syntax-overview.json b/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Logic/trading-logic-002-syntax-overview.json index 113a9beaf7..641397fb30 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Logic/trading-logic-002-syntax-overview.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Logic/trading-logic-002-syntax-overview.json @@ -56,11 +56,11 @@ }, { "style": "Text", - "text": "The variables explained further down this section, written as described for each indicator, are not valid unless they are preceeded by the declaration of the time frame they refer to." + "text": "The variables explained further down this section, written as described for each indicator, are not valid unless they are proceeded by the declaration of the time frame they refer to." }, { "style": "Text", - "text": "To do that, you need to preceed the above syntax with the following:" + "text": "To do that, you need to proceed the above syntax with the following:" }, { "style": "Javascript", @@ -262,7 +262,7 @@ }, { "style": "Text", - "text": "You may use any valid piece of JavaScript code for your conditions and formulas. The system imposses no contraints whatsoever. The code on conditions and formulas is run through the eval() function, as follows:", + "text": "You may use any valid piece of JavaScript code for your conditions and formulas. The system imposes no constraints whatsoever. The code on conditions and formulas is run through the eval() function, as follows:", "updated": 1610215780497 }, { diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Logic/trading-logic-003-accessing-runtime-data.json b/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Logic/trading-logic-003-accessing-runtime-data.json index 3af087fae2..51141af05f 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Logic/trading-logic-003-accessing-runtime-data.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Logic/trading-logic-003-accessing-runtime-data.json @@ -14,7 +14,7 @@ }, { "style": "Text", - "text": "For example, let’s say you wish to access the value of the Begin node under Strategy Open Stage. The path to that node, as denoted by the structure of the hierachy below, is:", + "text": "For example, let’s say you wish to access the value of the Begin node under Strategy Open Stage. The path to that node, as denoted by the structure of the hierarchy below, is:", "updated": 1610216746961 }, { diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Logic/trading-logic-004-accessing-trading-system-definitions-and-session-parameters.json b/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Logic/trading-logic-004-accessing-trading-system-definitions-and-session-parameters.json index a0375e0bfe..7f6c51eeb4 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Logic/trading-logic-004-accessing-trading-system-definitions-and-session-parameters.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Logic/trading-logic-004-accessing-trading-system-definitions-and-session-parameters.json @@ -46,7 +46,7 @@ }, { "style": "Text", - "text": "Such a feature may be useful, for instance, to include such definitions or parameters on Telegram accouncement messages, as in:" + "text": "Such a feature may be useful, for instance, to include such definitions or parameters on Telegram announcement messages, as in:" }, { "style": "Javascript", diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Systems/trading-systems-006-order-definitions.json b/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Systems/trading-systems-006-order-definitions.json index 56cacd8e26..b66bfaf1f3 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Systems/trading-systems-006-order-definitions.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Systems/trading-systems-006-order-definitions.json @@ -3,7 +3,7 @@ "pageNumber": "6", "type": "Order Definitions", "definition": { - "text": "All types of orders have similar definitions. The one difference between market and limit orders is that market orders do no hace an Order Rate definition.", + "text": "All types of orders have similar definitions. The one difference between market and limit orders is that market orders do no have an Order Rate definition.", "updated": 1610197366077 }, "paragraphs": [ diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Systems/trading-systems-008-position-management-phases.json b/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Systems/trading-systems-008-position-management-phases.json index b5446b642e..35bd8059a0 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Systems/trading-systems-008-position-management-phases.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/Trading/Trading-Systems/trading-systems-008-position-management-phases.json @@ -3,7 +3,7 @@ "pageNumber": "8", "type": "Position Management Phases", "definition": { - "text": "You may manage a position using dynammic stop loss and take profit targets. Targets are dynamic in the sense that they are defined by formulas, which may change depending on defined market situations.", + "text": "You may manage a position using dynamic stop loss and take profit targets. Targets are dynamic in the sense that they are defined by formulas, which may change depending on defined market situations.", "updated": 1610207512419 }, "paragraphs": [ diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Troubleshooting/Troubleshooting/troubleshooting-003-how-to-upgrade-your-existing-installation.json b/Projects/Foundations/Schemas/Docs-Topics/T/Troubleshooting/Troubleshooting/troubleshooting-003-how-to-upgrade-your-existing-installation.json index 78f928dce8..bf7e4f9d3b 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Troubleshooting/Troubleshooting/troubleshooting-003-how-to-upgrade-your-existing-installation.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/Troubleshooting/Troubleshooting/troubleshooting-003-how-to-upgrade-your-existing-installation.json @@ -100,7 +100,7 @@ }, { "style": "Title", - "text": "Final Tunning and Testing" + "text": "Final Tuning and Testing" }, { "style": "Text", diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Troubleshooting/Troubleshooting/troubleshooting-006-perception-issues-my-system-gets-slow.json b/Projects/Foundations/Schemas/Docs-Topics/T/Troubleshooting/Troubleshooting/troubleshooting-006-perception-issues-my-system-gets-slow.json index a7540576eb..2f7f8aa5d4 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Troubleshooting/Troubleshooting/troubleshooting-006-perception-issues-my-system-gets-slow.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/Troubleshooting/Troubleshooting/troubleshooting-006-perception-issues-my-system-gets-slow.json @@ -95,7 +95,7 @@ }, { "style": "Text", - "text": "There’s a handy built-in tool to meassure the performance of the animation that you may use to see the effects of turning off layers, lowering the density of information and so on." + "text": "There’s a handy built-in tool to measure the performance of the animation that you may use to see the effects of turning off layers, lowering the density of information and so on." }, { "style": "Text", diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Troubleshooting/Troubleshooting/troubleshooting-017-problems-saving-the-workspace-or-plugins.json b/Projects/Foundations/Schemas/Docs-Topics/T/Troubleshooting/Troubleshooting/troubleshooting-017-problems-saving-the-workspace-or-plugins.json index 73ce27f734..3afcc22513 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Troubleshooting/Troubleshooting/troubleshooting-017-problems-saving-the-workspace-or-plugins.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/Troubleshooting/Troubleshooting/troubleshooting-017-problems-saving-the-workspace-or-plugins.json @@ -3,7 +3,7 @@ "pageNumber": "17", "type": "Problems Saving The Workspace or Plugins", "definition": { - "text": "Are you having problems saving your Workspace? Did your changes in the workspace disappear? Was the workspace reset? Or you believe the changes were lost? Are you confused on how the system handles the persistance of changes? Is your Workspace not saving your changes?", + "text": "Are you having problems saving your Workspace? Did your changes in the workspace disappear? Was the workspace reset? Or you believe the changes were lost? Are you confused on how the system handles the persistence of changes? Is your Workspace not saving your changes?", "updated": 1620849519292 }, "paragraphs": [ @@ -19,7 +19,7 @@ }, { "style": "Title", - "text": "Worksapces" + "text": "Workspaces" }, { "style": "Text", @@ -59,11 +59,11 @@ }, { "style": "Text", - "text": "Everytime you run Superalgos the system will try to load the latest loaded workspace. It remembers the last workspace because it stores at the browser's local storage the name of the lastest succesfully loaded workspace." + "text": "Everytime you run Superalgos the system will try to load the latest loaded workspace. It remembers the last workspace because it stores at the browser's local storage the name of the latest successfully loaded workspace." }, { "style": "Note", - "text": "This means that if you want Superalgos to forget the latesst loaded workspace you can do that by deleting the local storage variable at the browser.", + "text": "This means that if you want Superalgos to forget the latest loaded workspace you can do that by deleting the local storage variable at the browser.", "updated": 1620846746582 }, { @@ -73,12 +73,12 @@ }, { "style": "Text", - "text": "If the system does not find any name at the browser's local storage, or if it finds a name but can not find the file of that workspace, it will then try to load the'default'workspace, which is the Getting Started Plugin Workspace.", + "text": "If the system does not find any name at the browser's local storage, or if it finds a name but can not find the file of that workspace, it will then try to load the 'default' workspace, which is the Getting Started Plugin Workspace.", "updated": 1620846971983 }, { "style": "Note", - "text": "This means that if you delete the latest workspace file from the My Workspaces folder, you will force the system to laod the defual workspace. " + "text": "This means that if you delete the latest workspace file from the My Workspaces folder, you will force the system to load the default workspace. " }, { "style": "Subtitle", @@ -100,11 +100,11 @@ }, { "style": "Text", - "text": "Every time you open the left side bar, the system will search the Plugin Workspaces folder and place all the files found there at the left side panel. It will also sacan all the My Workspaces folder and add those files to the bottom of the left side panel." + "text": "Every time you open the left side bar, the system will search the Plugin Workspaces folder and place all the files found there at the left side panel. It will also scan all the My Workspaces folder and add those files to the bottom of the left side panel." }, { "style": "Note", - "text": "To access a saved or renames workspace open the left side panel and scroll to the botton, after the list of Plugin Worksapces finishes, you will see the ones saved / renamed by you." + "text": "To access a saved or renames workspace open the left side panel and scroll to the bottom, after the list of Plugin Workspaces finishes, you will see the ones saved / renamed by you." }, { "style": "Subtitle", @@ -127,7 +127,7 @@ }, { "style": "Text", - "text": "If you are using a Plugin Workspace, the way to revover is by loading that Plugin Workspace again. The system will naturally then save a copy at My Worksapces folder overwritting any changes you made. From there all tasks should run well." + "text": "If you are using a Plugin Workspace, the way to recover is by loading that Plugin Workspace again. The system will naturally then save a copy at My Workspaces folder overwriting any changes you made. From there all tasks should run well." }, { "style": "Subtitle", @@ -158,7 +158,7 @@ }, { "style": "Success", - "text": "That menas that for instance, if you add version 1, 2, 3 to the end of the workspace node's name, you will be creating several backups of your works.", + "text": "That means that for instance, if you add version 1, 2, 3 to the end of the workspace node's name, you will be creating several backups of your works.", "updated": 1620848010694 }, { @@ -168,7 +168,7 @@ }, { "style": "Subtitle", - "text": "How do I add plugins to my worksapce?", + "text": "How do I add plugins to my workspace?", "updated": 1620848171711 }, { @@ -192,7 +192,7 @@ }, { "style": "Success", - "text": "Plugins within the workspace are recognized because the ring sorrounding the head of the hiererchy is closed. Not Plugins have that ring with openings.", + "text": "Plugins within the workspace are recognized because the ring surrounding the head of the hierarchy is closed. Not Plugins have that ring with openings.", "updated": 1620848300738 }, { @@ -220,7 +220,7 @@ }, { "style": "Important", - "text": "If you backup a plugin structure and the throw it again into the workspace it will not be considered a plugin, bacuase it was not loaded as part of the mechanism defined by the Pluigins hierarchy, which means that it will be considered a non-plugin and become part of your workspace. The same happens when you drag and drop any file backed up, being a plugin or not. It will become part of your workspace and saved together with the workspace. Only plugin files loaded by the system when the workspace is loaded are considered plugins. Remember you tell the system which plugins to load at the Plugins Hiererchy." + "text": "If you backup a plugin structure and the throw it again into the workspace it will not be considered a plugin, because it was not loaded as part of the mechanism defined by the Plugins hierarchy, which means that it will be considered a non-plugin and become part of your workspace. The same happens when you drag and drop any file backed up, being a plugin or not. It will become part of your workspace and saved together with the workspace. Only plugin files loaded by the system when the workspace is loaded are considered plugins. Remember you tell the system which plugins to load at the Plugins Hierarchy." }, { "style": "Text", diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Troubleshooting/Troubleshooting/troubleshooting-018-problems-with-computer-time.json b/Projects/Foundations/Schemas/Docs-Topics/T/Troubleshooting/Troubleshooting/troubleshooting-018-problems-with-computer-time.json index 5edd8c681e..cca89cec4d 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Troubleshooting/Troubleshooting/troubleshooting-018-problems-with-computer-time.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/Troubleshooting/Troubleshooting/troubleshooting-018-problems-with-computer-time.json @@ -3,7 +3,7 @@ "pageNumber": "18", "type": "Problems With Computer Time", "definition": { - "text": "Some exchanges force the computer that is running your bot to be highly syncronized with thier servers, and to achieve that you need that machine's time to keep itself syncronized with an Internet Time Server.", + "text": "Some exchanges force the computer that is running your bot to be highly synchronized with their servers, and to achieve that you need that machine's time to keep itself syncronized with an Internet Time Server.", "updated": 1622140103759 }, "paragraphs": [ @@ -36,7 +36,7 @@ }, { "style": "Text", - "text": "Sometimes Docker might not be in sync even though the underlaying OS it is. To fix this, you can run this command, which will force Docker to restart and wsl to pickup the correct time from the OS.", + "text": "Sometimes Docker might not be in sync even though the underlying OS it is. To fix this, you can run this command, which will force Docker to restart and wsl to pickup the correct time from the OS.", "updated": 1622140496709 }, { diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Other-Stages/testing-a-trading-idea-the-other-stages-013-tutorial-step-copy-the-nodes-path.json b/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Other-Stages/testing-a-trading-idea-the-other-stages-013-tutorial-step-copy-the-nodes-path.json index 89c750114e..e78c5f4b4e 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Other-Stages/testing-a-trading-idea-the-other-stages-013-tutorial-step-copy-the-nodes-path.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Other-Stages/testing-a-trading-idea-the-other-stages-013-tutorial-step-copy-the-nodes-path.json @@ -12,7 +12,7 @@ "paragraphs": [ { "style": "Callout", - "text": "Acess the node's menu and click on the \"Copy Node Path\" button!", + "text": "Access the node's menu and click on the \"Copy Node Path\" button!", "updated": 1622547599361 }, { diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Trigger-Stage/testing-a-trading-idea-the-trigger-stage-027-tutorial-step-never-forget-granularity.json b/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Trigger-Stage/testing-a-trading-idea-the-trigger-stage-027-tutorial-step-never-forget-granularity.json index a82ad0d1c1..00e8acceb1 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Trigger-Stage/testing-a-trading-idea-the-trigger-stage-027-tutorial-step-never-forget-granularity.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Trigger-Stage/testing-a-trading-idea-the-trigger-stage-027-tutorial-step-never-forget-granularity.json @@ -24,7 +24,7 @@ }, { "style": "List", - "text": "It makes the strategy easier to maintain and upgrade: granular conditions make everything easier to undertand and follow." + "text": "It makes the strategy easier to maintain and upgrade: granular conditions make everything easier to understand and follow." } ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Trigger-Stage/testing-a-trading-idea-the-trigger-stage-028-tutorial-step-trigger-off-event.json b/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Trigger-Stage/testing-a-trading-idea-the-trigger-stage-028-tutorial-step-trigger-off-event.json index be6343dd28..7418975683 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Trigger-Stage/testing-a-trading-idea-the-trigger-stage-028-tutorial-step-trigger-off-event.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Trigger-Stage/testing-a-trading-idea-the-trigger-stage-028-tutorial-step-trigger-off-event.json @@ -27,7 +27,7 @@ }, { "style": "Text", - "text": "We should trigger off the stategy when either of these conditions validate true. How?" + "text": "We should trigger off the strategy when either of these conditions validate true. How?" } ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Trigger-Stage/testing-a-trading-idea-the-trigger-stage-034-tutorial-step-lets-do-this..json b/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Trigger-Stage/testing-a-trading-idea-the-trigger-stage-034-tutorial-step-lets-do-this..json index 63ab2a12e8..0bd970ed59 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Trigger-Stage/testing-a-trading-idea-the-trigger-stage-034-tutorial-step-lets-do-this..json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Trigger-Stage/testing-a-trading-idea-the-trigger-stage-034-tutorial-step-lets-do-this..json @@ -21,7 +21,7 @@ }, { "style": "Note", - "text": "When the progress notice of the Trading Process Instance get's to the 100% mark, stop the task and click Next." + "text": "When the progress notice of the Trading Process Instance gets to the 100% mark, stop the task and click Next." } ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Trigger-Stage/testing-a-trading-idea-the-trigger-stage-040-tutorial-step-keep-looking.json b/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Trigger-Stage/testing-a-trading-idea-the-trigger-stage-040-tutorial-step-keep-looking.json index 72778fc689..080166202b 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Trigger-Stage/testing-a-trading-idea-the-trigger-stage-040-tutorial-step-keep-looking.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Trigger-Stage/testing-a-trading-idea-the-trigger-stage-040-tutorial-step-keep-looking.json @@ -12,7 +12,7 @@ "paragraphs": [ { "style": "Callout", - "text": "Take a few more minutes to explore the trigger off event of the strategy, as well as the rest of the triggers ocurring over the period tested." + "text": "Take a few more minutes to explore the trigger off event of the strategy, as well as the rest of the triggers occurring over the period tested." }, { "style": "Success", diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Trigger-Stage/testing-a-trading-idea-the-trigger-stage-046-tutorial-step-errors-nodes.json b/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Trigger-Stage/testing-a-trading-idea-the-trigger-stage-046-tutorial-step-errors-nodes.json index 73401f1411..d392bc8c84 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Trigger-Stage/testing-a-trading-idea-the-trigger-stage-046-tutorial-step-errors-nodes.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Trigger-Stage/testing-a-trading-idea-the-trigger-stage-046-tutorial-step-errors-nodes.json @@ -7,7 +7,7 @@ "project": "Foundations", "name": "bullet-error" }, - "text": "Touch the error bullet again and notice how the design space repositiones at the node most related to the error, in this case, a Condition node. This is a crucial piece of information!", + "text": "Touch the error bullet again and notice how the design space repositions at the node most related to the error, in this case, a Condition node. This is a crucial piece of information!", "updated": 1622487759414 }, "paragraphs": [ diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Trigger-Stage/testing-a-trading-idea-the-trigger-stage-068-tutorial-step-lets-do-it.json b/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Trigger-Stage/testing-a-trading-idea-the-trigger-stage-068-tutorial-step-lets-do-it.json index 7fc72e6660..6fcfb50f5f 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Trigger-Stage/testing-a-trading-idea-the-trigger-stage-068-tutorial-step-lets-do-it.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/T/Testing/Testing-a-Trading-Idea-The-Trigger-Stage/testing-a-trading-idea-the-trigger-stage-068-tutorial-step-lets-do-it.json @@ -16,7 +16,7 @@ }, { "style": "Note", - "text": "When the progress notice of the Trading Process Instance get's to the 100% mark, stop the task and click Next." + "text": "When the progress notice of the Trading Process Instance gets to the 100% mark, stop the task and click Next." } ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/T/Trading/Trading-Bot-Layers/trading-bot-layers-033-tutorial-step-trading-system-values.json b/Projects/Foundations/Schemas/Docs-Tutorials/T/Trading/Trading-Bot-Layers/trading-bot-layers-033-tutorial-step-trading-system-values.json index ce06269d2e..4d634f2f90 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/T/Trading/Trading-Bot-Layers/trading-bot-layers-033-tutorial-step-trading-system-values.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/T/Trading/Trading-Bot-Layers/trading-bot-layers-033-tutorial-step-trading-system-values.json @@ -22,7 +22,7 @@ }, { "style": "Success", - "text": "Is it fair to say that our Trading Bot is 100% acccountable?" + "text": "Is it fair to say that our Trading Bot is 100% accountable?" } ] } \ No newline at end of file diff --git a/Projects/Foundations/TS/Function-Libraries/ProcessFilesFunctions.js b/Projects/Foundations/TS/Function-Libraries/ProcessFilesFunctions.js index c4cd1da08e..81dfc978d0 100644 --- a/Projects/Foundations/TS/Function-Libraries/ProcessFilesFunctions.js +++ b/Projects/Foundations/TS/Function-Libraries/ProcessFilesFunctions.js @@ -17,14 +17,14 @@ exports.newFoundationsFunctionLibrariesProcessFilesFunctions = function () { let thisReport let statusReport - /* We are going to use the start date as beging of market date. */ + /* We are going to use the start date as beginning of market date. */ contextVariables.dateBeginOfMarket = TS.projects.foundations.utilities.dateTimeFunctions.removeTime(initialDatetime) /* Here we get the status report from the bot who knows which is the end of the market. */ statusReport = statusDependencies.reportsByMainUtility.get("Market Ending Point") - if (statusReport === undefined) { // This means the status report does not exist, that could happen for instance at the begining of a month. + if (statusReport === undefined) { // This means the status report does not exist, that could happen for instance at the beginning of a month. TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[WARN] start -> getContextVariables -> Status Report does not exist. Retrying Later. ") callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_RETRY_RESPONSE) @@ -59,7 +59,7 @@ exports.newFoundationsFunctionLibrariesProcessFilesFunctions = function () { /* Finally we get our own Status Report. */ statusReport = statusDependencies.reportsByMainUtility.get("Self Reference") - if (statusReport === undefined) { // This means the status report does not exist, that could happen for instance at the begining of a month. + if (statusReport === undefined) { // This means the status report does not exist, that could happen for instance at the beginning of a month. TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[WARN] start -> getContextVariables -> Status Report does not exist. Retrying Later. ") callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_RETRY_RESPONSE) @@ -89,7 +89,7 @@ exports.newFoundationsFunctionLibrariesProcessFilesFunctions = function () { } else { /* - We are here becuse either: + We are here because either: 1. There is no status report 2. There is no Last File (this happens on Market Files) */ diff --git a/Projects/Foundations/TS/Function-Libraries/ProcessFunctions.js b/Projects/Foundations/TS/Function-Libraries/ProcessFunctions.js index 6a5f9c8817..872a4794f0 100644 --- a/Projects/Foundations/TS/Function-Libraries/ProcessFunctions.js +++ b/Projects/Foundations/TS/Function-Libraries/ProcessFunctions.js @@ -15,7 +15,7 @@ exports.newFoundationsFunctionLibrariesProcessFunctions = function () { /* Make sure that the logger associated to this process saves its cache */ TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.persist() - /* Cancell this process timouput */ + /* Cancel this process timeout */ clearTimeout(nextLoopTimeoutHandle) let error = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR diff --git a/Projects/Foundations/TS/Function-Libraries/SingleMarketFunctions.js b/Projects/Foundations/TS/Function-Libraries/SingleMarketFunctions.js index 39b38924d6..11dc25fbf9 100644 --- a/Projects/Foundations/TS/Function-Libraries/SingleMarketFunctions.js +++ b/Projects/Foundations/TS/Function-Libraries/SingleMarketFunctions.js @@ -146,7 +146,7 @@ function inflateDatafiles(processIndex, dataFiles, dataDependencies, products, mainDependency, timeFrame) { /* - For each dataDependencyNode in our data dependencies, we should have a dataFile containing the records needed as an imput for this process. + For each dataDependencyNode in our data dependencies, we should have a dataFile containing the records needed as an input for this process. What we need to do first is transform those records into JSON objects that can be used by user-defined formulas. The first step does that but with the not calculated properties, the second step adds the calculated properties. */ @@ -350,7 +350,7 @@ } /* This function allows users to locate an object at a dataset based on the begins and end properties - of another object provided to the function as a parameter. For example, users can localte the + of another object provided to the function as a parameter. For example, users can locate the bollinger band object that has the same begin and end than a candle object. */ function getElement(dependencyName, currentRecordPrimaryDataDependency) { @@ -360,7 +360,7 @@ /* This function allows users to locate an object at a dataset whose objects does not have a begin and end property but instead, they have a timestamp property. It receives an arbitrary begin / end object and - the function will search within the dependency dataset for the first record whose timestamp is whitin + the function will search within the dependency dataset for the first record whose timestamp is within the begin and end of the received reference objet. For example, a user can get the News record that belong to a certain Candle object. */ @@ -378,7 +378,7 @@ Indicators might have parameters that influences it's calculations. These parameters are defined at the Product Definition config, and their values are set at the Process Instance config. Parameters are extracted at the Procedure Initialization Code. In order to facilitate this extraction - we will create an object here that will be accesed from the Procedure Initialization with all parameters + we will create an object here that will be accessed from the Procedure Initialization with all parameters and their defined values. */ let parameters = {} @@ -410,7 +410,7 @@ lastInstantOfTheDay = currentDay.valueOf() + SA.projects.foundations.globals.timeConstants.ONE_DAY_IN_MILISECONDS - 1; if (interExecutionMemory[productName] === undefined) { - /* The first time the intialization variables goes to the Inter Execution Memory. */ + /* The first time the initialization variables goes to the Inter Execution Memory. */ interExecutionMemory[productName] = {} interExecutionMemory[productName].variable = JSON.parse(JSON.stringify(variable)) } @@ -420,7 +420,7 @@ } } - /* Here we run the Prcedure Loop Code */ + /* Here we run the Procedure Loop Code */ if (dataBuildingProcedure.loop !== undefined) { if (dataBuildingProcedure.loop.procedureJavascriptCode !== undefined) { let lastRecord @@ -507,7 +507,7 @@ if (resultsWithIrregularPeriods === true) { /* - Here we have an special problem that occurs when an object spans several time peridos. If not taken care of + Here we have an special problem that occurs when an object spans several time periods. If not taken care of it can happen that the object gets splitted between 2 days, which we dont want since it would loose some of its properties. @@ -607,7 +607,7 @@ Here we check that the Task Node received, comes with all the upstream nodes that will be needed to run this task in the context of a Single Market Bot. */ - /* Validate that the minimun amount of input required are defined. */ + /* Validate that the minimum amount of input required are defined. */ if (TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode === undefined) { TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[ERROR] checkUpstreamOfTaskNode -> Task without a Task Manager. This bot process will not run. -> Process Instance = " + JSON.stringify(TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex])); diff --git a/Projects/Foundations/TS/Globals/ProcessVariables.js b/Projects/Foundations/TS/Globals/ProcessVariables.js index 2caa8f4fd9..af99acbd2a 100644 --- a/Projects/Foundations/TS/Globals/ProcessVariables.js +++ b/Projects/Foundations/TS/Globals/ProcessVariables.js @@ -1,8 +1,8 @@ exports.newFoundationsGlobalsProcessVariables = function () { /* We need to count how many process instances we deployd and how many of them have already finished their job, either - because they just finished or because there was a request to stop the proceses. In this way, once we reach the - amount of instances started, we can safelly destroy the rest of the objects running and let this nodejs process die. + because they just finished or because there was a request to stop the processes. In this way, once we reach the + amount of instances started, we can safely destroy the rest of the objects running and let this nodejs process die. */ let thisObject = { ENDED_PROCESSES_COUNTER: 0, @@ -13,7 +13,7 @@ exports.newFoundationsGlobalsProcessVariables = function () { /* VARIABLES_BY_PROCESS_INDEX_MAP - At the Task Server, a Task run Procesess, potentially many of them, depending on definitions external to the + At the Task Server, a Task run Processes, potentially many of them, depending on definitions external to the Task Server. Each process is independent from each other and have a set of process level variables that help the process do its job. You can consider these variables as the process state. All the modules running inside a process know the processIndex, and with that index they can get this Map that contains all the needed variables @@ -33,7 +33,7 @@ exports.newFoundationsGlobalsProcessVariables = function () { IS_SESSION_STOPPING This tell us if a session is in the process of being stopped. IS_SESSION_RESUMING This tell us if a session is resuming from the state at the previous execution. IS_SESSION_FIRST_LOOP This tell us if we are at the execution of the first loop of the bot related to this session. - SIMULATION_STATE This is the state of a simulaation, as it is loaded from disk. + SIMULATION_STATE This is the state of a simulation, as it is loaded from disk. PROCESS_DATETIME This holds the date currently being processed. DAILY_FILES_PROCESS_DATETIME When processing daily files, this holds the date of the file being processed. TRADING_PROCESSING_DAILY_FILES When in a trading process, this tell us if we are processing Daily Files or not. diff --git a/Projects/Foundations/TS/Globals/TaskVariables.js b/Projects/Foundations/TS/Globals/TaskVariables.js index 9f0bc09bb8..a69e5cd6b3 100644 --- a/Projects/Foundations/TS/Globals/TaskVariables.js +++ b/Projects/Foundations/TS/Globals/TaskVariables.js @@ -1,6 +1,6 @@ exports.newFoundationsGlobalsTaskVariables = function () { /* - Since the moment the task is stopped by the UI untiil the time the task can be stopped gracefully, + Since the moment the task is stopped by the UI until the time the task can be stopped gracefully, we turn on this switch that will signal every internal procedure that it must stop. */ let thisObject = { diff --git a/Projects/Foundations/TS/Process-Modules/ProcessExecutionEvents.js b/Projects/Foundations/TS/Process-Modules/ProcessExecutionEvents.js index 98d7d78ada..e3a7b7679e 100644 --- a/Projects/Foundations/TS/Process-Modules/ProcessExecutionEvents.js +++ b/Projects/Foundations/TS/Process-Modules/ProcessExecutionEvents.js @@ -85,10 +85,10 @@ This means that if the same task, with the same process, pointing to the same process definition in the same data mine, with the same exchange and market configured, is at two different network nodes at the same time, the current task - is going to depend on the first one found, not necesarily the one running at the + is going to depend on the first one found, not necessarily the one running at the same network node. If you need to control witch task specifically to depend on and need to exactly the same task to exist, you should split the network in two - different networks, each one with unique tasks so as to avoid confussion. + different networks, each one with unique tasks so as to avoid confusion. */ for (let i = 0; i < network.lanNetworkNodes.length; i++) { let lanNetworkNode = network.lanNetworkNodes[i] diff --git a/Projects/Foundations/TS/Process-Modules/ProcessOutput.js b/Projects/Foundations/TS/Process-Modules/ProcessOutput.js index 0574f9bdc1..876af534da 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') diff --git a/Projects/Foundations/TS/Process-Modules/StatusDependencies.js b/Projects/Foundations/TS/Process-Modules/StatusDependencies.js index fdb514a9c0..fb79c76e0a 100644 --- a/Projects/Foundations/TS/Process-Modules/StatusDependencies.js +++ b/Projects/Foundations/TS/Process-Modules/StatusDependencies.js @@ -15,7 +15,7 @@ function initialize(callBackFunction) { try { - /* Basic Valdidations */ + /* Basic Validations */ if (TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processDependencies !== undefined) { if (TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processDependencies.statusDependencies !== undefined) { thisObject.nodeArray = TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processDependencies.statusDependencies diff --git a/Projects/Foundations/TS/Process-Modules/StatusReport.js b/Projects/Foundations/TS/Process-Modules/StatusReport.js index bc33ccf709..3dc95eaf1a 100644 --- a/Projects/Foundations/TS/Process-Modules/StatusReport.js +++ b/Projects/Foundations/TS/Process-Modules/StatusReport.js @@ -2,9 +2,9 @@ /* - A Status Report is a file that every bot reads at the begining of its execution + A Status Report is a file that every bot reads at the beginning of its execution and saves after it finishes its job. The purpose of the file is to record checkpoint information - of what was the last thing done by the bot and helpfull enough to start the next execution. + of what was the last thing done by the bot and helpful enough to start the next execution. It usually does not include business related context data. */ @@ -332,11 +332,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 necessary, 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/WorkspaceFunctions.js b/Projects/Foundations/UI/Function-Libraries/WorkspaceFunctions.js index f12a57949d..58eea2a9a3 100644 --- a/Projects/Foundations/UI/Function-Libraries/WorkspaceFunctions.js +++ b/Projects/Foundations/UI/Function-Libraries/WorkspaceFunctions.js @@ -38,7 +38,7 @@ function newFoundationsFunctionLibraryWorkspaceFunctions() { for (let [key, value] of nodes) { // Check nodes that have a saved reference parent if (value.savedPayload.referenceParent !== undefined) { - // Highlight nodes that do not have an active reference connected to their referance parent + // Highlight nodes that do not have an active reference connected to their reference parent if (value.payload.referenceParent === undefined) { console.log("[WARN] Reference Parent not found in the current workspace.\n Node:", value.name, " Type:", value.type, " ID:", key, " Node Object:", value) UI.projects.foundations.spaces.floatingSpace.inMapMode = true diff --git a/Projects/Foundations/UI/Spaces/Charting-Space/PlottersManager.js b/Projects/Foundations/UI/Spaces/Charting-Space/PlottersManager.js index 39d1955e83..0317e25829 100644 --- a/Projects/Foundations/UI/Spaces/Charting-Space/PlottersManager.js +++ b/Projects/Foundations/UI/Spaces/Charting-Space/PlottersManager.js @@ -142,7 +142,7 @@ function newPlottersManager() { let tradingOrLearningEngine /* - A layer can be referencing a Data Product in 3 different branches of the Network hiriatchy. + A layer can be referencing a Data Product in 3 different branches of the Network hierarchy. Two of those branches have sessions. */ let sessionReference = UI.projects.visualScripting.utilities.meshes.findNodeInNodeMesh(layer.definition, 'Trading Session Reference', undefined, false, true, true, true) @@ -467,7 +467,7 @@ function newPlottersManager() { } finalizeStorage(connector.storage) thisObject.connectors.splice(i, 1) // Delete item from array. - return // We already found the product woth changes and processed it. + return // We already found the product with changes and processed it. } } } diff --git a/Projects/Foundations/UI/Spaces/Charting-Space/Plotting/Plotter.js b/Projects/Foundations/UI/Spaces/Charting-Space/Plotting/Plotter.js index 0e6ab61a1e..d5286e0b0c 100644 --- a/Projects/Foundations/UI/Spaces/Charting-Space/Plotting/Plotter.js +++ b/Projects/Foundations/UI/Spaces/Charting-Space/Plotting/Plotter.js @@ -60,7 +60,7 @@ function newPlotter() { function finalize() { try { - /* Stop listening to the necesary events. */ + /* Stop listening to the necessary events. */ thisObject.container.eventHandler.stopListening(onMouseOverEventSuscriptionId) UI.projects.foundations.spaces.chartingSpace.viewport.eventHandler.stopListening(zoomChangedEventSubscriptionId) UI.projects.foundations.spaces.chartingSpace.viewport.eventHandler.stopListening(offsetChangedEventSubscriptionId) @@ -113,7 +113,7 @@ function newPlotter() { marketFile = marketFiles.getFile(pTimeFrame) fileCursor = dailyFiles.getFileCursor(pTimeFrame) - /* Listen to the necesary events. */ + /* Listen to the necessary events. */ zoomChangedEventSubscriptionId = UI.projects.foundations.spaces.chartingSpace.viewport.eventHandler.listenToEvent('Zoom Changed', onViewportZoomChanged) offsetChangedEventSubscriptionId = UI.projects.foundations.spaces.chartingSpace.viewport.eventHandler.listenToEvent('Position Changed', onViewportPositionChanged) dragFinishedEventSubscriptionId = canvas.eventHandler.listenToEvent('Drag Finished', onDragFinished) @@ -491,7 +491,7 @@ function newPlotter() { function plot() { try { - /* Clean the pannel at places where there is no record. */ + /* Clean the panel at places where there is no record. */ thisObject.container.eventHandler.raiseEvent('Current Record Changed', undefined) for (let i = 0; i < records.length; i++) { @@ -527,7 +527,7 @@ function newPlotter() { } else { if (productDefinition.referenceParent.config.rateInArrayAtIndex !== undefined) { /* - If this property is present, it means for us that the rate is not comming as + If this property is present, it means for us that the rate is not coming as a property of the record object, but instead, the record object contains an array at the property ratePropertyName, and inside that array there are other arrays from where we need to find the rate at some of its records at the index @@ -539,7 +539,7 @@ function newPlotter() { let rateArrayItem = rateArray[i] /* Here we will take the rate for this array item and we will apply the offset - rules defined at the Plotter Module Config for this kind of sitiations. + rules defined at the Plotter Module Config for this kind of situations. */ let rate = rateArrayItem[productDefinition.referenceParent.config.rateInArrayAtIndex] let point = { @@ -579,7 +579,7 @@ function newPlotter() { } } else { /* - Current Record depends that the mouse pointer is within a range close enought to the rate + Current Record depends that the mouse pointer is within a range close enough to the rate */ if (record[ratePropertyName] >= minUserPositionRate && record[ratePropertyName] <= maxUserPositionRate) { currentRecordChanged() @@ -740,7 +740,7 @@ function newPlotter() { x: dataPointObject.x, y: dataPointObject.y } - /* We make sure the points do not fall outside the viewport visible area. This step allways need to be done. */ + /* We make sure the points do not fall outside the viewport visible area. This step always need to be done. */ dataPoint = UI.projects.foundations.spaces.chartingSpace.viewport.fitIntoVisibleArea(dataPoint) dataPoint = thisObject.fitFunction(dataPoint) @@ -881,7 +881,7 @@ function newPlotter() { function checkOutOfScreen(i, record) { /* - In the formulas to create plotters, we allos users to reference the previous record. + In the formulas to create plotters, we allows users to reference the previous record. To enable that we need to link all records to the previous one in this way. */ if (i == 0) { @@ -947,8 +947,8 @@ function newPlotter() { } /* - The information we store in files is independent from the charing system and its coordinate systems. - That means that the first thing we allways need to do is to trasform these points to the coordinate system of the timeline. + The information we store in files is independent from the charting system and its coordinate systems. + That means that the first thing we always need to do is to transform these points to the coordinate system of the timeline. */ let dataPoint dataPoint = coordinateSystem.transformThisPoint(rawPoint) diff --git a/Projects/Foundations/UI/Spaces/Charting-Space/Plotting/RecordValues.js b/Projects/Foundations/UI/Spaces/Charting-Space/Plotting/RecordValues.js index e68cf7c0a3..6791d45467 100644 --- a/Projects/Foundations/UI/Spaces/Charting-Space/Plotting/RecordValues.js +++ b/Projects/Foundations/UI/Spaces/Charting-Space/Plotting/RecordValues.js @@ -53,7 +53,7 @@ function newRecordValues() { */ 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. + The Product Root Node is the root of the node hierarchy from where we are going to extract the record values. */ let productRootNode = productRoot[index] scanProperties(productDefinition, productRootNode, index) @@ -64,7 +64,7 @@ function newRecordValues() { 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. + The Product Root Node is the root of the node hierarchy from where we are going to extract the record values. */ let productRootNode = productRoot scanProperties(productDefinition, productRootNode) diff --git a/Projects/Foundations/UI/Spaces/Charting-Space/Scales/TimeFrameScale.js b/Projects/Foundations/UI/Spaces/Charting-Space/Scales/TimeFrameScale.js index 6c02305e03..211964d8d6 100644 --- a/Projects/Foundations/UI/Spaces/Charting-Space/Scales/TimeFrameScale.js +++ b/Projects/Foundations/UI/Spaces/Charting-Space/Scales/TimeFrameScale.js @@ -230,7 +230,7 @@ function newTimeFrameScale() { function onViewportZoomChanged(event) { if (event !== undefined) { // it is undefined when the level is just being animated. - if (event.shiftKey === false || event.shiftKey === undefined) { return } // with no shft key pressed, no automatic change in scale + if (event.shiftKey === false || event.shiftKey === undefined) { return } // with no shift key pressed, no automatic change in scale let currentTimeFrame = thisObject.timeFrame let timeFrame = recalculatePeriod(event.newLevel) if (timeFrame !== currentTimeFrame) { diff --git a/Projects/Foundations/UI/Spaces/Charting-Space/TimeMachine.js b/Projects/Foundations/UI/Spaces/Charting-Space/TimeMachine.js index 2de0d549b8..a1dcfe83aa 100644 --- a/Projects/Foundations/UI/Spaces/Charting-Space/TimeMachine.js +++ b/Projects/Foundations/UI/Spaces/Charting-Space/TimeMachine.js @@ -3,9 +3,9 @@ Markets are a function of time. When watching them, end users must be positioned at one particular point in time. The system currently allows users to position themselves at any time they like. -In the future, it will be usefull to explore markets and compare them at different times simultaneously. Anticipating that future this module exists. -All the timelineCharts that depand on a datetime are children of this object Time Machine. In the future we will allow users to have more than one Time Machine, -each one with it own timelineCharts, and each one positioned at an especific point in titme. +In the future, it will be useful to explore markets and compare them at different times simultaneously. Anticipating that future this module exists. +All the timelineCharts that depend on a datetime are children of this object Time Machine. In the future we will allow users to have more than one Time Machine, +each one with it own timelineCharts, and each one positioned at a specific point in time. */ @@ -174,7 +174,7 @@ function newTimeMachine() { function onKeyPressed(event) { /* - We are going to pass this event downstream to see if it belogns to any of the + We are going to pass this event downstream to see if it belongs to any of the chart's scales or time machine's scales. If it does not belong to any we will apply it to the edge editor. */ @@ -576,7 +576,7 @@ function newTimeMachine() { timelineChart.container.frame.position.y = 0 timelineChart.initialize(timeMachineCoordinateSystem, timeFrame) - /* we will store the event suscription id as a property of the timelineChart, to avoid keeping it an a separate array */ + /* we will store the event subscription id as a property of the timelineChart, to avoid keeping it an a separate array */ timelineChart.onChildrenMouseOverEventSuscriptionId = timelineChart.container.eventHandler.listenToEvent('onChildrenMouseOver', onChildrenMouseOver) thisObject.timelineCharts.push(timelineChart) diff --git a/Projects/Foundations/UI/Spaces/Charting-Space/TimelineChart.js b/Projects/Foundations/UI/Spaces/Charting-Space/TimelineChart.js index 646a5fbc80..031f3929c8 100644 --- a/Projects/Foundations/UI/Spaces/Charting-Space/TimelineChart.js +++ b/Projects/Foundations/UI/Spaces/Charting-Space/TimelineChart.js @@ -127,7 +127,7 @@ function newTimelineChart() { thisObject.rateScale.finalize() thisObject.rateScale = undefined - /* Resets the local container with the dimessions of its parent, the Time Machine */ + /* Resets the local container with the dimensions of its parent, the Time Machine */ thisObject.container.frame.position.x = 0 thisObject.container.frame.position.y = 0 thisObject.container.frame.height = thisObject.container.parentContainer.frame.height @@ -135,7 +135,7 @@ function newTimelineChart() { } function initialize(pTimeMachineCoordinateSystem, pTimeFrame) { - /* We load the logow we will need for the background. */ + /* We load the logo we will need for the background. */ timeMachineCoordinateSystem = pTimeMachineCoordinateSystem coordinateSystem = timeMachineCoordinateSystem @@ -291,7 +291,7 @@ function newTimelineChart() { } function onMouseOver(event) { - /* This event gets to the timelinechart container because it inherits it from the time machine container, which is the one raising Mouse Over and Mouse not Over Events to its children. */ + /* This event gets to the timeline chart container because it inherits it from the time machine container, which is the one raising Mouse Over and Mouse not Over Events to its children. */ drawScales = true if (thisObject.rateScale !== undefined) { diff --git a/Projects/Foundations/UI/Spaces/Charting-Space/Viewport.js b/Projects/Foundations/UI/Spaces/Charting-Space/Viewport.js index 83ff1ec7c1..8f2f8e6af5 100644 --- a/Projects/Foundations/UI/Spaces/Charting-Space/Viewport.js +++ b/Projects/Foundations/UI/Spaces/Charting-Space/Viewport.js @@ -177,7 +177,7 @@ function newViewport() { function positioningPhysics() { if (thisObject.visible === false) { return } if (thisObject.payload === undefined) { return } - /* Save the position at the frame lavel */ + /* Save the position at the frame level */ let frame = {} frame.position = position UI.projects.visualScripting.utilities.loadSaveFrame.saveFrame(thisObject.payload, frame) diff --git a/Projects/Foundations/UI/Spaces/Design-Space/Workspace.js b/Projects/Foundations/UI/Spaces/Design-Space/Workspace.js index 02281b4e21..a0eaed8f64 100644 --- a/Projects/Foundations/UI/Spaces/Design-Space/Workspace.js +++ b/Projects/Foundations/UI/Spaces/Design-Space/Workspace.js @@ -79,7 +79,7 @@ function newWorkspace() { const browserURL = new URLSearchParams(window.location.search); const queryString = Object.fromEntries(browserURL.entries()); /* - By default, we will laod the last used workspace. + By default, we will load the last used workspace. */ let lastUsedWorkspace = window.localStorage.getItem('Last Used Workspace') @@ -361,7 +361,7 @@ function newWorkspace() { if (result === false) { console.log('[ERROR] Could not replace the current workspace because there was a problem removing one node from memory.') console.log('[ERROR] The system is at an inconsistent state and your workspace is partially deleted. Saving has been disabled to prevent data loss.') - console.log('[ERROR] The only thing you can do now is to fix the APP SCHEMA and refresh the page to reaload the previously saved workspace again.') + console.log('[ERROR] The only thing you can do now is to fix the APP SCHEMA and refresh the page to reload the previously saved workspace again.') workingAtTask = 0 return } @@ -689,7 +689,7 @@ function newWorkspace() { return } - /* It does not exist, so we recreeate it respecting the inner state of each object. */ + /* It does not exist, so we recreate it respecting the inner state of each object. */ let positionOffset = { x: spawnPosition.x, y: spawnPosition.y @@ -719,7 +719,7 @@ function newWorkspace() { action.relatedNodeId : It is the id of a node related to the action. action.relatedNodeType : It is the type of the node related to the action. action.callBackFunction : A callback function to call when the action is complete. - action.extraParameter : A parameter to send unusual info to the fnction processing the action. + action.extraParameter : A parameter to send unusual info to the function processing the action. We add rootNodes property here. */ diff --git a/Projects/Foundations/UI/Spaces/Floating-Space/UiObject.js b/Projects/Foundations/UI/Spaces/Floating-Space/UiObject.js index ad0ff6bdb9..c30bc434cd 100644 --- a/Projects/Foundations/UI/Spaces/Floating-Space/UiObject.js +++ b/Projects/Foundations/UI/Spaces/Floating-Space/UiObject.js @@ -484,7 +484,7 @@ function newUiObject() { if (floatingObject.payload === undefined) { continue } let nearbyNode = floatingObject.payload.node if (compatibleTypes.indexOf('->' + nearbyNode.type + '->') >= 0) { - /* Discard App Schema defined objects with busy coonection ports */ + /* Discard App Schema defined objects with busy connection ports */ schemaDocument = getSchemaDocument(thisObject.payload.node) if (schemaDocument !== undefined) { let mustContinue = false @@ -513,7 +513,7 @@ function newUiObject() { if (mustContinue === true) { continue } } - /* Discard Phases without partent */ + /* Discard Phases without parent */ if (thisObject.payload.node.type === 'Phase' && nearbyNode.type === 'Phase' && nearbyNode.payload.parentNode === undefined) { continue } /* Control maxPhases */ if (thisObject.payload.node.type === 'Phase') { @@ -872,7 +872,7 @@ function newUiObject() { Next, we are going to try to inform the parent that this node has an error, as a way to show the end user where the node with error is. This is useful to detect errors in nodes - that are located at braches that are collapsed. + that are located at branches that are collapsed. */ if (thisObject.payload !== undefined) { @@ -914,7 +914,7 @@ function newUiObject() { Next, we are going to try to inform the parent that this node has an warning, as a way to show the end user where the node with warning is. This is useful to detect warnings in nodes - that are located at braches that are collapsed. + that are located at branches that are collapsed. */ if (thisObject.payload !== undefined) { @@ -956,7 +956,7 @@ function newUiObject() { Next, we are going to try to inform the parent that this node has an info, as a way to show the end user where the node with info is. This is useful to detect infos in nodes - that are located at braches that are collapsed. + that are located at branches that are collapsed. */ if (thisObject.payload !== undefined) { @@ -1257,7 +1257,7 @@ function newUiObject() { node that actually has the icon list. On the other hand, if this icon has the icon list definition, then the value of alternativeIcons - shoudl be an array of the possible icons. Then to pick one icon from that list we will check + should be an array of the possible icons. Then to pick one icon from that list we will check the config.condeName of the node to see with which icon on the list matches. Finally, if the node we are pointing to does not have a config or does not have a list of diff --git a/Projects/Foundations/UI/Spaces/Floating-Space/UiObjectConstructor.js b/Projects/Foundations/UI/Spaces/Floating-Space/UiObjectConstructor.js index c7f8e9a880..95ea998257 100644 --- a/Projects/Foundations/UI/Spaces/Floating-Space/UiObjectConstructor.js +++ b/Projects/Foundations/UI/Spaces/Floating-Space/UiObjectConstructor.js @@ -47,7 +47,7 @@ function newUiObjectConstructor() { When this object is created based on a backup, share or clone, we will have a savedPayload that we will use to set the initial properties. If it is a new object being created out of the user interface, - we jusst continue with the construction process. + we just continue with the construction process. */ if (userAddingNew === false && payload.node.type !== 'Workspace') { let position = { diff --git a/Projects/Foundations/UI/Spaces/Panel-Space/PanelSpace.js b/Projects/Foundations/UI/Spaces/Panel-Space/PanelSpace.js index f7cd76fc0b..5ded851bf8 100644 --- a/Projects/Foundations/UI/Spaces/Panel-Space/PanelSpace.js +++ b/Projects/Foundations/UI/Spaces/Panel-Space/PanelSpace.js @@ -1,6 +1,6 @@ /* -The Panel Space y the place wehre all panels live, no matter who create them. +The Panel Space y the place where all panels live, no matter who create them. */ function newFoundationsPanelSpace() { @@ -359,8 +359,8 @@ function newFoundationsPanelSpace() { let container /* - We search for the container of panels in the oposite direction than we do it for drawing them, - so panels overlapping others are picked firt although they are drawn last. + We search for the container of panels in the opposite direction than we do it for drawing them, + so panels overlapping others are picked first although they are drawn last. */ for (let i = thisObject.panels.length - 1; i >= 0; i--) { let panel = thisObject.panels[i] diff --git a/Projects/Foundations/UI/Spaces/Panel-Space/PanelsVisibleButton.js b/Projects/Foundations/UI/Spaces/Panel-Space/PanelsVisibleButton.js index 926665ad5f..6a744902b3 100644 --- a/Projects/Foundations/UI/Spaces/Panel-Space/PanelsVisibleButton.js +++ b/Projects/Foundations/UI/Spaces/Panel-Space/PanelsVisibleButton.js @@ -11,7 +11,7 @@ function newPanelsVisibleButton() { finalize: finalize } - /* Cointainer stuff */ + /* Container stuff */ thisObject.container = newContainer() thisObject.container.name = 'Panels Visible Button' thisObject.container.initialize() diff --git a/Projects/Foundations/UI/Spaces/Panel-Space/UpDownButton.js b/Projects/Foundations/UI/Spaces/Panel-Space/UpDownButton.js index a41f536dfc..f64cab5b1b 100644 --- a/Projects/Foundations/UI/Spaces/Panel-Space/UpDownButton.js +++ b/Projects/Foundations/UI/Spaces/Panel-Space/UpDownButton.js @@ -13,7 +13,7 @@ function newUpDownButton() { } let isInitialized = false - /* Cointainer stuff */ + /* Container stuff */ thisObject.container = newContainer() thisObject.container.name = 'Up Down Button' diff --git a/Projects/Governance/Schemas/Docs-Nodes/V/Votes/Votes-Distribution/votes-distribution.json b/Projects/Governance/Schemas/Docs-Nodes/V/Votes/Votes-Distribution/votes-distribution.json index 672e68c228..4e91a8d5b3 100644 --- a/Projects/Governance/Schemas/Docs-Nodes/V/Votes/Votes-Distribution/votes-distribution.json +++ b/Projects/Governance/Schemas/Docs-Nodes/V/Votes/Votes-Distribution/votes-distribution.json @@ -1,7 +1,7 @@ { "type": "Voting Program", "definition": { - "text": "This node defined the section where votes are going to flow like vote-streams, going through Votes Swithces and several different types of Vote nodes. Via references they are later sent to recipient nodes living at other hierarchies.", + "text": "This node defined the section where votes are going to flow like vote-streams, going through Votes Switches and several different types of Vote nodes. Via references they are later sent to recipient nodes living at other hierarchies.", "updated": 1622989230849 }, "paragraphs": [ diff --git a/Projects/Governance/UI/Function-Libraries/StakingProgram.js b/Projects/Governance/UI/Function-Libraries/StakingProgram.js index 48f3cccc94..24407ef1ac 100644 --- a/Projects/Governance/UI/Function-Libraries/StakingProgram.js +++ b/Projects/Governance/UI/Function-Libraries/StakingProgram.js @@ -121,7 +121,7 @@ function newGovernanceFunctionLibraryStakingProgram() { if (programNode === undefined || programNode.payload === undefined) { return } /* Here we will convert Token Power into Staking Power. - As per system rules Staking Powar = tokensPower + As per system rules Staking Power = tokensPower */ let programPower = programNode.payload.tokenPower programNode.payload.stakingProgram.ownPower = programPower diff --git a/Projects/Governance/UI/Function-Libraries/TokenPower.js b/Projects/Governance/UI/Function-Libraries/TokenPower.js index 030847af41..cf2fa905a6 100644 --- a/Projects/Governance/UI/Function-Libraries/TokenPower.js +++ b/Projects/Governance/UI/Function-Libraries/TokenPower.js @@ -90,7 +90,7 @@ function newGovernanceFunctionLibraryTokenPower() { if (userProfile.payload === undefined) { return } if (userProfile.payload.blockchainTokens === undefined) { return } /* - The tokenPower is comming from blockchainTokens. + The tokenPower is coming from blockchainTokens. */ let tokenPower = userProfile.payload.blockchainTokens /* @@ -116,7 +116,7 @@ function newGovernanceFunctionLibraryTokenPower() { if (userProfile.payload.blockchainTokens === undefined) { return } if (userProfile.payload.delegationProgram === undefined) { return } /* - The Deletated Power is already accumilated at userProfile.payload.tokenPower + The Delegated Power is already accumulated at userProfile.payload.tokenPower */ let tokenPower = userProfile.payload.delegationProgram.programPower /* diff --git a/Projects/Governance/UI/Function-Libraries/Tokens.js b/Projects/Governance/UI/Function-Libraries/Tokens.js index 8237f17e32..dcd222124c 100644 --- a/Projects/Governance/UI/Function-Libraries/Tokens.js +++ b/Projects/Governance/UI/Function-Libraries/Tokens.js @@ -45,7 +45,7 @@ function newGovernanceFunctionLibraryTokens() { node.payload.tokens = 0 /* If there is a reference parent defined, this means that the token flow is - transfered to it and not distributed among children. + transferred to it and not distributed among children. */ if (node.payload.referenceParent !== undefined) { resetTokenFlow(node.payload.referenceParent) @@ -101,7 +101,7 @@ function newGovernanceFunctionLibraryTokens() { let schemaDocument = getSchemaDocument(node) if (schemaDocument === undefined) { return } /* - At hierarchy heads we will shouw how many tokens are comming in. + At hierarchy heads we will show how many tokens are coming in. */ if ( schemaDocument.isHierarchyHead === true @@ -121,7 +121,7 @@ function newGovernanceFunctionLibraryTokens() { } /* If there is a reference parent defined, this means that the token flow is - transfered to it and not distributed among children. + transferred to it and not distributed among children. */ if (node.payload.referenceParent !== undefined) { distributeTokens(node.payload.referenceParent, node.payload.tokens) diff --git a/Projects/Governance/UI/Function-Libraries/VotingProgram.js b/Projects/Governance/UI/Function-Libraries/VotingProgram.js index 7b16c53af5..9f034e322c 100644 --- a/Projects/Governance/UI/Function-Libraries/VotingProgram.js +++ b/Projects/Governance/UI/Function-Libraries/VotingProgram.js @@ -110,7 +110,7 @@ function newGovernanceFunctionLibraryVotingProgram() { node.type === 'Feature Contribution Claim' ) { return } /* - For Votes to Profiles there is a special treamtment that needs to be done + For Votes to Profiles there is a special treatment that needs to be done so that votes can flow from Profiles to the Program without being affected by Percentages. */ @@ -132,7 +132,7 @@ function newGovernanceFunctionLibraryVotingProgram() { } /* If there is a reference parent defined, this means that the voting power is - transfered to it and not distributed among children. + transferred to it and not distributed among children. */ if ( node.payload.referenceParent !== undefined && @@ -232,7 +232,7 @@ function newGovernanceFunctionLibraryVotingProgram() { node.type === 'Feature Contribution Claim' ) { return } /* - For Votes to Profiles there is a special treamtment that needs to be done + For Votes to Profiles there is a special treatment that needs to be done so that votes can flow from Profiles to the Program without being affected by Percentages. */ @@ -268,7 +268,7 @@ function newGovernanceFunctionLibraryVotingProgram() { } /* If there is a reference parent defined, this means that the voting power is - transfered to it and not distributed among children. + transferred to it and not distributed among children. */ if ( node.payload.referenceParent !== undefined && diff --git a/Projects/Governance/UI/Spaces/Reports-Space/ReportsSpace.js b/Projects/Governance/UI/Spaces/Reports-Space/ReportsSpace.js index 55e0344516..951078bc7e 100644 --- a/Projects/Governance/UI/Spaces/Reports-Space/ReportsSpace.js +++ b/Projects/Governance/UI/Spaces/Reports-Space/ReportsSpace.js @@ -127,7 +127,7 @@ function newGobernanceReportsSpace() { function initialize() { /* - If the workspace is not related to governance, then we exit the Intialize Function + If the workspace is not related to governance, then we exit the initialize Function */ let governanceProject = UI.projects.foundations.spaces.designSpace.workspace.getProjectHeadByNodeType('Governance Project') if (governanceProject === undefined) { return } diff --git a/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js b/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js index 8bf1391cf5..5e49dfcff3 100644 --- a/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js +++ b/Projects/Governance/UI/Spaces/User-Profile-Space/UserProfile.js @@ -22,7 +22,7 @@ function newGovernanceUserProfileSpace() { function initialize() { /* - If the workspace is not related to governance, then we exit the Intialize Function + If the workspace is not related to governance, then we exit the Initialize Function */ let governanceProject = UI.projects.foundations.spaces.designSpace.workspace.getProjectHeadByNodeType('Governance Project') if (governanceProject === undefined) { return } @@ -363,7 +363,7 @@ function newGovernanceUserProfileSpace() { if (UI.projects.foundations.spaces.designSpace.workspace === undefined) { return } /* - If the workspace is not related to governance, then we exit the Intialize Function + If the workspace is not related to governance, then we exit the Initialize Function */ let governanceProject = UI.projects.foundations.spaces.designSpace.workspace.getProjectHeadByNodeType('Governance Project') if (governanceProject === undefined) { return } diff --git a/Projects/Governance/UI/Utilities/Tables.js b/Projects/Governance/UI/Utilities/Tables.js index c281a67455..0292251bdd 100644 --- a/Projects/Governance/UI/Utilities/Tables.js +++ b/Projects/Governance/UI/Utilities/Tables.js @@ -74,7 +74,7 @@ function newGovernanceUtilitiesTables() { let orderArrow /* If the property is the one defining the order, then the new order will be - the opossite order. + the opposite order. */ if (property.name === sortingOrder.property) { if (sortingOrder.order === 'ascending') { @@ -87,7 +87,7 @@ function newGovernanceUtilitiesTables() { } else { orderArrow = "" /* - If the property is not the current defininf the order, then the new order will + If the property is not the current defining the order, then the new order will be the default order for that property. */ for (let i = 0; i < tableRecordDefinition.properties.length; i++) { diff --git a/Projects/Machine-Learning/TS/Bot-Modules/Learning-Bot/SingleMarketLearningBot.js b/Projects/Machine-Learning/TS/Bot-Modules/Learning-Bot/SingleMarketLearningBot.js index 7eae12d5bc..3b75056f01 100644 --- a/Projects/Machine-Learning/TS/Bot-Modules/Learning-Bot/SingleMarketLearningBot.js +++ b/Projects/Machine-Learning/TS/Bot-Modules/Learning-Bot/SingleMarketLearningBot.js @@ -63,8 +63,8 @@ /* 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. + /* We define the datetime for the process that we are running now. This will be the official processing time for both the infrastructure 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 consistently 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() @@ -95,7 +95,7 @@ return } - /* We will prepare first the infraestructure needed for the bot to run. There are 3 modules we need to sucessfullly initialize first. */ + /* We will prepare first the infrastructure needed for the bot to run. There are 3 modules we need to successfully initialize first. */ let processExecutionEvents let userBot; diff --git a/Projects/Network/NT/Modules/WebSocketsInterface.js b/Projects/Network/NT/Modules/WebSocketsInterface.js index ebad1b2cc2..94afcab6f5 100644 --- a/Projects/Network/NT/Modules/WebSocketsInterface.js +++ b/Projects/Network/NT/Modules/WebSocketsInterface.js @@ -2,7 +2,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock /* This module represents the websockets interface of the Network Node. - A Network Nodes is epected to receive conections request from 2 different types + A Network Nodes is expected to receive connection request from 2 different types of entities: 1. Other Network Nodes. @@ -58,7 +58,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock function onConnectionOpened(socket) /* This function is executed every time a new Websockets connection - is stablished. + is established. */ { let caller = { socket: socket, @@ -159,7 +159,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock function handshakeProducedure(caller, calledTimestamp, messageHeader) { /* - The handshage producedure have 2 steps, we need to know + The handshake procedure have 2 steps, we need to know now which one we are at. */ if (messageHeader.step === undefined) { @@ -268,7 +268,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock function handshakeStepTwo() { /* - We will check that the caller role has beed defined at Step One. + We will check that the caller role has been defined at Step One. */ if (caller.role === undefined) { let response = { @@ -343,7 +343,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock } /* We will check that the signature includes this Network Node handle, to avoid - man in the middle attackts. + man in the middle attacks. */ if (signedMessage.calledProfileHandle !== SA.secrets.map.get(global.env.P2P_NETWORK_NODE_SIGNING_ACCOUNT).userProfileHandle) { let response = { @@ -365,7 +365,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock return } /* - All validations have been completed, the Handshake Prcedure finished well. + All validations have been completed, the Handshake Procedure finished well. */ /* We will remember the user profile behind this caller. diff --git a/Projects/Network/NT/Modules/WebSocketsNetworkClient.js b/Projects/Network/NT/Modules/WebSocketsNetworkClient.js index 89742008c8..56b7517234 100644 --- a/Projects/Network/NT/Modules/WebSocketsNetworkClient.js +++ b/Projects/Network/NT/Modules/WebSocketsNetworkClient.js @@ -76,7 +76,7 @@ exports.newNetworkModulesWebSocketsNetworkClient = function newNetworkModulesWeb User Profile Handle. This Handle will be signed by the Network Node to prove - it's ouwn identity, and later we will sign it's own handle + it's own identity, and later we will sign it's own handle to prove ours. */ socketClient.onmessage = socketMessage => { stepOneResponse(socketMessage) } @@ -145,7 +145,7 @@ exports.newNetworkModulesWebSocketsNetworkClient = function newNetworkModulesWeb } /* We will check that the profile handle we sent to the Network Node, is returned at the - signed message, to avoid man in the middle attackts. + signed message, to avoid man in the middle attacks. */ if (signedMessage.callerProfileHandle !== SA.secrets.map.get(global.env.P2P_NETWORK_NODE_SIGNING_ACCOUNT).userProfileHandle) { console.log('[ERROR] Web Sockets Client -> stepOneResponse -> The Network Node callerProfileHandle does not match my own userProfileHandle.') @@ -154,7 +154,7 @@ exports.newNetworkModulesWebSocketsNetworkClient = function newNetworkModulesWeb } /* We will also check that the callerTimestamp we sent to the Network Node, is returned at the - signed message, also to avoid man in the middle attackts. + signed message, also to avoid man in the middle attacks. */ if (signedMessage.callerTimestamp !== callerTimestamp) { console.log('[ERROR] Web Sockets Client -> stepOneResponse -> The Network Node callerTimestamp does not match my own callerTimestamp.') @@ -196,7 +196,7 @@ exports.newNetworkModulesWebSocketsNetworkClient = function newNetworkModulesWeb return } /* - This was the end of the Handshake producere. We are connected to the + This was the end of the Handshake procedure. We are connected to the Network Node and from now on, all response messages will be received at this following function. */ @@ -260,7 +260,7 @@ exports.newNetworkModulesWebSocketsNetworkClient = function newNetworkModulesWeb let response = JSON.parse(socketMessage.data) /* - We get the functioin that is going to resolve or reject the promise given. + We get the function that is going to resolve or reject the promise given. */ onMenssageFunction = onMessageFunctionsMap.get(response.messageId) onMessageFunctionsMap.delete(response.messageId) diff --git a/Projects/Network/SA/Modules/UserProfiles.js b/Projects/Network/SA/Modules/UserProfiles.js index 346b0b604d..651c698a54 100644 --- a/Projects/Network/SA/Modules/UserProfiles.js +++ b/Projects/Network/SA/Modules/UserProfiles.js @@ -1,6 +1,6 @@ exports.newNetworkModulesUserProfiles = function newNetworkModulesUserProfiles() { /* - This module is usefull for all Apps that needs to operate with all User Profiles loaded in + This module is useful for all Apps that needs to operate with all User Profiles loaded in memory maps. User Profiles are plugins of the Governance System. Besides the info they carry, we also @@ -56,7 +56,7 @@ exports.newNetworkModulesUserProfiles = function newNetworkModulesUserProfiles() SA.projects.network.globals.memory.maps.USER_PROFILES_BY_BLOCHAIN_ACCOUNT.set(blockchainAccount, userProfile) /* Each User Profile might have Signing Accounts, meaning - accounts that can be siging on behalf of the User Profile. + accounts that can be signed on behalf of the User Profile. */ if (userProfilePlugin.signingAccounts !== undefined) { for (let j = 0; j < userProfilePlugin.signingAccounts.signingAccounts.length; j++) { diff --git a/Projects/Network/SA/Modules/WebSocketsAppClient.js b/Projects/Network/SA/Modules/WebSocketsAppClient.js index 2fe1995961..6c1055a177 100644 --- a/Projects/Network/SA/Modules/WebSocketsAppClient.js +++ b/Projects/Network/SA/Modules/WebSocketsAppClient.js @@ -76,7 +76,7 @@ exports.newNetworkModulesWebSocketsAppClient = function newNetworkModulesWebSock User Profile Handle. This Handle will be signed by the Network Node to prove - it's ouwn identity, and later we will sign it's own handle + it's own identity, and later we will sign it's own handle to prove ours. */ socketClient.onmessage = socketMessage => { stepOneResponse(socketMessage) } @@ -145,7 +145,7 @@ exports.newNetworkModulesWebSocketsAppClient = function newNetworkModulesWebSock } /* We will check that the profile handle we sent to the Network Node, is returned at the - signed message, to avoid man in the middle attackts. + signed message, to avoid man in the middle attacks. */ if (signedMessage.callerProfileHandle !== SA.secrets.map.get(global.env.DESKTOP_APP_SIGNING_ACCOUNT).userProfileHandle) { console.log('[ERROR] Web Sockets Client -> stepOneResponse -> The Network Node callerProfileHandle does not match my own userProfileHandle.') @@ -154,7 +154,7 @@ exports.newNetworkModulesWebSocketsAppClient = function newNetworkModulesWebSock } /* We will also check that the callerTimestamp we sent to the Network Node, is returned at the - signed message, also to avoid man in the middle attackts. + signed message, also to avoid man in the middle attacks. */ if (signedMessage.callerTimestamp !== callerTimestamp) { console.log('[ERROR] Web Sockets Client -> stepOneResponse -> The Network Node callerTimestamp does not match my own callerTimestamp.') @@ -196,7 +196,7 @@ exports.newNetworkModulesWebSocketsAppClient = function newNetworkModulesWebSock return } /* - This was the end of the Handshake producere. We are connected to the + This was the end of the Handshake procedure. We are connected to the Network Node and from now on, all response messages will be received at this following function. */ @@ -260,7 +260,7 @@ exports.newNetworkModulesWebSocketsAppClient = function newNetworkModulesWebSock let response = JSON.parse(socketMessage.data) /* - We get the functioin that is going to resolve or reject the promise given. + We get the function that is going to resolve or reject the promise given. */ onMenssageFunction = onMessageFunctionsMap.get(response.messageId) onMessageFunctionsMap.delete(response.messageId) diff --git a/Projects/Social-Trading/DK/modules/SocialGraph.js b/Projects/Social-Trading/DK/modules/SocialGraph.js index 3c4c040fb5..faf71cee42 100644 --- a/Projects/Social-Trading/DK/modules/SocialGraph.js +++ b/Projects/Social-Trading/DK/modules/SocialGraph.js @@ -1,9 +1,9 @@ exports.newSocialTradingModulesSocialGraph = function newSocialTradingModulesSocialGraph() { /* - This module mantains in memory the personal social graph for + This module maintains in memory the personal social graph for the user profile of the user of the Desktop App. A personal social - graph is very similar to the one mantained at a Netwrok Node, - the mainn difference is that it only includes information relevant + graph is very similar to the one maintained at a Network Node, + the main difference is that it only includes information relevant to this particular user, and not for all Superalgos users as in the Network Node. diff --git a/Projects/Social-Trading/DK/modules/WebAppInterface.js b/Projects/Social-Trading/DK/modules/WebAppInterface.js index 2eedc20bde..eec0be333b 100644 --- a/Projects/Social-Trading/DK/modules/WebAppInterface.js +++ b/Projects/Social-Trading/DK/modules/WebAppInterface.js @@ -1,7 +1,7 @@ exports.newSocialTradingModulesWebAppInterface = function newSocialTradingModulesWebAppInterface() { /* - This module handles the incomming messages from the Web App. - At it's current version, it will jusr forward those messages + This module handles the incoming messages from the Web App. + At it's current version, it will just forward those messages to the Network Node it is connected to. Later, it will try to use the personal social graph as a cache, @@ -77,7 +77,7 @@ exports.newSocialTradingModulesWebAppInterface = function newSocialTradingModule } } - // console.log((new Date()).toISOString(), '- Web App Interface', '- Query Respose Sent', JSON.stringify(response)) + // console.log((new Date()).toISOString(), '- Web App Interface', '- Query Response Sent', JSON.stringify(response)) return response } @@ -148,7 +148,7 @@ exports.newSocialTradingModulesWebAppInterface = function newSocialTradingModule async function savePostAtStorage(postText, commitMessage, timestamp) { /* - Each user, has a git repository that acts as his publicly accesible + Each user, has a git repository that acts as his publicly accessible storage for posts. They way we store post there is first saving the data at the local disk diff --git a/Projects/Social-Trading/DK/modules/WebSocketsInterface.js b/Projects/Social-Trading/DK/modules/WebSocketsInterface.js index 2f739ce9c1..a3f2111bec 100644 --- a/Projects/Social-Trading/DK/modules/WebSocketsInterface.js +++ b/Projects/Social-Trading/DK/modules/WebSocketsInterface.js @@ -1,7 +1,7 @@ exports.newDesktopModulesWebSocketsInterface = function newDesktopModulesWebSocketsInterface() { /* This module handles the websockets communication between the - Desktop App's Client and the Destop App's Web App. + Desktop App's Client and the Desktop App's Web App. */ let thisObject = { sendToWebApp: sendToWebApp, @@ -35,7 +35,7 @@ exports.newDesktopModulesWebSocketsInterface = function newDesktopModulesWebSock function onConnectionOpened(socket) /* This function is executed every time a new Websockets connection - is stablished. + is established. */ { if (webApp !== undefined) { console.log('[ERROR] Only one websockets client allowed.') diff --git a/Projects/Social-Trading/NT/Modules/SocialGraph.js b/Projects/Social-Trading/NT/Modules/SocialGraph.js index 41e1699114..f31c44a436 100644 --- a/Projects/Social-Trading/NT/Modules/SocialGraph.js +++ b/Projects/Social-Trading/NT/Modules/SocialGraph.js @@ -1,10 +1,10 @@ exports.newNetworkModulesSocialGraph = function newNetworkModulesSocialGraph() { /* This module represents the Social Graph Service that - deals with the Social Graph this node mantains. + deals with the Social Graph this node maintains. The Social Graph is one of the services the Network Node provides. - This service is responsible for mantaining the whole Social Graph + This service is responsible for maintaining the whole Social Graph or relationships between User and Bot profiles and also between their posts. */ diff --git a/Projects/Social-Trading/NT/Modules/Storage.js b/Projects/Social-Trading/NT/Modules/Storage.js index 105815bb9c..9d02c88886 100644 --- a/Projects/Social-Trading/NT/Modules/Storage.js +++ b/Projects/Social-Trading/NT/Modules/Storage.js @@ -89,7 +89,7 @@ exports.newSocialTradingModulesStorage = function newSocialTradingModulesStorage function saveOneMinuteOfEvents() { /* Here we will save all the events that were not saved before, - in one minute chunchs files. + in one minute batched files. */ let eventsToSave = [] let minuteToSave diff --git a/Projects/Social-Trading/NT/Utilities/QueriesValidations.js b/Projects/Social-Trading/NT/Utilities/QueriesValidations.js index ffb20ecbd4..bfd6eb6557 100644 --- a/Projects/Social-Trading/NT/Utilities/QueriesValidations.js +++ b/Projects/Social-Trading/NT/Utilities/QueriesValidations.js @@ -1,6 +1,6 @@ exports.newSocialTradingUtilitiesQueriesValidations = function newSocialTradingUtilitiesQueriesValidations() { /* - This module have a few funcions that are often needed at Queries Modules. + This module have a few functions that are often needed at Queries Modules. */ let thisObject = { profilesValidations: profilesValidations, diff --git a/Projects/Social-Trading/SA/Modules/Social-Graph/Post.js b/Projects/Social-Trading/SA/Modules/Social-Graph/Post.js index 4975b2c50b..f3678cc62b 100644 --- a/Projects/Social-Trading/SA/Modules/Social-Graph/Post.js +++ b/Projects/Social-Trading/SA/Modules/Social-Graph/Post.js @@ -1,13 +1,13 @@ exports.newSocialTradingModulesSocialGraphPost = function newSocialTradingModulesSocialGraphPost() { /* - Posts represent a collection of multimedia content sotored somewhere else + Posts represent a collection of multimedia content sorted somewhere else and identified by that content hash. Posts might belong to: * a User Profile. * a Bot Profile. Posts might be linked to other posts when they are a reply or quote. - Posts migth have: + Posts might have: * replies, when a user or bot replies to a post. * reactions, when a user or bot reacts to a post. */ @@ -20,7 +20,7 @@ exports.newSocialTradingModulesSocialGraphPost = function newSocialTradingModule /* Unique Keys */ emitterPostHash: undefined, targetPostHash: undefined, - /* Post Unitque Properties */ + /* Post Unique Properties */ postType: undefined, timestamp: undefined, /* Maps */ diff --git a/Projects/Social-Trading/SA/Modules/Social-Graph/UserProfile.js b/Projects/Social-Trading/SA/Modules/Social-Graph/UserProfile.js index 187a4f17f6..f02940923b 100644 --- a/Projects/Social-Trading/SA/Modules/Social-Graph/UserProfile.js +++ b/Projects/Social-Trading/SA/Modules/Social-Graph/UserProfile.js @@ -10,7 +10,7 @@ exports.newSocialTradingModulesSocialGraphUserProfile = function newSocialTradin /* Unique Keys */ userProfileId: undefined, userProfileHandle: undefined, - /* User Unitque Properties */ + /* User Unique Properties */ blockchainAccount: undefined, /* SA Reputation + SA Token Balance */ ranking: undefined, diff --git a/Projects/Social-Trading/UI/modules/WebSocketsWebClient.js b/Projects/Social-Trading/UI/modules/WebSocketsWebClient.js index 0fb4e3d68c..e0512c462e 100644 --- a/Projects/Social-Trading/UI/modules/WebSocketsWebClient.js +++ b/Projects/Social-Trading/UI/modules/WebSocketsWebClient.js @@ -98,7 +98,7 @@ function newSocialTradingModulesWebSocketsWebClient() { let response = JSON.parse(socketMessage.data) /* - We get the functioin that is going to resolve or reject the promise given. + We get the function that is going to resolve or reject the promise given. */ onMenssageFunction = onMessageFunctionsMap.get(response.messageId) onMessageFunctionsMap.delete(response.messageId) diff --git a/Projects/TensorFlow/Schemas/Docs-Nodes/O/Output/Output-Labels/output-labels.json b/Projects/TensorFlow/Schemas/Docs-Nodes/O/Output/Output-Labels/output-labels.json index fbf601f11f..0555ecedb7 100644 --- a/Projects/TensorFlow/Schemas/Docs-Nodes/O/Output/Output-Labels/output-labels.json +++ b/Projects/TensorFlow/Schemas/Docs-Nodes/O/Output/Output-Labels/output-labels.json @@ -1,7 +1,7 @@ { "type": "Output Labels", "definition": { - "text": "Ouput labels are the things we're predicting—the y variable in simple linear regression. The label could be the future price of wheat, the kind of animal shown in a picture, the meaning of an audio clip, or just about anything.", + "text": "Output labels are the things we're predicting—the y variable in simple linear regression. The label could be the future price of wheat, the kind of animal shown in a picture, the meaning of an audio clip, or just about anything.", "updated": 1615896247619 }, "paragraphs": [ diff --git a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/TensorFlowLibrary.js b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/TensorFlowLibrary.js index 1b17f20139..c3fca3bb9d 100644 --- a/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/TensorFlowLibrary.js +++ b/Projects/TensorFlow/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/TensorFlowLibrary.js @@ -119,7 +119,7 @@ exports.newTensorFlowBotModulesTensorFlowLibrary = function (processIndex) { async function saveModel() { let fileLocation = getModelPath(); - /* If necesary a folder or folders are created before writing the file to disk: */ + /* If necessary a folder or folders are created before writing the file to disk: */ SA.projects.foundations.utilities.filesAndDirectories.mkDirByPathSync(fileLocation); const savedModel = await tensorFlowModelsManager.model.save('file://' + fileLocation); diff --git a/Projects/Visual-Scripting/UI/Function-Libraries/OnFocus.js b/Projects/Visual-Scripting/UI/Function-Libraries/OnFocus.js index d7eecd65d1..d2f0682523 100644 --- a/Projects/Visual-Scripting/UI/Function-Libraries/OnFocus.js +++ b/Projects/Visual-Scripting/UI/Function-Libraries/OnFocus.js @@ -17,7 +17,7 @@ function newVisualScriptingFunctionLibraryOnFocus() { /* Then we check all of its own children nodes. */ if (node.payload.floatingObject.isCollapsed !== true) { 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. + 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 avoid counting each property of those as individual children. for (let i = 0; i < schemaDocument.childrenNodesProperties.length; i++) { let property = schemaDocument.childrenNodesProperties[i] diff --git a/Projects/Visual-Scripting/UI/Function-Libraries/ShortcutKeys.js b/Projects/Visual-Scripting/UI/Function-Libraries/ShortcutKeys.js index fc801c4451..f14cff883a 100644 --- a/Projects/Visual-Scripting/UI/Function-Libraries/ShortcutKeys.js +++ b/Projects/Visual-Scripting/UI/Function-Libraries/ShortcutKeys.js @@ -16,7 +16,7 @@ function newVisualScriptingFunctionLibraryShortcutKeys() { /* Check all of its own children nodes. */ if (node.payload.floatingObject.isCollapsed !== true) { 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. + 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 avoid counting each property of those as individual children. for (let i = 0; i < schemaDocument.childrenNodesProperties.length; i++) { let property = schemaDocument.childrenNodesProperties[i] diff --git a/Projects/Visual-Scripting/UI/Function-Libraries/UiObjectsFromNodes.js b/Projects/Visual-Scripting/UI/Function-Libraries/UiObjectsFromNodes.js index 4bdf462d2f..7ec17206e6 100644 --- a/Projects/Visual-Scripting/UI/Function-Libraries/UiObjectsFromNodes.js +++ b/Projects/Visual-Scripting/UI/Function-Libraries/UiObjectsFromNodes.js @@ -66,7 +66,7 @@ function newVisualScritingFunctionLibraryUiObjectsFromNodes() { for (let j = 0; j < plugins.pluginProjects.length; j++) { let project = plugins.pluginProjects[j] /* - Miscelaneours Plugin Types + Miscellaneous Plugin Types */ if (project.pluginDataMines !== undefined) { totalPlugin = totalPlugin + project.pluginDataMines.pluginFiles.length @@ -180,8 +180,8 @@ function newVisualScritingFunctionLibraryUiObjectsFromNodes() { } /* - If the workspace already contains a root node with the id of the head of the hirierchy - we are loading, we remove it because the plugin file has precedende. + If the workspace already contains a root node with the id of the head of the hierarchy + we are loading, we remove it because the plugin file has precedence. */ for (let i = 0; i < node.rootNodes.length; i++) { let rootNode = node.rootNodes[i] @@ -226,7 +226,7 @@ function newVisualScritingFunctionLibraryUiObjectsFromNodes() { } function addUserDefinedNodes() { - /* Create the workspace UI OBject and then continue with the root nodes. */ + /* Create the workspace UI OObject and then continue with the root nodes. */ createUiObject(false, 'Workspace', node.name, node, undefined, undefined, 'Workspace') if (node.rootNodes !== undefined) { UI.projects.foundations.utilities.statusBar.changeStatus("Setting up Rootnodes...") @@ -403,7 +403,7 @@ function newVisualScritingFunctionLibraryUiObjectsFromNodes() { } function migrateCodeToConfig(node, schemaDocument) { - /* Code needed to Migrante from Beta 5 to Beta a Workspace */ + /* Code needed to Migrate from Beta 5 to Beta a Workspace */ if (schemaDocument.editors !== undefined) { if (schemaDocument.editors.config === true) { if (node.code !== undefined) { @@ -556,7 +556,7 @@ function newVisualScritingFunctionLibraryUiObjectsFromNodes() { /* Create Children */ 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. + 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 avoid counting each property of those as individual children. for (let i = 0; i < schemaDocument.childrenNodesProperties.length; i++) { let property = schemaDocument.childrenNodesProperties[i] if (node[property.name] !== undefined) { @@ -692,7 +692,7 @@ function newVisualScritingFunctionLibraryUiObjectsFromNodes() { function connectToParent() { /* Connect to Parent */ if (parentSchemaDocument.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. + 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 avoid counting each property of those as individual children. for (let i = 0; i < parentSchemaDocument.childrenNodesProperties.length; i++) { let property = parentSchemaDocument.childrenNodesProperties[i] if (property.childType === type) { @@ -728,7 +728,7 @@ function newVisualScritingFunctionLibraryUiObjectsFromNodes() { function autoAddChildren() { /* Auto Add more Children */ 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. + 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 avoid counting each property of those as individual children. for (let i = 0; i < schemaDocument.childrenNodesProperties.length; i++) { let property = schemaDocument.childrenNodesProperties[i] @@ -764,7 +764,7 @@ function newVisualScritingFunctionLibraryUiObjectsFromNodes() { /* Connect to Parent */ 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. + 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 avoid counting each property of those as individual children. for (let i = 0; i < schemaDocument.childrenNodesProperties.length; i++) { let property = schemaDocument.childrenNodesProperties[i] if (property.type === 'node') { @@ -820,7 +820,7 @@ function newVisualScritingFunctionLibraryUiObjectsFromNodes() { return } - /* If there is not a position offset, which happens when we are dropping a node into the designer, we create a cero vector then. */ + /* If there is not a position offset, which happens when we are dropping a node into the designer, we create a zero vector then. */ if (positionOffset === undefined) { positionOffset = { x: 0, @@ -853,7 +853,7 @@ function newVisualScritingFunctionLibraryUiObjectsFromNodes() { /* If we are adding a new object, then we set the initial values for position and targetPosition */ if (userAddingNew === true || uiObjectType === 'Workspace') { - /* Workspace allways to the spawn position */ + /* Workspace always to the spawn position */ if (uiObjectType === 'Workspace') { payload.position = { x: spawnPosition.x, @@ -925,7 +925,7 @@ function newVisualScritingFunctionLibraryUiObjectsFromNodes() { /* This is the point where we build a map with all nodes present at the workspace */ mapOfNodes.set(node.id, node) - /* We will collect all tasks at the workspace in order to later syncronize them with the client */ + /* We will collect all tasks at the workspace in order to later synchronize them with the client */ if (userAddingNew === false && uiObjectType === 'Task' && node.savedPayload !== undefined) { if (tasksFoundAtWorkspace !== undefined) { // it might be undefined when you are spawning a task that was backed up tasksFoundAtWorkspace.push(node) diff --git a/README.md b/README.md index 894e7717ec..0dfcc4c882 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ - [Superalgos Platform for Developers](#superalgos-platform-for-developers) - [Superalgos Platform Saves You Time](#superalgos-platform-saves-you-time) - [Superalgos Platform is Permissionless](#superalgos-platform-is-permissionless) - - [Superalgos Platform for Algo-Trders](#superalgos-platform-for-algo-trders) + - [Superalgos Platform for Algo-Traders](#superalgos-platform-for-algo-trders) - [Superalgos Platform Saves You Money](#superalgos-platform-saves-you-money) - [Superalgos Platform Minimizes Risks](#superalgos-platform-minimizes-risks) - [Superalgos Platform for Companies](#superalgos-platform-for-companies) @@ -90,7 +90,7 @@ You can use the windows installer (Setup file) which will install all the necess The manual installation option, tailored for users who are experienced and who want to contribute to the project (highly appreciated and rewarded with SA tokens). Follow the install wizards to install the latest NodeJS and Github Desktop applications. - [Node.js download page](https://nodejs.org/en/download/). Select "Current" then "Windows Installer", then follow the wizard to install after the download completes. -- [GitHub Desktop downloat page](https://desktop.github.com/). Click the "Download for Windows" button and follow the wizard to install after the download completes. +- [GitHub Desktop download page](https://desktop.github.com/). Click the "Download for Windows" button and follow the wizard to install after the download completes. - [Google Chrome download page](https://www.google.com/chrome/). After the install, it is recommended to set Chrome as the default browser. - If you intend on running the machine learning features (TensorFlow), you must [install Python 2](https://www.python.org/downloads/release/python-2718/) as well. @@ -232,7 +232,7 @@ Now both launcher and desktop shortcuts will launch Superalgos like any other pr - You need to make a fork so that you may contribute work. Superalgos is a Community project and you are expected to contribute, like everyone else. You don't need to be a technical person to contribute. Fixing a typo in the docs or translating a paragraph into your native language are valuable contributions too. Superalgos has built-in features that make contributing easy. Help make Superalgos better and Superalgos will better serve you! Free-riding is not cool, particularly on free, open-source, Community-driven projects. - The software includes an in-app self-update command / feature. It will help you stay up-to-date with the latest version of the software. Updates are on-demand, so don't worry about undesired updates. The project moves very fast and new features become available regularly, particularly if you choose to run the software in the `develop` branch (you may switch branches from within the app). -- It is a good idea to perodically run the `node setup` command to keep the underlying dependencies for your Superalgos installation up to date. +- It is a good idea to periodically run the `node setup` command to keep the underlying dependencies for your Superalgos installation up to date. - Before installing the client on a remote computer in an attempt to access the UI from a different machine, we highly recommend you do a standard installation on your PC / laptop first. Leave your Raspberry Pi or VPS for later, once you have done all available tutorials. This single tip will save you a lot of time: you don't need to add complexity before you learn how to handle the app, and the GUI performs best in a local installation. ### Uninstall @@ -434,7 +434,7 @@ At Beta 12, trading signals will be able to be sent to the Suerpalgos Network fr No problem, code or integrate libraries with your own version of any component and we promise we will merge your work and provide it as an alternative to users. We believe in Permissionless Innovation and that users, not team members, are the final judges and the ones who decide what they prefer to use. You are free to create an alternative for any part of the system that you believe that should work or should have been done in a different way. We will help you integrate your vision into the next release and enable a way for users to choose between different implementations of the same functionality. You will also be granted the title of maintainer of the functionality you provide and have decision power on how it evolves in the future. -### Superalgos Platform for Algo-Trders +### Superalgos Platform for Algo-Traders - Superalgos is easy to install/uninstall. - Superalgos is easy to run. diff --git a/TaskServer/ProcessInstance.js b/TaskServer/ProcessInstance.js index 769906ab55..8b2fa228b2 100644 --- a/TaskServer/ProcessInstance.js +++ b/TaskServer/ProcessInstance.js @@ -26,7 +26,7 @@ TS.projects.foundations.globals.taskVariables.LOGGER_MAP.set('Pre-Bot-Main-Loop' + TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].id, TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT) /* There are a few variables with the scope of the process instance. We will store it here so that it can be - accesed from where it is needed. + accessed from where it is needed. */ VARIABLES_BY_PROCESS_INDEX = { MAIN_LOOP_COUNTER: 0, diff --git a/TaskServerRoot.js b/TaskServerRoot.js index 3b6df6ae88..d45d37f389 100644 --- a/TaskServerRoot.js +++ b/TaskServerRoot.js @@ -6,12 +6,12 @@ load all node dependencies and get them ready to the actual App. */ /* -The TS object is accesible everywhere at the Superalgos Platform Client. +The TS object is accessible everywhere at the Superalgos Platform Client. It provides access to all modules built for the Task Server. */ global.TS = {} /* -The SA object is accesible everywhere at the Superalgos Desktop App. +The SA object is accessible everywhere at the Superalgos Desktop App. It provides access to all modules built for Superalgos in general. */ global.SA = {} diff --git a/setup.js b/setup.js index 622a6bdb0b..d5c62461a3 100644 --- a/setup.js +++ b/setup.js @@ -27,7 +27,7 @@ if (process.argv.includes("noShortcuts")) { } } -// Create Operating System compatable paths to each node_modules directory. +// Create Operating System compatible paths to each node_modules directory. let nodeModulesDirs = [ path.join( process.cwd(), "Platform"), path.join( process.cwd(), "Projects", "Foundations", "TS", "Bot-Modules", "Sensor-Bot", "Exchange-Raw-Data"),