diff --git a/StrategySpace/Workspace/FunctionLibraries/AttachDetach.js b/StrategySpace/Workspace/FunctionLibraries/AttachDetach.js index d191c9b56..750290153 100644 --- a/StrategySpace/Workspace/FunctionLibraries/AttachDetach.js +++ b/StrategySpace/Workspace/FunctionLibraries/AttachDetach.js @@ -228,6 +228,11 @@ function newAttachDetach () { case 'Phase': { switch (attachToNode.type) { case 'Stop': { + if (attachToNode.maxPhases !== undefined) { + if (attachToNode.phases.length >= attachToNode.maxPhases) { + return + } + } node.payload.parentNode = attachToNode if (attachToNode.phases.length > 0) { let phase = attachToNode.phases[attachToNode.phases.length - 1] @@ -240,6 +245,11 @@ function newAttachDetach () { } break case 'Take Profit': { + if (attachToNode.maxPhases !== undefined) { + if (attachToNode.phases.length >= attachToNode.maxPhases) { + return + } + } node.payload.parentNode = attachToNode if (attachToNode.phases.length > 0) { let phase = attachToNode.phases[attachToNode.phases.length - 1] diff --git a/StrategySpace/Workspace/FunctionLibraries/PartsFromNodes.js b/StrategySpace/Workspace/FunctionLibraries/PartsFromNodes.js index 9c6e13e5a..84aaad55e 100644 --- a/StrategySpace/Workspace/FunctionLibraries/PartsFromNodes.js +++ b/StrategySpace/Workspace/FunctionLibraries/PartsFromNodes.js @@ -104,10 +104,10 @@ function newPartsFromNodes () { createPart('Initial Definition', node.name, node, parentNode, chainParent, 'Initial Definition') if (node.triggerOff !== undefined) { - createPartFromNode(node.triggerOff, stage, stage) + createPartFromNode(node.triggerOff, node, node) } if (node.takePosition !== undefined) { - createPartFromNode(node.takePosition, stage, stage) + createPartFromNode(node.takePosition, node, node) } return } @@ -417,6 +417,11 @@ function newPartsFromNodes () { } function addPhase (parentNode) { + if (parentNode.maxPhases !== undefined) { + if (parentNode.phases.length >= parentNode.maxPhases) { + return + } + } let phaseParent = parentNode let m = phaseParent.phases.length let phase = { diff --git a/StrategySpace/Workspace/FunctionLibraries/WorkspaceNode.js b/StrategySpace/Workspace/FunctionLibraries/WorkspaceNode.js index 366b64f29..b11aba2e4 100644 --- a/StrategySpace/Workspace/FunctionLibraries/WorkspaceNode.js +++ b/StrategySpace/Workspace/FunctionLibraries/WorkspaceNode.js @@ -94,6 +94,7 @@ function newWorkspaceNode () { subType: node.subType, name: node.name, phases: [], + maxPhases: node.maxPhases, savedPayload: getSavedPayload(node) } @@ -110,6 +111,7 @@ function newWorkspaceNode () { subType: node.subType, name: node.name, phases: [], + maxPhases: node.maxPhases, savedPayload: getSavedPayload(node) }