Available translations

Trading Farms - Set Up a Network of Nodes

Summary: Install Superalgos on each machine, to then create and set up a network node for each machine.
There are essentially two approaches from here.
  • Install All in One Node: The first one and probably the easiest one is to first install the markets at one Network Node and later move the branches you want to move to other Network Nodes.
  • Install All in All Nodes: In this approach, you first create all Network Nodes and the install the markets you wish to work with, the install procedure will install each market at all nodes, so then you will need to delete all the duplicate stuff by hand.
Install Market
The procedure to setup a Network Node is by executing the Install Market menu option of a certain Market node. This is a complex procedure that will connect all the dots for you from A to Z. You can do by hand what this procedure does, but it will take you a lot of time, and you will need to know all the details of how to connect everything together.
For example: if you have 2 trading systems, it will automatically create backtesting and live trading tasks for both of them.
The procedure will also be applied to each Network Node found at the workspace, assuming that you will later delete the Tasks or other branches you don't need. But in order to do so, you need to know what is being added as a result of this execution.
At the LAN Network Hierarchy
Here this procedure will essentially add 2 things:
  • Tasks: This includes Backtesting, Live Trading, Learning or any other supported type of Task.
  • Data Products: You can think of this as references to the physical data. These definitions are what tells the system in general where the data is physically located.
At the Charting Space Hierarchy
Here this procedure will add Time Machine s with Timeline Chart s inside of them. Deeper inside this branch, you will find Layer s node, which references the Data Products at the LAN Network Hierarchy. That reference is crucial for the system to know when you turn on a Layer at the charts, where the data needs to be fetched from (which Client).
Moving Tasks
Assuming you will go with the strategy of installing one Network Node first, this is what you need to know on how to move Task s to other Network Nodes.
There are different types of Tasks and each one needs to be moved together with their corresponding Data Products definitions in order for the system to being able to track dependencies. The Data Products definitions are the ones under the Data Storage node of a Network Node. They are subdivided in different branches depending of the Type of Data, Project, Exchange, Market and many other stuff, but in the end you will find Data Product nodes which reference Product Definitions inside Mines. When you move Tasks from one Network Node to other you also need to move the related branch at Data Storage to the same Network Node.
Always remember that the system just needs you to define where you want the Tasks to run and the Data to be Hosted, but there is an implicit relationship between Tasks and Data because a Task produces certain Data, and those definition needs to be consistent and be found at the same Network Node.
Before You Begin
Make a quick list with the name you wish to give to each node and the corresponding IP address on the network. You will need those to configure each network node.
Also, you may want to plan what your operation should look like.
First and foremost, you may want to decide on which node you will keep the workspace on which the network of nodes shall be configured. We call this, the home node.
This is not a requirement, as you may keep different workspaces in different nodes, and even set up different networks on different workspaces, but it’s the most usual setup.
Also, you may want to plan which nodes in the network should run which data-mining tasks, which nodes should run which trading sessions, and so on. As hinted in the fundamental concepts page, possibilities are endless, so we are not going to cover alternatives here. If you know exactly what you want to do, it should be easy to implement. That said, you are free to explore and experiment as well.
Start Here
1. Set up Superalgos on each machine. Once Superalgos is installed, run the system for the first time using the node run noBrowser command. The noBrowser parameter runs the Client without firing up the UI.
2. Run the UI to access the home node.
You may access the home node locally, that is, running the browser on the machine where the home node is running, or you may run the browser on any other machine in the physical network—even one not running Superalgos—by navigating to the home node’s IP address.
Click to learn how to uninstall an existing market
3. Add and configure a network node for each machine.
Adding a Network Node
To add a network node, select Add LAN Network Node on the Superalgos Network node menu. A network node is added along with the basic structure of nodes to set up a node.
Configuring the Network Node
Select Configure on the menu to access the configuration.
"host": "localhost",
"webPort": "34248",
"webSocketsPort": "18041"
  • host is the machine or hardware represented by the network node. The default parameter is localhost, but if you intend to access the Client services of this node from a remote computer, then you must change localhost for the IP Address of the machine on which the node is running, for example, to Use the dotted IP address rather than a host name, since this reduces host name lookups.
  • webPort is the port used by the Web Server, at this stage 34248.
  • webSocketsPort is the port used by the system to communicate over the local area network, by default set at 18041.
Configure the first node and hit F5 to refresh the page. Once the page reloads, a notice indicating the system is connecting with the new network node will show on the top of the screen. Repeat the process for each machine.
Trading Farms - Fundamental Concepts
Trading Farms - Operating a Trading Farm