Parameters control the behavior of trading sessions and improve the quality of simulations.
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.


Parameters

Base Asset

Time Frame

Time Range

Slippage

Fee Structure

Base Asset

The base asset is the asset in the pair on which capital stands when out of a trade.

The basse asset must reference an asset in a specific market of a specific exchange in the Crypto Ecosystem hierarchy.

Click to learn more about base assets

Adding a Base Asset Node

To add a parameter that may be missing, select Add Missing Params on the parameters node menu.

Configuring the Base Asset

Select Configure Base Asset on the menu to access the configuration.

{
"initialBalance": 0.001,
"minimumBalance": 0.0001,
"maximumBalance": 0.1
}
  • initialBalance is the amount of capital you wish to allocate to the trading system.

  • minimumBalance is the threshold of accummulated losses that switches off the session; when your overall balance (balanceAssetA + balanceAssetB) drops to this value, all trading stops; think of the minimumBalance as a general safety switch.

  • maximumBalance is a similar concept as with the minimumBalance but on the high side of the initialBalance.

Quoted Asset

The quoted asset is the asset in the pair for which capital is traded.

The quoted asset must reference the second asset in the same market of the same exchange as the reference established with the base asset.

Click to learn more about quoted assets

Adding a Quoted Asset Node

To add a parameter that may be missing, select Add Missing Params on the parameters node menu.

Time Frame

The time frame is the frequency on which the session runs, meaning that the associated process instance runs once per unit of the time frame.

In the context of backtesting sessions, what time frame you decide to run the session on depends on the strategies being tested. If strategies make decisions based on the 1 hour candle and above, then 01-hs may be the best choice. However, if decisions are influenced by sub-hour candles then you should match the time frame accordingly.

In the context of live sessions, that is, paper trading, forward testing and live trading, you should run the session on the 01-min time frame so that the trading bot reacts fast when the price tags the take profit or stop loss targets.

Click to learn more about time frames

Configuring the Time Frame

Select Configure Time Frame on the menu to access the configuration.

{
"value": "01-min"
}
  • value is the setting for the time frame. You may use any of the values below.

Available options at the sub-hour level are:

01-min
02-min
03-min
04-min
05-min
10-min
15-min
20-min
30-min
45-min

Available options at larger time frames are:

01-hs
02-hs
03-hs
04-hs
06-hs
08-hs
12-hs
24-hs

Slippage

The slippage is an assumption on the difference between the simulated rate and the actual fill rate of an order, most relevant in the context of backtesting and paper-trading sessions. The parameter is a tool to make simulations more realistic.

In the context of forward testing and live trading sessions, slippage does not affect the actual transactions. However, the parameter is taken into account when creating simulation layers, which are also available during forward testing and live trading.

Slippage is factored both in the session reports and in the graphic representation of each trade provided by the simulation trades product of the trading bot.

Click to learn more about slippage

Configuring the Slippage

Select Configure Slippage on the menu to access the configuration.

{
"positionRate": 0.1,
"stopLoss": 0.2,
"takeProfit": 0.3
}
  • positionRate is the slippage value to be applied to the rate of the take position order, expressed as a percentage (i.e.: 0.1 means 0.1%).

  • stopLoss is the slippage value to be applied to the rate of the stop order, expressed as a percentage (i.e.: 0.2 means 0.2%).

  • takeProfit is the slippage value to be applied to the rate of the take profit order, expressed as a percentage (i.e.: 0.3 means 0.3%).

The number you enter is applied as a percentage of the price of the order and added or subtracted from the price depending on the circumstances, always working against you. For instance, "positionRate": 0.1 means the position will be set at a price 0.1% higher or lower depending on which of the assets in the pair is your base asset.

Fee Structure

The fee structure is a parameter enabling users to enter assumptions on fees, to be computed on backtesting and paper trading sessions to make simulations more realistic.

Exchange fees are a crucial part of trading. A strategy may work like a charm when you leave fees out of the equation but would lead you to bankruptcy in a live trading situation.

Fee structures are factored both in the session reports and in the graphic representation of each trade provided by the simulation trades product of the trading bot.

To illustrate how fees affect your bottom line, take a look at the image below.

Trading-Simulation-Fees-Fails

The trade hits the take profit target above the Position Rate level, however, due to fees, the trade has a negative 0.32% ROI.

In the context of forward testing and live trading sessions, the fee structure assumptions do not affect actual transactions. However, the parameter is taken into account when creating simulation layers, which are also available during forward testing and live trading.

Click to learn more about fee structures

Configuring the Fee Structure

Select Configure Fee Structure on the menu to access the configuration.

{
"maker": 0.15,
"taker": 0.25
}
  • maker is the setting for the fee the exchange charges when an order adds liquidity to the market, such as with limit orders.

  • taker is the setting for the fee the exchange charges when an order takes liquidity from the market, such as with market or instant orders.