DCA Bots: Creating a Futures DCA Bot using TradingView Buy/Sell Signals

3Сommas Blog
8 min readNov 27, 2020


How do I create a Futures DCA Bot using Buy/Sell signals built-in to 3Commas? Read on…


This article will show you how to create a Futures DCA Bot that triggers new trades using the built-in TradingView crypto-screener “Buy” signals.

For this guide we’ll be using the ever popular Bybit Futures exchange to scalp frequent small profits per day using Cross leverage, and the built-in TradingView “Buy” signals over a couple chart time frames.

If you are wondering how the TradingView crypto-screener “Buy/Sell” signals are generated, you can read more here, the signals provided by 3Commas for bot users are derived from the “Ratings” screener by TradingView, which is generated from the following technical analysis indicators:

Parabolic SAR, Bollinger Bands, MACD, Momentum, Awesome Oscillator, Average Directional Index, Commodity Channel Index, Stochastic, Relative Strength Index and lastly, Simple & Exponential Moving Averages.

If each of the above 10 individual indicators’ condition is true, such as the MACD is above the signal line or chart price is above EMA and SMA then this indicator result is scored as 1 (or “true”). The values are summed and if the total is 7 or above, for example, then this indicates a “Buy” signal.

Choosing a contract to trade

For this guide we’ll choose the inverse EOS/USD contract to trade as it has recently been attempting to break above the 4 hour 200 EMA resistance before finally doing so on the 16th of November and started trending up after exceeding the last local “high” printed on the chart, in addition to this, Bitcoin/USD has also been trending up and this is a good sign for altcoins with USD pairings as a “rising tide lifts all ships”:

This strategy should be considered as high risk, as are any Futures or spot trades.

You’ll need to monitor the charts and if the price falls below the 200 EMA, then you may wish to stop the bot until the price breaks above it again.

This bot in this example was created to use 150 EOS that was deposited into the EOS wallet on the Bybit exchange. We will be using small orders and Cross leverage to scalp 0.75% profit with each successful trade to accumulate more EOS using the Bybit inverse EOSUSD contract.

We will configure the bot to use safety orders to be able to cover a large drop of upto 30% in the EOS chart price without liquidation.

As this bot will trade with Cross leverage, any profit created and left in the exchange account will increase your trading margin and help further offset the possibility of liquidation.

You may want to manage and further mitigate the possibility of liquidation by withdrawing a certain amount of profit above 175 EOS to a different wallet or exchange account or a weekly or monthly basis.

Creating the Bot

Head to the main menu and select DCA Bot and then click the Create Bot button:

We’re going to create a “Simple” bot, as all Futures bots can only trade a single contract.

Ensure the Advanced tab is selected at the top of the page and that you choose a descriptive Name (1) for your bot (this will appear in the History log and also on the My Deals page and DCA Bots page), choose the Exchange (2) account this bot will use funds on:

Now we will look at the Strategy settings; the default settings will be fine here.

We’ll be using Long (3) as we want to buy the coins at a low price and sell the coins at a higher price to make our profit.

We have only the option of Quote as our Profit Currency, as this is an inverse contract, all profit created will be in EOS.

If this is one of your first bots, it may be worth keeping the Base Order and Safety Order (4) amounts low, however for this example, we will be using 30 EOS for the Base and Safety order size, these amounts are the actual order sizes placed on the exchange including Cross (6) margin at x50 leverage, this actually means only 0.6 EOS of your trading funds will be used to place the Base order and 0.6 EOS for the first Safety order on the exchange.

In total this bot will use approximately 7.355 EOS of your funds without the leverage included, should all the DCA/Safety Orders be used. As you gain more confidence in your bot strategies, you may wish to risk more per bot deal.

It is recommended to keep the Start Order Type set to Limit (5) as this will guarantee the bot will open trades without price slippage and additionally will save some costs in exchange fees.

Next, we will set the Deal Start Condition; this setting tells the bot when to open a new trade on the coin we selected. We’ll be using the TradingView Buy (7) signals, as discussed earlier, across multiple time frames. This should allow our bot to start new trades when the EOS price is trending up as we’ll be aiming to quickly “scalp” small profits, so these trades should be fast to close and fairly frequent as they are used on a low chart time frame:

You can view the TradingView “Rating” signals here, you will have to change the time frame to each you have chosen to use in the Deal Start Condition to view the individual current rating.

Now we will set the Take Profit settings on our bot, we are aiming for repetitive short trades as “scalping” low time frame charts is fairly risky, so the key is to aim to close all trades as fast as possible. Set the Target Profit value to 0.75% (8) and set the Take Profit Type setting to Percentage from total volume (9) as we would like the profit of 0.75% to be taken using the average price of the coins bought by this bot:

We will not be using Stop Loss settings for this bot, as we will rely on covering a significant drop in the chart price using Safety Orders (Dollar Cost Averaging). Warning: Trading on Futures exchanges is inherently risky, and while the rewards are great, so are the risks. If the price of EOS falls dramatically, you can be liquidated and lose your funds.

It you wish to use Stop Loss settings or refine this strategy further, please test these thoroughly using Paper Trading, however, the cryptocurrency market is known for being highly volatile, so you will often find that Stop Loss can actually increase your losses, as opposed to picking good quality coin charts that recover quickly or in a reasonable time should they suffer a temporary drop in price.

We will be using 6 Safety Orders with this bot, and the 2 Max Active Safety Trades Count (10); this ensures the funds required for 2 Safety Orders at a time will always be reserved placed on the exchange order book in advance as Limit Orders.

Safety Orders are used to lower the average purchase price of the coins the bot buys if the price falls lower once the trade has opened, this is also known as DCA or Dollar Cost Averaging.

The Price Deviation to Open Safety Orders (11) will be set to 0.5% for the first Safety Order used; The Safety Order Volume Scale (12) will be set to 1.25; this is so the amount of coins the Safety Order buys will increase by 25% each time a Safety Order is created. This will help to lower the average cost per coin bought by the bot.

The Safety Order Step Scale (12) will be set to 2; this means the bot will multiply this value with the Price Deviation to Open Safety Orders setting, in effect, our first Safety Order will be placed at 0.5% from the opening price of the trade (Base Order) and the second Safety Order will be placed 1% lower and the third Safety Order will be placed 2% lower. This covers a 31.5% drop in the coin price after the trade is opened and will help the bot to take profit faster or cover a large drop in price whilst keeping the trade running:

It is recommended to check the chart of the contract you will be trading and look for the last “high” the price reached on the daily or weekly chart and specify a value between 10%-15% lower than this value and enter it into the Maximum price to open deal (13) setting on the Advanced settings page. The reason for this is to avoid the bot creating trades “at the top” of a trending price rally, as these are typical points where price may reverse. You will manually have to periodically check the chart and assess whether to increase this value, and allow the bot to continue creating trades as price moves beyond this point. If price does break the previous high and this is confirmed, then you may raise this value to the next logical point as your Technical Analysis will suggest.

We can verify the amount of funds our bot will use by looking at the Bot Assistant — please don’t overlook the Bot Assistant, it is a good friend!

The Bot Assistant page will show the amount of funds this bot will need in order to work correctly with the configured settings, it also shows the maximum drop in price that your Safety Trades can cover and the percentage of your available funds the bot will use (always try to keep plenty of funds free when trading with Cross leverage as the available funds will be used to off-set your liquidation price of your open position):

The Table page shows you a visualisation of how the volume of funds will increase with your Safety Order Volume Scale setting and also the price deviation percentage the Safety Order Step Scale will cover. Finally, one of the most useful features of the Table page shows exactly how the Safety Orders will be used in granular detail:


After only a few days since its creation, the bot results look promising!

Warning: Trading on Futures exchanges is inherently risky, and while the rewards are great, so are the risks. If the price of the contract you are trading falls dramatically, you can be liquidated and lose your funds.