From b2f3990edf6d742a97d9e8ce66a2dfab58bc3254 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Sun, 9 Jun 2019 16:21:34 +0200 Subject: [PATCH] maximunBalance --- Commons.js | 31 +++++++++++++++++++++++++++++-- Multi-Period-Daily/User.Bot.js | 8 +++++++- Multi-Period-Market/User.Bot.js | 9 +++++++-- 3 files changed, 43 insertions(+), 5 deletions(-) diff --git a/Commons.js b/Commons.js index fee0221b4..92ea42f09 100644 --- a/Commons.js +++ b/Commons.js @@ -78,10 +78,14 @@ exports.newCommons = function newCommons(bot, logger, UTILITIES) { const DEFAULT_BASE_ASSET_BALANCE = 1 const DEFAULT_BASE_ASSET_MINIMUN_BALANCE = 0.5 + const DEFAULT_BASE_ASSET_MAXIMUN_BALANCE = 2 + let initialBalanceA = DEFAULT_BASE_ASSET_BALANCE let minimunBalanceA = DEFAULT_BASE_ASSET_MINIMUN_BALANCE + let maximunBalanceA = DEFAULT_BASE_ASSET_MAXIMUN_BALANCE let initialBalanceB = 0 let minimunBalanceB = 0 + let maximunBalanceB = 0 let baseAsset = 'BTC' /* Parameters Processing */ @@ -116,6 +120,13 @@ exports.newCommons = function newCommons(bot, logger, UTILITIES) { minimunBalanceA = DEFAULT_BASE_ASSET_MINIMUN_BALANCE; minimunBalanceB = 0 } + if (receivedParameters.maximunBalance !== undefined) { + maximunBalanceA = receivedParameters.maximunBalance; + maximunBalanceB = 0 + } else { + maximunBalanceA = DEFAULT_BASE_ASSET_MAXIMUN_BALANCE; + maximunBalanceB = 0 + } } else { if (receivedParameters.initialBalance !== undefined) { initialBalanceB = receivedParameters.initialBalance; @@ -131,6 +142,13 @@ exports.newCommons = function newCommons(bot, logger, UTILITIES) { minimunBalanceB = DEFAULT_BASE_ASSET_MINIMUN_BALANCE; minimunBalanceA = 0 } + if (receivedParameters.maximunBalance !== undefined) { + maximunBalanceB = receivedParameters.maximunBalance; + maximunBalanceA = 0 + } else { + maximunBalanceB = DEFAULT_BASE_ASSET_MAXIMUN_BALANCE; + maximunBalanceA = 0 + } } } catch (err) { tradingSystem.parameters.baseAsset.formula.error = err.message @@ -720,17 +738,20 @@ exports.newCommons = function newCommons(bot, logger, UTILITIES) { currentStrategyIndex === -1 ) { let minimunBalance + let maximunBalance let balance if (baseAsset === 'BTC') { balance = balanceAssetA minimunBalance = minimunBalanceA + maximunBalance = maximunBalanceA } else { balance = balanceAssetB minimunBalance = minimunBalanceB + maximunBalance = maximunBalanceB } - if (balance > minimunBalance) { + if (balance > minimunBalance && balance < maximunBalance) { /* Trigger On Conditions */ /* @@ -1452,7 +1473,13 @@ exports.newCommons = function newCommons(bot, logger, UTILITIES) { stopLossPhase: stopLossPhase, takeProfitPhase: takeProfitPhase, orderRecord: orderRecord, - positionSize: positionSize + positionSize: positionSize, + initialBalanceA: initialBalanceA, + minimunBalanceA: minimunBalanceA, + maximunBalanceA: maximunBalanceA, + initialBalanceB: initialBalanceB, + minimunBalanceB: minimunBalanceB, + maximunBalanceB: maximunBalanceB } recordsArray.push(simulationRecord); diff --git a/Multi-Period-Daily/User.Bot.js b/Multi-Period-Daily/User.Bot.js index cbf3001ba..365607ecb 100644 --- a/Multi-Period-Daily/User.Bot.js +++ b/Multi-Period-Daily/User.Bot.js @@ -171,7 +171,13 @@ record.stopLossPhase + "," + record.takeProfitPhase + "," + JSON.stringify(record.orderRecord) + "," + - record.positionSize + "]"; + record.positionSize + "," + + record.initialBalanceA + "," + + record.minimunBalanceA + "," + + record.maximunBalanceA + "," + + record.initialBalanceB + "," + + record.minimunBalanceB + "," + + record.maximunBalanceB + "]"; if (separator === "") { separator = ","; } diff --git a/Multi-Period-Market/User.Bot.js b/Multi-Period-Market/User.Bot.js index d040beb75..fb4b675e6 100644 --- a/Multi-Period-Market/User.Bot.js +++ b/Multi-Period-Market/User.Bot.js @@ -168,9 +168,14 @@ record.takeProfit + "," + record.stopLossPhase + "," + record.takeProfitPhase + "," + - JSON.stringify(record.orderRecord) + "," + - record.positionSize + "]"; + record.positionSize + "," + + record.initialBalanceA + "," + + record.minimunBalanceA + "," + + record.maximunBalanceA + "," + + record.initialBalanceB + "," + + record.minimunBalanceB + "," + + record.maximunBalanceB + "]"; if (separator === "") { separator = ","; }