This script can be used to backtest DCA Bots. It draws inspiration from 3Commas and has most settings that are available on 3Commas. It contains a few popular DCA Bot Presets that are well known in the community for you to test out! Preset used here: Kirigakure V4
█ FEATURES
DCA Preset (Custom, Standard TA,Urma Lite V3,Kirigakure V1,Kirigakure V3,Kirigakure V4)
Order Size Type (Fixed/% of equity to simulate compounding)
Base Order Size
Safety Order Size
Max Safety Trades Count
Price Deviation to open safety order %
Safety Order Volume Scale
Safety Order Step Scale
Take Profit %
Use ADR (Average Daily Range) as Take Profit
ADR length (if ADR as take profit is enabled)
Take Profit Type (% from total volume / % from base order)
Trailing Take Profit
Stop Loss
Deal Start Condition (Start ASAP) ▶ More Deal Starting Conditions will be added in the future
Bot Direction (Long / Short)
Start Time ▶ 1999-01-01 (Use this to always backtest the entire history)
End Time
This strategy also allows you to plot the Average Price and Take Profit of each trade, so it's easier to follow the trade and understand what's happening.
█ HOW TO USE
1. Select a DCA Preset and change the initial capital to the exact amount that is required (seen in the error message on top of the table). When using a Preset the following settings will be locked, meaning if you change them in the script's settings it won't have any effect:
Base Order Size
Safety Order Size
Max Safety Trades Count
Price Deviation to open safety order %
Safety Order Volume Scale
Safety Order Step Scale
Use ADR (Average Daily Range) as Take Profit
1.1 When using Presets you can choose the Order Size Type of Fixed or % of equity which simulates compounding 1.2 Choose a Direction and a Start and End Time
2. To backtest customized settings choose the preset "Custom" 2.1 All other settings are now "unlocked" and can be used
█ LIMITATIONS
Whenever a DCA preset is changed the initial_capital needs to be changed to the exact amount the settings require. If the initial_capital is not the same there will be an error of top of the table. To fix this error navigate to the Script's Settings and Properties and change the initial_capital to the same amount that is stated in the error.
DCA Bots with a high number of safety orders, e.g. 100, can run into an error that says "Maximum number of orders (9000) reached". If this error happens change the backtesting time to a shorter timeframe.
Using % of equity simulates compounding but is unrealistic because you cannot re-invest every single dollar
Added RSI and TradingView Deal Starting Conditions
How to use RSI: 1. Choose "RSI" as Deal Start Condition 2. Choose a timeframe for the RSI 3. Choose a length for the RSI 4. Choose a condition - "Less than" or "Greater than" 5. Enter a signal value
Example: RSI-7 Less than 30
How to use TradingView Ratings: 1. Choose "Tradingview" as Deal Start Condition 2. Choose a timeframe for the Tradingview Ratings 3. Choose the Signal Value - "Buy", "Strong Buy", "Sell", "Strong Sell"
Added Open Profit/Loss to see the actualy current equity
發行說明
Fixed Error when Max Deviation is over 100% but direction was short
發行說明
Fixed RSI and TradingView Technical Rating Deal Start Conditions
發行說明
Added External Signals as Deal Starting Conditions
If you have an external indicator that you want to backtest with DCA bots make sure that the output value is either 1 for buy Signal or -1 for sell signal.
發行說明
Updated external signal to interpret 1 as buy signal and -1 as sell signal