From a27e8e0a922a52ec6777359bb51d07aa9bbaa6a2 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Thu, 3 Dec 2020 11:14:35 +0100 Subject: [PATCH] Announcements Snapshots --- Projects/ProjectsSchema.json | 14 +++++ .../Low-Frequency-Trading}/Announcements.js | 2 +- .../Low-Frequency-Trading}/Snapshots.js | 2 +- .../Low-Frequency-Trading/TradingStages.js | 58 +++++++++---------- .../LowFrequencyTrading/TradingOrders.js | 11 ++-- 5 files changed, 48 insertions(+), 39 deletions(-) rename {TaskServer/LowFrequencyTrading => Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading}/Announcements.js (97%) rename {TaskServer/LowFrequencyTrading => Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading}/Snapshots.js (99%) diff --git a/Projects/ProjectsSchema.json b/Projects/ProjectsSchema.json index 8dae7d0e2..e80ea0b16 100644 --- a/Projects/ProjectsSchema.json +++ b/Projects/ProjectsSchema.json @@ -631,6 +631,20 @@ "functionName": "newSuperalgosBotModulesTradingPosition", "fileName": "TradingPosition.js", "folderName": "Trading-Bot/Low-Frequency-Trading" + }, + { + "name": "Announcements", + "propertyName": "announcements", + "functionName": "newSuperalgosBotModulesAnnouncements", + "fileName": "Announcements.js", + "folderName": "Trading-Bot/Low-Frequency-Trading" + }, + { + "name": "Snapshots", + "propertyName": "snapshots", + "functionName": "newSuperalgosBotModulesSnapshots", + "fileName": "Snapshots.js", + "folderName": "Trading-Bot/Low-Frequency-Trading" } ] }, diff --git a/TaskServer/LowFrequencyTrading/Announcements.js b/Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/Announcements.js similarity index 97% rename from TaskServer/LowFrequencyTrading/Announcements.js rename to Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/Announcements.js index 7174c3fbf..28d61fc47 100644 --- a/TaskServer/LowFrequencyTrading/Announcements.js +++ b/Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/Announcements.js @@ -1,4 +1,4 @@ -exports.newAnnouncements = function (processIndex) { +exports.newSuperalgosBotModulesAnnouncements = function (processIndex) { const MODULE_NAME = 'Announcements' diff --git a/TaskServer/LowFrequencyTrading/Snapshots.js b/Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/Snapshots.js similarity index 99% rename from TaskServer/LowFrequencyTrading/Snapshots.js rename to Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/Snapshots.js index 87fc9193a..b12817c32 100644 --- a/TaskServer/LowFrequencyTrading/Snapshots.js +++ b/Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/Snapshots.js @@ -1,4 +1,4 @@ -exports.newSnapshots = function (processIndex) { +exports.newSuperalgosBotModulesSnapshots = function (processIndex) { /* This module encapsulates the snapshots functionality. */ 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 a10d085de..38415b907 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 @@ -23,12 +23,8 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex, tradingEn let tradingStrategyModuleObject = TS.projects.superalgos.botModules.tradingStrategy.newSuperalgosBotModulesTradingStrategy(processIndex, tradingEngineModuleObject) let tradingPositionModuleObject = TS.projects.superalgos.botModules.tradingPosition.newSuperalgosBotModulesTradingPosition(processIndex, tradingEngineModuleObject) let tradingExecutionModuleObject = TS.projects.superalgos.botModules.tradingExecution.newSuperalgosBotModulesTradingExecution(processIndex, tradingEngineModuleObject) - - const ANNOUNCEMENTS_MODULE = require('./Announcements.js') - let announcementsModule = ANNOUNCEMENTS_MODULE.newAnnouncements(processIndex) - - const SNAPSHOTS_MODULE = require('./Snapshots.js') - let snapshotsModule = SNAPSHOTS_MODULE.newSnapshots(processIndex) + let announcementsModuleObject = TS.projects.superalgos.botModules.announcements.newSuperalgosBotModulesAnnouncements(processIndex) + let snapshotsModuleObject = TS.projects.superalgos.botModules.snapshots.newSuperalgosBotModulesSnapshots(processIndex) let tradingEpisodeModuleObject = TS.projects.superalgos.botModules.tradingEpisode.newSuperalgosBotModulesTradingEpisode(processIndex) @@ -45,8 +41,8 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex, tradingEn tradingStrategyModuleObject.initialize() tradingPositionModuleObject.initialize() - announcementsModule.initialize() - snapshotsModule.initialize() + announcementsModuleObject.initialize() + snapshotsModuleObject.initialize() tradingExecutionModuleObject.initialize() tradingEpisodeModuleObject.initialize() } @@ -62,11 +58,11 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex, tradingEn tradingPositionModuleObject.finalize() tradingPositionModuleObject = undefined - announcementsModule.finalize() - announcementsModule = undefined + announcementsModuleObject.finalize() + announcementsModuleObject = undefined - snapshotsModule.finalize() - snapshotsModule = undefined + snapshotsModuleObject.finalize() + snapshotsModuleObject = undefined tradingExecutionModuleObject.finalize() tradingExecutionModuleObject = undefined @@ -76,7 +72,7 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex, tradingEn } function updateChart(pChart) { - snapshotsModule.updateChart(pChart) + snapshotsModuleObject.updateChart(pChart) } function mantain() { @@ -151,13 +147,13 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex, tradingEn /* Initialize this */ tradingEngine.current.episode.distanceToEvent.triggerOn.value = 1 - announcementsModule.makeAnnoucements(triggerStage.triggerOn) - announcementsModule.makeAnnoucements(triggerStage) + announcementsModuleObject.makeAnnoucements(triggerStage.triggerOn) + announcementsModuleObject.makeAnnoucements(triggerStage) if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type === 'Backtesting Session') { if (sessionParameters.snapshots !== undefined) { if (sessionParameters.snapshots.config.strategy === true) { - snapshotsModule.strategyEntry() + snapshotsModuleObject.strategyEntry() } } } @@ -197,7 +193,7 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex, tradingEn tradingSystem.highlights.push(triggerStage.id) tradingEngine.current.episode.distanceToEvent.triggerOff.value = 1 - announcementsModule.makeAnnoucements(triggerStage.triggerOff) + announcementsModuleObject.makeAnnoucements(triggerStage.triggerOff) changeStageStatus('Trigger Stage', 'Closed') tradingStrategyModuleObject.closeStrategy('Trigger Off') } @@ -236,13 +232,13 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex, tradingEn tradingPositionModuleObject.openPosition(situation.name) - announcementsModule.makeAnnoucements(triggerStage.takePosition) - announcementsModule.makeAnnoucements(strategy.openStage) + announcementsModuleObject.makeAnnoucements(triggerStage.takePosition) + announcementsModuleObject.makeAnnoucements(strategy.openStage) if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type === 'Backtesting Session') { if (sessionParameters.snapshots !== undefined) { if (sessionParameters.snapshots.config.position === true) { - snapshotsModule.positionEntry() + snapshotsModuleObject.positionEntry() } } } @@ -442,7 +438,7 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex, tradingEn tradingPositionModuleObject.applyStopLossFormula(tradingSystem.formulas, phase.formula.id) if (tradingEngine.current.position.stopLoss.value !== previousValue) { - announcementsModule.makeAnnoucements(phase) + announcementsModuleObject.makeAnnoucements(phase) } } } @@ -465,7 +461,7 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex, tradingEn tradingPositionModuleObject.applyTakeProfitFormula(tradingSystem.formulas, phase.formula.id) if (tradingEngine.current.position.takeProfit.value !== previousValue) { - announcementsModule.makeAnnoucements(phase) + announcementsModuleObject.makeAnnoucements(phase) } } } @@ -546,7 +542,7 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex, tradingEn tradingPositionModuleObject.updateStopLoss(tradingEngine.current.position.stopLoss.stopLossPhase.value + 1) - announcementsModule.makeAnnoucements(nextPhaseEvent) + announcementsModuleObject.makeAnnoucements(nextPhaseEvent) /* Reset this counter */ tradingEngine.current.episode.distanceToEvent.nextPhase.value = 1 @@ -589,7 +585,7 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex, tradingEn continue } - announcementsModule.makeAnnoucements(moveToPhaseEvent) + announcementsModuleObject.makeAnnoucements(moveToPhaseEvent) /* Reset this counter */ tradingEngine.current.episode.distanceToEvent.moveToPhase.value = 1 @@ -645,7 +641,7 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex, tradingEn tradingPositionModuleObject.updateTakeProfit(tradingEngine.current.position.takeProfit.takeProfitPhase.value + 1) - announcementsModule.makeAnnoucements(nextPhaseEvent) + announcementsModuleObject.makeAnnoucements(nextPhaseEvent) /* Reset this counter */ tradingEngine.current.episode.distanceToEvent.nextPhase.value = 1 @@ -688,7 +684,7 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex, tradingEn continue } - announcementsModule.makeAnnoucements(moveToPhaseEvent) + announcementsModuleObject.makeAnnoucements(moveToPhaseEvent) /* Reset this counter */ tradingEngine.current.episode.distanceToEvent.moveToPhase.value = 1 @@ -724,7 +720,7 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex, tradingEn tradingPositionModuleObject.closingPosition('Stop Loss') changeStageStatus('Close Stage', 'Opening') changeStageStatus('Manage Stage', 'Closed') - announcementsModule.makeAnnoucements(strategy.closeStage) + announcementsModuleObject.makeAnnoucements(strategy.closeStage) return } @@ -744,7 +740,7 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex, tradingEn tradingPositionModuleObject.closingPosition('Take Profit') changeStageStatus('Close Stage', 'Opening') changeStageStatus('Manage Stage', 'Closed') - announcementsModule.makeAnnoucements(strategy.closeStage) + announcementsModuleObject.makeAnnoucements(strategy.closeStage) return } return @@ -853,7 +849,7 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex, tradingEn if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type === 'Backtesting Session') { if (sessionParameters.snapshots !== undefined) { if (sessionParameters.snapshots.config.position === true) { - snapshotsModule.positionExit() + snapshotsModuleObject.positionExit() } } } @@ -862,7 +858,7 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex, tradingEn if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type === 'Backtesting Session') { if (sessionParameters.snapshots !== undefined) { if (sessionParameters.snapshots.config.strategy === true) { - snapshotsModule.strategyExit() + snapshotsModuleObject.strategyExit() } } } @@ -962,7 +958,7 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex, tradingEn tradingSystem.highlights.push(closeStageEvent.id) tradingSystem.highlights.push(stage.id) - announcementsModule.makeAnnoucements(closeStageEvent) + announcementsModuleObject.makeAnnoucements(closeStageEvent) return true } } diff --git a/TaskServer/LowFrequencyTrading/TradingOrders.js b/TaskServer/LowFrequencyTrading/TradingOrders.js index baa80522b..9c2c84a49 100644 --- a/TaskServer/LowFrequencyTrading/TradingOrders.js +++ b/TaskServer/LowFrequencyTrading/TradingOrders.js @@ -19,8 +19,7 @@ exports.newTradingOrders = function (processIndex, tradingEngineModule) { const EXCHANGE_API_MODULE = require('./ExchangeAPI.js') let exchangeAPIModule = EXCHANGE_API_MODULE.newExchangeAPI(processIndex) - const ANNOUNCEMENTS_MODULE = require('./Announcements.js') - let announcementsModule = ANNOUNCEMENTS_MODULE.newAnnouncements(processIndex) + let announcementsModuleObject = TS.projects.superalgos.botModules.announcements.newSuperalgosBotModulesAnnouncements(processIndex) return thisObject @@ -30,7 +29,7 @@ exports.newTradingOrders = function (processIndex, tradingEngineModule) { sessionParameters = TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters exchangeAPIModule.initialize() - announcementsModule.initialize() + announcementsModuleObject.initialize() } function finalize() { @@ -41,8 +40,8 @@ exports.newTradingOrders = function (processIndex, tradingEngineModule) { exchangeAPIModule.finalize() exchangeAPIModule = undefined - announcementsModule.finalize() - announcementsModule = undefined + announcementsModuleObject.finalize() + announcementsModuleObject = undefined } function mantain() { @@ -1012,7 +1011,7 @@ exports.newTradingOrders = function (processIndex, tradingEngineModule) { tradingSystem.highlights.push(executionAlgorithm.id) tradingSystem.highlights.push(executionNode.id) - announcementsModule.makeAnnoucements(event) + announcementsModuleObject.makeAnnoucements(event) return situation.name // if the event is triggered, we return the name of the situation that passed } }