diff --git a/CloudUtilities.js b/CloudUtilities.js index 884297d9d..3bcf55cc2 100644 --- a/CloudUtilities.js +++ b/CloudUtilities.js @@ -1,7 +1,7 @@  exports.newCloudUtilities = function newCloudUtilities(BOT) { - const FULL_LOG = true; + const FULL_LOG = false; let bot = BOT; const ROOT_DIR = '../'; diff --git a/ExtractionBotProcessMainLoop.js b/ExtractionBotProcessMainLoop.js index f58e37b9f..4ef08db9c 100644 --- a/ExtractionBotProcessMainLoop.js +++ b/ExtractionBotProcessMainLoop.js @@ -25,14 +25,16 @@ }; let processConfig; + let UI_COMMANDS; return thisObject; - function initialize(pProcessConfig, callBackFunction) { + function initialize(pUI_COMMANDS, pProcessConfig, callBackFunction) { try { if (FULL_LOG === true) { logger.write("[INFO] initialize -> Entering function."); } + UI_COMMANDS = pUI_COMMANDS; processConfig = pProcessConfig; const BLOB_STORAGE = require(ROOT_DIR + 'BlobStorage'); diff --git a/IndicatorBotProcessMainLoop.js b/IndicatorBotProcessMainLoop.js index 41f3c5ead..196854fce 100644 --- a/IndicatorBotProcessMainLoop.js +++ b/IndicatorBotProcessMainLoop.js @@ -25,14 +25,16 @@ }; let processConfig; + let UI_COMMANDS; return thisObject; - function initialize(pProcessConfig, callBackFunction) { + function initialize(pUI_COMMANDS, pProcessConfig, callBackFunction) { try { if (FULL_LOG === true) { logger.write("[INFO] initialize -> Entering function."); } + UI_COMMANDS = pUI_COMMANDS; processConfig = pProcessConfig; const BLOB_STORAGE = require(ROOT_DIR + 'BlobStorage'); diff --git a/Root.js b/Root.js index 29f509d40..43931b0a7 100644 --- a/Root.js +++ b/Root.js @@ -90,14 +90,17 @@ exports.newRoot = function newRoot() { let cloudStorage; let logDisplace = "AACloud" + " "; + let UI_COMMANDS; return thisObject; - function initialize(callBackFunction) { + function initialize(pUI_COMMANDS, callBackFunction) { try { console.log(logDisplace + "Root : [INFO] initialize -> Entering function. "); + UI_COMMANDS = pUI_COMMANDS; + const BLOB_STORAGE = require(ROOT_DIR + 'BlobStorage'); cloudStorage = BLOB_STORAGE.newBlobStorage(); @@ -503,7 +506,7 @@ exports.newRoot = function newRoot() { if (FULL_LOG === true) { logger.write("[INFO] start -> findProcess ->runExtractionBot -> pYear = " + pYear); } let extractionBotMainLoop = EXTRACTION_BOT_MAIN_LOOP_MODULE.newExtractionBotProcessMainLoop(pBotConfig); - extractionBotMainLoop.initialize(pProcessConfig, onInitializeReady); + extractionBotMainLoop.initialize(UI_COMMANDS, pProcessConfig, onInitializeReady); function onInitializeReady(err) { @@ -555,7 +558,7 @@ exports.newRoot = function newRoot() { if (FULL_LOG === true) { logger.write("[INFO] start -> findProcess -> runIndicatorBot -> pYear = " + pYear); } let indicatorBotMainLoop = INDICATOR_BOT_MAIN_LOOP_MODULE.newIndicatorBotProcessMainLoop(pBotConfig); - indicatorBotMainLoop.initialize(pProcessConfig, onInitializeReady); + indicatorBotMainLoop.initialize(UI_COMMANDS, pProcessConfig, onInitializeReady); function onInitializeReady(err) { @@ -605,7 +608,7 @@ exports.newRoot = function newRoot() { if (FULL_LOG === true) { logger.write("[INFO] start -> findProcess -> runTradingBot -> Entering function."); } let tradingBotMainLoop = TRADING_BOT_MAIN_LOOP_MODULE.newTradingBotProcessMainLoop(pBotConfig); - tradingBotMainLoop.initialize(pProcessConfig, onInitializeReady); + tradingBotMainLoop.initialize(UI_COMMANDS, pProcessConfig, onInitializeReady); function onInitializeReady(err) { diff --git a/Run.js b/Run.js index 758f6ae08..93fa96d6f 100644 --- a/Run.js +++ b/Run.js @@ -79,7 +79,14 @@ function startRoot() { const ROOT_MODULE = require(ROOT_DIR + 'Root'); let root = ROOT_MODULE.newRoot(); - root.initialize(onInitialized); + let UI_COMMANDS = { + beginDatetime: undefined, + endDatetime: undefined, + timePeriod: undefined, + eventHandler: undefined + }; + + root.initialize(UI_COMMANDS, onInitialized); function onInitialized() { diff --git a/TradingBotProcessMainLoop.js b/TradingBotProcessMainLoop.js index a2d964a0c..e271b7b58 100644 --- a/TradingBotProcessMainLoop.js +++ b/TradingBotProcessMainLoop.js @@ -26,14 +26,16 @@ let processConfig; let cloudStorage; + let UI_COMMANDS; return thisObject; - function initialize(pProcessConfig, callBackFunction) { + function initialize(pUI_COMMANDS, pProcessConfig, callBackFunction) { try { if (FULL_LOG === true) { logger.write("[INFO] initialize -> Entering function."); } + UI_COMMANDS = pUI_COMMANDS; processConfig = pProcessConfig; const BLOB_STORAGE = require(ROOT_DIR + 'BlobStorage'); @@ -158,13 +160,50 @@ if (FULL_LOG === true) { logger.write("[INFO] run -> loop -> Setting initial datetime."); } - bot.processDatetime = new Date(bot.backtest.beginDatetime); // Set the starting time as the configured beginDatetime. + if (UI_COMMANDS.beginDatetime !== undefined) { + + bot.processDatetime = new Date(UI_COMMANDS.beginDatetime.valueOf()); //datetime is comming from the UI. + + } else { + + bot.processDatetime = new Date(bot.backtest.beginDatetime); // Set the starting time as the configured beginDatetime. + + } } else { - bot.processDatetime = new Date(bot.processDatetime.valueOf() + 60000); // We advance one minute in time. + let timePeriod; - let endDatetime = new Date(bot.backtest.endDatetime); + if (UI_COMMANDS.timePeriod !== undefined) { + + timePeriod = UI_COMMANDS.timePeriod; + + } else { + + timePeriod = processConfig.normalWaitTime; + + } + + bot.processDatetime = new Date(bot.processDatetime.valueOf() + timePeriod); // We advance time here. + + + if (UI_COMMANDS.eventHandler !== undefined) { + + UI_COMMANDS.eventHandler.raiseEvent('Datetime Changed', bot.processDatetime); + + } + + let endDatetime; + + if (UI_COMMANDS.endDatetime !== undefined) { + + endDatetime = new Date(UI_COMMANDS.endDatetime.valueOf()); + + } else { + + endDatetime = new Date(bot.backtest.endDatetime); + + } if (bot.processDatetime.valueOf() > endDatetime.valueOf()) { diff --git a/this.config.json b/this.config.json index 0d5a6a340..fd004ab20 100644 --- a/this.config.json +++ b/this.config.json @@ -7,14 +7,14 @@ }, "executionList": [ { - "enabled": "false", + "enabled": "true", "devTeam": "AAMasters", "bot": "AAMariam", "process": "Trading-Process", "repo": "AAMariam-Trading-Bot" }, { - "enabled": "true", + "enabled": "false", "devTeam": "AAMasters", "bot": "AACharly", "process": "Poloniex-Live-Trades",