From f4cb640837ecaccae19db3074ce0d910f1392cde Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Thu, 3 Dec 2020 10:58:37 +0100 Subject: [PATCH] Strategy Position Execution --- Projects/ProjectsSchema.json | 21 +++++++++++++++++++ .../TradingExecution.js | 4 ++-- .../Low-Frequency-Trading}/TradingPosition.js | 6 +++--- .../Low-Frequency-Trading/TradingStages.js | 11 +++------- .../Low-Frequency-Trading}/TradingStrategy.js | 6 +++--- 5 files changed, 32 insertions(+), 16 deletions(-) rename {TaskServer/LowFrequencyTrading => Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading}/TradingExecution.js (97%) rename {TaskServer/LowFrequencyTrading => Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading}/TradingPosition.js (98%) rename {TaskServer/LowFrequencyTrading => Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading}/TradingStrategy.js (91%) diff --git a/Projects/ProjectsSchema.json b/Projects/ProjectsSchema.json index 30328e9e5..8dae7d0e2 100644 --- a/Projects/ProjectsSchema.json +++ b/Projects/ProjectsSchema.json @@ -610,6 +610,27 @@ "functionName": "newSuperalgosBotModulesTradingStages", "fileName": "TradingStages.js", "folderName": "Trading-Bot/Low-Frequency-Trading" + }, + { + "name": "Trading Strategy", + "propertyName": "tradingStrategy", + "functionName": "newSuperalgosBotModulesTradingStrategy", + "fileName": "TradingStrategy.js", + "folderName": "Trading-Bot/Low-Frequency-Trading" + }, + { + "name": "Trading Execution", + "propertyName": "tradingExecution", + "functionName": "newSuperalgosBotModulesTradingExecution", + "fileName": "TradingExecution.js", + "folderName": "Trading-Bot/Low-Frequency-Trading" + }, + { + "name": "Trading Position", + "propertyName": "tradingPosition", + "functionName": "newSuperalgosBotModulesTradingPosition", + "fileName": "TradingPosition.js", + "folderName": "Trading-Bot/Low-Frequency-Trading" } ] }, diff --git a/TaskServer/LowFrequencyTrading/TradingExecution.js b/Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingExecution.js similarity index 97% rename from TaskServer/LowFrequencyTrading/TradingExecution.js rename to Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingExecution.js index 2ab4dcad1..c66dde66e 100644 --- a/TaskServer/LowFrequencyTrading/TradingExecution.js +++ b/Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingExecution.js @@ -1,4 +1,4 @@ -exports.newTradingExecution = function (processIndex, tradingEngineModule) { +exports.newSuperalgosBotModulesTradingExecution = function (processIndex, tradingEngineModuleObject) { /* The Trading Execution modules manages the execution nodes and execution algoritms. */ @@ -17,7 +17,7 @@ exports.newTradingExecution = function (processIndex, tradingEngineModule) { let sessionParameters const TRADING_ORDERS_MODULE = require('./TradingOrders.js') - let tradingOrdersModule = TRADING_ORDERS_MODULE.newTradingOrders(processIndex, tradingEngineModule) + let tradingOrdersModule = TRADING_ORDERS_MODULE.newTradingOrders(processIndex, tradingEngineModuleObject) return thisObject diff --git a/TaskServer/LowFrequencyTrading/TradingPosition.js b/Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingPosition.js similarity index 98% rename from TaskServer/LowFrequencyTrading/TradingPosition.js rename to Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingPosition.js index 0cd3eed88..66b6a7292 100644 --- a/TaskServer/LowFrequencyTrading/TradingPosition.js +++ b/Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingPosition.js @@ -1,4 +1,4 @@ -exports.newTradingPosition = function (processIndex, tradingEngineModule) { +exports.newSuperalgosBotModulesTradingPosition = function (processIndex, tradingEngineModuleObject) { /* This module packages all functions related to Positions. */ @@ -103,7 +103,7 @@ exports.newTradingPosition = function (processIndex, tradingEngineModule) { /* Now that the position is closed, it is the right time to move this position from current to last at the Trading Engine data structure. */ - tradingEngineModule.cloneValues(tradingEngine.current.position, tradingEngine.last.position) + tradingEngineModuleObject.cloneValues(tradingEngine.current.position, tradingEngine.last.position) cycleBasedStatistics() @@ -314,7 +314,7 @@ exports.newTradingPosition = function (processIndex, tradingEngineModule) { function resetTradingEngineDataStructure() { if (tradingEngine.current.position.status.value === 'Closed') { - tradingEngineModule.initializeNode(tradingEngine.current.position) + tradingEngineModuleObject.initializeNode(tradingEngine.current.position) } } diff --git a/Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingStages.js b/Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingStages.js index bbcd22215..beba0473e 100644 --- a/Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingStages.js +++ b/Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingStages.js @@ -20,14 +20,9 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex, tradingEn finalize: finalize } - const TRADING_STRATEGY_MODULE = require('./TradingStrategy.js') - let tradingStrategyModule = TRADING_STRATEGY_MODULE.newTradingStrategy(processIndex, tradingEngineModuleObject) - - const TRADING_POSITION_MODULE = require('./TradingPosition.js') - let tradingPositionModule = TRADING_POSITION_MODULE.newTradingPosition(processIndex, tradingEngineModuleObject) - - const TRADING_ENGINE_EXECUTION = require('./TradingExecution.js') - let tradingExecutionModule = TRADING_ENGINE_EXECUTION.newTradingExecution(processIndex, tradingEngineModuleObject) + let tradingStrategyModule = TS.projects.superalgos.botModules.tradingStrategy.newSuperalgosBotModulesTradingStrategy(processIndex, tradingEngineModuleObject) + let tradingPositionModule = TS.projects.superalgos.botModules.tradingPosition.newSuperalgosBotModulesTradingPosition(processIndex, tradingEngineModuleObject) + let tradingExecutionModule = TS.projects.superalgos.botModules.tradingExecution.newSuperalgosBotModulesTradingExecution(processIndex, tradingEngineModuleObject) const ANNOUNCEMENTS_MODULE = require('./Announcements.js') let announcementsModule = ANNOUNCEMENTS_MODULE.newAnnouncements(processIndex) diff --git a/TaskServer/LowFrequencyTrading/TradingStrategy.js b/Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingStrategy.js similarity index 91% rename from TaskServer/LowFrequencyTrading/TradingStrategy.js rename to Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingStrategy.js index 9e13e7e6c..73fece905 100644 --- a/TaskServer/LowFrequencyTrading/TradingStrategy.js +++ b/Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingStrategy.js @@ -1,4 +1,4 @@ -exports.newTradingStrategy = function (processIndex, tradingEngineModule) { +exports.newSuperalgosBotModulesTradingStrategy = function (processIndex, tradingEngineModuleObject) { /* This module packages all functions related to Strategies. */ @@ -63,7 +63,7 @@ exports.newTradingStrategy = function (processIndex, tradingEngineModule) { /* Now that the strategy is closed, it is the right time to move this strategy from current to last at the Trading Engine data structure. */ - tradingEngineModule.cloneValues(tradingEngine.current.strategy, tradingEngine.last.strategy) + tradingEngineModuleObject.cloneValues(tradingEngine.current.strategy, tradingEngine.last.strategy) } function updateEnds() { @@ -75,7 +75,7 @@ exports.newTradingStrategy = function (processIndex, tradingEngineModule) { function resetTradingEngineDataStructure() { if (tradingEngine.current.strategy.status.value === 'Closed') { - tradingEngineModule.initializeNode(tradingEngine.current.strategy) + tradingEngineModuleObject.initializeNode(tradingEngine.current.strategy) } }