From 7292f6ed2807d7bda26be74873e0549391e65f41 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Mon, 1 Jun 2020 10:32:54 +0200 Subject: [PATCH] Update SessionFunctions.js --- .../FunctionLibraries/SessionFunctions.js | 45 +++++++++++++++++-- 1 file changed, 41 insertions(+), 4 deletions(-) diff --git a/DesignSpace/Workspace/FunctionLibraries/SessionFunctions.js b/DesignSpace/Workspace/FunctionLibraries/SessionFunctions.js index e29fb8254..31c87c63e 100644 --- a/DesignSpace/Workspace/FunctionLibraries/SessionFunctions.js +++ b/DesignSpace/Workspace/FunctionLibraries/SessionFunctions.js @@ -37,7 +37,28 @@ function newSessionFunctions () { 'Close Stage->Close Execution->' + 'Announcement->Formula->' - let tradingSystem = functionLibraryProtocolNode.getProtocolNode(node.payload.referenceParent, false, true, true, false, false, lightingPath) + let tradingSystem = functionLibraryProtocolNode.getProtocolNode(node.tradingSystemReference.payload.referenceParent, false, true, true, false, false, lightingPath) + + lightingPath = '' + + 'Trading Engine->' + + 'Episode->Current->Last->Previous->' + + 'Episode Counters->Episode Statistics->' + + 'Periods->Positions->Hits->Fails->' + + 'Profit Loss->Hit Ratio->Days->ROI->Anualized Rate Of Return->User Defined Statistic->' + + 'Formula->' + + 'Balance->Base Asset->Quoted Asset->' + + 'Distance To Event->' + + 'Trigger On->Trigger Off->Take Position->Close Position->Next Phase->Move To Phase->' + + 'Strategy->' + + 'Begin->End->Strategy Name->Index->Stage Type->Status->Begin Rate->End Rate->Situation Name->' + + 'Strategy Counters->Periods->' + + 'Position->' + + 'Begin->End->Rate->Size->Exit Type->Status->Begin Rate->End Rate->Situation Name->' + + 'Position Counters->Periods->' + + 'Position Statistics->Days->ROI->User Defined Statistic->' + + 'Formula' + + let tradingEngine = functionLibraryProtocolNode.getProtocolNode(node.tradingEngineReference.payload.referenceParent, false, true, true, false, false, lightingPath) lightingPath = '' + 'Backtesting Session->Paper Trading Session->Fordward Testing Session->Live Trading Session->' + @@ -48,12 +69,13 @@ function newSessionFunctions () { let session = functionLibraryProtocolNode.getProtocolNode(node, false, true, true, false, false, lightingPath) - let dependencyFilter = functionLibraryDependenciesFilter.createFilter(node.payload.referenceParent) + let dependencyFilter = functionLibraryDependenciesFilter.createFilter(node.tradingSystemReference.payload.referenceParent) /* Raise event to run the session */ let event = { session: JSON.stringify(session), tradingSystem: JSON.stringify(tradingSystem), + tradingEngine: JSON.stringify(tradingEngine), dependencyFilter: JSON.stringify(dependencyFilter), resume: resume } @@ -122,8 +144,23 @@ function newSessionFunctions () { return } - if (node.payload.referenceParent === undefined) { - node.payload.uiObject.setErrorMessage('Session needs to reference a Trading System.') + if (node.tradingSystemReference === undefined) { + node.payload.uiObject.setErrorMessage('Session needs a child Trading System Reference.') + return + } + + if (node.tradingEngineReference === undefined) { + node.payload.uiObject.setErrorMessage('Session needs a child Trading Engine Reference.') + return + } + + if (node.tradingSystemReference.payload.referenceParent === undefined) { + node.payload.uiObject.setErrorMessage('Trading System Reference needs to reference a Trading System.') + return + } + + if (node.tradingEngineReference.payload.referenceParent === undefined) { + node.payload.uiObject.setErrorMessage('Trading Engine Reference needs to reference a Trading Engine.') return } return true