OPEN-SOURCE SCRIPT

How To Set Backtest Date Range

업데이트됨
Example how to select and set date range window to be backtested. Normally when you change chart period it changes the number of days being backtested which means as you increas the chart period (for example from 5min to 15min) you also increase the number of days traded, so you can not compare apples to apples for which period would yield best returns for your strategy. Now you can. Incorporate this code replacing buy and sell with your strategy, then simply input the From and To dates in Format -> Inputs, and then change the chart period to view updated results.

NOTE: There is a limit in backtesting to 2000 orders, so please be aware of this when setting your date ranges. If you set your range too high, you may be exceeding this limit on some periods and not on others, so this would yield incorrect comparison of returns per period. If you see in your backtesting results that you are nearing this limit for one of your periods you are testing, then reduce the date range to a smaller number of days.

Enjoy!

(Thanks to Gesundheit "Adeel" for pointing me in the right direction on this!)
릴리즈 노트
Changed default settings to remove need for setting present date if backtesting up to current moment in time.
릴리즈 노트
Per requests added examples of:

- Using input statements for MA lengths.

- Using date range condition within execution.

- BONUS example of creating a function for date range.

Also added simple error checking to input statements for month and day.
릴리즈 노트
Added "max_bars_back=2000" in top strategy line to prevent possibility of exceeding 2000 event limit. This will prevent that error from possibly occurring.
릴리즈 노트
Statement in "Release Notes" immediately above is incorrect. Setting "max_bars_back=2000" in top strategy line does not prevent possibility of exceeding 2000 order limit. It instead is used to manually define how many historical bars are preloaded for indicator calculations. If you receive an ‘out of depth at index’ error this means something in your script calculations requires a certain number of historical bars and for some reason those bars were not automatically allocated. Raising this setting may help prevent that error from occurring.

For preventing the error on exceeding 2000 orders you must take steps to reduce the number of trades. Various means to do this include changing the range you are backtesting, changing the period, changing the frequency of how often your strategy trades, etc.
릴리즈 노트
Updated for Pine Script v4.
릴리즈 노트
Updated for Pine Script v5.
릴리즈 노트
Merged the individual inputs for year, date, and day which allows for entering of both date and time within a single input, as well as providing the additional ability of interactive selection by clicking on the indicator and then dragging vertical lines horizontally on chart. Added source inputs for the moving averages.
backtestbacktestingDATEeducationalexampleMoving AveragesrangeTrend Analysiswindow

오픈 소스 스크립트

진정한 TradingView 정신에 따라, 이 스크립트의 저자는 트레이더들이 이해하고 검증할 수 있도록 오픈 소스로 공개했습니다. 저자에게 박수를 보냅니다! 이 코드는 무료로 사용할 수 있지만, 출판물에서 이 코드를 재사용하는 것은 하우스 룰에 의해 관리됩니다. 님은 즐겨찾기로 이 스크립트를 차트에서 쓸 수 있습니다.

차트에 이 스크립트를 사용하시겠습니까?


lux ex tenebris • deuro mea umbra absens • Telegram: t.me/allanster
또한 다음에서도:

면책사항