Have you ever backtested an Expert Advisor with positive results, only to start trading and watch it drain your account balance?
This discrepancy typically occurs with scalping Expert Advisors that place many trades daily and have take profits and/or stop losses within 10-15 pips. Those EAs with less frequent trades and wider profit targets tend to fare better with the native backtesting and historical data in MetaTrader 4.
Backtesting of scalping EAs can be unreliable due to the MetaTrader 4 program design. The client terminal can only retrieve data from the history center in the form of minute-to-minute bar data and NOT true tick-by-tick data. Even then, MetaTrader 4 only captures the open, high, low, close, and number of ticks in that minute bar. This leads MetaTrader 4 to approximate the tick data between each minute which, while “close enough” in the big picture, is not “close enough” when your scalping EA depends on the true value of each tick.
11111111111111111111111111111111.jpg
However, while MetaTrader 4 can’t retrieve tick-by-tick data for backtests, it is capable of processing it if you provide the data yourself. If you have access to the historical data and format it correctly, you can feed it to MT4 to read and analyze
So why is it possible to only achieve 99% modeling quality/accuracy?
1: Backtesting on MetaTrader 4 assumes you will never experience slippage, which is certainly not true when trading live, especially with scalping EAs.
2: In MQL, MetaTrader 4’s programming language, the integral function start() which begins the data processing for every EA, only receives a tick if it has successfully processed the previous tick. Depending on the data and other factors, it’s not uncommon for an EA to skip ticks while backtesting.
3: Backtesting on MetaTrader 4 only permits the user a fixed spread. Most brokers now use a variable spread which can fluctuate by as much as 200% throughout a trading day.
This discrepancy typically occurs with scalping Expert Advisors that place many trades daily and have take profits and/or stop losses within 10-15 pips. Those EAs with less frequent trades and wider profit targets tend to fare better with the native backtesting and historical data in MetaTrader 4.
Backtesting of scalping EAs can be unreliable due to the MetaTrader 4 program design. The client terminal can only retrieve data from the history center in the form of minute-to-minute bar data and NOT true tick-by-tick data. Even then, MetaTrader 4 only captures the open, high, low, close, and number of ticks in that minute bar. This leads MetaTrader 4 to approximate the tick data between each minute which, while “close enough” in the big picture, is not “close enough” when your scalping EA depends on the true value of each tick.
11111111111111111111111111111111.jpg
However, while MetaTrader 4 can’t retrieve tick-by-tick data for backtests, it is capable of processing it if you provide the data yourself. If you have access to the historical data and format it correctly, you can feed it to MT4 to read and analyze
So why is it possible to only achieve 99% modeling quality/accuracy?
1: Backtesting on MetaTrader 4 assumes you will never experience slippage, which is certainly not true when trading live, especially with scalping EAs.
2: In MQL, MetaTrader 4’s programming language, the integral function start() which begins the data processing for every EA, only receives a tick if it has successfully processed the previous tick. Depending on the data and other factors, it’s not uncommon for an EA to skip ticks while backtesting.
3: Backtesting on MetaTrader 4 only permits the user a fixed spread. Most brokers now use a variable spread which can fluctuate by as much as 200% throughout a trading day.
(Share) difference between 90% testing & 99.9% testing
Aucun commentaire:
Enregistrer un commentaire