There are multiple different types of hierarchies: Superalgos Project, Crypto Ecosystem, Network, Charting Space, Trading System, Trading Engine, Trading Mine, Data Mines, and Super Scripts.

A hierarchy is a data structure representing an overarching, top-level concept, resulting in a long chain of nodes, usually with many ramifications. The system manages different types of hierarchies, each of them with a specific focus.

Design Space

The design space is the visual environment that hosts all system and user definitions. In practical terms, it is the black space below the slider that splits the screen horizontally, separating the design space in the bottom from the charting space on top. As a hierarchy, it features nodes that enable user-control over certain aspects of the look, feel, and behavior of the space.

Think of the design space as your desktop, or the control room of the system.

Network

The network hierarchy provides the control functions for running data-mining and trading operations. Because operations may be run either on a single machine or distributed over a network of machines, it also contains definitions regarding the physical location in which nodes live or function.

The network hierarchy defines where in the network you run each of the bots you choose to run, and where the data they output is stored.

You will use the network hierarchy for the following purposes:

  • To control your data mining operation—that is, tasks running sensor and indicator bots. Data mining tasks process data that may be consumed by others; for example, so that your trading systems may count with quality information.

  • To control your testing environment—that is, trading sessions including backtesting and paper trading sessions.

  • To control your production environment—that is, forward testing, and live trading sessions.

  • To manage the storage of the data produced by the bots you run as outputs. This includes administering the physical locations on which the data products produced by bots reside.

Charting Space

The charting space is the hierarchy that governs the configuration of the charts, and the bidimensional space on which charts are drawn.

Think of the charting space as a huge drawing board. You may have lots of information plotted on different parts of the space and use a viewport to look into that space.

There is only one charting space hierarchy, thus all charts are configured here. As is common throughout the system, different concepts and elements of the charts such as scales, data layers and so on, are represented by nodes in the hierarchy. The system allows great flexibility on how to visualize information over the charts by adding, configuring, and arranging these nodes.

Trading System

A trading system is a framework handling the low-level logic that serves to structure the processes and methods used to implement and deploy trading strategies.

In practical terms, a trading system is a hierarchical arrangement organizing the actionable aspects of your investment plan. The hierarchy contains definitions regarding any number of trading strategies, all operating on the same market and sharing the same initial capital allocation.

You use a trading system to define strategies following the Superalgos Protocol, splitting strategies into four stages: trigger, open, manage, and close.

The concept of describing strategies in stages is fundamental to the methodical aspect of the trading system, as it provides a framework to run every strategy with the same framework, which contributes to developing scalable trading systems that may grow to any number of strategies.

When a trading system features more than one strategy, the first strategy has precedence over the second, the second over the third, and so on. This means that strategies are evaluated in a sequence. When a given strategy is triggered-on, the remaining strategies in the queue are no longer evaluated until the strategy triggers off. In other words, when multiple strategies are deployed within a single trading system, only one strategy may trade at any given moment, and precedence is given by the order around the trading system node.

As a corollary to the above, if you wish strategies to operate in different markets, or you wish strategies to be able to take positions simultaneously, then you must set up those strategies in different trading systems.

Click to learn more about trading systems

Adding a Trading System Node

To add a trading system, select Add Trading System on the other hierarchies node menu in the Superalgos Project hierarchy.

Trading Mine

A trading mine is a hierarchy that contains definitions of trading bots and their plotters. These definitions make up the actual programs of such bots—the source code.

Altough Superalgos is starting out with a single trading bot, the system is prepared to feature as many trading bots as developers are willing to create. As such, a trading mine is a catalog of trading bots.

Notice that, in the context of Superalgos, a trading bot has nothing to do with the trading logic. Think of trading logic as the business rules which—in Superalgos—are defined in trading systems. Anyone may build trading systems, meaning that creating a trading system and the trading strategies within does not require coding.

Trading mines work similarly to data mines in the sense that they provide the same kind of tools to structure the definitions of bots, including process definitions, product definitions, and plotters.

Click to learn more about trading mines

Adding a Trading Mine Node

To add the trading mine node, select Add Trading Mine on the other hierarchies node menu in the Superalgos Project hierarchy.

Trading Engine

The trading engine hierarchy is the data structure used by the trading bot to keep runtime information highly accessible and exposed to others.

You will use this hierarchy for two main purposes:

  • To let your trading systems access the information processed by the trading bot. This allows strategies to keep track of and react to current and past events—including those involving the exchange, such as orders placed or filled—as the bot is running.

  • To keep track of the actions of the trading bot via the design space visual environment and panels over the charts. By analyzing runtime information, you may gain a detailed understanding of what happens, when, and why, throughout a trading session.

The hierarchy exposes—literally—all the information processed by the trading bot, providing a comprehensive feedback loop to trading systems and analysis capabilities to users.

Click to learn more about trading engines

Adding a Trading Engine Node

To add the trading engine node from scratch, select Add Trading Engine on the other hierarchies node menu in the Superalgos Project hierarchy.

Crypto Ecosystem

The crypto ecosystem is a hierarchy that contains definitions about third-parties, including exchanges and their markets, as well as accounts of users with those third parties.

There is only one crypto ecosystem hierarchy. You will use it to define which exchanges and which markets you wish to work with, as well as the details of your accounts with those exchanges.

Data Mine

A data mine is a hierarchy that contains definitions of sensor and indicators bots, and their plotters. These definitions make up the actual programs of such bots—the source code.

In a way, data mines are catalogs of bots that anyone may create. This hierarchy provides all the tools required to create sensors, indicators, and plotters, with minimal coding required.

Because the hierarchy provides definitions, it does not intervene in the execution of bots. Instead, the definitions in data mines are instantiated from the network hierarchy by bot instances. Bot instances and process instances are the ones running the code according to the definitions in the corresponding data mine.

Click to learn more about data mines

Adding a Data Mine Node

To add a data mine, select Add Data Mine on the mines node menu in the Superalgos Project hierarchy.

Configuring the Data Mine

Select Configure Data Mine on the menu to access the configuration.

{
"codeName": "Supermine"
}
  • codeName is the name of the data mine as used within the code of the system.

Plugins

The plugins hierarchy defines which plugins are to be included in the current workspace. In the context of this hierarchy, plugins are JSON files featuring the description of a hierarchy such as a data mine, trading mine, trading engine, or trading system.

In the context of a community-driven project, a plugin is a device that serves to distribute community-generated intelligence. The project distributes several plugins contributed by the community.

Click to learn more about pluginss

Adding a Plugins Node

To add the plugins node, select Add Missing Items on the parent node menu.

Configuring the Plugins

Select Configure on the menu to access the configuration.

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Super Scripts

The super scripts hierarchy holds definitions of scripts used to automate certain aspects of the administration and maintenance of the workspace, such as installing and deleting markets.

The super scripts hierarchy may be used by developers who wish to create their own scripts for automating the deployment or manitenance of all sorts of structures of nodes across any of the hierarchies in the design space.

Regular users will find little to do with this hierarchy, even though they may use it indirectly, for instance, when installing or uninstalling markets.

Click to learn more about super scriptss

Adding a Super Scripts Node

To add a super scripts hierarchy, select Add Super Scripts on the other hierarchies node menu in the Superalgos Project hierarchy.

Configuring the Super Scripts

Select Configure Super Scripts on the menu to access the configuration.

{ 
"codeName": "Masters"
}
  • codeName is the name of the hierarchy as is used in the system’s code.