This guide will walk you through how to set up and configure a trading bot in Gainium. This article applies whether you are creating a new bot or editing an existing one. However, keep in mind that if you edit the configuration of an existing bot, the new settings will only be applied to future deals (existing deals are unaffected).
First, head to the new trading bot page. On the right-hand side, you can find the bot configuration; let's explore all configuration options.
You can give any name to your bot. The name is displayed in the bot table, the deals table, and error messages.
Tip: you should create a name that would make it easy to differentiate from other bots. For example, you could reference the kind of strategy such as “RSI+MFI Aggressive 2.0”. This can also be handy to filter bots sharing certain configuration options so you can bulk stop/start bots. Don't fret too much over it, though; you can always edit the name at any point.
Choose which exchange the bot should run on. Note that the Exchange account cannot be edited later.
Choose any coin pair supported by the exchange.
You can choose one or multiple pairs as long as they have the same quote currency. The first pair sets the quote currency. For example, if you add BTC/USDT, you can only add other /USDT pairs to the bot.
In this setting you can specify if you want to go long (buy lower, sell higher) or short (sell higher, buy lower).
You can specify if you want to profit in base or quote. Choose quote currency if you expect the pair to move sideways or upwards and you want to make profit in quote currency. Choose the base currency if you expect the paid to move sideways or downwards and you want to make profit in base currency.
If you want to know more about this, check out this article.
This is the first order the bot will make. If DCA mode is disabled, this will be the only order the bot will make.
How the base order behaves depends on the currency selected. The options are:
Note that a long strategy will always use quote to purchase base, even if you use base as the currency reference. For example, in a long ETH/USDT bot, suppose you choose 1000 USDT as the base order. This way, the bot will always purchase 1000 USDT's worth of ETH, no matter what the value of ETH is. However, if you set the currency reference to 1 ETH, the bot will use as much USDT as necessary to buy 1 ETH. So if 1 ETH = 1000 USDT at one point, it will spend 1000 USDT. But if the value of ETH increases to 1500 USDT, it will spend 1500 USDT as the base order.
Note that a short strategy will always sell base to obtain quote, even if you use quote as the currency reference. For example, in a short ETH/USDT bot, suppose you choose 1 ETH as the base order. This way, the bot will always sell 1 ETH, no matter what the value of ETH is. However, if you set the currency reference to 1000 USDT, the bot will sell as much ETH as necessary to obtain 1000 USDT. So if 1 ETH = 1000 USDT at one point, it sells exactly 1 ETH. But if the value of ETH increases to 1500 USDT, it will sell 0.6666 ETH as the base order.
A note on working with %
When you set your bot to use % of token, you input the % value as a number from 0 to 100. For example, writing 30 in the base order quantity and % USDT total will result in the bot using 30% of my total USDT to open the first trade.
The base order and all DCA orders sum should not exceed 100. Also, they should sum less than 100, as summing exactly 100 may cause insufficient balance errors due to rounding or exchange minimum order limits.
Here you can choose how the bot will execute the base order, as a limit or market order.
A limit order is sent to the exchange's order book and it waits to be executed at a certain price. A limit order guarantees the best price and may incur lower fees, but it may not be filled immediately. Gainium will re-submit limit orders every 20 seconds at the best price until the order is fulfilled.
A market order is executed immediately at the market price, skipping the exchange order book. A market order guarantees to be filled immediately, but it may not be the best price and may incur higher fees.
This option is available for limit order types. You can choose this option if you prefer to use a limit order but would like to ensure a maximum waiting time. When this option is activated, you can set up a timer, and a limit order will be sent to exchange and repositioned every 20 seconds as per the default behavior. If the order has not been fulfilled within the time specified, the limit order will be canceled and a market order will be placed instead.
This is one of the most critical parts of the bot, and it deserves an article of its own, but for now, let's go through an overview of each option.
With this option, you can limit the number of open deals the bot can have at any time. Once the number of deals has reached the max open deals, the bot will ignore further signals to start a new deal.
When a multipair bot receives more deal start signals than the allowed max open deals, it will randomly assign the available deal quota. For example, suppose we start a multipair bot with 100 pairs and five max open deals, and the deal start condition is RSI 15 min > 70. On the next candle, 10 out of the 100 pairs meet this condition, but as the bot is only allowed to trade five at once, it will open five deals randomly from the set of 10 possible pairs.
The bot will filter out deals depending on the token's price. It will open a new deal if the current price is higher than the min price or lower than the max price.
This option activates a timer after the deal starts or closes, during which the bot cannot open new trades. In the case of a multi-pair bot, the timer is set for each pair.
This is the profit percentage that the bot will make on each trade. Note that exchange fees are considered, so you don't have to worry about that.
This is the unrealized P&L percentage that will trigger the deal close condition. If DCA mode is activated, the stop loss % is calculated on the average purchased price.
With this option, you can move the stop loss to a new value when a certain unrealized P&L is reached. This is useful, for example, to lock in a profit by moving the SL to a positive number when a certain unrealized profit has been reached.
If the new stop loss moves over DCA orders, all the orders under it will be cancelled.
Activating trailing stop loss will move the stop loss in the direction of your take profit, always spaced the same distance from the best price.
This is the number of orders generated each time you run a DCA cycle.
Activating this will allow you to only send a portion of all DCA orders to the exchange as a limit order. You can learn more about smart orders in this article.
This is the starting DCA order amount. Note that the currency on the base order and DCA orders must match.
This is the percentage offset from the current market price you want your bot to use when placing your orders.
The DCA order step will be multiplied by the scale each time. For example, if the step scale is 2, the distance between DCA orders doubles each time.
The DCA order volume will be multiplied by the scale each time. For example, if the volume scale is 2, the DCA order volume doubles each time.
Table of contents