Timeline Charts Order Inverted

This commit is contained in:
Luis Fernando Molina committed 2020-10-27 11:16:57 +01:00
1 parent 9c29d4f45d
commit 5c18a1a976
4 files changed
+53 -49

No files matched your search

@@ -120,37 +120,8 @@ function newChartingSpaceFunctions() {
timeMachine.timeScale.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_180
timeMachine.rateScale.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_180
/*
We need to create a Timeline Chart for each Data Mine Indicators.
We will create 3 Time Line Charts for the Trading Mine Products
*/
mineProducts = UI.projects.superalgos.utilities.branches.nodeBranchToArray(networkNode, 'Data Mine Products')
for (let j = 0; j < mineProducts.length; j++) {
let mineProduct = mineProducts[j]
/*
We need to filter out the ones that do not belong to the market where
the session is running at.
*/
if (mineProduct.payload.parentNode.payload.referenceParent === undefined) { continue }
if (mineProduct.payload.parentNode.payload.referenceParent.id !== market.id) { continue }
let timelineChart = functionLibraryUiObjectsFromNodes.addUIObject(timeMachine, 'Timeline Chart')
/*
The Mine Product Node might be collapesd and since its creation it never
received the physics call, so we will do the call so that it properly
sets its own name, which we are going to reuse here.
*/
mineProduct.payload.uiObject.invisiblePhysics()
timelineChart.name = mineProduct.name
timelineChart.layerManager.payload.referenceParent = mineProduct
timelineChart.payload.floatingObject.collapseToggle()
timelineChart.layerManager.payload.floatingObject.collapseToggle()
timelineChart.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_180
timelineChart.layerManager.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_180
let menu = timelineChart.layerManager.payload.uiObject.menu
menu.internalClick('Add All Mine Layers')
menu.internalClick('Add All Mine Layers')
}
mineProducts = UI.projects.superalgos.utilities.branches.nodeBranchToArray(networkNode, 'Trading Mine Products')
for (let j = 0; j < mineProducts.length; j++) {
let mineProduct = mineProducts[j]
@@ -207,6 +178,37 @@ function newChartingSpaceFunctions() {
}
}
}
/*
We need to create a Timeline Chart for each Data Mine Indicators.
*/
mineProducts = UI.projects.superalgos.utilities.branches.nodeBranchToArray(networkNode, 'Data Mine Products')
for (let j = 0; j < mineProducts.length; j++) {
let mineProduct = mineProducts[j]
/*
We need to filter out the ones that do not belong to the market where
the session is running at.
*/
if (mineProduct.payload.parentNode.payload.referenceParent === undefined) { continue }
if (mineProduct.payload.parentNode.payload.referenceParent.id !== market.id) { continue }
let timelineChart = functionLibraryUiObjectsFromNodes.addUIObject(timeMachine, 'Timeline Chart')
/*
The Mine Product Node might be collapesd and since its creation it never
received the physics call, so we will do the call so that it properly
sets its own name, which we are going to reuse here.
*/
mineProduct.payload.uiObject.invisiblePhysics()
timelineChart.name = mineProduct.name
timelineChart.layerManager.payload.referenceParent = mineProduct
timelineChart.payload.floatingObject.collapseToggle()
timelineChart.layerManager.payload.floatingObject.collapseToggle()
timelineChart.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_180
timelineChart.layerManager.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_180
let menu = timelineChart.layerManager.payload.uiObject.menu
menu.internalClick('Add All Mine Layers')
menu.internalClick('Add All Mine Layers')
}
}
function addMissingDashboards(node, rootNodes, functionLibraryUiObjectsFromNodes, functionLibraryNodeDeleter) {
@@ -206,7 +206,14 @@ function newCryptoEcosystemFunctions() {
}
}
function installMarket(node, rootNodes, functionLibraryUiObjectsFromNodes, functionLibraryNodeDeleter, functionLibraryChartingSpaceFunctions, functionLibraryDataStorageFunctions) {
function installMarket(
node,
rootNodes,
functionLibraryUiObjectsFromNodes,
functionLibraryNodeDeleter,
functionLibraryChartingSpaceFunctions,
functionLibraryDataStorageFunctions
) {
let market = node
let cryptoExchange = UI.projects.superalgos.utilities.meshes.findNodeInNodeMesh(node, 'Crypto Exchange', undefined, true, false, true, false)
@@ -89,7 +89,7 @@ exports.newOrdersSimulations = function newOrdersSimulations(bot, logger) {
tradingSystem.warnings.push(
[
sessionParameters.slippage.id,
[sessionParameters.slippage.id, tradingEngineOrder.rate.id, tradingEngineOrder.orderStatistics.actualRate.id],
'slippage.config.positionRate Slippage Amount (' + slippageAmount + ') substracted from Order Rate (' + tradingEngineOrder.rate.value + ') to get the Actual Rate (' + tradingEngineOrder.orderStatistics.actualRate.value + ')'
]
)
@@ -101,7 +101,7 @@ exports.newOrdersSimulations = function newOrdersSimulations(bot, logger) {
tradingSystem.warnings.push(
[
sessionParameters.slippage.id,
[sessionParameters.slippage.id, tradingEngineOrder.rate.id, tradingEngineOrder.orderStatistics.actualRate.id],
'slippage.config.positionRate Slippage Amount (' + slippageAmount + ') added to Order Rate (' + tradingEngineOrder.rate.value + ') to get the Actual Rate (' + tradingEngineOrder.orderStatistics.actualRate.value + ')'
]
)
@@ -136,7 +136,7 @@ exports.newOrdersSimulations = function newOrdersSimulations(bot, logger) {
tradingSystem.warnings.push(
[
tradingSystemOrder.simulatedExchangeEvents.simulatedActualRate.formula.id,
'Actual Rate (' + tradingEngineOrder.orderStatistics.actualRate.value + ') replaced by this Formula value (' + newValue + ')'
'Actual Rate (' + tradingEngineOrder.orderStatistics.actualRate.value + ') calculated with this Formula (' + newValue + ')'
]
)
tradingEngineOrder.orderStatistics.actualRate.value = newValue
@@ -163,7 +163,7 @@ exports.newOrdersSimulations = function newOrdersSimulations(bot, logger) {
if (tradingEngineOrder.orderStatistics.actualRate.value > tradingEngine.current.episode.candle.max.value) {
tradingSystem.warnings.push(
[
tradingEngineOrder.orderStatistics.actualRate.id,
[tradingEngineOrder.orderStatistics.actualRate.id, tradingEngine.current.episode.candle.max.id],
'Actual Rate (' + tradingEngineOrder.orderStatistics.actualRate.value + ') too high. Changed to candle.max (' + tradingEngine.current.episode.candle.max.value + ')'
]
)
@@ -175,7 +175,7 @@ exports.newOrdersSimulations = function newOrdersSimulations(bot, logger) {
if (tradingEngineOrder.orderStatistics.actualRate.value < tradingEngine.current.episode.candle.min.value) {
tradingSystem.warnings.push(
[
tradingEngineOrder.orderStatistics.actualRate.id,
[tradingEngineOrder.orderStatistics.actualRate.id, tradingEngine.current.episode.candle.min.id],
'Actual Rate (' + tradingEngineOrder.orderStatistics.actualRate.value + ') too low. Changed to candle.min (' + tradingEngine.current.episode.candle.max.value + ')'
]
)
@@ -262,7 +262,7 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
if (tradingEngineOrder.orderBaseAsset.size.value <= 0) {
tradingSystem.warnings.push(
[
tradingEngineOrder.orderBaseAsset.size.id,
[tradingEngineOrder.orderBaseAsset.size.id, tradingSystemOrder.id],
'Could not open this order because its size is zero.'
]
)
@@ -272,7 +272,7 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
if (tradingEngineOrder.orderQuotedAsset.size.value <= 0) {
tradingSystem.warnings.push(
[
tradingEngineOrder.orderQuotedAsset.size.id,
[tradingEngineOrder.orderQuotedAsset.size.id, tradingSystemOrder.id ],
'Could not open this order because its size is zero.'
]
)
@@ -284,13 +284,7 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
if (result !== true) {
tradingSystem.warnings.push(
[
tradingSystemOrder.id,
'Could not open this order because something failed placing the order at the Exchange.'
]
)
tradingSystem.warnings.push(
[
tradingEngineOrder.id,
[tradingSystemOrder.id, tradingEngineOrder],
'Could not open this order because something failed placing the order at the Exchange.'
]
)
@@ -396,7 +390,7 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
tradingSystem.warnings.push(
[
tradingEngineStage.stageBaseAsset.targetSize.id,
[tradingEngineStage.stageBaseAsset.targetSize.id, tradingEngineOrder.orderBaseAsset.size.id, tradingEngineStage.stageBaseAsset.sizePlaced.id],
'Order size (' + previousValue + ') shrinked (' + tradingEngineOrder.orderBaseAsset.size.value + ') so that the Size Placed (' + tradingEngineStage.stageBaseAsset.sizePlaced.value + ') does not exceed the Target Size (' + tradingEngineStage.stageBaseAsset.targetSize.value + ') for the stage.'
]
)
@@ -423,7 +417,7 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
tradingSystem.warnings.push(
[
tradingEngineStage.stageQuotedAsset.targetSize.id,
[tradingEngineStage.stageQuotedAsset.targetSize.id, tradingEngineOrder.orderQuotedAsset.size.id, tradingEngineStage.stageQuotedAsset.sizePlaced.id],
'Order size (' + previousValue + ') shrinked (' + tradingEngineOrder.orderQuotedAsset.size.value + ') so that the Size Placed (' + tradingEngineStage.stageQuotedAsset.sizePlaced.value + ') does not exceed the Target Size (' + tradingEngineStage.stageQuotedAsset.targetSize.value + ') for the stage.'
]
)
@@ -529,7 +523,8 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
if (order === undefined) {
tradingSystem.warnings.push(
[
tradingSystemOrder.id, 'Could not verify the status of this order at the exchange.'
[tradingSystemOrder.id, tradingEngineOrder.id],
'Could not verify the status of this order at the exchange.'
]
)
return false
@@ -907,7 +902,7 @@ exports.newTradingOrders = function newTradingOrders(bot, logger, tradingEngineM
if (order === undefined) {
tradingSystem.warnings.push(
[
tradingSystemOrder.id,
[tradingSystemOrder.id, tradingEngineOrder.id],
'Could not verify the status of this order at the exchange, and syncronize the accounting.'
]
)