SUMMARY: A strategy wrapper that makes a detailed and visual comparison between a given strategy and the buy & hold returns of the traded security.
DESCRIPTION: 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
ADJUSTABLE PARAMETERS: 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.
HOW TO USE:
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//////////////////////////////////
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
A very good tool, I don't understand the lack of attention. Do you have any new version? Thank you.
RafaelZioni
⋅
cool:)
The-BEST-ian
⋅
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?