From 7e369c722b846ea466920f5a2497df9bcf84f751 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Thu, 12 Sep 2019 13:02:02 +0200 Subject: [PATCH] Sending the Definition via Events Part 1 --- CockpitSpace/RestartSimulation.js | 18 +++++++++++++++--- StrategySpace/StrategizerGateway.js | 2 +- StrategySpace/Workspace/Workspace.js | 6 +++--- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/CockpitSpace/RestartSimulation.js b/CockpitSpace/RestartSimulation.js index 68f669cb1..98e7eb14e 100644 --- a/CockpitSpace/RestartSimulation.js +++ b/CockpitSpace/RestartSimulation.js @@ -73,7 +73,7 @@ function newRestartSimulation () { function onEvent (message) { refreshCounter++ - if (refreshCounter === 3) { + if (refreshCounter === 1) { refreshCounter = 0 turnOffProductCards() turnOnProductCards() @@ -125,9 +125,15 @@ function newRestartSimulation () { logger.write('[ERROR] Restart Simulation -> Can not delete Logs and Simulation data. err = ' + err.messsage) } } - systemEventHandler.raiseEvent('Cockpit-Restart-Button', 'Live-Trading Started') + let event = { + definition: getDefinition() + } + systemEventHandler.raiseEvent('Cockpit-Restart-Button', 'Live-Trading Started', event) } else { - systemEventHandler.raiseEvent('Cockpit-Restart-Button', 'Backstesting Started') + let event = { + definition: getDefinition() + } + systemEventHandler.raiseEvent('Cockpit-Restart-Button', 'Backstesting Started', event) } thisObject.status = 'Calculating' @@ -146,6 +152,12 @@ function newRestartSimulation () { } } + function getDefinition () { + let definitionNode = canvas.strategySpace.workspace.getProtocolDefinitionNode() + definitionNode.simulationParams = getSimulationParams() + return JSON.stringify(definitionNode) + } + function turnOffProductCards () { let productCardsToTurnOff = ['Trading-Simulation', 'Simulation-Conditions', 'Simulation-Strategies', 'Simulation-Trades', 'Live Trading History'] for (let i = 0; i < canvas.panelsSpace.panels.length; i++) { diff --git a/StrategySpace/StrategizerGateway.js b/StrategySpace/StrategizerGateway.js index 1fb458ec8..b623990b4 100644 --- a/StrategySpace/StrategizerGateway.js +++ b/StrategySpace/StrategizerGateway.js @@ -108,7 +108,7 @@ function newStrategizerGateway () { return } - let tradingSystem = canvas.strategySpace.workspace.getProtocolTradingSystem() + let tradingSystem = canvas.strategySpace.workspace.getProtocolDefinitionNode() if (tradingSystem === undefined || tradingSystem === null) { logger.write('[ERROR] saveToStrategyzer -> Can not save when tradingSystem is null or undefined.') return diff --git a/StrategySpace/Workspace/Workspace.js b/StrategySpace/Workspace/Workspace.js index c13b961a9..dae445530 100644 --- a/StrategySpace/Workspace/Workspace.js +++ b/StrategySpace/Workspace/Workspace.js @@ -11,7 +11,7 @@ function newWorkspace () { enabled: false, nodeChildren: undefined, onMenuItemClick: onMenuItemClick, - getProtocolTradingSystem: getProtocolTradingSystem, + getProtocolDefinitionNode: getProtocolDefinitionNode, physics: physics, spawn: spawn, detachNode: detachNode, @@ -98,8 +98,8 @@ function newWorkspace () { } } - function getProtocolTradingSystem () { - return functionLibraryProtocolNode.getProtocolNode(thisObject.definition) + function getProtocolDefinitionNode () { + return functionLibraryProtocolNode.getProtocolNode(thisObject.definition, false, true, true) // <- We need to do this workaround in order no to send unescaped charactars through a system event. } function detachNode (node) {