Bug Fixes on the Optional Stages Feature
This commit is contained in:
1 parent
e87d3bf3ce
commit
3439c015fc
2 files changed
+23
-11
No files matched your search
+9
-4
@@ -271,7 +271,7 @@ exports.newSuperalgosBotModulesTradingOrders = function (processIndex) {
|
||||
if (tradingEngineOrder.orderQuotedAsset.size.value <= 0) {
|
||||
tradingSystem.warnings.push(
|
||||
[
|
||||
[tradingEngineOrder.orderQuotedAsset.size.id, tradingSystemOrder.id ],
|
||||
[tradingEngineOrder.orderQuotedAsset.size.id, tradingSystemOrder.id],
|
||||
'Could not open this order because its size is zero.'
|
||||
]
|
||||
)
|
||||
@@ -387,6 +387,8 @@ exports.newSuperalgosBotModulesTradingOrders = function (processIndex) {
|
||||
tradingEngineStage.stageBaseAsset.targetSize.value -
|
||||
tradingEngineStage.stageBaseAsset.sizePlaced.value
|
||||
|
||||
tradingEngineOrder.orderBaseAsset.size.value = TS.projects.superalgos.utilities.miscellaneousFunctions.truncateToThisPrecision(tradingEngineOrder.orderBaseAsset.size.value, 10)
|
||||
|
||||
tradingSystem.warnings.push(
|
||||
[
|
||||
[tradingEngineStage.stageBaseAsset.targetSize.id, tradingEngineOrder.orderBaseAsset.size.id, tradingEngineStage.stageBaseAsset.sizePlaced.id],
|
||||
@@ -397,6 +399,7 @@ exports.newSuperalgosBotModulesTradingOrders = function (processIndex) {
|
||||
|
||||
/* Size in Quoted Asset */
|
||||
tradingEngineOrder.orderQuotedAsset.size.value = tradingEngineOrder.orderBaseAsset.size.value * tradingEngineOrder.rate.value
|
||||
tradingEngineOrder.orderQuotedAsset.size.value = TS.projects.superalgos.utilities.miscellaneousFunctions.truncateToThisPrecision(tradingEngineOrder.orderQuotedAsset.size.value, 10)
|
||||
break
|
||||
}
|
||||
case 'Quoted Asset': {
|
||||
@@ -414,6 +417,8 @@ exports.newSuperalgosBotModulesTradingOrders = function (processIndex) {
|
||||
tradingEngineStage.stageQuotedAsset.targetSize.value -
|
||||
tradingEngineStage.stageQuotedAsset.sizePlaced.value
|
||||
|
||||
tradingEngineOrder.orderQuotedAsset.size.value = TS.projects.superalgos.utilities.miscellaneousFunctions.truncateToThisPrecision(tradingEngineOrder.orderQuotedAsset.size.value, 10)
|
||||
|
||||
tradingSystem.warnings.push(
|
||||
[
|
||||
[tradingEngineStage.stageQuotedAsset.targetSize.id, tradingEngineOrder.orderQuotedAsset.size.id, tradingEngineStage.stageQuotedAsset.sizePlaced.id],
|
||||
@@ -424,7 +429,7 @@ exports.newSuperalgosBotModulesTradingOrders = function (processIndex) {
|
||||
|
||||
/* Size in Base Asset */
|
||||
tradingEngineOrder.orderBaseAsset.size.value = tradingEngineOrder.orderQuotedAsset.size.value / tradingEngineOrder.rate.value
|
||||
|
||||
tradingEngineOrder.orderBaseAsset.size.value = TS.projects.superalgos.utilities.miscellaneousFunctions.truncateToThisPrecision(tradingEngineOrder.orderBaseAsset.size.value, 10)
|
||||
break
|
||||
}
|
||||
}
|
||||
@@ -522,7 +527,7 @@ exports.newSuperalgosBotModulesTradingOrders = function (processIndex) {
|
||||
if (order === undefined) {
|
||||
tradingSystem.warnings.push(
|
||||
[
|
||||
[tradingSystemOrder.id, tradingEngineOrder.id],
|
||||
[tradingSystemOrder.id, tradingEngineOrder.id],
|
||||
'Could not verify the status of this order at the exchange.'
|
||||
]
|
||||
)
|
||||
@@ -899,7 +904,7 @@ exports.newSuperalgosBotModulesTradingOrders = function (processIndex) {
|
||||
if (order === undefined) {
|
||||
tradingSystem.warnings.push(
|
||||
[
|
||||
[tradingSystemOrder.id, tradingEngineOrder.id],
|
||||
[tradingSystemOrder.id, tradingEngineOrder.id],
|
||||
'Could not verify the status of this order at the exchange, and syncronize the accounting.'
|
||||
]
|
||||
)
|
||||
|
||||
+14
-7
@@ -85,11 +85,11 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex) {
|
||||
}
|
||||
|
||||
function reset() {
|
||||
resetTradingEngineDataStructure()
|
||||
|
||||
tradingPositionModuleObject.reset()
|
||||
tradingStrategyModuleObject.reset()
|
||||
tradingExecutionModuleObject.reset()
|
||||
|
||||
resetTradingEngineDataStructure()
|
||||
}
|
||||
|
||||
function cycleBasedStatistics() {
|
||||
@@ -194,7 +194,7 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex) {
|
||||
|
||||
tradingEngine.current.episode.distanceToEvent.triggerOff.value = 1
|
||||
announcementsModuleObject.makeAnnoucements(triggerStage.triggerOff)
|
||||
changeStageStatus('Trigger Stage', 'Closed')
|
||||
changeStageStatus('Trigger Stage', 'Closed', 'Trigger Off Event')
|
||||
tradingStrategyModuleObject.closeStrategy('Trigger Off')
|
||||
}
|
||||
}
|
||||
@@ -243,7 +243,7 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex) {
|
||||
}
|
||||
}
|
||||
|
||||
changeStageStatus('Trigger Stage', 'Closed')
|
||||
changeStageStatus('Trigger Stage', 'Closed', 'Position Taken')
|
||||
changeStageStatus('Open Stage', 'Opening')
|
||||
changeStageStatus('Manage Stage', 'Opening')
|
||||
}
|
||||
@@ -729,7 +729,7 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex) {
|
||||
|
||||
tradingPositionModuleObject.closingPosition('Stop Loss')
|
||||
changeStageStatus('Close Stage', 'Opening')
|
||||
changeStageStatus('Manage Stage', 'Closed')
|
||||
changeStageStatus('Manage Stage', 'Closed', 'Stop Loss Hit')
|
||||
announcementsModuleObject.makeAnnoucements(strategy.closeStage)
|
||||
return
|
||||
}
|
||||
@@ -749,7 +749,7 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex) {
|
||||
|
||||
tradingPositionModuleObject.closingPosition('Take Profit')
|
||||
changeStageStatus('Close Stage', 'Opening')
|
||||
changeStageStatus('Manage Stage', 'Closed')
|
||||
changeStageStatus('Manage Stage', 'Closed', 'Take Profit Hit')
|
||||
announcementsModuleObject.makeAnnoucements(strategy.closeStage)
|
||||
return
|
||||
}
|
||||
@@ -1077,9 +1077,16 @@ exports.newSuperalgosBotModulesTradingStages = function (processIndex) {
|
||||
resetStage(tradingEngine.current.strategyManageStage.status)
|
||||
}
|
||||
if (tradingEngine.current.strategyCloseStage.status.value === 'Closed') {
|
||||
resetStage(tradingEngine.current.strategyCloseStage)
|
||||
resetStage(tradingEngine.current.strategyCloseStage.status)
|
||||
}
|
||||
|
||||
if (tradingEngine.current.position.status.value === 'Closed')
|
||||
{
|
||||
resetStage(tradingEngine.current.strategyTriggerStage)
|
||||
resetStage(tradingEngine.current.strategyOpenStage)
|
||||
resetStage(tradingEngine.current.strategyManageStage)
|
||||
resetStage(tradingEngine.current.strategyCloseStage)
|
||||
}
|
||||
function resetStage(stage) {
|
||||
TS.projects.superalgos.globals.processModuleObjects.MODULE_OBJECTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_MODULE_OBJECT.initializeNode(stage)
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user