diff --git a/TaskServer/Session.js b/TaskServer/Session.js index ff5464808..6f6861af5 100644 --- a/TaskServer/Session.js +++ b/TaskServer/Session.js @@ -10,7 +10,7 @@ return thisObject; - function initialize(callBackFunction) { + function initialize(pProcessConfig, callBackFunction) { try { if (FULL_LOG === true) { parentLogger.write(MODULE_NAME, "[INFO] initialize -> Entering function."); } @@ -148,6 +148,7 @@ bot.resumeExecution = false; bot.multiPeriodProcessDatetime = new Date(bot.VALUES_TO_USE.timeRange.initialDatetime.valueOf()) bot.hasTheBotJustStarted = true + pProcessConfig.normalWaitTime = getTimeFrameFromLabel(bot.VALUES_TO_USE.timeFrame) return true } @@ -181,6 +182,9 @@ bot.VALUES_TO_USE.maximumBalanceA = bot.VALUES_TO_USE.maximumBalanceA * balancePercentage / 100 bot.VALUES_TO_USE.maximumBalanceB = bot.VALUES_TO_USE.maximumBalanceB * balancePercentage / 100 + + pProcessConfig.normalWaitTime = getTimeFrameFromLabel(bot.VALUES_TO_USE.timeFrame) + return true } @@ -191,9 +195,31 @@ bot.resumeExecution = false; bot.hasTheBotJustStarted = true bot.multiPeriodProcessDatetime = new Date(bot.VALUES_TO_USE.timeRange.initialDatetime.valueOf()) + pProcessConfig.normalWaitTime = getTimeFrameFromLabel(bot.VALUES_TO_USE.timeFrame) return true } + function getTimeFrameFromLabel(timeFrameLabel) { + + for (let i = 0; i < global.marketFilesPeriods.length; i++) { + let value = global.marketFilesPeriods[i][0] + let label = global.marketFilesPeriods[i][1] + + if (timeFrameLabel === label) { + return value + } + } + + for (let i = 0; i < global.dailyFilePeriods.length; i++) { + let value = global.dailyFilePeriods[i][0] + let label = global.dailyFilePeriods[i][1] + + if (timeFrameLabel === label) { + return value + } + } + } + function setValuesToUse(message) { /* Base on the information received we will determined which values ultimatelly are going to be used, diff --git a/TaskServer/TradingBotProcessMainLoop.js b/TaskServer/TradingBotProcessMainLoop.js index 81fb60613..2fbb349f8 100644 --- a/TaskServer/TradingBotProcessMainLoop.js +++ b/TaskServer/TradingBotProcessMainLoop.js @@ -43,7 +43,7 @@ if (bot.definedByUI === true) { /* The code of the bot is defined at the UI. No need to load a file with the code. */ - session.initialize(onSessionInitialized) + session.initialize(processConfig, onSessionInitialized) function onSessionInitialized(err) { callBackFunction(err); @@ -902,12 +902,18 @@ waitTime = processConfig.normalWaitTime } - if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] run -> loop -> loopControl -> Restarting Loop in " + (waitTime / 1000) + " seconds."); } + if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] run -> loop -> loopControl -> Restarting Loop in " + (waitTime / 1000 / 60) + " minute/s."); } if (processConfig.deadWaitTime > 0) { checkLoopHealthHandle = setTimeout(checkLoopHealth, processConfig.deadWaitTime, bot.loopCounter); } nextLoopTimeoutHandle = setTimeout(loop, waitTime); - processHeartBeat(undefined, undefined, "Waiting " + waitTime / 1000 + " seconds for next execution.") + let waitingTime = waitTime / 1000 / 60 + let label = 'minute/s' + if (waitingTime < 1) { + waitingTime = waitTime / 1000 + label = 'seconds' + } + processHeartBeat(undefined, undefined, "Waiting " + waitingTime + " " + label + " for next execution.") if (global.WRITE_LOGS_TO_FILES === 'true') { logger.persist(); }