Timeline Charts Order Inverted
This commit is contained in:
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.'
|
||||
]
|
||||
)
|
||||
|
||||
Reference in new issue
Block a user