From eeb1351f5f2f99d559e68ff9e424677361480d41 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Thu, 6 Jun 2019 13:00:43 +0200 Subject: [PATCH] Adding new node types to Libraries --- .../FunctionLibraries/PartsFromNodes.js | 21 +++++++++++++++ .../FunctionLibraries/ProtocolNode.js | 27 +++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/StrategySpace/Workspace/FunctionLibraries/PartsFromNodes.js b/StrategySpace/Workspace/FunctionLibraries/PartsFromNodes.js index 6c67f1d53..3fee5d8d2 100644 --- a/StrategySpace/Workspace/FunctionLibraries/PartsFromNodes.js +++ b/StrategySpace/Workspace/FunctionLibraries/PartsFromNodes.js @@ -141,6 +141,13 @@ function newPartsFromNodes () { } return } + case 'Position Size': { + createPart('Position Size', node.name, node, parentNode, chainParent, 'Position Size') + if (node.formula !== undefined) { + createPartFromNode(node.formula, node, node) + } + return + } case 'Trigger Stage': { let stage = node createPart('Trigger Stage', stage.name, stage, parentNode, chainParent, 'Trigger Stage') @@ -199,6 +206,20 @@ function newPartsFromNodes () { } return } + case 'Base Asset': { + createPart('Base Asset', node.name, node, parentNode, chainParent, 'Base Asset') + if (node.formula !== undefined) { + createPartFromNode(node.formula, node, nodes) + } + return + } + case 'Parameters': { + createPart('Parameters', node.name, node, parentNode, chainParent, 'Parameters') + if (node.baseAsset !== undefined) { + createPartFromNode(node.baseAsset, node, node) + } + return + } case 'Trading System': { let tradingSystem = node createPart('Trading System', tradingSystem.name, tradingSystem, parentNode, chainParent, 'Trading System') diff --git a/StrategySpace/Workspace/FunctionLibraries/ProtocolNode.js b/StrategySpace/Workspace/FunctionLibraries/ProtocolNode.js index 5ff9f18cd..59dcba761 100644 --- a/StrategySpace/Workspace/FunctionLibraries/ProtocolNode.js +++ b/StrategySpace/Workspace/FunctionLibraries/ProtocolNode.js @@ -155,6 +155,15 @@ function newProtocolNode () { } return object } + case 'Position Size': { + let object = { + type: node.type, + subType: node.subType, + name: node.name, + formula: getProtocolNode(node.formula) + } + return object + } case 'Trigger Stage': { let stage = { type: node.type, @@ -205,6 +214,24 @@ function newProtocolNode () { } return strategy } + case 'Base Asset': { + let object = { + type: node.type, + subType: node.subType, + name: node.name, + formula: getProtocolNode(node.formula) + } + return object + } + case 'Parameters': { + let object = { + type: node.type, + subType: node.subType, + name: node.name, + baseAsset: getProtocolNode(node.baseAsset) + } + return object + } case 'Trading System': { let tradingSystem = { type: node.type,