Algorithmic-Trading project spinned out from Foundations

This commit is contained in:
Luis Fernando Molina committed 2021-09-27 13:37:24 +02:00
1 parent af856335af
commit 1c5e2b68f4
21 files changed
+200 -184

No files matched your search

@@ -1,4 +1,4 @@
exports.newFoundationsBotModulesExchangeAPI = function (processIndex) {
exports.newAlgorithmicTradingBotModulesExchangeAPI = function (processIndex) {
let MODULE_NAME = "Exchange API";
@@ -1,4 +1,4 @@
exports.newFoundationsBotModulesAnnouncements = function (processIndex) {
exports.newAlgorithmicTradingBotModulesAnnouncements = function (processIndex) {
const MODULE_NAME = 'Announcements'
@@ -1,4 +1,4 @@
exports.newFoundationsBotModulesOrdersCalculations = function (processIndex) {
exports.newAlgorithmicTradingBotModulesOrdersCalculations = function (processIndex) {
/*
When we are live trading, we need to syncronize with the exchange.
*/
@@ -1,4 +1,4 @@
exports.newFoundationsBotModulesOrdersSimulations = function (processIndex) {
exports.newAlgorithmicTradingBotModulesOrdersSimulations = function (processIndex) {
/*
When we are backtesting or paper trading, we need to simulate what would have happened at the exchange.
*/
@@ -1,4 +1,4 @@
exports.newFoundationsBotModulesSnapshots = function(processIndex) {
exports.newAlgorithmicTradingBotModulesSnapshots = function(processIndex) {
/*
This module encapsulates the snapshots functionality.
*/
@@ -1,4 +1,4 @@
exports.newFoundationsBotModulesTradingEngine = function (processIndex) {
exports.newAlgorithmicTradingBotModulesTradingEngine = function (processIndex) {
/*
We call the Trading Engine to the data structure that is needed in order to exevute the
trading protocol with the specific rules defined at the Trading System.
@@ -1,4 +1,4 @@
exports.newFoundationsBotModulesTradingEpisode = function (processIndex) {
exports.newAlgorithmicTradingBotModulesTradingEpisode = function (processIndex) {
/*
This module packages all functions related to Episodes.
*/
@@ -1,4 +1,4 @@
exports.newFoundationsBotModulesTradingExecution = function (processIndex) {
exports.newAlgorithmicTradingBotModulesTradingExecution = function (processIndex) {
/*
The Trading Execution modules manages the execution nodes and execution algoritms.
*/
@@ -16,7 +16,7 @@ exports.newFoundationsBotModulesTradingExecution = function (processIndex) {
let tradingSystem
let sessionParameters
let tradingOrdersModuleObject = TS.projects.foundations.botModules.tradingOrders.newFoundationsBotModulesTradingOrders(processIndex)
let tradingOrdersModuleObject = TS.projects.foundations.botModules.tradingOrders.newAlgorithmicTradingBotModulesTradingOrders(processIndex)
return thisObject
@@ -1,4 +1,4 @@
exports.newFoundationsBotModulesTradingOrders = function (processIndex) {
exports.newAlgorithmicTradingBotModulesTradingOrders = function (processIndex) {
/*
The Trading Orders modules manages the execution of orders against the exchanges.
*/
@@ -16,8 +16,8 @@ exports.newFoundationsBotModulesTradingOrders = function (processIndex) {
let tradingSystem
let sessionParameters
let exchangeAPIModuleObject = TS.projects.foundations.botModules.exchangeAPI.newFoundationsBotModulesExchangeAPI(processIndex)
let announcementsModuleObject = TS.projects.foundations.botModules.announcements.newFoundationsBotModulesAnnouncements(processIndex)
let exchangeAPIModuleObject = TS.projects.foundations.botModules.exchangeAPI.newAlgorithmicTradingBotModulesExchangeAPI(processIndex)
let announcementsModuleObject = TS.projects.foundations.botModules.announcements.newAlgorithmicTradingBotModulesAnnouncements(processIndex)
return thisObject
@@ -843,7 +843,7 @@ exports.newFoundationsBotModulesTradingOrders = function (processIndex) {
let previousBaseAssetFeesPaid = tradingEngineOrder.orderBaseAsset.feesPaid.value
let previousQuotedAssetFeesPaid = tradingEngineOrder.orderQuotedAsset.feesPaid.value
let ordersSimulationsModuleObject = TS.projects.foundations.botModules.ordersSimulations.newFoundationsBotModulesOrdersSimulations(processIndex)
let ordersSimulationsModuleObject = TS.projects.foundations.botModules.ordersSimulations.newAlgorithmicTradingBotModulesOrdersSimulations(processIndex)
ordersSimulationsModuleObject.initialize()
ordersSimulationsModuleObject.actualSizeSimulation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, applyFeePercentage)
@@ -874,7 +874,7 @@ exports.newFoundationsBotModulesTradingOrders = function (processIndex) {
let previousBaseAssetFeesPaid = tradingEngineOrder.orderBaseAsset.feesPaid.value
let previousQuotedAssetFeesPaid = tradingEngineOrder.orderQuotedAsset.feesPaid.value
let ordersCalculationsModuleObject = TS.projects.foundations.botModules.ordersCalculations.newFoundationsBotModulesOrdersCalculations(processIndex)
let ordersCalculationsModuleObject = TS.projects.foundations.botModules.ordersCalculations.newAlgorithmicTradingBotModulesOrdersCalculations(processIndex)
ordersCalculationsModuleObject.initialize()
await ordersCalculationsModuleObject.actualSizeCalculation(tradingEngineStage, tradingSystemOrder, tradingEngineOrder, order, applyFeePercentage)
@@ -1,4 +1,4 @@
exports.newFoundationsBotModulesTradingOutput = function (processIndex) {
exports.newAlgorithmicTradingBotModulesTradingOutput = function (processIndex) {
/*
This module will load if necesary all the data outputs so that they can be appended with new
records if needed. After running the simulation, it will save all the data outputs.
@@ -29,7 +29,7 @@ exports.newFoundationsBotModulesTradingOutput = function (processIndex) {
}
/* Preparing everything for the Simulation */
let tradingSimulationModuleObject = TS.projects.foundations.botModules.tradingSimulation.newFoundationsBotModulesTradingSimulation(processIndex)
let tradingSimulationModuleObject = TS.projects.foundations.botModules.tradingSimulation.newAlgorithmicTradingBotModulesTradingSimulation(processIndex)
let outputDatasets = TS.projects.foundations.utilities.nodeFunctions.nodeBranchToArray(TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processOutput, 'Output Dataset')
let outputDatasetsMap = new Map()
@@ -1,4 +1,4 @@
exports.newFoundationsBotModulesTradingPosition = function (processIndex) {
exports.newAlgorithmicTradingBotModulesTradingPosition = function (processIndex) {
/*
This module packages all functions related to Positions.
*/
@@ -1,4 +1,4 @@
exports.newFoundationsBotModulesTradingProcess = function (processIndex) {
exports.newAlgorithmicTradingBotModulesTradingProcess = function (processIndex) {
/*
This Module will load all the process data dependencies from files and send them downstream.
After execution, will save the time range and status report of the process.
@@ -16,8 +16,8 @@
let dataFiles = new Map()
let multiTimeFrameDataFiles = new Map()
TS.projects.foundations.globals.processModuleObjects.MODULE_OBJECTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_MODULE_OBJECT = TS.projects.foundations.botModules.tradingEngine.newFoundationsBotModulesTradingEngine(processIndex)
let tradingOutputModuleObject = TS.projects.foundations.botModules.tradingOutput.newFoundationsBotModulesTradingOutput(processIndex)
TS.projects.foundations.globals.processModuleObjects.MODULE_OBJECTS_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_ENGINE_MODULE_OBJECT = TS.projects.foundations.botModules.tradingEngine.newAlgorithmicTradingBotModulesTradingEngine(processIndex)
let tradingOutputModuleObject = TS.projects.foundations.botModules.tradingOutput.newAlgorithmicTradingBotModulesTradingOutput(processIndex)
let currentTimeFrame = {}
@@ -1,4 +1,4 @@
exports.newFoundationsBotModulesTradingRecords = function (processIndex) {
exports.newAlgorithmicTradingBotModulesTradingRecords = function (processIndex) {
/*
This module facilitates the appending of records to the output of the process.
*/
@@ -1,4 +1,4 @@
exports.newFoundationsBotModulesTradingSimulation = function (processIndex) {
exports.newAlgorithmicTradingBotModulesTradingSimulation = function (processIndex) {
/*
This Module represents the trading simulacion. Escentially a loop through a set of candles and
the execution at each loop cycle of the Trading System Protocol.
@@ -34,13 +34,13 @@ exports.newFoundationsBotModulesTradingSimulation = function (processIndex) {
'[INFO] runSimulation -> finalDatetime = ' + sessionParameters.timeRange.config.finalDatetime)
/* These are the Modules we will need to run the Simulation */
let tradingRecordsModuleObject = TS.projects.foundations.botModules.tradingRecords.newFoundationsBotModulesTradingRecords(processIndex)
let tradingRecordsModuleObject = TS.projects.foundations.botModules.tradingRecords.newAlgorithmicTradingBotModulesTradingRecords(processIndex)
tradingRecordsModuleObject.initialize(outputDatasetsMap)
let tradingSystemModuleObject = TS.projects.foundations.botModules.tradingSystem.newFoundationsBotModulesTradingSystem(processIndex)
let tradingSystemModuleObject = TS.projects.foundations.botModules.tradingSystem.newAlgorithmicTradingBotModulesTradingSystem(processIndex)
tradingSystemModuleObject.initialize()
let tradingEpisodeModuleObject = TS.projects.foundations.botModules.tradingEpisode.newFoundationsBotModulesTradingEpisode(processIndex)
let tradingEpisodeModuleObject = TS.projects.foundations.botModules.tradingEpisode.newAlgorithmicTradingBotModulesTradingEpisode(processIndex)
tradingEpisodeModuleObject.initialize()
/* Setting up the candles array: The whole simulation is based on the array of candles at the time-frame defined at the session parameters. */
@@ -1,4 +1,4 @@
exports.newFoundationsBotModulesTradingStages = function (processIndex) {
exports.newAlgorithmicTradingBotModulesTradingStages = function (processIndex) {
/*
This module packages all functions related to Stages.
*/
@@ -21,12 +21,12 @@ exports.newFoundationsBotModulesTradingStages = function (processIndex) {
finalize: finalize
}
let tradingStrategyModuleObject = TS.projects.foundations.botModules.tradingStrategy.newFoundationsBotModulesTradingStrategy(processIndex)
let tradingPositionModuleObject = TS.projects.foundations.botModules.tradingPosition.newFoundationsBotModulesTradingPosition(processIndex)
let tradingExecutionModuleObject = TS.projects.foundations.botModules.tradingExecution.newFoundationsBotModulesTradingExecution(processIndex)
let announcementsModuleObject = TS.projects.foundations.botModules.announcements.newFoundationsBotModulesAnnouncements(processIndex)
let snapshotsModuleObject = TS.projects.foundations.botModules.snapshots.newFoundationsBotModulesSnapshots(processIndex)
let tradingEpisodeModuleObject = TS.projects.foundations.botModules.tradingEpisode.newFoundationsBotModulesTradingEpisode(processIndex)
let tradingStrategyModuleObject = TS.projects.foundations.botModules.tradingStrategy.newAlgorithmicTradingBotModulesTradingStrategy(processIndex)
let tradingPositionModuleObject = TS.projects.foundations.botModules.tradingPosition.newAlgorithmicTradingBotModulesTradingPosition(processIndex)
let tradingExecutionModuleObject = TS.projects.foundations.botModules.tradingExecution.newAlgorithmicTradingBotModulesTradingExecution(processIndex)
let announcementsModuleObject = TS.projects.foundations.botModules.announcements.newAlgorithmicTradingBotModulesAnnouncements(processIndex)
let snapshotsModuleObject = TS.projects.foundations.botModules.snapshots.newAlgorithmicTradingBotModulesSnapshots(processIndex)
let tradingEpisodeModuleObject = TS.projects.foundations.botModules.tradingEpisode.newAlgorithmicTradingBotModulesTradingEpisode(processIndex)
let tradingEngine
let tradingSystem
@@ -1,4 +1,4 @@
exports.newFoundationsBotModulesTradingStrategy = function (processIndex) {
exports.newAlgorithmicTradingBotModulesTradingStrategy = function (processIndex) {
/*
This module packages all functions related to Strategies.
*/
@@ -1,4 +1,4 @@
exports.newFoundationsBotModulesTradingSystem = function (processIndex) {
exports.newAlgorithmicTradingBotModulesTradingSystem = function (processIndex) {
/*
The Trading System is the user defined set of rules compliant with the Trading Protocol that
defines the trading logic to be applied during each cycle of the Simulation.
@@ -26,7 +26,7 @@ exports.newFoundationsBotModulesTradingSystem = function (processIndex) {
let sessionParameters
let dynamicIndicators
let tradingStagesModuleObject = TS.projects.foundations.botModules.tradingStages.newFoundationsBotModulesTradingStages(processIndex)
let tradingStagesModuleObject = TS.projects.foundations.botModules.tradingStages.newAlgorithmicTradingBotModulesTradingStages(processIndex)
let taskParameters = {
market: TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.baseAsset.referenceParent.config.codeName +
@@ -1,8 +1,8 @@
exports.newFoundationsBotModulesSingleMarketTradingBot = function (processIndex) {
exports.newAlgorithmicTradingBotModulesSingleMarketTradingBot = function (processIndex) {
const MODULE_NAME = "Single Market Trading Bot";
let session = TS.projects.foundations.botModules.tradingSession.newFoundationsBotModulesTradingSession(processIndex)
let session = TS.projects.foundations.botModules.tradingSession.newAlgorithmicTradingBotModulesTradingSession(processIndex)
let nextLoopTimeoutHandle;
let thisObject = {
@@ -282,7 +282,7 @@
"[INFO] run -> loop -> initializeDataDependencies -> onInizialized -> Execution finished well.")
switch (TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.config.framework.name) {
case 'Low-Frequency-Trading-Process': {
processFramework = TS.projects.foundations.botModules.tradingProcess.newFoundationsBotModulesTradingProcess(processIndex);
processFramework = TS.projects.foundations.botModules.tradingProcess.newAlgorithmicTradingBotModulesTradingProcess(processIndex);
startProcessFramework();
break;
}
@@ -1,4 +1,4 @@
exports.newFoundationsBotModulesTradingSession = function (processIndex) {
exports.newAlgorithmicTradingBotModulesTradingSession = function (processIndex) {
const MODULE_NAME = "Trading Session"
@@ -1,4 +1,4 @@
function newFoundationsFunctionLibraryTradingSessionFunctions() {
function newAlgorithmicTradingFunctionLibraryTradingSessionFunctions() {
let thisObject = {
syncronizeSessionWithBackEnd: syncronizeSessionWithBackEnd,
runSession: runSession,
+160 -144
View File
@@ -71,11 +71,6 @@
"propertyName": "taskFunctions",
"functionName": "newFoundationsFunctionLibraryTaskFunctions"
},
{
"name": "Trading Session Functions",
"propertyName": "tradingSessionFunctions",
"functionName": "newFoundationsFunctionLibraryTradingSessionFunctions"
},
{
"name": "Learning Session Functions",
"propertyName": "learningSessionFunctions",
@@ -509,21 +504,6 @@
}
],
"botModules": [
{
"name": "Single Market Trading Bot",
"propertyName": "singleMarketTradingBot",
"functionName": "newFoundationsBotModulesSingleMarketTradingBot",
"fileName": "SingleMarketTradingBot.js",
"folderName": "Trading-Bot",
"botType": "Trading Bot"
},
{
"name": "Trading Session",
"propertyName": "tradingSession",
"functionName": "newFoundationsBotModulesTradingSession",
"fileName": "TradingSession.js",
"folderName": "Trading-Bot"
},
{
"name": "Social Bots",
"propertyName": "socialBots",
@@ -552,125 +532,6 @@
"fileName": "SlackBot.js",
"folderName": "Trading-Bot/Announcements"
},
{
"name": "Trading Process",
"propertyName": "tradingProcess",
"functionName": "newFoundationsBotModulesTradingProcess",
"fileName": "TradingProcess.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Trading Engine",
"propertyName": "tradingEngine",
"functionName": "newFoundationsBotModulesTradingEngine",
"fileName": "TradingEngine.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Trading Output",
"propertyName": "tradingOutput",
"functionName": "newFoundationsBotModulesTradingOutput",
"fileName": "TradingOutput.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Trading Simulation",
"propertyName": "tradingSimulation",
"functionName": "newFoundationsBotModulesTradingSimulation",
"fileName": "TradingSimulation.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Trading Episode",
"propertyName": "tradingEpisode",
"functionName": "newFoundationsBotModulesTradingEpisode",
"fileName": "TradingEpisode.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Trading Records",
"propertyName": "tradingRecords",
"functionName": "newFoundationsBotModulesTradingRecords",
"fileName": "TradingRecords.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Trading System",
"propertyName": "tradingSystem",
"functionName": "newFoundationsBotModulesTradingSystem",
"fileName": "TradingSystem.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Trading Stages",
"propertyName": "tradingStages",
"functionName": "newFoundationsBotModulesTradingStages",
"fileName": "TradingStages.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Trading Strategy",
"propertyName": "tradingStrategy",
"functionName": "newFoundationsBotModulesTradingStrategy",
"fileName": "TradingStrategy.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Trading Execution",
"propertyName": "tradingExecution",
"functionName": "newFoundationsBotModulesTradingExecution",
"fileName": "TradingExecution.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Trading Position",
"propertyName": "tradingPosition",
"functionName": "newFoundationsBotModulesTradingPosition",
"fileName": "TradingPosition.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Announcements",
"propertyName": "announcements",
"functionName": "newFoundationsBotModulesAnnouncements",
"fileName": "Announcements.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Snapshots",
"propertyName": "snapshots",
"functionName": "newFoundationsBotModulesSnapshots",
"fileName": "Snapshots.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Trading Orders",
"propertyName": "tradingOrders",
"functionName": "newFoundationsBotModulesTradingOrders",
"fileName": "TradingOrders.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Orders Simulations",
"propertyName": "ordersSimulations",
"functionName": "newFoundationsBotModulesOrdersSimulations",
"fileName": "OrdersSimulations.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Orders Calculations",
"propertyName": "ordersCalculations",
"functionName": "newFoundationsBotModulesOrdersCalculations",
"fileName": "OrdersCalculations.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Exchange API",
"propertyName": "exchangeAPI",
"functionName": "newFoundationsBotModulesExchangeAPI",
"fileName": "ExchangeAPI.js",
"folderName": "Trading-Bot/Low-Frequency-Trading/APIs"
},
{
"name": "Single Market Learning Bot",
"propertyName": "singleMarketLearningBot",
@@ -790,18 +651,14 @@
]
},
"plugins": [
"Trading Mines",
"Learning Mines",
"Trading Systems",
"Learning Systems",
"Trading Engines",
"Learning Engines",
"Tutorials",
"API Maps"
],
"tasks": [
"Learning Tasks",
"Trading Tasks"
"Learning Tasks"
]
},
{
@@ -935,6 +792,165 @@
"Data Tasks"
]
},
{
"name": "Algorithmic-Trading",
"propertyName": "algorithmicTrading",
"UI": {
"functionLibraries": [
{
"name": "Trading Session Functions",
"propertyName": "tradingSessionFunctions",
"functionName": "newAlgorithmicTradingFunctionLibraryTradingSessionFunctions"
}
]
},
"TS": {
"botModules": [
{
"name": "Single Market Trading Bot",
"propertyName": "singleMarketTradingBot",
"functionName": "newAlgorithmicTradingBotModulesSingleMarketTradingBot",
"fileName": "SingleMarketTradingBot.js",
"folderName": "Trading-Bot",
"botType": "Trading Bot"
},
{
"name": "Trading Session",
"propertyName": "tradingSession",
"functionName": "newAlgorithmicTradingBotModulesTradingSession",
"fileName": "TradingSession.js",
"folderName": "Trading-Bot"
},
{
"name": "Trading Process",
"propertyName": "tradingProcess",
"functionName": "newAlgorithmicTradingBotModulesTradingProcess",
"fileName": "TradingProcess.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Trading Engine",
"propertyName": "tradingEngine",
"functionName": "newAlgorithmicTradingBotModulesTradingEngine",
"fileName": "TradingEngine.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Trading Output",
"propertyName": "tradingOutput",
"functionName": "newAlgorithmicTradingBotModulesTradingOutput",
"fileName": "TradingOutput.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Trading Simulation",
"propertyName": "tradingSimulation",
"functionName": "newAlgorithmicTradingBotModulesTradingSimulation",
"fileName": "TradingSimulation.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Trading Episode",
"propertyName": "tradingEpisode",
"functionName": "newAlgorithmicTradingBotModulesTradingEpisode",
"fileName": "TradingEpisode.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Trading Records",
"propertyName": "tradingRecords",
"functionName": "newAlgorithmicTradingBotModulesTradingRecords",
"fileName": "TradingRecords.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Trading System",
"propertyName": "tradingSystem",
"functionName": "newAlgorithmicTradingBotModulesTradingSystem",
"fileName": "TradingSystem.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Trading Stages",
"propertyName": "tradingStages",
"functionName": "newAlgorithmicTradingBotModulesTradingStages",
"fileName": "TradingStages.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Trading Strategy",
"propertyName": "tradingStrategy",
"functionName": "newAlgorithmicTradingBotModulesTradingStrategy",
"fileName": "TradingStrategy.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Trading Execution",
"propertyName": "tradingExecution",
"functionName": "newAlgorithmicTradingBotModulesTradingExecution",
"fileName": "TradingExecution.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Trading Position",
"propertyName": "tradingPosition",
"functionName": "newAlgorithmicTradingBotModulesTradingPosition",
"fileName": "TradingPosition.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Announcements",
"propertyName": "announcements",
"functionName": "newAlgorithmicTradingBotModulesAnnouncements",
"fileName": "Announcements.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Snapshots",
"propertyName": "snapshots",
"functionName": "newAlgorithmicTradingBotModulesSnapshots",
"fileName": "Snapshots.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Trading Orders",
"propertyName": "tradingOrders",
"functionName": "newAlgorithmicTradingBotModulesTradingOrders",
"fileName": "TradingOrders.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Orders Simulations",
"propertyName": "ordersSimulations",
"functionName": "newAlgorithmicTradingBotModulesOrdersSimulations",
"fileName": "OrdersSimulations.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Orders Calculations",
"propertyName": "ordersCalculations",
"functionName": "newAlgorithmicTradingBotModulesOrdersCalculations",
"fileName": "OrdersCalculations.js",
"folderName": "Trading-Bot/Low-Frequency-Trading"
},
{
"name": "Exchange API",
"propertyName": "exchangeAPI",
"functionName": "newAlgorithmicTradingBotModulesExchangeAPI",
"fileName": "ExchangeAPI.js",
"folderName": "Trading-Bot/Low-Frequency-Trading/APIs"
}
]
},
"plugins": [
"Trading Mines",
"Trading Systems",
"Trading Engines"
],
"tasks": [
"Trading Tasks"
]
},
{
"name": "Community-Plugins",
"propertyName": "communityPlugins",