Parameters Splitted in 4
This commit is contained in:
1 parent
2f84c8e52b
commit
5960a9fc5a
3 files changed
+67
-70
No files matched your search
+29
-35
@@ -171,25 +171,23 @@ exports.newCommons = function newCommons(bot, logger, UTILITIES) {
|
||||
}
|
||||
if (definition.tradingSystem !== undefined) {
|
||||
if (definition.tradingSystem.parameters !== undefined) {
|
||||
if (definition.tradingSystem.parameters.baseAsset !== undefined) {
|
||||
if (definition.tradingSystem.parameters.baseAsset.formula !== undefined) {
|
||||
if (definition.tradingSystem.parameters.baseAsset.formula.code !== undefined) {
|
||||
try {
|
||||
let code = JSON.parse(definition.tradingSystem.parameters.baseAsset.formula.code)
|
||||
if (code.slippage !== undefined) {
|
||||
if (code.slippage.positionRate !== undefined) {
|
||||
slippage.positionRate = code.slippage.positionRate
|
||||
}
|
||||
if (code.slippage.stopLoss !== undefined) {
|
||||
slippage.stopLoss = code.slippage.stopLoss
|
||||
}
|
||||
if (code.slippage.takeProfit !== undefined) {
|
||||
slippage.takeProfit = code.slippage.takeProfit
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
tradingSystem.parameters.baseAsset.formula.error = "Slippage Error: " + err.message
|
||||
if (definition.tradingSystem.parameters.slippage !== undefined) {
|
||||
if (definition.tradingSystem.parameters.slippage.code !== undefined) {
|
||||
try {
|
||||
let code = JSON.parse(definition.tradingSystem.parameters.slippage.code)
|
||||
|
||||
if (code.positionRate !== undefined) {
|
||||
slippage.positionRate = code.positionRate
|
||||
}
|
||||
if (code.stopLoss !== undefined) {
|
||||
slippage.stopLoss = code.stopLoss
|
||||
}
|
||||
if (code.takeProfit !== undefined) {
|
||||
slippage.takeProfit = code.takeProfit
|
||||
}
|
||||
|
||||
} catch (err) {
|
||||
tradingSystem.parameters.slippage.error = err.message
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -204,22 +202,20 @@ exports.newCommons = function newCommons(bot, logger, UTILITIES) {
|
||||
|
||||
if (definition.tradingSystem !== undefined) {
|
||||
if (definition.tradingSystem.parameters !== undefined) {
|
||||
if (definition.tradingSystem.parameters.baseAsset !== undefined) {
|
||||
if (definition.tradingSystem.parameters.baseAsset.formula !== undefined) {
|
||||
if (definition.tradingSystem.parameters.baseAsset.formula.code !== undefined) {
|
||||
try {
|
||||
let code = JSON.parse(definition.tradingSystem.parameters.baseAsset.formula.code)
|
||||
if (code.feeStructure !== undefined) {
|
||||
if (code.feeStructure.maker !== undefined) {
|
||||
feeStructure.maker = code.feeStructure.maker
|
||||
}
|
||||
if (code.feeStructure.taker !== undefined) {
|
||||
feeStructure.taker = code.feeStructure.taker
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
tradingSystem.parameters.baseAsset.formula.error = "Fee Structure Error: " + err.message
|
||||
if (definition.tradingSystem.parameters.feeStructure !== undefined) {
|
||||
if (definition.tradingSystem.parameters.feeStructure.code !== undefined) {
|
||||
try {
|
||||
let code = JSON.parse(definition.tradingSystem.parameters.feeStructure.code)
|
||||
|
||||
if (code.maker !== undefined) {
|
||||
feeStructure.maker = code.maker
|
||||
}
|
||||
if (code.taker !== undefined) {
|
||||
feeStructure.taker = code.taker
|
||||
}
|
||||
|
||||
} catch (err) {
|
||||
tradingSystem.parameters.feeStructure.error = err.message
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2251,12 +2247,10 @@ exports.newCommons = function newCommons(bot, logger, UTILITIES) {
|
||||
}
|
||||
|
||||
currentTrade.lastTradeROI = lastTradeROI;
|
||||
currentTrade.stopRate = stopLoss;
|
||||
|
||||
if (processingDailyFiles) {
|
||||
if (positionedAtYesterday) {
|
||||
yesterday.currentTrade.lastTradeROI = currentTrade.lastTradeROI;
|
||||
yesterday.currentTrade.stopRate = currentTrade.stopRate;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -27,9 +27,6 @@ process.on('exit', function (code) {
|
||||
console.log('[INFO] Run -> process.on.exit -> About to exit -> code = ' + code)
|
||||
})
|
||||
|
||||
const definitionPath = path.resolve(process.env.INTER_PROCESS_FILES_PATH + '/definition.json');
|
||||
const definition = require(definitionPath);
|
||||
|
||||
let sequenceList = require('./sequence');
|
||||
let isRunSequence = false;
|
||||
let sequenceStep = 0;
|
||||
@@ -53,7 +50,8 @@ if (isRunSequence) {
|
||||
readExecutionConfiguration()
|
||||
}
|
||||
|
||||
function sequenceExecution(currentStep) {
|
||||
async function sequenceExecution(currentStep) {
|
||||
|
||||
let execution = sequenceList[currentStep];
|
||||
|
||||
process.env.STOP_GRACEFULLY = true;
|
||||
@@ -77,6 +75,9 @@ function sequenceExecution(currentStep) {
|
||||
|
||||
execution.exchangeName ? global.EXCHANGE_NAME = execution.exchangeName : undefined;
|
||||
|
||||
|
||||
const definition = await strategy.getStrategy();
|
||||
|
||||
if (definition) {
|
||||
if (definition.personalData) {
|
||||
if (definition.personalData.exchangeAccounts) {
|
||||
@@ -174,16 +175,18 @@ async function readExecutionConfiguration(execution) {
|
||||
}
|
||||
if (definition.tradingSystem !== undefined) {
|
||||
if (definition.tradingSystem.parameters !== undefined) {
|
||||
if (definition.tradingSystem.parameters.baseAsset !== undefined) {
|
||||
if (definition.tradingSystem.parameters.baseAsset.formula !== undefined) {
|
||||
if (definition.tradingSystem.parameters.baseAsset.formula.code !== undefined) {
|
||||
let code = JSON.parse(definition.tradingSystem.parameters.baseAsset.formula.code)
|
||||
if (definition.tradingSystem.parameters.timeRange !== undefined) {
|
||||
if (definition.tradingSystem.parameters.timeRange.code !== undefined) {
|
||||
try {
|
||||
let code = JSON.parse(definition.tradingSystem.parameters.timeRange.code)
|
||||
if (code.initialDatetime !== undefined) {
|
||||
initialDatetime = code.initialDatetime /* The second override occurs here, with the date explicitelly defined by the user */
|
||||
}
|
||||
if (code.finalDatetime !== undefined) {
|
||||
finalDatetime = code.finalDatetime
|
||||
}
|
||||
} catch (err) {
|
||||
definition.tradingSystem.parameters.timeRange.error = err.message
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -195,34 +198,35 @@ async function readExecutionConfiguration(execution) {
|
||||
if (tradingSystem) {
|
||||
if (tradingSystem.parameters !== undefined) {
|
||||
if (tradingSystem.parameters.baseAsset !== undefined) {
|
||||
if (tradingSystem.parameters.baseAsset.formula !== undefined) {
|
||||
let receivedParameters
|
||||
try {
|
||||
receivedParameters = JSON.parse(tradingSystem.parameters.baseAsset.formula.code);
|
||||
let code
|
||||
try {
|
||||
code = JSON.parse(tradingSystem.parameters.baseAsset.code);
|
||||
|
||||
if (receivedParameters.name !== undefined) {
|
||||
baseAsset = receivedParameters.name;
|
||||
if (baseAsset !== 'BTC' && baseAsset !== 'USDT') {
|
||||
/* using BTC as default */
|
||||
baseAsset = 'BTC'
|
||||
}
|
||||
if (code.name !== undefined) {
|
||||
baseAsset = code.name;
|
||||
if (baseAsset !== 'BTC' && baseAsset !== 'USDT') {
|
||||
/* using BTC as default */
|
||||
baseAsset = 'BTC'
|
||||
}
|
||||
|
||||
if (baseAsset === 'BTC') { // NOTE: POLONIEX, the only exchange working so far, has Asset A and B inverted. We need to fix this.
|
||||
if (receivedParameters.initialBalance !== undefined) {
|
||||
process.env.INITIAL_BALANCE_ASSET_B = receivedParameters.initialBalance;
|
||||
process.env.INITIAL_BALANCE_ASSET_A = 0
|
||||
}
|
||||
} else {
|
||||
if (receivedParameters.initialBalance !== undefined) {
|
||||
process.env.INITIAL_BALANCE_ASSET_A = receivedParameters.initialBalance;
|
||||
process.env.INITIAL_BALANCE_ASSET_B = 0
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
process.env.INITIAL_BALANCE_ASSET_A = 0 // default
|
||||
process.env.INITIAL_BALANCE_ASSET_B = 0.001 // default
|
||||
}
|
||||
|
||||
if (baseAsset === 'BTC') { // NOTE: POLONIEX, the only exchange working so far, has Asset A and B inverted. We need to fix this.
|
||||
if (code.initialBalance !== undefined) {
|
||||
process.env.INITIAL_BALANCE_ASSET_B = code.initialBalance;
|
||||
process.env.INITIAL_BALANCE_ASSET_A = 0
|
||||
}
|
||||
} else {
|
||||
if (code.initialBalance !== undefined) {
|
||||
process.env.INITIAL_BALANCE_ASSET_A = code.initialBalance;
|
||||
process.env.INITIAL_BALANCE_ASSET_B = 0
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
definition.tradingSystem.parameters.baseAsset.error = err.message
|
||||
|
||||
process.env.INITIAL_BALANCE_ASSET_A = 0 // default
|
||||
process.env.INITIAL_BALANCE_ASSET_B = 0.001 // default
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-2
@@ -612,8 +612,7 @@
|
||||
record.lastTradeROI + "," +
|
||||
record.beginRate + "," +
|
||||
record.endRate + "," +
|
||||
record.exitType + "," +
|
||||
record.stopRate + "]";
|
||||
record.exitType + "]";
|
||||
|
||||
if (separator === "") { separator = ","; }
|
||||
|
||||
|
||||
Reference in new issue
Block a user