Strategy VS Buy & Hold

A strategy wrapper that makes a detailed and visual comparison between a given strategy and the buy & hold returns of the traded security.

TradingView has a "Buy & Hold Return" metric in the strategy tester that is often enough to assess how our strategy compares to a simple buy hold. However, one may want more information on how and when your strategy beats or is beaten by a simple buy & hold strategy. This script aims to show such detail by providing a more comprehensive metrics and charting the profit/loss of the given strategy against buy & hold.

As seen in the script, it plots/draws 4 elements:

1) Strategy P/L: strategy net profit + strategy open profit
2) Buy & Hold P/L: unrealized return
3) Difference: Strategy P/L - Buy & Hold P/L
4) Strategy vs Buy Hold Stats
> Percent of bars strategy P/L is above Buy & Hold
> Percent of bars strategy P/L is below Buy & Hold
> All Time Average Difference

All labels/panels can be disabled by unchecking these two options:
>bnh_info_panel = input(true, title='Enable Info Panel')
>bnh_indicator_panel = input(true, title='Enable Indicator Panel')

Comparison Date Range can be changed to better isolate specific areas:
>From Year, From Month, From Day
default: 1970 01 01

>To Year, To Month, To Day
default: 2050 12 31

Default settings basically covers all historical data.


The default script contains a simple 50-200 SMA cross strategy, just delete and replace it. Those are everything between these lines:
//////////////////////////////STRATEGY SCRIPT START//////////////////////////////////


//////////////////////////////STRATEGY SCRIPT END////////////////////////////////////

Removing all plots and drawings from your strategy is advisable.

If you are going to use the Comparison Date Range, apply "bnh_timeCond" to your strategy to align the dates. A sample on how it’s applied can be seen on the Placeholder MA cross strategy.
Note: bnh_timeCond returns a boolean series
Script open-source

Dans le plus pur esprit de TradingView, l'auteur de ce texte l'a publié en open-source, afin que les traders puissent le comprendre et le vérifier. Bravo à l'auteur ! Vous pouvez l'utiliser gratuitement, mais la réutilisation de ce code dans une publication est régie par les règles internes. Vous pouvez le mettre en favori pour l'utiliser sur un graphique.

Vous voulez utiliser ce script sur un graphique ?


A very good tool, I don't understand the lack of attention. Do you have any new version? Thank you.
+1 Répondre
+1 Répondre
Cool script, but shouldn't it be "positionSize = (strategy.initial_capital + strategy.netprofit) / close" in line 35 as you can buy more/less shares depending on previous trades?