From a8da33e9e851aedf560a5547f471ee21f29325c6 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Thu, 15 Mar 2018 16:13:19 +0100 Subject: [PATCH] Rename to Cloud --- .vs/AACloud/v15/.suo | Bin 0 -> 77312 bytes .vs/AACloudPlatform/v15/.suo | Bin 77824 -> 0 bytes AACloudPlatform.sln => AACloud.sln | 0 Assistant.js | 31 +++++++++++++++++++++-- Indicator Bot Main Loop.js | 2 +- Run.js | 6 ++++- Trading Bot Main Loop.js | 2 +- platform.config.json => this.config.json | 0 8 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 .vs/AACloud/v15/.suo delete mode 100644 .vs/AACloudPlatform/v15/.suo rename AACloudPlatform.sln => AACloud.sln (100%) rename platform.config.json => this.config.json (100%) diff --git a/.vs/AACloud/v15/.suo b/.vs/AACloud/v15/.suo new file mode 100644 index 0000000000000000000000000000000000000000..b8cf5298c2732f801df3fb047e4c85eafdaa918f GIT binary patch literal 77312 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 i^42@Azx>SZ Exchange Simulation Mode detected. -> Skipping all validations."); + callBackFunction(global.DEFAULT_OK_RESPONSE); + return; + } + /* Procedure to validate we are in sync with the exchange. */ getPositionsAtExchange(onDone); @@ -591,7 +600,16 @@ /* All validations passed, we proceed. */ - exchangeAPI.putPosition(global.MARKET, pType, pRate, pAmountA, pAmountB, onResponse); + if (global.EXCHANGE_SIMULATION_MODE === false) { + + exchangeAPI.putPosition(global.MARKET, pType, pRate, pAmountA, pAmountB, onResponse); + + } else { + + let positionId = Math.trunc(Math.random(1) * 1000000); + if (FULL_LOG === true) { logger.write("[INFO] putPosition -> Simulating Exchange Response -> orderId = " + positionId); } + onResponse(global.DEFAULT_OK_RESPONSE, positionId); + } function onResponse(err, pPositionId) { @@ -674,7 +692,16 @@ if (FULL_LOG === true) { logger.write("[INFO] movePosition -> pPosition = " + JSON.stringify(pPosition)); } if (FULL_LOG === true) { logger.write("[INFO] movePosition -> pNewRate = " + pNewRate); } - exchangeAPI.movePosition(pPosition, pNewRate, onResponse); + if (global.EXCHANGE_SIMULATION_MODE === false) { + + exchangeAPI.movePosition(pPosition, pNewRate, onResponse); + + } else { + + let positionId = Math.trunc(Math.random(1) * 1000000); + if (FULL_LOG === true) { logger.write("[INFO] putPosition -> Simulating Exchange Response -> orderId = " + positionId); } + onResponse(global.DEFAULT_OK_RESPONSE, positionId); + } function onResponse(err, pPositionId) { diff --git a/Indicator Bot Main Loop.js b/Indicator Bot Main Loop.js index 8dc5bf631..b86e2e5f4 100644 --- a/Indicator Bot Main Loop.js +++ b/Indicator Bot Main Loop.js @@ -178,7 +178,7 @@ try { - global.PLATFORM_CONFIG = JSON.parse(fs.readFileSync('platform.config.json', 'utf8')); + global.PLATFORM_CONFIG = JSON.parse(fs.readFileSync('this.config.json', 'utf8')); return JSON.parse(global.PLATFORM_CONFIG.stopGracefully); } catch (err) { diff --git a/Run.js b/Run.js index ddcc3e6b0..07ca2dc98 100644 --- a/Run.js +++ b/Run.js @@ -5,13 +5,17 @@ const FULL_LOG = true; global.RUNNING_MODE = 'Production'; // 'Testnet' or 'Production' +/* You do not have funds at the exchange and still want run your bot? No problem activate the exchange simulation mode: */ + +global.EXCHANGE_SIMULATION_MODE = false; + /* First thing to do is to read the config and guess which bot we will be running. */ var fs = require('fs'); try { - global.PLATFORM_CONFIG = JSON.parse(fs.readFileSync('platform.config.json', 'utf8')); + global.PLATFORM_CONFIG = JSON.parse(fs.readFileSync('this.config.json', 'utf8')); } catch (err) { diff --git a/Trading Bot Main Loop.js b/Trading Bot Main Loop.js index bcefcef7e..cb90e7544 100644 --- a/Trading Bot Main Loop.js +++ b/Trading Bot Main Loop.js @@ -356,7 +356,7 @@ try { - global.PLATFORM_CONFIG = JSON.parse(fs.readFileSync('platform.config.json', 'utf8')); + global.PLATFORM_CONFIG = JSON.parse(fs.readFileSync('this.config.json', 'utf8')); return JSON.parse(global.PLATFORM_CONFIG.stopGracefully); } catch (err) { diff --git a/platform.config.json b/this.config.json similarity index 100% rename from platform.config.json rename to this.config.json