Parameters Splitted in 4

This commit is contained in:
Luis Fernando Molina committed 2019-08-24 14:54:07 +02:00
1 parent 2f84c8e52b
commit 5960a9fc5a
3 files changed
+67 -70

No files matched your search

+29 -35
View File
@@ -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;
}
}
+37 -33
View File
@@ -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
View File
@@ -612,8 +612,7 @@
record.lastTradeROI + "," +
record.beginRate + "," +
record.endRate + "," +
record.exitType + "," +
record.stopRate + "]";
record.exitType + "]";
if (separator === "") { separator = ","; }