The production environment within the network hierarchy organizes your strategy-deployment resources, grouping tasks, and associated forward testing and live trading sessions.
The production environment node organizes trading sessions involving live trading.

Superalgos aims to provide a flexible and robust strategy-deployment toolbox.

If you work with multiple markets, multiple exchanges, or multiple trading systems, it is recommended to organize your forward testing and live trading sessions below the production environment node.


Testing Environment

Task Manager

Task

Trading Bot Instance

Trading Process Instance

Market Reference

Key Instance

Forward Testing Session
—or—
Live Trading Session

Parameters

Task Manager

A task manager is a device used to organize and control any number of tasks, which, in turn, control bot instances. You use a task manager to start or stop several tasks at the same time.

A task manager facilitates the organization of tasks. For example, you may wish to set up a task manager to handle tasks related to a particular set of indicators you use with a certain strategy. Or, for example, to organize multiple backtesting sessions.

Click to learn more about task managers

Adding a Task Manager Node

To add a task manager, select Add Task Manager on the My Computer network node menu. A task manager is added along with a task.

Starting a Task Manager

Select Run All Tasks or Stop All Tasks on the menu to start and stop all tasks respectively.

Task

A task is the device used to control bot instances, that is, to start and stop bots, including sensors, indicators and the trading bot.

Each task controls a single bot. A bot instance running on its own task is independent from other bots at the operating system level, thus, may not be affected by errors ocurring on those other bots.

Click to learn more about tasks

Adding a Task Node

To add a task, select Add Task on the task manager node menu.

Starting a Task

Select Run on the menu to start a task. When a task is started, the process instance of the bot instance attached to the task is started. Also, a visual indication that both the task and the process instance are running appear surrounding the corresponding nodes, in the form of a progress ring.

To stop a task, select Stop on the menu.

Trading Bot Instance
A trading bot instance is a reference to the trading bot as defined in the Masters data mine. The instance of the bot runs the defined processes and generates the defined data products.

Based on datasets exposed as products by other bots (counting sensors, indicators and even other trading bots), a trading bot applies the trading logic defined on a trading system to, on one side, generate a complete trading simulation (outputting datasets that include trades, the action of strategies, validation of conditions, etc.), and on the other side, manage the execution of orders when on a forward testing or live trading session.

The trading bot instance holds no definitions as to what the bot does. Instead, its process instance references the process definition in the Masters data mine. That is how the indicator bot instance obtains the information of what it needs to do once it is run.

Click to learn more about trading bot instances

Adding a Trading Bot Instance Node

To add a trading bot instance, select Add Trading Bot Instance on the task node menu. When a trading bot instance is added, it is created with one trading process instance, and a market reference.

Starting a Trading Bot Instance

You do not start or stop a trading bot instance directly. Instead, you start or stop the corresponding task.

Trading Process Instance
A trading process instance is a reference to the process definition of the trading bot, as defined in the Masters data mine.

The trading process instance must reference the Multi-Period process definition of the Jason trading bot in the Masters data mine.

Click to learn more about trading process instances

Adding a Trading Process Instance Node

To add a trading process instance, select Add Trading Process Instance on the trading bot instance node menu. When a trading process instance is added, it is created with a market reference.

Starting a Trading Process Instance

You do not start or stop a trading process instance directly. Instead, you start or stop the corresponding task.

Market Reference
A market reference is a reference to a specific market in a specific exchange, as defined in the Crypto Ecosystem hierarchy. The reference dictates which market the process works with.

In other words, a market reference is the piece of information that lets the process instance know which market of which exchange it needs to process.

Click to learn more about market references

Adding a Market Reference Node

To add a market reference, select Add Market Reference on the sensor, indicator or trading process instance node menu.

Key Instance
The key instance is a reference to an exchange account key as defined in a specific user account, in a specific exchange, on the Crypto Ecosystem hierarchy.

The key instance must be attached to market reference nodes that participate in forward testing and live trading sessions, as that is the scenario in which the user must validate the account with the exchange.

Some exchanges—like Binance—require validating the user even when retrieving data from the exchange. For such reasons, the key instance must also be attached to the market reference of the sensor process instance that connects to such exchanges.

In all cases, the key instance node must reference a valid exchange account key from an account with the exchange, as defined in the Crypto Ecosystem hierarchy.

Click to learn more about key instances

Adding a Key Instance Node

To add a key instance, select Add Key Instance on the market reference node menu.

Forward Testing Session
A forward testing session is a trading mode by which the trading bot instance performs live trading with a user-defined fraction of the available capital.

A forward testing session node must reference a trading system to gain access to the trading logic to be applied during the session. Other considerations framing the session come from the set of parameters attached to it.

Click to learn more about live session requirementss

Adding a Live Session Requirements Node

To add a forward testing session, select Add Forward Testing Session on the trading process instance node menu. When a session is added, it is created with the full set of parameters.

Configuring the Live Session Requirements

Select Configure Session on the menu to access the configuration.

{ 
"folderName": "Session-Name",
"balancePercentage": 1
}
  • folderName allows you to set a significant name to the folder in which the data products—and logs—generated by the session are stored. If left blank, the system names the folders with the session id. This may be handy when you intend to consult the raw data generated by the session, as, otherwise, the folder would be hard to identify.

  • balancePercentage is a number defining the percentage of the initialBalance specified in the base aset configuration that will be used for trading. For instance, "balancePercentage": 1 means that 1% of your balance will be made available. Just like the initialBalance is scaled down, the minimumBalance and maximumBalance are also scaled down accordingly (see base asset).

Let’s draw a quick example:

Your base asset is USDT and your initialBalance is USDT 10,000.

If you set up your forward-testing session with “balancePercentage”: “1”, then USDT 10,000 * 1% = USDT 100. This is the balance that will be available to your forward-testing session.

Starting a Live Session Requirements

Before you start a forward testing session, the corresponding task needs to be running, as it is the task that puts the trading bot instance to run. Once the trading bot instance is running, select Run on the menu to start the session.

To stop a backtesting session, select Stop on the menu.

Live Trading Session
A live trading session is a trading mode by which the trading bot instance reads a live market data feed, applies the rules as defined in the associated trading system, places the corresponding orders at the associated exchange, and stores the defined data products.

A live trading session node must reference a trading system to gain access to the trading logic to be applied during the session. Other considerations framing the session come from the set of parameters attached to it.

Click to learn more about live session requirementss

Adding a Live Session Requirements Node

To add a live trading session, select Add Live Trading Session on the trading process instance node menu. When a session is added, it is created with the full set of parameters.

Configuring the Live Session Requirements

Select Configure Session on the menu to access the configuration.

{
"folderName": "Session-Name"
}
  • folderName allows you to set a significant name to the folder in which the data products—and logs—generated by the session are stored. If left blank, the system names the folders with the session id. This may be handy when you intend to consult the raw data generated by the session, as, otherwise, the folder would be hard to identify.
Starting a Live Session Requirements

Before you start a live trading session, the corresponding task needs to be running, as it is the task that puts the trading bot instance to run. Once the trading bot instance is running, select Run on the menu to start the session.

To stop a backtesting session, select Stop on the menu.

Parameters
Parameters are properties of trading sessions, defined by users, to determine their behavior and improve the quality of simulations.

The behavior of parameters may vary depending on the type of session.

Each testing session has its own set of parameters. This allows you to configure different trading sessions with different parameters, and go back and forth between them as required. For instance, you may have different backtesting sessions with different date ranges, different exchange fees or different slippage settings to account for different possible scenarios.

Click to learn more about parameters

Adding a Parameters Node

To add a parameters node, select Add Parameters on the session or the trading system menu, depending on the context. When a parameters node is added, the full set of parameters are created with it.

If you already have a parameters node but are missing some of the parameters, then select Add Missing Params on the menu.