Official blocks: Indicators

A plain-English guide to what indicators are and to the nine Deriv indicator blocks (SMA, EMA, RSI, Bollinger Bands, MACD) with their small input blocks.

Official blocks: Indicators

What is an indicator?

An indicator is a small piece of maths that looks at a list of past prices and boils it down to one number, or to a new list of numbers. The idea is to make a messy list of prices easier to read. For example, an average smooths out the little ups and downs so you can see which way the price has been drifting.

An indicator only describes the past. It does not know what the market will do next, and none of them predicts the future. A reading that looked "strong" yesterday can be wrong today. Treat every indicator as one more piece of information, never as a promise. Using one does not protect your stake or make a trade safer.

Words you will meet

  • List (the blocks call it an "Array"): a row of numbers, for example the last 1000 tick prices.
  • Period: how many of the latest numbers the indicator looks at. A bigger period looks further back, so the result moves more slowly.
  • Variable: a named box that holds a value. Each indicator block stores its result in a variable you choose (the box next to "set").
  • Pip size: the number of decimals a market uses. Results of the list versions, of EMA and of Bollinger Bands are rounded to the market's decimals.

How the indicator blocks work

In the Bot Builder you find them under Analysis, in the sub-menu Indicators. Each indicator is an action block: it has a notch on top and below, so it snaps into a stack like any other action block. Put it inside a section that holds action blocks, for example Purchase conditions or Run on every tick. When the bot runs it, the result goes into the variable, and you use that variable later (for example in an if test).

Each indicator comes with small, locked blocks inside it: Input List and Period (and a few more for Bollinger Bands and MACD). You cannot delete or move them, and you cannot drag in other blocks; you only fill in their sockets. The Input List must be a list of plain numbers: use Ticks list, or Make a List of Close values in candles list (see the Tick and candle analysis section). Give the list at least as many numbers as the period, or the bot stops with the error "Periods longer than data length".

Most indicators come in two versions. The plain version gives one number (the newest reading). The Array version (the name ends in "Array") gives a list with a reading for every step along the way, so you can see how the indicator moved. The last item of that list is the newest reading.

set ... to Simple Moving Average

  • Kind: Official (Deriv)
  • Type id: sma_statement
  • Shape: Action block (it stores a result in a variable)
  • Where it goes: Inside any section that holds action blocks, for example Purchase conditions or Run on every tick. You can use it more than once, each with its own variable.
  • What it does: Works out the plain average of the latest numbers in a list and stores it in a variable. SMA stands for Simple Moving Average. It measures where the price has been "on average" lately, which smooths out small jumps.
  • Inputs:
    • Variable dropdown (the box after "set"): the variable that receives the result. It starts as sma; pick or create any name.
    • Input List (locked inner block, see below): a list of numbers, such as Ticks list.
    • Period (locked inner block): how many numbers to look at. The menu fills it with 10.
  • How it works: The bot takes the last Period numbers of the list, adds them up and divides by Period. The single result is not rounded. If the list has fewer numbers than the period, the bot stops with "Periods longer than data length".
  • Example:
┌─ 2. Purchase conditions ─────────────────────────────────────┐
│ set [ sma ▾ ] to Simple Moving Average                       │
│   Input List ( Ticks list )                                  │
│   Period ( 10 )                                              │
│ if < ( Last Tick ) > ( sma ) >                               │
│ then  Purchase [ Rise ▾ ]                                    │
└──────────────────────────────────────────────────────────────┘

The bot averages the last 10 ticks and buys Rise when the newest price is above that average.

  • Good to know:
    • Deriv describes SMA as a trend helper: if the average keeps moving up, the market has been trending up. That is a description of the past.
    • A bigger period gives a smoother but slower line.

set ... to Simple Moving Average Array

  • Kind: Official (Deriv)
  • Type id: smaa_statement
  • Shape: Action block (it stores a result in a variable)
  • Where it goes: Inside any section that holds action blocks, for example Purchase conditions or Run on every tick. You can use it more than once, each with its own variable.
  • What it does: Gives the whole SMA line as a list instead of one number. Each item is the average of one window of Period numbers, sliding along the input list.
  • Inputs:
    • Variable dropdown (the box after "set"): the variable that receives the result. It starts as smaa; pick or create any name.
    • Input List (locked inner block, see below): a list of numbers, such as Ticks list.
    • Period (locked inner block): how many numbers to look at. The menu fills it with 10.
  • How it works: The bot slides a window of Period numbers along the input list, one step at a time, and works out the average for each window. Each result is rounded to the market's decimals. The list has (list length - period + 1) items, and the last one is the newest average.
  • Example:
┌─ 2. Purchase conditions ─────────────────────────────────────┐
│ set [ smaa ▾ ] to Simple Moving Average Array                │
│   Input List ( Ticks list )                                  │
│   Period ( 10 )                                              │
└──────────────────────────────────────────────────────────────┘

The variable smaa becomes a list of moving averages, oldest first. Use list blocks to pick the item you need.

  • Good to know:
    • The first item needs a full window, so the list is shorter than the input by (period - 1).
    • Same error as SMA if the input list is shorter than the period.

set ... to Bollinger Bands

  • Kind: Official (Deriv)
  • Type id: bb_statement
  • Shape: Action block (it stores a result in a variable)
  • Where it goes: Inside any section that holds action blocks, for example Purchase conditions or Run on every tick. You can use it more than once, each with its own variable.
  • What it does: Works out one line of the Bollinger Bands for the latest numbers and stores it as a number. The bands wrap around a moving average: an upper band above it and a lower band below it. They show how widely the price has been swinging.
  • Inputs:
    • Variable dropdown (the box after "set"): the variable that receives the result. It starts as bb; pick or create any name.
    • Band dropdown: upper, middle or lower. The menu starts with middle.
    • Input List (locked inner block, see below): a list of numbers, such as Ticks list.
    • Period (locked inner block): how many numbers to look at. The menu fills it with 10.
    • Standard Deviation Up Multiplier (locked inner block): how far above the middle the upper band sits. The menu fills it with 5.
    • Standard Deviation Down Multiplier (locked inner block): how far below the middle the lower band sits. The menu fills it with 5.
  • How it works: The bot takes the last Period numbers. The middle line is their average. The standard deviation (a measure of how far the numbers usually sit from their average) is worked out. The upper band is the middle plus (standard deviation x up multiplier). The lower band is the middle minus (standard deviation x down multiplier). Your dropdown picks which of the three goes into the variable, rounded to the market's decimals.
  • Example:
┌─ 2. Purchase conditions ─────────────────────────────────────┐
│ set [ bb ▾ ] to Bollinger Bands [ upper ▾ ]                  │
│   Input List ( Ticks list )                                  │
│   Period ( 20 )                                              │
│   Standard Deviation Up Multiplier ( 2 )                     │
│   Standard Deviation Down Multiplier ( 2 )                   │
└──────────────────────────────────────────────────────────────┘

The variable bb holds the upper band of the last 20 ticks.

  • Good to know:
    • Deriv says that when the price touches a band, a turn-around is possible. It is only a possibility, not a signal to count on.
    • Bigger multipliers make wider bands. Fill both multipliers in; they are required.

set ... to Bollinger Bands Array

  • Kind: Official (Deriv)
  • Type id: bba_statement
  • Shape: Action block (it stores a result in a variable)
  • Where it goes: Inside any section that holds action blocks, for example Purchase conditions or Run on every tick. You can use it more than once, each with its own variable.
  • What it does: Gives one whole line of the Bollinger Bands as a list. The line is the lower band, the middle line (a moving average) or the upper band, as you choose.
  • Inputs:
    • Variable dropdown (the box after "set"): the variable that receives the result. It starts as bba; pick or create any name.
    • Band dropdown: upper, middle or lower. The menu starts with middle.
    • Input List (locked inner block, see below): a list of numbers, such as Ticks list.
    • Period (locked inner block): how many numbers to look at. The menu fills it with 10.
    • Standard Deviation Up Multiplier (locked inner block): the menu fills it with 5.
    • Standard Deviation Down Multiplier (locked inner block): the menu fills it with 5.
  • How it works: The bot slides a window of Period numbers along the list. For each window it works out the middle, upper and lower bands exactly as Bollinger Bands does, and keeps the one you chose. The list has (list length - period + 1) items, rounded to the market's decimals, and the last item is the newest.
  • Example:
┌─ 2. Purchase conditions ─────────────────────────────────────┐
│ set [ bba ▾ ] to Bollinger Bands Array [ lower ▾ ]           │
│   Input List ( Ticks list )                                  │
│   Period ( 20 )                                              │
│   Standard Deviation Up Multiplier ( 2 )                     │
│   Standard Deviation Down Multiplier ( 2 )                   │
└──────────────────────────────────────────────────────────────┘

The variable bba is a list of lower-band values, one per window.

  • Good to know:
    • Use it when you want to compare how the band moved over time.
    • Same error as the other indicators if the list is shorter than the period.

set ... to Exponential Moving Average

  • Kind: Official (Deriv)
  • Type id: ema_statement
  • Shape: Action block (it stores a result in a variable)
  • Where it goes: Inside any section that holds action blocks, for example Purchase conditions or Run on every tick. You can use it more than once, each with its own variable.
  • What it does: Works out the Exponential Moving Average (EMA) of a list and stores it in a variable. It is an average that gives more weight to the newest numbers, so it reacts faster to recent price changes than SMA does.
  • Inputs:
    • Variable dropdown (the box after "set"): the variable that receives the result. It starts as ema; pick or create any name.
    • Input List (locked inner block, see below): a list of numbers, such as Ticks list.
    • Period (locked inner block): how many numbers to look at. The menu fills it with 10.
  • How it works: The bot starts from the average of the first Period numbers of the list. Then it goes through the remaining numbers one by one, each time moving the result part of the way toward the new number. The step size is 2 / (Period + 1). The final result is rounded to the market's decimals.
  • Example:
┌─ 2. Purchase conditions ─────────────────────────────────────┐
│ set [ ema ▾ ] to Exponential Moving Average                  │
│   Input List ( Ticks list )                                  │
│   Period ( 10 )                                              │
└──────────────────────────────────────────────────────────────┘

The variable ema holds a fast-reacting average of the tick prices.

  • Good to know:
    • Same list and period rules as SMA. If the list is shorter than the period, the bot stops with "Periods longer than data length".
    • The same list can give slightly different EMA values if you cut it differently, because the calculation starts at the first number you give it.

set ... to Exponential Moving Average Array

  • Kind: Official (Deriv)
  • Type id: emaa_statement
  • Shape: Action block (it stores a result in a variable)
  • Where it goes: Inside any section that holds action blocks, for example Purchase conditions or Run on every tick. You can use it more than once, each with its own variable.
  • What it does: Gives the whole EMA line as a list. There is one EMA value for each step from the first full period to the newest number.
  • Inputs:
    • Variable dropdown (the box after "set"): the variable that receives the result. It starts as emaa; pick or create any name.
    • Input List (locked inner block, see below): a list of numbers, such as Ticks list.
    • Period (locked inner block): how many numbers to look at. The menu fills it with 10.
  • How it works: The first item is the average of the first Period numbers. Each next item moves part of the way (2 / (Period + 1)) toward the next number. Values are rounded to the market's decimals. The list has (list length - period + 1) items, and the last item is the newest EMA.
  • Example:
┌─ 2. Purchase conditions ─────────────────────────────────────┐
│ set [ emaa ▾ ] to Exponential Moving Average Array           │
│   Input List ( Ticks list )                                  │
│   Period ( 10 )                                              │
└──────────────────────────────────────────────────────────────┘

The variable emaa is a list of EMA values, oldest first.

  • Good to know:
    • Handy for comparing two EMA lines with different periods.
    • Needs at least as many numbers as the period.

set ... to Relative Strength Index

  • Kind: Official (Deriv)
  • Type id: rsi_statement
  • Shape: Action block (it stores a result in a variable)
  • Where it goes: Inside any section that holds action blocks, for example Purchase conditions or Run on every tick. You can use it more than once, each with its own variable.
  • What it does: Works out the Relative Strength Index (RSI) and stores it in a variable. RSI compares how much the price has gone up with how much it has gone down lately, and gives a number from 0 to 100.
  • Inputs:
    • Variable dropdown (the box after "set"): the variable that receives the result. It starts as rsi; pick or create any name.
    • Input List (locked inner block, see below): a list of numbers, such as Ticks list.
    • Period (locked inner block): how many numbers to look at. The menu fills it with 10.
  • How it works: The bot looks at the change from one number to the next. It averages the rises and the falls (with a smoothing step that keeps older changes in the mix), then works out 100 - 100 / (1 + average rise / average fall). If there were no falls the result is 100; if there were no rises it is 0. If the list is exactly as long as the period, the result is 0. The single result is not rounded.
  • Example:
┌─ 2. Purchase conditions ─────────────────────────────────────┐
│ set [ rsi ▾ ] to Relative Strength Index                     │
│   Input List ( Ticks list )                                  │
│   Period ( 14 )                                              │
│ if < ( rsi ) ≥ ( 70 ) >                                      │
│ then  Purchase [ Fall ▾ ]                                    │
└──────────────────────────────────────────────────────────────┘

The bot buys Fall when RSI is 70 or more.

  • Good to know:
    • Deriv's help says 70 and above means "overbought" and 30 and below means "oversold", and that the trend may then reverse. It may not: prices can stay at those levels for a long time.
    • Give it more numbers than the period (at least period + 1) for a real reading.

set ... to Relative Strength Index Array

  • Kind: Official (Deriv)
  • Type id: rsia_statement
  • Shape: Action block (it stores a result in a variable)
  • Where it goes: Inside any section that holds action blocks, for example Purchase conditions or Run on every tick. You can use it more than once, each with its own variable.
  • What it does: Gives the RSI as a list: one RSI reading for each step along the input list. Each value is from 0 to 100.
  • Inputs:
    • Variable dropdown (the box after "set"): the variable that receives the result. It starts as rsia; pick or create any name.
    • Input List (locked inner block, see below): a list of numbers, such as Ticks list.
    • Period (locked inner block): how many numbers to look at. The menu fills it with 10.
  • How it works: It works like Relative Strength Index, but repeats the calculation for each point from the first full period onward, keeping the smoothing going from step to step. Each value is rounded to the market's decimals. The list has (list length - period) items, and the last item is the newest RSI.
  • Example:
┌─ 2. Purchase conditions ─────────────────────────────────────┐
│ set [ rsia ▾ ] to Relative Strength Index Array              │
│   Input List ( Ticks list )                                  │
│   Period ( 14 )                                              │
└──────────────────────────────────────────────────────────────┘

The variable rsia is a list of RSI values, oldest first.

  • Good to know:
    • Use it to see how RSI moved, not just its latest value.
    • It is a description of the past, like every indicator.

set ... to MACD Array

  • Kind: Official (Deriv)
  • Type id: macda_statement
  • Shape: Action block (it stores a result in a variable)
  • Where it goes: Inside any section that holds action blocks, for example Purchase conditions or Run on every tick. You can use it more than once, each with its own variable.
  • What it does: Works out MACD (Moving Average Convergence Divergence) and gives it as a list. MACD compares a fast EMA with a slow EMA. When the two pull apart or come together, it shows that the price has recently been speeding up or slowing down.
  • Inputs:
    • Variable dropdown (the box after "set"): the variable that receives the result. It starts as macda; pick or create any name.
    • MACD part dropdown: Histogram, MACD or Signal. The menu starts with MACD.
    • Input List (locked inner block, see below): a list of numbers, such as Ticks list.
    • Fast EMA Period (locked inner block): the short EMA. The menu fills it with 12.
    • Slow EMA Period (locked inner block): the long EMA. The menu fills it with 26.
    • Signal EMA Period (locked inner block): the smoothing period of the signal line. The menu fills it with 9.
  • How it works: The bot works out the fast EMA and the slow EMA of the list. The MACD line is fast minus slow. The Signal line is an EMA of the MACD line. The Histogram is MACD minus Signal. Your dropdown picks which of the three becomes the list. The first items, where there is not yet enough data, are left out, so the result is shorter than the input (by Slow + Signal - 2 items). Values are rounded to the market's decimals.
  • Example:
┌─ 2. Purchase conditions ─────────────────────────────────────┐
│ set [ macda ▾ ] to MACD Array [ Histogram ▾ ]                │
│   Input List ( Ticks list )                                  │
│   Fast EMA Period ( 12 )                                     │
│   Slow EMA Period ( 26 )                                     │
│   Signal EMA Period ( 9 )                                    │
└──────────────────────────────────────────────────────────────┘

The variable macda is a list of histogram values, oldest first.

  • Good to know:
    • There is no single-number MACD block; it always gives a list. The newest value is the last item.
    • Give it a long list, such as the 1000-tick list. Deriv says a turn is possible when the fast EMA crosses the slow one; that is only a possibility.

Input List

  • Kind: Official (Deriv)
  • Type id: input_list
  • Shape: Action block (a locked part of its indicator block)
  • Where it goes: Only inside any of the nine indicator blocks (SMA, SMAA, BB, BBA, EMA, EMAA, RSI, RSIA, MACD Array). It is already placed for you when you drag the indicator out, and it cannot be moved out or deleted.
  • What it does: Tells the indicator which list of numbers to work on. It is the first inner block of every indicator.
  • Inputs:
    • Input List socket: a block that gives a list. Only list blocks fit (for example Ticks list, or Make a List of Close values in candles list).
  • How it works: It holds the list for the indicator. It makes no code of its own; the indicator block reads the socket when it runs. If you drag the block out of its indicator, it jumps back in. It is a required socket: leave it empty and the block shows a warning.
  • Example:
┌─ The content of this block is called on every tick ──────────┐
│ set [ rsi ▾ ] to Relative Strength Index                     │
│   Input List ( Ticks list )                                  │
│   Period ( 14 )                                              │
└──────────────────────────────────────────────────────────────┘

The indicator reads Ticks list, the last 1000 tick prices.

  • Good to know:
    • The list must hold plain numbers. A list of whole candles will not work; turn it into numbers first.
    • A list of text items from Ticks String List is not suitable for maths.

Period

  • Kind: Official (Deriv)
  • Type id: period
  • Shape: Action block (a locked part of its indicator block)
  • Where it goes: Only inside SMA, SMAA, BB, BBA, EMA, EMAA, RSI and RSIA. It is already placed for you when you drag the indicator out, and it cannot be moved out or deleted.
  • What it does: Says how many of the latest numbers the indicator should look at. A larger period means a smoother result that reacts more slowly.
  • Inputs:
    • Period socket: a number block. The menu fills it with 10. Any number block can go there, including a variable.
  • How it works: The indicator block reads this socket when it runs. The socket is required. MACD has its own three period blocks instead of this one.
  • Example:
┌─ The content of this block is called on every tick ──────────┐
│ set [ ema ▾ ] to Exponential Moving Average                  │
│   Input List ( Ticks list )                                  │
│   Period ( 10 )                                              │
└──────────────────────────────────────────────────────────────┘

The EMA looks at a period of 10.

  • Good to know:
    • Use a whole number of at least 1. The code does not check this for you.
    • The input list must have at least this many numbers.

Standard Deviation Up Multiplier

  • Kind: Official (Deriv)
  • Type id: std_dev_multiplier_up
  • Shape: Action block (a locked part of its indicator block)
  • Where it goes: Only inside Bollinger Bands and Bollinger Bands Array. It is already placed for you when you drag the indicator out, and it cannot be moved out or deleted.
  • What it does: Sets how far above the middle line the upper Bollinger band sits, counted in standard deviations (a measure of how widely the numbers swing around their average).
  • Inputs:
    • Multiplier socket: a number block. The menu fills it with 5.
  • How it works: The upper band is the middle line plus (standard deviation x this number). A bigger number moves the upper band further away. The socket is required.
  • Example:
┌─ The content of this block is called on every tick ──────────┐
│ set [ bb ▾ ] to Bollinger Bands [ upper ▾ ]                  │
│   Input List ( Ticks list )                                  │
│   Period ( 20 )                                              │
│   Standard Deviation Up Multiplier ( 2 )                     │
│   Standard Deviation Down Multiplier ( 2 )                   │
└──────────────────────────────────────────────────────────────┘

The upper band sits 2 standard deviations above the average.

  • Good to know:
    • It only changes the upper band. The lower band uses the Down Multiplier.
    • A wide band will be touched less often; a narrow one more often.

Standard Deviation Down Multiplier

  • Kind: Official (Deriv)
  • Type id: std_dev_multiplier_down
  • Shape: Action block (a locked part of its indicator block)
  • Where it goes: Only inside Bollinger Bands and Bollinger Bands Array. It is already placed for you when you drag the indicator out, and it cannot be moved out or deleted.
  • What it does: Sets how far below the middle line the lower Bollinger band sits, counted in standard deviations.
  • Inputs:
    • Multiplier socket: a number block. The menu fills it with 5.
  • How it works: The lower band is the middle line minus (standard deviation x this number). The socket is required.
  • Example:
┌─ The content of this block is called on every tick ──────────┐
│ set [ bb ▾ ] to Bollinger Bands [ lower ▾ ]                  │
│   Input List ( Ticks list )                                  │
│   Period ( 20 )                                              │
│   Standard Deviation Up Multiplier ( 2 )                     │
│   Standard Deviation Down Multiplier ( 2 )                   │
└──────────────────────────────────────────────────────────────┘

The lower band sits 2 standard deviations below the average.

  • Good to know:
    • It only changes the lower band. The upper band uses the Up Multiplier.
    • The two multipliers can be different numbers.

Fast EMA Period

  • Kind: Official (Deriv)
  • Type id: fast_ema_period
  • Shape: Action block (a locked part of its indicator block)
  • Where it goes: Only inside MACD Array. It is already placed for you when you drag the indicator out, and it cannot be moved out or deleted.
  • What it does: Sets the period of the fast (short) EMA that MACD uses.
  • Inputs:
    • Fast EMA Period socket: a number block. The menu fills it with 12.
  • How it works: MACD subtracts the slow EMA from this fast EMA to get the MACD line. The socket is required.
  • Example:
┌─ The content of this block is called on every tick ──────────┐
│ set [ macda ▾ ] to MACD Array [ MACD ▾ ]                     │
│   Input List ( Ticks list )                                  │
│   Fast EMA Period ( 12 )                                     │
│   Slow EMA Period ( 26 )                                     │
│   Signal EMA Period ( 9 )                                    │
└──────────────────────────────────────────────────────────────┘

The fast EMA looks at 12 numbers.

  • Good to know:
    • Normally smaller than the Slow EMA Period. The code does not check this.

Slow EMA Period

  • Kind: Official (Deriv)
  • Type id: slow_ema_period
  • Shape: Action block (a locked part of its indicator block)
  • Where it goes: Only inside MACD Array. It is already placed for you when you drag the indicator out, and it cannot be moved out or deleted.
  • What it does: Sets the period of the slow (long) EMA that MACD uses.
  • Inputs:
    • Slow EMA Period socket: a number block. The menu fills it with 26.
  • How it works: MACD subtracts this slow EMA from the fast EMA. The input list needs at least this many numbers, and the result list is shorter than the input by (Slow + Signal - 2) items. The socket is required.
  • Example:
┌─ The content of this block is called on every tick ──────────┐
│ set [ macda ▾ ] to MACD Array [ MACD ▾ ]                     │
│   Input List ( Ticks list )                                  │
│   Fast EMA Period ( 12 )                                     │
│   Slow EMA Period ( 26 )                                     │
│   Signal EMA Period ( 9 )                                    │
└──────────────────────────────────────────────────────────────┘

The slow EMA looks at 26 numbers.

  • Good to know:
    • A longer slow period needs a longer input list.

Signal EMA Period

  • Kind: Official (Deriv)
  • Type id: signal_ema_period
  • Shape: Action block (a locked part of its indicator block)
  • Where it goes: Only inside MACD Array. It is already placed for you when you drag the indicator out, and it cannot be moved out or deleted.
  • What it does: Sets the period used to smooth the MACD line into the Signal line.
  • Inputs:
    • Signal EMA Period socket: a number block. The menu fills it with 9.
  • How it works: The Signal line is an EMA of the MACD line with this period. The Histogram is MACD minus Signal, so this setting changes the Signal and Histogram parts. The socket is required.
  • Example:
┌─ The content of this block is called on every tick ──────────┐
│ set [ macda ▾ ] to MACD Array [ Signal ▾ ]                   │
│   Input List ( Ticks list )                                  │
│   Fast EMA Period ( 12 )                                     │
│   Slow EMA Period ( 26 )                                     │
│   Signal EMA Period ( 9 )                                    │
└──────────────────────────────────────────────────────────────┘

The Signal line is smoothed over 9 steps.

  • Good to know:
    • It does not change the MACD part of the dropdown.

Build a bot with these blocks

BRINOVS is free to open. Sign in with Deriv, open the Bot Builder, and try everything on a demo account.

Open BRINOVS

BRINOVS Digits is a free bot builder and trading page built on Deriv's Bot Builder. Trading carries risk and you can lose money. Nothing in this guide is financial advice or a promise of profit. Test every bot on a demo account first.

Guide home · Open BRINOVS