diff --git a/DesignSpace/Workspace/FunctionLibraries/DataStorageFunctions.js b/DesignSpace/Workspace/FunctionLibraries/DataStorageFunctions.js index 27abaf1de..d87daecd1 100644 --- a/DesignSpace/Workspace/FunctionLibraries/DataStorageFunctions.js +++ b/DesignSpace/Workspace/FunctionLibraries/DataStorageFunctions.js @@ -2,8 +2,9 @@ function newDataStorageFunctions() { thisObject = { addAllDataProducts: addAllDataProducts, addAllDataMineProducts: addAllDataMineProducts, - addAllTradingMineProducts: addAllTradingMineProducts, - addMissingSessionReferences: addMissingSessionReferences + addAllTradingMineProducts: addAllTradingMineProducts, + addMissingSessionReferences: addMissingSessionReferences, + addMissingAddMissingSingleMarketDatas: addMissingAddMissingSingleMarketDatas } return thisObject @@ -34,7 +35,7 @@ function newDataStorageFunctions() { scanBotArray(mine.tradingBots) function scanBotArray(botArray) { - if (botArray === undefined) {return} + if (botArray === undefined) { return } for (let i = 0; i < botArray.length; i++) { let bot = botArray[i] @@ -80,7 +81,7 @@ function newDataStorageFunctions() { function addMissingSessionReferences(node, rootNodes, functionLibraryUiObjectsFromNodes) { let networkNode = findNodeInNodeMesh(node, 'Network Node', true, false, true, false) - if (networkNode === undefined) {return} + if (networkNode === undefined) { return } let backtestingSessionsArray = nodeBranchToArray(networkNode, 'Backtesting Session') let fordwardTestingSessionsArray = nodeBranchToArray(networkNode, 'Fordward Testing Session') @@ -108,4 +109,18 @@ function newDataStorageFunctions() { } } } + + function addMissingAddMissingSingleMarketDatas(node, rootNodes, functionLibraryUiObjectsFromNodes) { + if (node.payload.referenceParent === undefined) { return } + if (node.payload.referenceParent.exchangeMarkets === undefined) { return } + let marketsArray = node.payload.referenceParent.exchangeMarkets.markets + + for (let i = 0; i < marketsArray.length; i++) { + let market = marketsArray[i] + if (isMissingChildren(node, market, true) === true) { + let singleMarketData = functionLibraryUiObjectsFromNodes.addUIObject(node, 'Single Market Data') + singleMarketData.payload.referenceParent = market + } + } + } } diff --git a/DesignSpace/Workspace/Workspace.js b/DesignSpace/Workspace/Workspace.js index 155052ec0..2a30df246 100644 --- a/DesignSpace/Workspace/Workspace.js +++ b/DesignSpace/Workspace/Workspace.js @@ -725,6 +725,11 @@ function newWorkspace() { functionLibraryDataStorageFunctions.addMissingSessionReferences(payload.node, thisObject.workspaceNode.rootNodes, functionLibraryUiObjectsFromNodes) } break + case 'Add Missing Single Market Datas': + { + functionLibraryDataStorageFunctions.addMissingAddMissingSingleMarketDatas(payload.node, thisObject.workspaceNode.rootNodes, functionLibraryUiObjectsFromNodes) + } + break case 'Add All Data Dependencies': { functionLibraryDataMineFunctions.addAllDataDependencies(payload.node, functionLibraryUiObjectsFromNodes)