Merge pull request #544 from Luis-Fernando-Molina/develop
Contribution: Learning Bot Layers checked.
This commit is contained in:
5 files changed
+109
-34
No files matched your search
@@ -1 +1 @@
|
||||
{"type":"Learning Mine","name":"Masters","config":"{ \n\"codeName\": \"Masters\"\n}","project":"Superalgos","learningBots":[{"type":"Learning Bot","name":"Low Frequency","config":"{\n\"codeName\": \"Low-Frequency\"\n}","project":"Superalgos","processes":[{"type":"Process Definition","name":"Learning","config":"{\n \"codeName\": \"Learning\",\n \"sessionRunWaitTime\": 5000,\n \"retryWaitTime\": 10000,\n \"framework\": {\n \"name\": \"Low-Frequency-Learning-Process\"\n }\n }","project":"Superalgos","processOutput":{"type":"Process Output","name":"New Process Output","project":"Superalgos","outputDatasets":[],"outputDatasetFolders":[{"type":"Output Dataset Folder","name":"Learning Engine","project":"Superalgos","outputDatasets":[],"outputDatasetFolders":[{"type":"Output Dataset Folder","name":"Trading Episode","project":"Superalgos","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market Trading Episode Counters","project":"Superalgos","id":"c0de6b69-60e2-4574-890a-35743f75c569","savedPayload":{"position":{"x":11096.193715496249,"y":18419.16327303778},"targetPosition":{"x":10922.997186924276,"y":18003.828513487584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"ac1bc967-9c9f-47f0-8815-535abd7cb777"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Trading Episode Counters","project":"Superalgos","id":"da23a8ff-8b3d-4caa-a27c-f59352911212","savedPayload":{"position":{"x":10972.16471539031,"y":18451.134397804504},"targetPosition":{"x":10922.997186924276,"y":18003.828513487584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"6881069e-a4d1-4b41-892f-557d2031adea"}}},{"type":"Output Dataset","name":"Multi-Period-Market Learning Episode Statistics","project":"Superalgos","id":"dfdcb71e-c123-429e-bc2d-cf33963378d6","savedPayload":{"position":{"x":10844.152454538604,"y":18446.867460054396},"targetPosition":{"x":10922.997186924276,"y":18003.828513487584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"8408c316-e04d-4b0d-8c81-1bf3b4126894"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Learning Episode Statistics","project":"Superalgos","id":"fa9e000d-199c-4ed4-b10f-6c586bfc2fa5","savedPayload":{"position":{"x":10722.527724997106,"y":18406.708141707517},"targetPosition":{"x":10922.997186924276,"y":18003.828513487584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"553a0b49-2a61-41c4-ac95-f762051c1cab"}}},{"type":"Output Dataset","name":"Multi-Period-Market Episode Candle","project":"Superalgos","id":"a9a7b1fe-ecff-4d08-bd3b-297e4263c703","savedPayload":{"position":{"x":10617.14383902315,"y":18333.909911899664},"targetPosition":{"x":10922.997186924276,"y":18003.828513487584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"a08a3974-75ac-4a2b-bc09-f80547a61381"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Episode Candle","project":"Superalgos","id":"d80bea92-bca6-4826-aa32-34bc7c13f952","savedPayload":{"position":{"x":10536.538372316247,"y":18234.370450262126},"targetPosition":{"x":10922.997186924276,"y":18003.828513487584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"46221186-fff7-4333-a087-a32a649e9ce8"}}},{"type":"Output Dataset","name":"Multi-Period-Market Distance To Learning Event","project":"Superalgos","id":"0b8ef0c4-c7a9-48cf-9f9b-e48d32f5ed27","savedPayload":{"position":{"x":10487.241500409818,"y":18116.153851992807},"targetPosition":{"x":10922.997186924276,"y":18003.828513487584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"0d746a41-6726-41fd-9312-862b6835b8ba"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Distance To Learning Event","project":"Superalgos","id":"a8951035-4bf1-4d0d-8666-879b2c481b6d","savedPayload":{"position":{"x":10473.246962685937,"y":17988.837322822303},"targetPosition":{"x":109Line truncated
|
||||
{"type":"Learning Mine","name":"Masters","config":"{ \n\"codeName\": \"Masters\"\n}","project":"Superalgos","learningBots":[{"type":"Learning Bot","name":"Low Frequency","config":"{\n\"codeName\": \"Low-Frequency\"\n}","project":"Superalgos","processes":[{"type":"Process Definition","name":"Learning","config":"{\n \"codeName\": \"Learning\",\n \"sessionRunWaitTime\": 5000,\n \"retryWaitTime\": 10000,\n \"framework\": {\n \"name\": \"Low-Frequency-Learning-Process\"\n }\n }","project":"Superalgos","processOutput":{"type":"Process Output","name":"New Process Output","project":"Superalgos","outputDatasets":[],"outputDatasetFolders":[{"type":"Output Dataset Folder","name":"Learning Engine","project":"Superalgos","outputDatasets":[],"outputDatasetFolders":[{"type":"Output Dataset Folder","name":"Learning Episode","project":"Superalgos","outputDatasets":[{"type":"Output Dataset","name":"Multi-Period-Market Learning Episode Counters","project":"Superalgos","id":"c0de6b69-60e2-4574-890a-35743f75c569","savedPayload":{"position":{"x":11096.193715496249,"y":18419.16327303778},"targetPosition":{"x":10922.997186924276,"y":18003.828513487584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"ac1bc967-9c9f-47f0-8815-535abd7cb777"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Learning Episode Counters","project":"Superalgos","id":"da23a8ff-8b3d-4caa-a27c-f59352911212","savedPayload":{"position":{"x":10972.16471539031,"y":18451.134397804504},"targetPosition":{"x":10922.997186924276,"y":18003.828513487584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"6881069e-a4d1-4b41-892f-557d2031adea"}}},{"type":"Output Dataset","name":"Multi-Period-Market Learning Episode Statistics","project":"Superalgos","id":"dfdcb71e-c123-429e-bc2d-cf33963378d6","savedPayload":{"position":{"x":10844.152454538604,"y":18446.867460054396},"targetPosition":{"x":10922.997186924276,"y":18003.828513487584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"8408c316-e04d-4b0d-8c81-1bf3b4126894"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Learning Episode Statistics","project":"Superalgos","id":"fa9e000d-199c-4ed4-b10f-6c586bfc2fa5","savedPayload":{"position":{"x":10722.527724997106,"y":18406.708141707517},"targetPosition":{"x":10922.997186924276,"y":18003.828513487584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"553a0b49-2a61-41c4-ac95-f762051c1cab"}}},{"type":"Output Dataset","name":"Multi-Period-Market Episode Candle","project":"Superalgos","id":"a9a7b1fe-ecff-4d08-bd3b-297e4263c703","savedPayload":{"position":{"x":10617.14383902315,"y":18333.909911899664},"targetPosition":{"x":10922.997186924276,"y":18003.828513487584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"a08a3974-75ac-4a2b-bc09-f80547a61381"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Episode Candle","project":"Superalgos","id":"d80bea92-bca6-4826-aa32-34bc7c13f952","savedPayload":{"position":{"x":10536.538372316247,"y":18234.370450262126},"targetPosition":{"x":10922.997186924276,"y":18003.828513487584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Daily","id":"46221186-fff7-4333-a087-a32a649e9ce8"}}},{"type":"Output Dataset","name":"Multi-Period-Market Distance To Learning Event","project":"Superalgos","id":"0b8ef0c4-c7a9-48cf-9f9b-e48d32f5ed27","savedPayload":{"position":{"x":10487.241500409818,"y":18116.153851992807},"targetPosition":{"x":10922.997186924276,"y":18003.828513487584},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":false,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{},"referenceParent":{"type":"Dataset Definition","name":"Multi-Period-Market","id":"0d746a41-6726-41fd-9312-862b6835b8ba"}}},{"type":"Output Dataset","name":"Multi-Period-Daily Distance To Learning Event","project":"Superalgos","id":"a8951035-4bf1-4d0d-8666-879b2c481b6d","savedPayload":{"position":{"x":10473.246962685937,"y":17988.837322822303},"targetPosition":{"x":Line truncated
|
||||
@@ -246,7 +246,7 @@
|
||||
}
|
||||
} else {
|
||||
/* Check that we received valid dates */
|
||||
if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type === 'Backtesting Session') {
|
||||
if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type === 'Back Learning Session') {
|
||||
if (isNaN(new Date(TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.learningParameters.timeRange.config.initialDatetime)).valueOf()) {
|
||||
let errorMessage = "Invalid Initial Datetime Property Value"
|
||||
TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME,
|
||||
@@ -312,7 +312,7 @@
|
||||
*/
|
||||
|
||||
/* Initial Datetime */
|
||||
if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type === 'Backtesting Session') {
|
||||
if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type === 'Back Learning Session') {
|
||||
if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.learningParameters.timeRange.config.initialDatetime === undefined) {
|
||||
TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.learningParameters.timeRange.config.initialDatetime = initialDefault
|
||||
} else {
|
||||
|
||||
@@ -2,7 +2,7 @@ function newPlottersManager() {
|
||||
const MODULE_NAME = 'Plotters Manager'
|
||||
const ERROR_LOG = true
|
||||
const logger = newWebDebugLog()
|
||||
|
||||
|
||||
|
||||
let timeFrame = INITIAL_TIME_PERIOD
|
||||
let datetime = NEW_SESSION_INITIAL_DATE
|
||||
@@ -15,7 +15,7 @@ function newPlottersManager() {
|
||||
setDatetime: setDatetime,
|
||||
setTimeFrame: setTimeFrame,
|
||||
setCoordinateSystem: setCoordinateSystem,
|
||||
physics: physics,
|
||||
physics: physics,
|
||||
draw: draw,
|
||||
getContainer: getContainer,
|
||||
initialize: initialize,
|
||||
@@ -138,8 +138,8 @@ function newPlottersManager() {
|
||||
let exchange = layer.exchange
|
||||
let plotterModule = layer.plotterModule
|
||||
let session
|
||||
let tradingSystem
|
||||
let tradingEngine
|
||||
let tradingOrLearningSystem
|
||||
let tradingOrLearningEngine
|
||||
|
||||
/*
|
||||
A layer can be referencing a Data Product in 3 different branches of the Network hiriatchy.
|
||||
@@ -158,10 +158,16 @@ function newPlottersManager() {
|
||||
}
|
||||
/* From the session we might be able to reach the Trading System or the Trading Engine */
|
||||
if (session.tradingSystemReference !== undefined) {
|
||||
tradingSystem = session.tradingSystemReference.referenceParent
|
||||
tradingOrLearningSystem = session.tradingSystemReference.referenceParent
|
||||
}
|
||||
if (session.tradingEngineReference !== undefined) {
|
||||
tradingEngine = session.tradingEngineReference.referenceParent
|
||||
tradingOrLearningEngine = session.tradingEngineReference.referenceParent
|
||||
}
|
||||
if (session.learningSystemReference !== undefined) {
|
||||
tradingOrLearningSystem = session.learningSystemReference.referenceParent
|
||||
}
|
||||
if (session.learningEngineReference !== undefined) {
|
||||
tradingOrLearningEngine = session.learningEngineReference.referenceParent
|
||||
}
|
||||
}
|
||||
|
||||
@@ -244,10 +250,16 @@ function newPlottersManager() {
|
||||
connector.nodesHighlights = newNodesHighlights()
|
||||
switch (plotterModule.config.connectTo) {
|
||||
case 'Trading System':
|
||||
connector.nodesHighlights.initialize(tradingSystem)
|
||||
connector.nodesHighlights.initialize(tradingOrLearningSystem)
|
||||
break
|
||||
case 'Trading Engine':
|
||||
connector.nodesHighlights.initialize(tradingEngine)
|
||||
connector.nodesHighlights.initialize(tradingOrLearningEngine)
|
||||
break
|
||||
case 'Learning System':
|
||||
connector.nodesHighlights.initialize(tradingOrLearningSystem)
|
||||
break
|
||||
case 'Learning Engine':
|
||||
connector.nodesHighlights.initialize(tradingOrLearningEngine)
|
||||
break
|
||||
}
|
||||
connector.nodesHighlights.onRecordChangeEventsSubscriptionId = connector.plotter.container.eventHandler.listenToEvent('Current Record Changed', connector.nodesHighlights.onRecordChange)
|
||||
@@ -256,10 +268,16 @@ function newPlottersManager() {
|
||||
connector.nodesValues = newNodesValues()
|
||||
switch (plotterModule.config.connectTo) {
|
||||
case 'Trading System':
|
||||
connector.nodesValues.initialize(tradingSystem)
|
||||
connector.nodesValues.initialize(tradingOrLearningSystem)
|
||||
break
|
||||
case 'Trading Engine':
|
||||
connector.nodesValues.initialize(tradingEngine)
|
||||
connector.nodesValues.initialize(tradingOrLearningEngine)
|
||||
break
|
||||
case 'Learning System':
|
||||
connector.nodesValues.initialize(tradingOrLearningSystem)
|
||||
break
|
||||
case 'Learning Engine':
|
||||
connector.nodesValues.initialize(tradingOrLearningEngine)
|
||||
break
|
||||
}
|
||||
connector.nodesValues.onRecordChangeEventsSubscriptionId = connector.plotter.container.eventHandler.listenToEvent('Current Record Changed', connector.nodesValues.onRecordChange)
|
||||
@@ -268,10 +286,16 @@ function newPlottersManager() {
|
||||
connector.nodesErrors = newNodesErrors()
|
||||
switch (plotterModule.config.connectTo) {
|
||||
case 'Trading System':
|
||||
connector.nodesErrors.initialize(tradingSystem)
|
||||
connector.nodesErrors.initialize(tradingOrLearningSystem)
|
||||
break
|
||||
case 'Trading Engine':
|
||||
connector.nodesErrors.initialize(tradingEngine)
|
||||
connector.nodesErrors.initialize(tradingOrLearningEngine)
|
||||
break
|
||||
case 'Learning System':
|
||||
connector.nodesErrors.initialize(tradingOrLearningSystem)
|
||||
break
|
||||
case 'Learning Engine':
|
||||
connector.nodesErrors.initialize(tradingOrLearningEngine)
|
||||
break
|
||||
}
|
||||
connector.nodesErrors.onRecordChangeEventsSubscriptionId = connector.plotter.container.eventHandler.listenToEvent('Current Record Changed', connector.nodesErrors.onRecordChange)
|
||||
@@ -280,10 +304,16 @@ function newPlottersManager() {
|
||||
connector.nodesWarnings = newNodesWarnings()
|
||||
switch (plotterModule.config.connectTo) {
|
||||
case 'Trading System':
|
||||
connector.nodesWarnings.initialize(tradingSystem)
|
||||
connector.nodesWarnings.initialize(tradingOrLearningSystem)
|
||||
break
|
||||
case 'Trading Engine':
|
||||
connector.nodesWarnings.initialize(tradingEngine)
|
||||
connector.nodesWarnings.initialize(tradingOrLearningEngine)
|
||||
break
|
||||
case 'Learning System':
|
||||
connector.nodesWarnings.initialize(tradingOrLearningSystem)
|
||||
break
|
||||
case 'Learning Engine':
|
||||
connector.nodesWarnings.initialize(tradingOrLearningEngine)
|
||||
break
|
||||
}
|
||||
connector.nodesWarnings.onRecordChangeEventsSubscriptionId = connector.plotter.container.eventHandler.listenToEvent('Current Record Changed', connector.nodesWarnings.onRecordChange)
|
||||
@@ -292,10 +322,16 @@ function newPlottersManager() {
|
||||
connector.nodesInfos = newNodesInfos()
|
||||
switch (plotterModule.config.connectTo) {
|
||||
case 'Trading System':
|
||||
connector.nodesInfos.initialize(tradingSystem)
|
||||
connector.nodesInfos.initialize(tradingOrLearningSystem)
|
||||
break
|
||||
case 'Trading Engine':
|
||||
connector.nodesInfos.initialize(tradingEngine)
|
||||
connector.nodesInfos.initialize(tradingOrLearningEngine)
|
||||
break
|
||||
case 'Learning System':
|
||||
connector.nodesInfos.initialize(tradingOrLearningSystem)
|
||||
break
|
||||
case 'Learning Engine':
|
||||
connector.nodesInfos.initialize(tradingOrLearningEngine)
|
||||
break
|
||||
}
|
||||
connector.nodesInfos.onRecordChangeEventsSubscriptionId = connector.plotter.container.eventHandler.listenToEvent('Current Record Changed', connector.nodesInfos.onRecordChange)
|
||||
@@ -304,10 +340,16 @@ function newPlottersManager() {
|
||||
connector.nodesRunning = newNodesRunning()
|
||||
switch (plotterModule.config.connectTo) {
|
||||
case 'Trading System':
|
||||
connector.nodesRunning.initialize(tradingSystem)
|
||||
connector.nodesRunning.initialize(tradingOrLearningSystem)
|
||||
break
|
||||
case 'Trading Engine':
|
||||
connector.nodesRunning.initialize(tradingEngine)
|
||||
connector.nodesRunning.initialize(tradingOrLearningEngine)
|
||||
break
|
||||
case 'Learning System':
|
||||
connector.nodesRunning.initialize(tradingOrLearningSystem)
|
||||
break
|
||||
case 'Learning Engine':
|
||||
connector.nodesRunning.initialize(tradingOrLearningEngine)
|
||||
break
|
||||
}
|
||||
connector.nodesRunning.onRecordChangeEventsSubscriptionId = connector.plotter.container.eventHandler.listenToEvent('Current Record Changed', connector.nodesRunning.onRecordChange)
|
||||
@@ -316,10 +358,16 @@ function newPlottersManager() {
|
||||
connector.nodesStatus = newNodesStatus()
|
||||
switch (plotterModule.config.connectTo) {
|
||||
case 'Trading System':
|
||||
connector.nodesStatus.initialize(tradingSystem)
|
||||
connector.nodesStatus.initialize(tradingOrLearningSystem)
|
||||
break
|
||||
case 'Trading Engine':
|
||||
connector.nodesStatus.initialize(tradingEngine)
|
||||
connector.nodesStatus.initialize(tradingOrLearningEngine)
|
||||
break
|
||||
case 'Learning System':
|
||||
connector.nodesStatus.initialize(tradingOrLearningSystem)
|
||||
break
|
||||
case 'Learning Engine':
|
||||
connector.nodesStatus.initialize(tradingOrLearningEngine)
|
||||
break
|
||||
}
|
||||
connector.nodesStatus.onRecordChangeEventsSubscriptionId = connector.plotter.container.eventHandler.listenToEvent('Current Record Changed', connector.nodesStatus.onRecordChange)
|
||||
@@ -328,10 +376,16 @@ function newPlottersManager() {
|
||||
connector.nodesProgress = newNodesProgress()
|
||||
switch (plotterModule.config.connectTo) {
|
||||
case 'Trading System':
|
||||
connector.nodesProgress.initialize(tradingSystem)
|
||||
connector.nodesProgress.initialize(tradingOrLearningSystem)
|
||||
break
|
||||
case 'Trading Engine':
|
||||
connector.nodesProgress.initialize(tradingEngine)
|
||||
connector.nodesProgress.initialize(tradingOrLearningEngine)
|
||||
break
|
||||
case 'Learning System':
|
||||
connector.nodesProgress.initialize(tradingOrLearningSystem)
|
||||
break
|
||||
case 'Learning Engine':
|
||||
connector.nodesProgress.initialize(tradingOrLearningEngine)
|
||||
break
|
||||
}
|
||||
connector.nodesProgress.onRecordChangeEventsSubscriptionId = connector.plotter.container.eventHandler.listenToEvent('Current Record Changed', connector.nodesProgress.onRecordChange)
|
||||
@@ -340,10 +394,16 @@ function newPlottersManager() {
|
||||
connector.nodesAnnounements = newNodesAnnouncements()
|
||||
switch (plotterModule.config.connectTo) {
|
||||
case 'Trading System':
|
||||
connector.nodesAnnounements.initialize(tradingSystem)
|
||||
connector.nodesAnnounements.initialize(tradingOrLearningSystem)
|
||||
break
|
||||
case 'Trading Engine':
|
||||
connector.nodesAnnounements.initialize(tradingEngine)
|
||||
connector.nodesAnnounements.initialize(tradingOrLearningEngine)
|
||||
break
|
||||
case 'Learning System':
|
||||
connector.nodesAnnounements.initialize(tradingOrLearningSystem)
|
||||
break
|
||||
case 'Learning Engine':
|
||||
connector.nodesAnnounements.initialize(tradingOrLearningEngine)
|
||||
break
|
||||
}
|
||||
connector.nodesAnnounements.onRecordChangeEventsSubscriptionId = connector.plotter.container.eventHandler.listenToEvent('Current Record Changed', connector.nodesAnnounements.onRecordChange)
|
||||
@@ -354,7 +414,7 @@ function newPlottersManager() {
|
||||
*/
|
||||
if (plotterModule.recordValues !== undefined) {
|
||||
connector.recordValues = newRecordValues()
|
||||
connector.recordValues.initialize(tradingSystem, tradingEngine, productDefinition)
|
||||
connector.recordValues.initialize(tradingOrLearningSystem, tradingOrLearningEngine, productDefinition)
|
||||
connector.recordValues.onRecordChangeEventsSubscriptionId = connector.plotter.container.eventHandler.listenToEvent('Current Record Changed', connector.recordValues.onRecordChange)
|
||||
}
|
||||
}
|
||||
@@ -493,7 +553,7 @@ function newPlottersManager() {
|
||||
|
||||
function physics() {
|
||||
if (thisObject.connectors === undefined) { return } // We need to wait
|
||||
for (let i = 0; i < thisObject.connectors.length; i++) {
|
||||
for (let i = 0; i < thisObject.connectors.length; i++) {
|
||||
let connector = thisObject.connectors[thisObject.connectors.length - i - 1]
|
||||
if (connector.plotter.physics !== undefined) {
|
||||
connector.plotter.physics()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
function newRecordValues() {
|
||||
const MODULE_NAME = 'Record Values'
|
||||
const logger = newWebDebugLog()
|
||||
|
||||
|
||||
|
||||
let thisObject = {
|
||||
onRecordChange: onRecordChange,
|
||||
@@ -11,6 +11,8 @@ function newRecordValues() {
|
||||
|
||||
let tradingSystem
|
||||
let tradingEngine
|
||||
let learningSystem
|
||||
let learningEngine
|
||||
let productDefinition
|
||||
let propertyTargetNodeMap = new Map()
|
||||
return thisObject
|
||||
@@ -18,13 +20,25 @@ function newRecordValues() {
|
||||
function finalize() {
|
||||
tradingSystem = undefined
|
||||
tradingEngine = undefined
|
||||
learningSystem = undefined
|
||||
learningEngine = undefined
|
||||
productDefinition = undefined
|
||||
propertyTargetNodeMap = undefined
|
||||
}
|
||||
|
||||
function initialize(pTradingSystem, pTradingEngine, pProductDefinition) {
|
||||
tradingSystem = UI.projects.superalgos.spaces.designSpace.workspace.getHierarchyHeadsById(pTradingSystem.id)
|
||||
tradingEngine = UI.projects.superalgos.spaces.designSpace.workspace.getHierarchyHeadsById(pTradingEngine.id)
|
||||
function initialize(pTradingOrLearningSystem, pTradingOrLearningEngine, pProductDefinition) {
|
||||
if (pTradingOrLearningSystem.type === 'Trading System') {
|
||||
tradingSystem = UI.projects.superalgos.spaces.designSpace.workspace.getHierarchyHeadsById(pTradingOrLearningSystem.id)
|
||||
}
|
||||
if (pTradingOrLearningSystem.type === 'Learning System') {
|
||||
learningSystem = UI.projects.superalgos.spaces.designSpace.workspace.getHierarchyHeadsById(pTradingOrLearningSystem.id)
|
||||
}
|
||||
if (pTradingOrLearningEngine.type === 'Trading Engine') {
|
||||
tradingEngine = UI.projects.superalgos.spaces.designSpace.workspace.getHierarchyHeadsById(pTradingOrLearningEngine.id)
|
||||
}
|
||||
if (pTradingOrLearningEngine.type === 'Learning Engine') {
|
||||
learningEngine = UI.projects.superalgos.spaces.designSpace.workspace.getHierarchyHeadsById(pTradingOrLearningEngine.id)
|
||||
}
|
||||
productDefinition = pProductDefinition
|
||||
|
||||
/*
|
||||
@@ -67,7 +81,7 @@ function newRecordValues() {
|
||||
let propertyRoot
|
||||
try {
|
||||
propertyRoot = eval(property.config.nodePath)
|
||||
} catch(err) {
|
||||
} catch (err) {
|
||||
console.log('Definition Error at Product ' + productDefinition.name)
|
||||
console.log('productDefinition.config = ' + JSON.stringify(productDefinition.config))
|
||||
console.log('Definition Error at Property ' + property.name)
|
||||
|
||||
@@ -171,6 +171,7 @@ function newLayer() {
|
||||
'Backtesting Session->Paper Trading Session->Forward Testing Session->Live Trading Session->' +
|
||||
'Back Learning Session->Live Learning Session->' +
|
||||
'Trading System Reference->Trading Engine Reference->Trading System->Trading Engine->' +
|
||||
'Learning System Reference->Learning Engine Reference->Learning System->Learning Engine->' +
|
||||
'Market->Market Base Asset->Asset->' +
|
||||
'Market Quoted Asset->Asset->' +
|
||||
'Exchange Markets->Crypto Exchange->' +
|
||||
|
||||
Reference in new issue
Block a user