From cb010fb5c65391c11ba0956ba2d433e5b7a57a4b Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Sat, 25 Sep 2021 14:23:30 +0200 Subject: [PATCH] Data Mines related modules moved to Data-Mining Project --- Environment.js | 4 +- EnvironmentForDebug.js | 4 +- Projects/Data-Mining/Icons/data-mining.png | Bin 0 -> 9241 bytes .../App-Schema/data-mining-project.json | 42 ++++ .../API-Data-Fetcher-Bot/FetchingProcess.js | 2 +- .../SingleMarketAPIDataFetcherBot.js | 5 +- .../BollingerBandsMultiTimeFrameDaily.js | 2 +- .../BollingerBandsMultiTimeFrameMarket.js | 2 +- .../CandlesVolumesMultiTimeFrameDaily.js | 2 +- .../CandlesVolumesMultiTimeFrameMarket.js | 2 +- .../FromOneMinToMultiTimeFrameDaily.js | 2 +- .../FromOneMinToMultiTimeFrameMarket.js | 2 +- .../Indicator-Bot/IndicatorOutput.js | 2 +- .../Indicator-Bot/MultiTimeFrameDaily.js | 4 +- .../Indicator-Bot/MultiTimeFrameMarket.js | 4 +- .../Indicator-Bot/SingleMarketIndicatorBot.js | 13 +- .../Exchange-Raw-Data/HistoricOHLCVs.js | 2 +- .../Sensor-Bot/SingleMarketSensorBot.js | 5 +- .../Sensor-Bot/Webhooks/CheckWebhook.js | 2 +- ...-005-data-mining-indicator-frameworks.json | 2 +- Projects/ProjectsSchema.json | 221 +++++++++--------- TaskServer/ProcessInstance.js | 10 +- TaskServerRoot.js | 6 + 23 files changed, 197 insertions(+), 143 deletions(-) create mode 100644 Projects/Data-Mining/Icons/data-mining.png create mode 100644 Projects/Data-Mining/Schemas/App-Schema/data-mining-project.json rename Projects/{Foundations => Data-Mining}/TS/Bot-Modules/API-Data-Fetcher-Bot/FetchingProcess.js (99%) rename Projects/{Foundations => Data-Mining}/TS/Bot-Modules/API-Data-Fetcher-Bot/SingleMarketAPIDataFetcherBot.js (99%) rename Projects/{Foundations => Data-Mining}/TS/Bot-Modules/Indicator-Bot/Bollinger-Bands/BollingerBandsMultiTimeFrameDaily.js (99%) rename Projects/{Foundations => Data-Mining}/TS/Bot-Modules/Indicator-Bot/Bollinger-Bands/BollingerBandsMultiTimeFrameMarket.js (99%) rename Projects/{Foundations => Data-Mining}/TS/Bot-Modules/Indicator-Bot/Candles-Volumes/CandlesVolumesMultiTimeFrameDaily.js (99%) rename Projects/{Foundations => Data-Mining}/TS/Bot-Modules/Indicator-Bot/Candles-Volumes/CandlesVolumesMultiTimeFrameMarket.js (99%) rename Projects/{Foundations => Data-Mining}/TS/Bot-Modules/Indicator-Bot/FromOneMinToMultiTimeFrameDaily.js (99%) rename Projects/{Foundations => Data-Mining}/TS/Bot-Modules/Indicator-Bot/FromOneMinToMultiTimeFrameMarket.js (99%) rename Projects/{Foundations => Data-Mining}/TS/Bot-Modules/Indicator-Bot/IndicatorOutput.js (99%) rename Projects/{Foundations => Data-Mining}/TS/Bot-Modules/Indicator-Bot/MultiTimeFrameDaily.js (99%) rename Projects/{Foundations => Data-Mining}/TS/Bot-Modules/Indicator-Bot/MultiTimeFrameMarket.js (98%) rename Projects/{Foundations => Data-Mining}/TS/Bot-Modules/Indicator-Bot/SingleMarketIndicatorBot.js (99%) rename Projects/{Foundations => Data-Mining}/TS/Bot-Modules/Sensor-Bot/Exchange-Raw-Data/HistoricOHLCVs.js (99%) rename Projects/{Foundations => Data-Mining}/TS/Bot-Modules/Sensor-Bot/SingleMarketSensorBot.js (99%) rename Projects/{Foundations => Data-Mining}/TS/Bot-Modules/Sensor-Bot/Webhooks/CheckWebhook.js (99%) diff --git a/Environment.js b/Environment.js index 38ae6186b..62c9cb43b 100644 --- a/Environment.js +++ b/Environment.js @@ -4,9 +4,9 @@ exports.newEnvironment = function () { WEB_SERVER_URL: 'localhost', CLIENT_WEB_SOCKETS_INTERFACE_PORT: 18041, CLIENT_HTTP_INTERFACE_PORT: 34248, - PATH_TO_DATA_STORAGE: './Data-Storage', + PATH_TO_DATA_STORAGE: './Platform/Data-Storage', + PATH_TO_LOG_FILES: './Platform/Log-Files', PATH_TO_PROJECTS: './Projects', - PATH_TO_LOG_FILES: './Log-Files', PATH_TO_PROJECTS_REQUIRED: './Projects', PATH_TO_PROJECT_SCHEMA: './Projects/ProjectsSchema.json', PATH_TO_CLIENT: './Platform', diff --git a/EnvironmentForDebug.js b/EnvironmentForDebug.js index efb5fec7b..621af7b3c 100644 --- a/EnvironmentForDebug.js +++ b/EnvironmentForDebug.js @@ -8,9 +8,9 @@ exports.newEnvironment = function () { DESKTOP_WEB_SOCKETS_INTERFACE_HOST: 'localhost', CLIENT_HTTP_INTERFACE_PORT: 34248, DESKTOP_HTTP_INTERFACE_PORT: 34249, - PATH_TO_DATA_STORAGE: './Data-Storage', + PATH_TO_DATA_STORAGE: './Platform/Data-Storage', + PATH_TO_LOG_FILES: './Platform/Log-Files', PATH_TO_PROJECTS: './Projects', - PATH_TO_LOG_FILES: './Log-Files', PATH_TO_PROJECTS_REQUIRED: './Projects', PATH_TO_PROJECT_SCHEMA: './Projects/ProjectsSchema.json', PATH_TO_CLIENT: './Platform', diff --git a/Projects/Data-Mining/Icons/data-mining.png b/Projects/Data-Mining/Icons/data-mining.png new file mode 100644 index 0000000000000000000000000000000000000000..f8b8fa7917eae2a6cb866efea415202f98afaed2 GIT binary patch literal 9241 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 bVnCPM^=!+bP54_X02lO3&KI3^y!YP#zGV61 literal 0 HcmV?d00001 diff --git a/Projects/Data-Mining/Schemas/App-Schema/data-mining-project.json b/Projects/Data-Mining/Schemas/App-Schema/data-mining-project.json new file mode 100644 index 000000000..d31a511cb --- /dev/null +++ b/Projects/Data-Mining/Schemas/App-Schema/data-mining-project.json @@ -0,0 +1,42 @@ +{ + "type": "Data-Mining Project", + "menuItems": [ + { + "action": "Add Missing Children", + "label": "Add Missing Children", + "relatedUiObject": "Foundations Project", + "actionFunction": "payload.executeAction" + }, + { + "action": "Delete UI Object", + "askConfirmation": true, + "confirmationLabel": "Confirm to Delete", + "actionFunction": "payload.executeAction", + "label": "Delete", + "iconPathOn": "delete-entity", + "iconPathOff": "delete-entity" + } + ], + "isProjectHead": true, + "isTitleAllwaysVisible": false, + "addLeftIcons": true, + "isPinned": true, + "positionLocked": true, + "icon": "data-mining", + "childrenNodesProperties": [ + { + "name": "projectDefinition", + "type": "node", + "childType": "Project Definition", + "project": "Foundations", + "autoAdd": true + }, + { + "name": "mines", + "type": "node", + "childType": "Mines", + "project": "Foundations", + "autoAdd": true + } + ] +} \ No newline at end of file diff --git a/Projects/Foundations/TS/Bot-Modules/API-Data-Fetcher-Bot/FetchingProcess.js b/Projects/Data-Mining/TS/Bot-Modules/API-Data-Fetcher-Bot/FetchingProcess.js similarity index 99% rename from Projects/Foundations/TS/Bot-Modules/API-Data-Fetcher-Bot/FetchingProcess.js rename to Projects/Data-Mining/TS/Bot-Modules/API-Data-Fetcher-Bot/FetchingProcess.js index 1c3a6ef54..a343e5684 100644 --- a/Projects/Foundations/TS/Bot-Modules/API-Data-Fetcher-Bot/FetchingProcess.js +++ b/Projects/Data-Mining/TS/Bot-Modules/API-Data-Fetcher-Bot/FetchingProcess.js @@ -1,5 +1,5 @@ -exports.newFoundationsBotModulesFetchingProcess = function (processIndex) { +exports.newDataMiningBotModulesFetchingProcess = function (processIndex) { const MODULE_NAME = "Fetching Process"; diff --git a/Projects/Foundations/TS/Bot-Modules/API-Data-Fetcher-Bot/SingleMarketAPIDataFetcherBot.js b/Projects/Data-Mining/TS/Bot-Modules/API-Data-Fetcher-Bot/SingleMarketAPIDataFetcherBot.js similarity index 99% rename from Projects/Foundations/TS/Bot-Modules/API-Data-Fetcher-Bot/SingleMarketAPIDataFetcherBot.js rename to Projects/Data-Mining/TS/Bot-Modules/API-Data-Fetcher-Bot/SingleMarketAPIDataFetcherBot.js index b0b9dea23..b87eb3483 100644 --- a/Projects/Foundations/TS/Bot-Modules/API-Data-Fetcher-Bot/SingleMarketAPIDataFetcherBot.js +++ b/Projects/Data-Mining/TS/Bot-Modules/API-Data-Fetcher-Bot/SingleMarketAPIDataFetcherBot.js @@ -1,4 +1,4 @@ -exports.newFoundationsBotModulesSingleMarketAPIDataFetcherBot = function (processIndex) { +exports.newDataMiningBotModulesSingleMarketAPIDataFetcherBot = function (processIndex) { const MODULE_NAME = "Single Market API Data Fetcher Bot"; @@ -41,7 +41,8 @@ exports.newFoundationsBotModulesSingleMarketAPIDataFetcherBot = function (proces let botModuleDefinition = TS.projects.foundations.functionLibraries.taskFunctions.getBotModuleByName( TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.config.botModule ) - let project = TS.projects[TS.projects.foundations.globals.taskConstants.PROJECT_DEFINITION_NODE.config.codeName.toLowerCase()] + let projectCodeName = TS.projects.foundations.globals.taskConstants.PROJECT_DEFINITION_NODE.config.codeName + let project = TS.projects[PROJECTS_SCHEMA_MAP.get(projectCodeName).propertyName] let botModule = project.botModules[botModuleDefinition.propertyName] let moduleFunction = botModule[botModuleDefinition.functionName] botModuleObject = moduleFunction(processIndex) diff --git a/Projects/Foundations/TS/Bot-Modules/Indicator-Bot/Bollinger-Bands/BollingerBandsMultiTimeFrameDaily.js b/Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/Bollinger-Bands/BollingerBandsMultiTimeFrameDaily.js similarity index 99% rename from Projects/Foundations/TS/Bot-Modules/Indicator-Bot/Bollinger-Bands/BollingerBandsMultiTimeFrameDaily.js rename to Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/Bollinger-Bands/BollingerBandsMultiTimeFrameDaily.js index e7a62f89e..8566dfd9b 100644 --- a/Projects/Foundations/TS/Bot-Modules/Indicator-Bot/Bollinger-Bands/BollingerBandsMultiTimeFrameDaily.js +++ b/Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/Bollinger-Bands/BollingerBandsMultiTimeFrameDaily.js @@ -1,4 +1,4 @@ -exports.newFoundationsBotModulesBollingerBandsMultiTimeFrameDaily = function (processIndex) { +exports.newDataMiningBotModulesBollingerBandsMultiTimeFrameDaily = function (processIndex) { const MODULE_NAME = "Bollinger Bands Multi Time Frame Daily" const CANDLES_FOLDER_NAME = "Candles" diff --git a/Projects/Foundations/TS/Bot-Modules/Indicator-Bot/Bollinger-Bands/BollingerBandsMultiTimeFrameMarket.js b/Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/Bollinger-Bands/BollingerBandsMultiTimeFrameMarket.js similarity index 99% rename from Projects/Foundations/TS/Bot-Modules/Indicator-Bot/Bollinger-Bands/BollingerBandsMultiTimeFrameMarket.js rename to Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/Bollinger-Bands/BollingerBandsMultiTimeFrameMarket.js index 77415d46e..70c615653 100644 --- a/Projects/Foundations/TS/Bot-Modules/Indicator-Bot/Bollinger-Bands/BollingerBandsMultiTimeFrameMarket.js +++ b/Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/Bollinger-Bands/BollingerBandsMultiTimeFrameMarket.js @@ -1,4 +1,4 @@ -exports.newFoundationsBotModulesBollingerBandsMultiTimeFrameMarket = function (processIndex) { +exports.newDataMiningBotModulesBollingerBandsMultiTimeFrameMarket = function (processIndex) { const MODULE_NAME = "Bollinger Bands Multi Time Frame Market" const CANDLES_FOLDER_NAME = "Candles" diff --git a/Projects/Foundations/TS/Bot-Modules/Indicator-Bot/Candles-Volumes/CandlesVolumesMultiTimeFrameDaily.js b/Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/Candles-Volumes/CandlesVolumesMultiTimeFrameDaily.js similarity index 99% rename from Projects/Foundations/TS/Bot-Modules/Indicator-Bot/Candles-Volumes/CandlesVolumesMultiTimeFrameDaily.js rename to Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/Candles-Volumes/CandlesVolumesMultiTimeFrameDaily.js index 56962ad7f..e50e98bc7 100644 --- a/Projects/Foundations/TS/Bot-Modules/Indicator-Bot/Candles-Volumes/CandlesVolumesMultiTimeFrameDaily.js +++ b/Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/Candles-Volumes/CandlesVolumesMultiTimeFrameDaily.js @@ -1,4 +1,4 @@ -exports.newFoundationsBotModulesCandlesVolumesMultiTimeFrameDaily = function (processIndex) { +exports.newDataMiningBotModulesCandlesVolumesMultiTimeFrameDaily = function (processIndex) { const MODULE_NAME = "Candles Volumes Multi Time Frame Daily"; const CANDLES_FOLDER_NAME = "Candles"; diff --git a/Projects/Foundations/TS/Bot-Modules/Indicator-Bot/Candles-Volumes/CandlesVolumesMultiTimeFrameMarket.js b/Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/Candles-Volumes/CandlesVolumesMultiTimeFrameMarket.js similarity index 99% rename from Projects/Foundations/TS/Bot-Modules/Indicator-Bot/Candles-Volumes/CandlesVolumesMultiTimeFrameMarket.js rename to Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/Candles-Volumes/CandlesVolumesMultiTimeFrameMarket.js index ea86ca2f6..51f986645 100644 --- a/Projects/Foundations/TS/Bot-Modules/Indicator-Bot/Candles-Volumes/CandlesVolumesMultiTimeFrameMarket.js +++ b/Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/Candles-Volumes/CandlesVolumesMultiTimeFrameMarket.js @@ -1,4 +1,4 @@ -exports.newFoundationsBotModulesCandlesVolumesMultiTimeFrameMarket = function (processIndex) { +exports.newDataMiningBotModulesCandlesVolumesMultiTimeFrameMarket = function (processIndex) { const MODULE_NAME = "Candles Volumes Multi Time Frame Market" const CANDLES_FOLDER_NAME = "Candles" diff --git a/Projects/Foundations/TS/Bot-Modules/Indicator-Bot/FromOneMinToMultiTimeFrameDaily.js b/Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/FromOneMinToMultiTimeFrameDaily.js similarity index 99% rename from Projects/Foundations/TS/Bot-Modules/Indicator-Bot/FromOneMinToMultiTimeFrameDaily.js rename to Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/FromOneMinToMultiTimeFrameDaily.js index 93c384207..8ca4f8a82 100644 --- a/Projects/Foundations/TS/Bot-Modules/Indicator-Bot/FromOneMinToMultiTimeFrameDaily.js +++ b/Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/FromOneMinToMultiTimeFrameDaily.js @@ -1,4 +1,4 @@ -exports.newFoundationsBotModulesFromOneMinToMultiTimeFrameDaily = function (processIndex) { +exports.newDataMiningBotModulesFromOneMinToMultiTimeFrameDaily = function (processIndex) { /* This module is about converting a One-Min Daily typeo of data set into a Multi Time Frame Daily type. diff --git a/Projects/Foundations/TS/Bot-Modules/Indicator-Bot/FromOneMinToMultiTimeFrameMarket.js b/Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/FromOneMinToMultiTimeFrameMarket.js similarity index 99% rename from Projects/Foundations/TS/Bot-Modules/Indicator-Bot/FromOneMinToMultiTimeFrameMarket.js rename to Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/FromOneMinToMultiTimeFrameMarket.js index 6d943ed83..6c07fa35f 100644 --- a/Projects/Foundations/TS/Bot-Modules/Indicator-Bot/FromOneMinToMultiTimeFrameMarket.js +++ b/Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/FromOneMinToMultiTimeFrameMarket.js @@ -1,4 +1,4 @@ -exports.newFoundationsBotModulesFromOneMinToMultiTimeFrameMarket = function (processIndex) { +exports.newDataMiningBotModulesFromOneMinToMultiTimeFrameMarket = function (processIndex) { /* This module is about converting a One-Min Daily typeo of data set into a Multi Time Frame Market type. diff --git a/Projects/Foundations/TS/Bot-Modules/Indicator-Bot/IndicatorOutput.js b/Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/IndicatorOutput.js similarity index 99% rename from Projects/Foundations/TS/Bot-Modules/Indicator-Bot/IndicatorOutput.js rename to Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/IndicatorOutput.js index f6f23ce0c..68129a3ff 100644 --- a/Projects/Foundations/TS/Bot-Modules/Indicator-Bot/IndicatorOutput.js +++ b/Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/IndicatorOutput.js @@ -1,4 +1,4 @@ -exports.newFoundationsBotModulesIndicatorOutput = function (processIndex) { +exports.newDataMiningBotModulesIndicatorOutput = function (processIndex) { /* This module coordinates the actions to be taken to generate an indicator output. It is used from both Multi-Time-Frame-Market and Multi-Time-Frame-Daily frameworks. diff --git a/Projects/Foundations/TS/Bot-Modules/Indicator-Bot/MultiTimeFrameDaily.js b/Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/MultiTimeFrameDaily.js similarity index 99% rename from Projects/Foundations/TS/Bot-Modules/Indicator-Bot/MultiTimeFrameDaily.js rename to Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/MultiTimeFrameDaily.js index d4815fe6b..588914903 100644 --- a/Projects/Foundations/TS/Bot-Modules/Indicator-Bot/MultiTimeFrameDaily.js +++ b/Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/MultiTimeFrameDaily.js @@ -1,4 +1,4 @@ -exports.newFoundationsBotModulesMultiTimeFrameDaily = function (processIndex) { +exports.newDataMiningBotModulesMultiTimeFrameDaily = function (processIndex) { const MODULE_NAME = "Multi Time Frame Daily" /* This module deals with Daily Files, that are data files for Time Frames below 1 hour. @@ -25,7 +25,7 @@ statusDependenciesModule = pStatusDependencies; dataDependenciesModule = pStatusDependenciesModule; - indicatorOutputModule = TS.projects.foundations.botModules.indicatorOutput.newFoundationsBotModulesIndicatorOutput(processIndex) + indicatorOutputModule = TS.projects.foundations.botModules.indicatorOutput.newDataMiningBotModulesIndicatorOutput(processIndex) indicatorOutputModule.initialize(callBackFunction) } diff --git a/Projects/Foundations/TS/Bot-Modules/Indicator-Bot/MultiTimeFrameMarket.js b/Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/MultiTimeFrameMarket.js similarity index 98% rename from Projects/Foundations/TS/Bot-Modules/Indicator-Bot/MultiTimeFrameMarket.js rename to Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/MultiTimeFrameMarket.js index 739a7dc5d..bc01d3b6a 100644 --- a/Projects/Foundations/TS/Bot-Modules/Indicator-Bot/MultiTimeFrameMarket.js +++ b/Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/MultiTimeFrameMarket.js @@ -1,4 +1,4 @@ -exports.newFoundationsBotModulesMultiTimeFrameMarket = function (processIndex) { +exports.newDataMiningBotModulesMultiTimeFrameMarket = function (processIndex) { const MODULE_NAME = "Multi Time Frame Market" /* This module deals with Market Files, that are data files for Time Frames of 1 hour and above. @@ -24,7 +24,7 @@ statusDependenciesModule = pStatusDependencies dataDependenciesModule = pStatusDependenciesModule - indicatorOutputModule = TS.projects.foundations.botModules.indicatorOutput.newFoundationsBotModulesIndicatorOutput(processIndex) + indicatorOutputModule = TS.projects.foundations.botModules.indicatorOutput.newDataMiningBotModulesIndicatorOutput(processIndex) indicatorOutputModule.initialize(callBackFunction) } diff --git a/Projects/Foundations/TS/Bot-Modules/Indicator-Bot/SingleMarketIndicatorBot.js b/Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/SingleMarketIndicatorBot.js similarity index 99% rename from Projects/Foundations/TS/Bot-Modules/Indicator-Bot/SingleMarketIndicatorBot.js rename to Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/SingleMarketIndicatorBot.js index 85baf3204..d517c3c4e 100644 --- a/Projects/Foundations/TS/Bot-Modules/Indicator-Bot/SingleMarketIndicatorBot.js +++ b/Projects/Data-Mining/TS/Bot-Modules/Indicator-Bot/SingleMarketIndicatorBot.js @@ -1,4 +1,4 @@ -exports.newFoundationsBotModulesSingleMarketIndicatorBot = function (processIndex) { +exports.newDataMiningBotModulesSingleMarketIndicatorBot = function (processIndex) { const MODULE_NAME = "Single Market Indicator Bot"; @@ -40,7 +40,8 @@ let botModuleDefinition = TS.projects.foundations.functionLibraries.taskFunctions.getBotModuleByName( TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.config.botModule ) - let project = TS.projects[TS.projects.foundations.globals.taskConstants.PROJECT_DEFINITION_NODE.config.codeName.toLowerCase()] + let projectCodeName = TS.projects.foundations.globals.taskConstants.PROJECT_DEFINITION_NODE.config.codeName + let project = TS.projects[PROJECTS_SCHEMA_MAP.get(projectCodeName).propertyName] let botModule = project.botModules[botModuleDefinition.propertyName] let moduleFunction = botModule[botModuleDefinition.functionName] botModuleObject = moduleFunction(processIndex) @@ -276,22 +277,22 @@ switch (TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.config.framework.name) { case 'Multi-Time-Frame-Market': { - processFramework = TS.projects.foundations.botModules.multiTimeFrameMarket.newFoundationsBotModulesMultiTimeFrameMarket(processIndex) + processFramework = TS.projects.foundations.botModules.multiTimeFrameMarket.newDataMiningBotModulesMultiTimeFrameMarket(processIndex) intitializeProcessFramework() break; } case 'Multi-Time-Frame-Daily': { - processFramework = TS.projects.foundations.botModules.multiTimeFrameDaily.newFoundationsBotModulesMultiTimeFrameDaily(processIndex) + processFramework = TS.projects.foundations.botModules.multiTimeFrameDaily.newDataMiningBotModulesMultiTimeFrameDaily(processIndex) intitializeProcessFramework() break; } case 'From-One-Min-To-Multi-Time-Frame-Market': { - processFramework = TS.projects.foundations.botModules.fromOneMinToMultiTimeFrameMarket.newFoundationsBotModulesFromOneMinToMultiTimeFrameMarket(processIndex) + processFramework = TS.projects.foundations.botModules.fromOneMinToMultiTimeFrameMarket.newDataMiningBotModulesFromOneMinToMultiTimeFrameMarket(processIndex) intitializeProcessFramework() break; } case 'From-One-Min-To-Multi-Time-Frame-Daily': { - processFramework = TS.projects.foundations.botModules.fromOneMinToMultiTimeFrameDaily.newFoundationsBotModulesFromOneMinToMultiTimeFrameDaily(processIndex) + processFramework = TS.projects.foundations.botModules.fromOneMinToMultiTimeFrameDaily.newDataMiningBotModulesFromOneMinToMultiTimeFrameDaily(processIndex) intitializeProcessFramework() break; } diff --git a/Projects/Foundations/TS/Bot-Modules/Sensor-Bot/Exchange-Raw-Data/HistoricOHLCVs.js b/Projects/Data-Mining/TS/Bot-Modules/Sensor-Bot/Exchange-Raw-Data/HistoricOHLCVs.js similarity index 99% rename from Projects/Foundations/TS/Bot-Modules/Sensor-Bot/Exchange-Raw-Data/HistoricOHLCVs.js rename to Projects/Data-Mining/TS/Bot-Modules/Sensor-Bot/Exchange-Raw-Data/HistoricOHLCVs.js index 34cbb378e..ca299e350 100644 --- a/Projects/Foundations/TS/Bot-Modules/Sensor-Bot/Exchange-Raw-Data/HistoricOHLCVs.js +++ b/Projects/Data-Mining/TS/Bot-Modules/Sensor-Bot/Exchange-Raw-Data/HistoricOHLCVs.js @@ -1,4 +1,4 @@ -exports.newFoundationsBotModulesHistoricOHLCVs = function (processIndex) { +exports.newDataMiningBotModulesHistoricOHLCVs = function (processIndex) { const MODULE_NAME = "Historic OHLCVs"; const CANDLES_FOLDER_NAME = "Candles/One-Min"; diff --git a/Projects/Foundations/TS/Bot-Modules/Sensor-Bot/SingleMarketSensorBot.js b/Projects/Data-Mining/TS/Bot-Modules/Sensor-Bot/SingleMarketSensorBot.js similarity index 99% rename from Projects/Foundations/TS/Bot-Modules/Sensor-Bot/SingleMarketSensorBot.js rename to Projects/Data-Mining/TS/Bot-Modules/Sensor-Bot/SingleMarketSensorBot.js index 479524f04..32b7e8c16 100644 --- a/Projects/Foundations/TS/Bot-Modules/Sensor-Bot/SingleMarketSensorBot.js +++ b/Projects/Data-Mining/TS/Bot-Modules/Sensor-Bot/SingleMarketSensorBot.js @@ -1,4 +1,4 @@ -exports.newFoundationsBotModulesSingleMarketSensorBot = function (processIndex) { +exports.newDataMiningBotModulesSingleMarketSensorBot = function (processIndex) { const MODULE_NAME = "Single Market Sensor Bot"; @@ -41,7 +41,8 @@ let botModuleDefinition = TS.projects.foundations.functionLibraries.taskFunctions.getBotModuleByName( TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.config.botModule ) - let project = TS.projects[TS.projects.foundations.globals.taskConstants.PROJECT_DEFINITION_NODE.config.codeName.toLowerCase()] + let projectCodeName = TS.projects.foundations.globals.taskConstants.PROJECT_DEFINITION_NODE.config.codeName + let project = TS.projects[PROJECTS_SCHEMA_MAP.get(projectCodeName).propertyName] let botModule = project.botModules[botModuleDefinition.propertyName] let moduleFunction = botModule[botModuleDefinition.functionName] botModuleObject = moduleFunction(processIndex) diff --git a/Projects/Foundations/TS/Bot-Modules/Sensor-Bot/Webhooks/CheckWebhook.js b/Projects/Data-Mining/TS/Bot-Modules/Sensor-Bot/Webhooks/CheckWebhook.js similarity index 99% rename from Projects/Foundations/TS/Bot-Modules/Sensor-Bot/Webhooks/CheckWebhook.js rename to Projects/Data-Mining/TS/Bot-Modules/Sensor-Bot/Webhooks/CheckWebhook.js index 23d8753c4..ff45cd70d 100644 --- a/Projects/Foundations/TS/Bot-Modules/Sensor-Bot/Webhooks/CheckWebhook.js +++ b/Projects/Data-Mining/TS/Bot-Modules/Sensor-Bot/Webhooks/CheckWebhook.js @@ -1,5 +1,5 @@  -exports.newFoundationsBotModulesCheckWebhook = function (processIndex) { +exports.newDataMiningBotModulesCheckWebhook = function (processIndex) { const MODULE_NAME = "Check Webhooks"; const FOLDER_NAME = "External-Signals"; diff --git a/Projects/Foundations/Schemas/Docs-Topics/D/Data/Data-Mining/data-mining-005-data-mining-indicator-frameworks.json b/Projects/Foundations/Schemas/Docs-Topics/D/Data/Data-Mining/data-mining-005-data-mining-indicator-frameworks.json index 53840f973..24323fa1a 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/D/Data/Data-Mining/data-mining-005-data-mining-indicator-frameworks.json +++ b/Projects/Foundations/Schemas/Docs-Topics/D/Data/Data-Mining/data-mining-005-data-mining-indicator-frameworks.json @@ -90,7 +90,7 @@ }, { "style": "Json", - "text": "\"botModules\": [\n {\n \"name\": \"Candles Volumes Multi Time Frame Market\",\n \"propertyName\": \"candlesVolumesMultiTimeFrameMarket\",\n \"functionName\": \"newFoundationsBotModulesCandlesVolumesMultiTimeFrameMarket\",\n \"fileName\": \"CandlesVolumesMultiTimeFrameMarket.js\",\n \"folderName\": \"Indicator-Bot/Candles-Volumes\"\n },", + "text": "\"botModules\": [\n {\n \"name\": \"Candles Volumes Multi Time Frame Market\",\n \"propertyName\": \"candlesVolumesMultiTimeFrameMarket\",\n \"functionName\": \"newDataMiningBotModulesCandlesVolumesMultiTimeFrameMarket\",\n \"fileName\": \"CandlesVolumesMultiTimeFrameMarket.js\",\n \"folderName\": \"Indicator-Bot/Candles-Volumes\"\n },", "updated": 1621703869144 }, { diff --git a/Projects/ProjectsSchema.json b/Projects/ProjectsSchema.json index f641ff6b2..9982a1af8 100644 --- a/Projects/ProjectsSchema.json +++ b/Projects/ProjectsSchema.json @@ -519,114 +519,6 @@ } ], "botModules": [ - { - "name": "Single Market Sensor Bot", - "propertyName": "singleMarketSensorBot", - "functionName": "newFoundationsBotModulesSingleMarketSensorBot", - "fileName": "SingleMarketSensorBot.js", - "folderName": "Sensor-Bot", - "botType": "Sensor Bot" - }, - { - "name": "Exchange Raw Data Historic OHLCVs", - "propertyName": "historicOHLCVs", - "functionName": "newFoundationsBotModulesHistoricOHLCVs", - "fileName": "HistoricOHLCVs.js", - "folderName": "Sensor-Bot/Exchange-Raw-Data" - }, - { - "name": "Webhooks Check Webhook", - "propertyName": "checkWebhook", - "functionName": "newFoundationsBotModulesCheckWebhook", - "fileName": "CheckWebhook.js", - "folderName": "Sensor-Bot/Webhooks" - }, - { - "name": "Single Market API Data Fetcher Bot", - "propertyName": "singleMarketAPIDataFetcherBot", - "functionName": "newFoundationsBotModulesSingleMarketAPIDataFetcherBot", - "fileName": "SingleMarketAPIDataFetcherBot.js", - "folderName": "API-Data-Fetcher-Bot", - "botType": "API Data Fetcher Bot" - }, - { - "name": "API Data Fetcher Fetching Process", - "propertyName": "fetchingProcess", - "functionName": "newFoundationsBotModulesFetchingProcess", - "fileName": "FetchingProcess.js", - "folderName": "API-Data-Fetcher-Bot" - }, - { - "name": "Single Market Indicator Bot", - "propertyName": "singleMarketIndicatorBot", - "functionName": "newFoundationsBotModulesSingleMarketIndicatorBot", - "fileName": "SingleMarketIndicatorBot.js", - "folderName": "Indicator-Bot", - "botType": "Indicator Bot" - }, - { - "name": "Candles Volumes Multi Time Frame Daily", - "propertyName": "candlesVolumesMultiTimeFrameDaily", - "functionName": "newFoundationsBotModulesCandlesVolumesMultiTimeFrameDaily", - "fileName": "CandlesVolumesMultiTimeFrameDaily.js", - "folderName": "Indicator-Bot/Candles-Volumes" - }, - { - "name": "Candles Volumes Multi Time Frame Market", - "propertyName": "candlesVolumesMultiTimeFrameMarket", - "functionName": "newFoundationsBotModulesCandlesVolumesMultiTimeFrameMarket", - "fileName": "CandlesVolumesMultiTimeFrameMarket.js", - "folderName": "Indicator-Bot/Candles-Volumes" - }, - { - "name": "Bollinger Bands Multi Time Frame Daily", - "propertyName": "bollingerBandsMultiTimeFrameDaily", - "functionName": "newFoundationsBotModulesBollingerBandsMultiTimeFrameDaily", - "fileName": "BollingerBandsMultiTimeFrameDaily.js", - "folderName": "Indicator-Bot/Bollinger-Bands" - }, - { - "name": "Bollinger Bands Multi Time Frame Market", - "propertyName": "bollingerBandsMultiTimeFrameMarket", - "functionName": "newFoundationsBotModulesBollingerBandsMultiTimeFrameMarket", - "fileName": "BollingerBandsMultiTimeFrameMarket.js", - "folderName": "Indicator-Bot/Bollinger-Bands" - }, - { - "name": "Multi Time Frame Market", - "propertyName": "multiTimeFrameMarket", - "functionName": "newFoundationsBotModulesMultiTimeFrameMarket", - "fileName": "MultiTimeFrameMarket.js", - "folderName": "Indicator-Bot" - }, - { - "name": "Multi Time Frame Daily", - "propertyName": "multiTimeFrameDaily", - "functionName": "newFoundationsBotModulesMultiTimeFrameDaily", - "fileName": "MultiTimeFrameDaily.js", - "folderName": "Indicator-Bot" - }, - { - "name": "From One Min To Multi Time Frame Market", - "propertyName": "fromOneMinToMultiTimeFrameMarket", - "functionName": "newFoundationsBotModulesFromOneMinToMultiTimeFrameMarket", - "fileName": "FromOneMinToMultiTimeFrameMarket.js", - "folderName": "Indicator-Bot" - }, - { - "name": "From One Min To Multi Time Frame Daily", - "propertyName": "fromOneMinToMultiTimeFrameDaily", - "functionName": "newFoundationsBotModulesFromOneMinToMultiTimeFrameDaily", - "fileName": "FromOneMinToMultiTimeFrameDaily.js", - "folderName": "Indicator-Bot" - }, - { - "name": "Indicator Output", - "propertyName": "indicatorOutput", - "functionName": "newFoundationsBotModulesIndicatorOutput", - "fileName": "IndicatorOutput.js", - "folderName": "Indicator-Bot" - }, { "name": "Single Market Trading Bot", "propertyName": "singleMarketTradingBot", @@ -937,7 +829,118 @@ } ] }, - "TS": {} + "TS": { + "botModules":[ + { + "name": "Single Market Sensor Bot", + "propertyName": "singleMarketSensorBot", + "functionName": "newDataMiningBotModulesSingleMarketSensorBot", + "fileName": "SingleMarketSensorBot.js", + "folderName": "Sensor-Bot", + "botType": "Sensor Bot" + }, + { + "name": "Exchange Raw Data Historic OHLCVs", + "propertyName": "historicOHLCVs", + "functionName": "newDataMiningBotModulesHistoricOHLCVs", + "fileName": "HistoricOHLCVs.js", + "folderName": "Sensor-Bot/Exchange-Raw-Data" + }, + { + "name": "Single Market API Data Fetcher Bot", + "propertyName": "singleMarketAPIDataFetcherBot", + "functionName": "newDataMiningBotModulesSingleMarketAPIDataFetcherBot", + "fileName": "SingleMarketAPIDataFetcherBot.js", + "folderName": "API-Data-Fetcher-Bot", + "botType": "API Data Fetcher Bot" + }, + { + "name": "API Data Fetcher Fetching Process", + "propertyName": "fetchingProcess", + "functionName": "newDataMiningBotModulesFetchingProcess", + "fileName": "FetchingProcess.js", + "folderName": "API-Data-Fetcher-Bot" + }, + { + "name": "Single Market Indicator Bot", + "propertyName": "singleMarketIndicatorBot", + "functionName": "newDataMiningBotModulesSingleMarketIndicatorBot", + "fileName": "SingleMarketIndicatorBot.js", + "folderName": "Indicator-Bot", + "botType": "Indicator Bot" + }, + { + "name": "Candles Volumes Multi Time Frame Daily", + "propertyName": "candlesVolumesMultiTimeFrameDaily", + "functionName": "newDataMiningBotModulesCandlesVolumesMultiTimeFrameDaily", + "fileName": "CandlesVolumesMultiTimeFrameDaily.js", + "folderName": "Indicator-Bot/Candles-Volumes" + }, + { + "name": "Candles Volumes Multi Time Frame Market", + "propertyName": "candlesVolumesMultiTimeFrameMarket", + "functionName": "newDataMiningBotModulesCandlesVolumesMultiTimeFrameMarket", + "fileName": "CandlesVolumesMultiTimeFrameMarket.js", + "folderName": "Indicator-Bot/Candles-Volumes" + }, + { + "name": "Bollinger Bands Multi Time Frame Daily", + "propertyName": "bollingerBandsMultiTimeFrameDaily", + "functionName": "newDataMiningBotModulesBollingerBandsMultiTimeFrameDaily", + "fileName": "BollingerBandsMultiTimeFrameDaily.js", + "folderName": "Indicator-Bot/Bollinger-Bands" + }, + { + "name": "Bollinger Bands Multi Time Frame Market", + "propertyName": "bollingerBandsMultiTimeFrameMarket", + "functionName": "newDataMiningBotModulesBollingerBandsMultiTimeFrameMarket", + "fileName": "BollingerBandsMultiTimeFrameMarket.js", + "folderName": "Indicator-Bot/Bollinger-Bands" + }, + { + "name": "Multi Time Frame Market", + "propertyName": "multiTimeFrameMarket", + "functionName": "newDataMiningBotModulesMultiTimeFrameMarket", + "fileName": "MultiTimeFrameMarket.js", + "folderName": "Indicator-Bot" + }, + { + "name": "Multi Time Frame Daily", + "propertyName": "multiTimeFrameDaily", + "functionName": "newDataMiningBotModulesMultiTimeFrameDaily", + "fileName": "MultiTimeFrameDaily.js", + "folderName": "Indicator-Bot" + }, + { + "name": "From One Min To Multi Time Frame Market", + "propertyName": "fromOneMinToMultiTimeFrameMarket", + "functionName": "newDataMiningBotModulesFromOneMinToMultiTimeFrameMarket", + "fileName": "FromOneMinToMultiTimeFrameMarket.js", + "folderName": "Indicator-Bot" + }, + { + "name": "From One Min To Multi Time Frame Daily", + "propertyName": "fromOneMinToMultiTimeFrameDaily", + "functionName": "newDataMiningBotModulesFromOneMinToMultiTimeFrameDaily", + "fileName": "FromOneMinToMultiTimeFrameDaily.js", + "folderName": "Indicator-Bot" + }, + { + "name": "Indicator Output", + "propertyName": "indicatorOutput", + "functionName": "newDataMiningBotModulesIndicatorOutput", + "fileName": "IndicatorOutput.js", + "folderName": "Indicator-Bot" + }, + { + "name": "Webhooks Check Webhook", + "propertyName": "checkWebhook", + "functionName": "newDataMiningBotModulesCheckWebhook", + "fileName": "CheckWebhook.js", + "folderName": "Sensor-Bot/Webhooks" + } + ] + } }, { "name": "Ethereum", diff --git a/TaskServer/ProcessInstance.js b/TaskServer/ProcessInstance.js index baed01931..769906ab5 100644 --- a/TaskServer/ProcessInstance.js +++ b/TaskServer/ProcessInstance.js @@ -53,14 +53,14 @@ defined with the same type at the property botType. */ for (let i = 0; i < PROJECTS_SCHEMA.length; i++) { - let project = PROJECTS_SCHEMA[i] - if (project.name !== TS.projects.foundations.globals.taskConstants.PROJECT_DEFINITION_NODE.config.codeName) { continue } - for (let j = 0; j < project.TS.botModules.length; j++) { - botModuleDefinition = project.TS.botModules[j] + let projectDefinition = PROJECTS_SCHEMA[i] + if (projectDefinition.name !== TS.projects.foundations.globals.taskConstants.PROJECT_DEFINITION_NODE.config.codeName) { continue } + for (let j = 0; j < projectDefinition.TS.botModules.length; j++) { + botModuleDefinition = projectDefinition.TS.botModules[j] if (botModuleDefinition.botType === TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode.type) { try { TS.projects.foundations.globals.processVariables.TOTAL_PROCESS_INSTANCES_CREATED++ - let project = TS.projects[TS.projects.foundations.globals.taskConstants.PROJECT_DEFINITION_NODE.config.codeName.toLowerCase()] + let project = TS.projects[projectDefinition.propertyName] let botModule = project.botModules[botModuleDefinition.propertyName] let moduleFunction = botModule[botModuleDefinition.functionName] botModuleObject = moduleFunction(processIndex) diff --git a/TaskServerRoot.js b/TaskServerRoot.js index 65f5a7d23..39811c671 100644 --- a/TaskServerRoot.js +++ b/TaskServerRoot.js @@ -23,6 +23,12 @@ global.env = ENVIRONMENT_MODULE First thing is to load the project schema file. */ global.PROJECTS_SCHEMA = require(global.env.PATH_TO_PROJECT_SCHEMA) +global.PROJECTS_SCHEMA_MAP = new Map() + +for (let i = 0; i < PROJECTS_SCHEMA.length; i++) { + let projectDefinition = PROJECTS_SCHEMA[i] + PROJECTS_SCHEMA_MAP.set(projectDefinition.name, projectDefinition) +} /* Setting up the modules that will be available, defined at the Project Schema file. */