TradingView
AlgoTrade3107
19 wrz 2022 15:56

AlgoTrade DCA Bot Backtester 

Bitcoin / U.S. dollarBitstamp

Opis

█ OVERVIEW

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


█ THANKS

This script in insipred by rouxam's "Backtesting 3commas DCA Bot v2" script https://www.tradingview.com/script/8d6Auyst-Backtesting-3commas-DCA-Bot-v2/

Informacje o Wersji

BugFix: Results table was not displayed

Informacje o Wersji

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"

Example: Strong Buy

For more details look here: tradingview.com/support/solutions/43000614331-technical-ratings/

Informacje o Wersji

Added Open Profit/Loss to see the actualy current equity

Informacje o Wersji

Fixed Error when Max Deviation is over 100% but direction was short

Informacje o Wersji

Fixed RSI and TradingView Technical Rating Deal Start Conditions

Informacje o Wersji

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.

Informacje o Wersji

Updated external signal to interpret 1 as buy signal and -1 as sell signal
Komentarze
kraxas
the scripted is on invite, how its possible use it?
gleefulJaguar47150
Can this use ultimate oscillator as a deal start condition?
AlgoTrade3107
@gleefulJaguar47150, Yes, you can use ANY external indicator as deal starting condition. Simply setup an indicator with as external signal and use 1 as buy signal and -1 as sell signal.
Więcej