TheTradingParrot

TTP Gavin's DCA Backtest PRO

Purpose:
The DCA Backtest script was designed to backtest the performance of any indicator using DCA bots.

"Open Deal ASAP" Deal Start Condition:
This script offers "open deal ASAP" deal start condition which will continuously open new deals. IT will wait for the current deal to close before opening a new one.

"Script" Deal Start Condition:
If you select the "Script" deal start condition we provide Bollinger Bands as an example. You can tweak the BB parameters from the indicator settings menu.

"Indicator" Deal Start Condition:
The third option is "Indicator". For this option to work out you must have an indicator that plots a "unique value" that can be recognised as a BUY signal.
We recommend that your indicator plots 1 when it should buy and 0 when there's no signal.
Once you have in the same chart your indicator and your DCA backtest it's time to hook them up. For that follow these steps:
1) select "Indicator" as deal start condition
2) select your indicator from the list as "deal start source"
3) If you are following our recommendation then use 1 as "deal start value" so it can tell the DCA backtest when to open a deal. Make sure that your indicator only plots 0 or 1 so the DCA backtest can distinguish the BUY signal appropriately.


Limitations:
Each time you make changes and save your external indicator while you are backtesting, you will have to hook up the indicator again with the DCA backtest in the settings.
To avoid this, add as many parameters as you need to change in the external indicator so in that way you won't need to save changes to it and therefore will manage to avoid having to hook up the indicator with the DCA backtest.
發布通知:
- fixed a problem that wasn't allowing to select the source of the indicator to use
- all parameters are now grouped by area in the settings window
- results now show max days in deal including if there's a on going open deal
發布通知:
Adding a version to the script short title.
發布通知:
- Show DCA cloud option added. This option allows to hide the DCA cloud in the chart.
發布通知:
- Max safety orders can now be set to zero
- 3C simulator: 3 BB and 3 RSI indicators added, multi-timeframe
- Adding tooltips to make settings more easy to understand
- Improved layout of settings
- Support for external indicator to close a deal by sending a separated value than the deal start value
發布通知:
- Solved bug: max volume was not allowing above 1M volume
- Solved bug: dealstop condition was mistakenly applying in "3c simulation" mode
發布通知:
- Fixed issue with max days in deal when using buy close ext indicator conditions. It was over calculating the days in trade.
- Added QFL to 3C simulator
- Added CCI to 3C simulator
- Added MFI to 3C simulator
- Added ULT to 3C simulator
- Performance improvement. Indicators are now only calculated when they are active.
- Settings layout improvements
- Settings extra tooltips added to help with usability
發布通知:
- Fixes issue with covered deviation calculated wrong when max SO number was set to 0
- Fixes issue with DCA cloud chart still showing an SO when max SO number was set to 0
發布通知:
- fixing issues with high number of SOs
- removing NaN errors appearing in the results table when there are no deals
發布通知:
- new implementation of take profit.
- results table shows number of deals closed and drawdown
發布通知:
- TP fix
發布通知:
- Version 0.5 adds support for SHORT deal start conditions for the 3C simulator mode.
- All strats now support bearish entries: CCI, MFI, RSI, BB, QFL
- TP % can now be set as low as 0.01
- Solved some issues with calculations of drawdowns for max drawdown and for a current open deal drawdown.
- QFL strategy includes a toggle to require the lower base to be below the upper base to be able to trigger a signal
發布通知:
- Resolves issue of required funds not calculated properly. TV changed a method today which broke our script. Thanks to Gavin for finding a fix to this issue so quick! it took us a few minutes but it was crazy!
- Resolves an issue caused.by having too many SOs

The changes TV made might cause further issues. We reported the issue to TV and waiting for their feedback as well.
發布通知:
- added new stop loss percentage parameter to DCA settings
發布通知:
- Added TradingView Technical Indicator deal start conditions. 3 timeframes
- Ultimate oscillator bug fix: first two were not working properly
發布通知:
QFL deal start condition now allows multiple consecutive deals. Before, if there were 20 candles signalling BUY, only the first would trigger a buy, now all of them would.
發布通知:
There was a problem that even while using "open deal ASAP" the backtest wasn't opening an deal right after closing the previous deal. There was a single candle that the strategy was idle. This change seems to resolve it. I will keep an eye in case the fix had any side effect, in which case I might have to revert it and find an alternative solution.
發布通知:
Solves an issue when the DCA was buying at negative prices even when the SOs max deviation shouldn't hit negative prices.
I tested this solution on IFTRSI external indicator and managed to stop getting the error, if the same error occurs please report it on our discord server DCA-backtest channel.
發布通知:
1) We created a new deal start type: External signal + 3C simulator combined.

This should be quite useful as 3C actually DOES support mixing their built-in indicators with an API signal, which is exactly what this mode represents.

The DCA bot will only open the trade if there's a BUG signal and all the 3C simulator conditions enabled are valid at the same time.

An example of a cool use could be to only take BUYs from the external signal when TV is BUY on the daily and hourly and RSI daily is below 80.

If you enable this mode you have to connect a backtestable compatible signal (for example one that only prints ones and twos, for buys and sells) and you MUST enable at least one of the 3C simulator deal start conditions. If you don't enable any, the simulator won't open any deal. Remember this behaves as an AND operator, all enabled conditions + the BUY signal itself must be true to open a deal.

The intention is to mimic how exactly how 3C behaves when using this approach.

2) Now the results table renders in green when there's a deal open in profit. If the deal is open and it's at a loss it still renders it in red.
發布通知:
open trades appear in green when there's an open deal in profit
發布通知:
I think it's time to give some love to the stop loss:
- Now the backtests calculates the SL% relative to the base order just like 3C does. Before we were using relative to the average position price.
- If you use SL we plot the SL level in grey. Before it was not possible to know where is the SL located in the chart.
發布通知:
layout and label improvements
發布通知:
- fixing issues calculating profits affecting short bots
發布通知:
- Support for Pine Script 5
- More accurate deal start conditions for MFI, CCI and BB
發布通知:
- added Bollinger bands % indicator
發布通知:
- Improved performance, reduce unnecessary use of security function
- Added support for RSI14, MACD, PSAR
發布通知:
New deal start conditions supported:
- SMA
- Heikin Ashi
發布通知:
- added support for cooldown (using candle bars count)
發布通知:
Added total deal count to show even if deal is open.

Two issues resolved:
1) Total days in results table shows duration from Start Date until Current Time. If End Date is set on a historic date it doesn't reflect in Total days.
2) When current deal is in profit but not closed = show green background in table.
發布通知:
Solves issue causing wrong "days in deal" calculation when the selected date was in the future.
發布通知:
- Support for max and min price: it will skip a deal if the price is not above the specified min or below the max). The value zero disables min/max.
- Support for timeout. After the specified timeout in bars the deal will close. Use zero to disable this option.
- Fixed issue where summary was shown in red in the results even though it did close all deals in profit.
發布通知:
- Volume filter accuracy improved: has been re engineered to match better the one used by 3commas
- Timeout bug: solve issue with the timeout settings that was counting from each individual DSC event rather than from the time the deal actually opens.
發布通知:
What's been done:
fee's added as a DCA setting (DCA calculation bug, should be synced with commission)
added Plot deal stop condition

Updated results table:
Title row: Updated name + color to top row and moved token to right, more compact
Left column: aligned text right, renamed names
Rearranged order of info to make more sense (to me at least...)
Max SO count fixed for edge case (display only)
condensed large values: if > 0 skip decimals, if < 0 use decimals
Moved deals completed to new row (from Status)
Combined related values into 1 row instead of 2
If short mode: shows Initial USD required to run (otherwise hidden)
If no deal yet: show "no deals yet" in status row instead of "all deals closed (0)"
if no deal yet: show "-" on relevant values instead of "0"
if no deal yet: background color grey instead of red
發布通知:
fix for broken min, max price limits and cooldown.
發布通知:
Added new RSI deal start condition parameters supported by 3C
發布通知:
Fixed issue with Heikin ashi candles deal start conditions
發布通知:
- improved BB and BB% accuracy
發布通知:
Fixed issue of label in the results table that was showing the profits in BASE currency when they were actually in QUOTE (it was saying 200 BTC profits, where it was meant to be 200 USDT). This wrong label only affected shorts.
Shorts and long profits are currently calculated in QUOTE currency.
發布通知:
This release improves the accuracy of all deal start conditions.
發布通知:
APR calculation added next to daily % profits
發布通知:
Aster has been working on some cool new features for Gavins backtester. Check them out!
  • added SMA 50 crossing 200
  • minor text changes in settings
  • disabled legacy table
  • moved visual settings to bottom
  • added new Bar Magnifier ON as default
  • updated Stop Loss to be instant (don't wait for bar close confirmation)
  • added Stop Loss Timeout
  • added table position selector
發布通知:
Added support for Trailing Take Profit %
Both for long and short strategies.
Use TTP = 0 to disable it
Avoid values above the TP% to keep results reasonable, ideally TTP% <= 10% TP
發布通知:
Updated text to be more clear about the required capital and bought contracts. When shorting it now says Contracts.
Added stop loss counter
Bar magnifier set to OFF by default
發布通知:
Added a warning and error system.
Added BO below mintick protection.
Added suggestion of BO volume if it's set too low.
Added warning if DSC timeframe is below charts.
Fixed Volume in BTC integer/float issue.
Fixed BTC pairs in Volume in BTC.
Changed Min/Max price to float instead of int.
發布通知:
Introducing ORC backtesting: backtest the protection that ST, STHA2H, STDXY, STT3 can offer to your bot setups.
Right below the section of DCA settings you will find the ORC settings.
You can select the ORC signal you want to use and whether you want to trade during an uptrend or downtrend.
Please notice we will only support orchestrator signals that toggle between states: buy/sell.

We have removed support for 3 separated ULT deal start conditions to stay below the maximum number of securities TradingView allows us to use.
發布通知:
Updated Volume in BTC
Updated Warnings & Error messages
Fixed SO counting for TTP%, SL Timeout & Timeout
Fixed SL Timeout bug
發布通知:
Fixed problem with wrong stats for shorts
Leverage now also changes value in profits in USDT
發布通知:
Fix: Timeout for external signal now works as expected
發布通知:
DCA backtest PRO version is here.
We will add all the PRO features to this version.
Introducing stats! see how the deal duration distributes in percentiles to understand when it's best to place your timeout settings.
發布通知:
Cooldown now counts from deal close
SL Counter edge case bug fixed
TTP% in Bot Settings-table now shows correct number
Average duration now counts currently open deal for both Bars in deal and Days in deal
Added chart timeframe in table
發布通知:
VIP members now get support for Orchestrator action "close deals at market price".
This means that now you can decide instead of simulating to only stop the bot to also simulate closing the deal.
發布通知:
Two new upcoming ORC signals added to Gavin's backtester.
Stay tuned for details on how to use them!
發布通知:
- Increased accuracy of drawdown in results table
- We renamed "max drop" to "max deal drawdown" to better represent the actual value shown
- VIP new feature: Run Up and Drawdown statistics (find it in VIP statistics, at the bottom of the settings form)

Run up and Drawdown can help you see how high or how low an asset can go during the backtest period so you can decide better the best placing of safety orders, stop losses and/or take profits.
Run first the strategy relaxing the SL and TP levels to allow the asset to move freely, then observer the stats and adjust them later accordingly based on their distribution across the percentiles.
發布通知:
Support for use of external signal as an ORC.

Instructions:
- add a signal that can be used as ORC. This must print one value for START and one for STOP bot.
- external source select the signal you want to use as an ORC
- select which value you want to use for START bot
- select which value you want to use for STOP bot (or close deals at market price for VIP version)

Example code of an external ORC signal

The ORC script below will only start the bot when RSI is above 50.
```
//@version=5
indicator("RSI ORC", overlay=false)
rsi = ta.rsi(close, 14)
plot(rsi > 50 ? 3 :4, "RSI ORC")
```
發布通知:
- Volume in BTC fix
- Updates the end date to be 2024

Join our membership to gain access to the private scripts.
www.thetradingparrot.com
僅限邀請腳本

僅限作者授權的用戶訪問此腳本,並且通常需要付費。您可以將其增加到收藏腳本中,但是只有在向作者請求並獲得許可之後,才能使用它。 請與TheTradingParrot聯繫以獲取更多資訊,或按照以下作者的說明進行操作。

請注意,這是未經腳本版主分析的僅限邀請私密腳本。它是否符合網站規則尚不確定。在您100%信任腳本作者並了解腳本的工作原理之前,TradingView不建議您為腳本付費並使用它。在很多情況下,您可以在我們的社群腳本庫中免費找到一個不錯的開源替代品。

免責聲明

這些資訊和出版物並不意味著也不構成TradingView提供或認可的金融、投資、交易或其他類型的意見或建議。請在使用條款閱讀更多資訊。

作者的說明

Become a VIP member of TTP to access this script: www.thetradingparrot.com/tiers

想在圖表上使用此腳本?

警告:請閱讀,然後再請求訪問權限。