How different are backtest results against demo against live? - page 3

 
Oscar Ortiz:

Thank you for your answer.
I still dont have it clear why it would be different.
Why would there be an algorythm to generate ticks.
Why storing entire tick history and testing on that not be the same vs live?
It's like having a book with the results of football games from years ahead (Back into the future movies) and saying it is not gonna work.
Please explain in detail why it would not work

Marco covered this well, but I will point you specific areas in Marco's post from the first page.

"An important difference from the tester of the third terminal was that the testing strategy of the MetaTrader 4 terminal used the price data of the youngest available time frame for trading simulation.

Therefore, with the presence of the minute history, throughout the tested interval, the test results are maximally close to the results obtained online.

In the absence of the underlying time frames, simulation of price development within the bar is generated in the same way as in the tester terminal of MetaTrader 3."

and

"Algorithm of ticks' generation

Strategy Tester of the MetaTrader 5 terminal uses only one mode of price modeling in testing - the generation of ticks on the basis of existing historical data on minute time frames of the used symbols.

The remaining modes of simulations in MetaTrader 4 were removed because despite their high speed, they failed to provide a high accuracy of testing.

Using an M1 time frame in the tester, allows for a very accurate simulation of the price movement, with a minimum number of errors, in contrast to the simulation of ticks based on senior time frames. As a result, the errors in the modeling of prices in the MetaTrader 5 strategy tester are trivial, and the differences between the simulated price and the price that took place in reality, can only be within the scale of a minute bar."

The tick values from within MT are "generated" from the minute data, which is the lowest information the TPs use, for accuracy.  "In the absence of underlying time frames (ticks), simulation (they fake the ticks) of price development within the (minute) bar is generated (as in faked, calculated guess, estimated in a specific way by their algorithm, A.K.A. not real tick values).


As Marco also said, the more data you have, the more space it takes and the more time it takes to process it.  If you have a file that just has the OHLC/V compiled values for each hour on one entry line, that would take up space of X.  Now, if you had a file that had those same equivalent values for each minute, it would be X*60.  Basically, 60 times more data than you would need for the hour time frame.  Now, if you take that even further, down to the tick level, you would need (compared to the hour data) X*60*TPM (ticks per minute).  While this is not strictly accurate because a tick data is generally just one price and a related volume, but it gives the idea.  Even more data to have to keep, so to save space and processing, the lowest MQ goes to for backtesting is minutes.  Since the lowest they use is minutes, and most EAs need ticks, they have to re-create them somehow.

Because the ticks used in the "history" are not real ones, they cannot give you the accuracy that you would see from forward testing.  The only way around this is for you to "force feed" more accurate ticks from external sources.  Downside to this is this is not as easy a process as just clicking "backtest."

In regards to your football game analogy, I can think of another better way to use that to explain.  In fact it is not like knowing the future scores and being told it won't work.  It is more like all you can see of the games already played IS the final score.  But you have no clue (other than general ideas) of what plays were made, how many points were scored by each team, and when those points were scored.  As far as the future scores, the way the market works is just like your future score analogy.  You are trying to guess what the future scores would be based on the information that you DO have, in your example, the scores of the games already played.  But you could possibly get a better idea of how a certain team would play against other teams if you knew what types of plays they used (instead of guessing what they did), if their players were getting penalized all the time, and so on.

 
JD4:

Marco covered this well, but I will point you specific areas in Marco's post from the first page.

"An important difference from the tester of the third terminal was that the testing strategy of the MetaTrader 4 terminal used the price data of the youngest available time frame for trading simulation.

Therefore, with the presence of the minute history, throughout the tested interval, the test results are maximally close to the results obtained online.

In the absence of the underlying time frames, simulation of price development within the bar is generated in the same way as in the tester terminal of MetaTrader 3."

and

"Algorithm of ticks' generation

Strategy Tester of the MetaTrader 5 terminal uses only one mode of price modeling in testing - the generation of ticks on the basis of existing historical data on minute time frames of the used symbols.

The remaining modes of simulations in MetaTrader 4 were removed because despite their high speed, they failed to provide a high accuracy of testing.

Using an M1 time frame in the tester, allows for a very accurate simulation of the price movement, with a minimum number of errors, in contrast to the simulation of ticks based on senior time frames. As a result, the errors in the modeling of prices in the MetaTrader 5 strategy tester are trivial, and the differences between the simulated price and the price that took place in reality, can only be within the scale of a minute bar."

The tick values from within MT are "generated" from the minute data, which is the lowest information the TPs use, for accuracy.  "In the absence of underlying time frames (ticks), simulation (they fake the ticks) of price development within the (minute) bar is generated (as in faked, calculated guess, estimated in a specific way by their algorithm, A.K.A. not real tick values).


As Marco also said, the more data you have, the more space it takes and the more time it takes to process it.  If you have a file that just has the OHLC/V compiled values for each hour on one entry line, that would take up space of X.  Now, if you had a file that had those same equivalent values for each minute, it would be X*60.  Basically, 60 times more data than you would need for the hour time frame.  Now, if you take that even further, down to the tick level, you would need (compared to the hour data) X*60*TPM (ticks per minute).  While this is not strictly accurate because a tick data is generally just one price and a related volume, but it gives the idea.  Even more data to have to keep, so to save space and processing, the lowest MQ goes to for backtesting is minutes.  Since the lowest they use is minutes, and most EAs need ticks, they have to re-create them somehow.

Because the ticks used in the "history" are not real ones, they cannot give you the accuracy that you would see from forward testing.  The only way around this is for you to "force feed" more accurate ticks from external sources.  Downside to this is this is not as easy a process as just clicking "backtest."

In regards to your football game analogy, I can think of another better way to use that to explain.  In fact it is not like knowing the future scores and being told it won't work.  It is more like all you can see of the games already played IS the final score.  But you have no clue (other than general ideas) of what plays were made, how many points were scored by each team, and when those points were scored.  As far as the future scores, the way the market works is just like your future score analogy.  You are trying to guess what the future scores would be based on the information that you DO have, in your example, the scores of the games already played.  But you could possibly get a better idea of how a certain team would play against other teams if you knew what types of plays they used (instead of guessing what they did), if their players were getting penalized all the time, and so on.


Thank you for the really good explanation.
So what I understand is that the higher timeframe based your strategy is the most accurate the backtests would be?

Like M1 scalping vs Daily Strategy?

Or better put the higher PIPS you target the more accurate it would be? Is that why you guys say it would impact how the TP works?
 
Oscar Ortiz:

Thank you for the really good explanation.
So what I understand is that the higher timeframe based your strategy is the most accurate the backtests would be?

Like M1 scalping vs Daily Strategy?

Or better put the higher PIPS you target the more accurate it would be? Is that why you guys say it would impact how the TP works?

No, the more data (information) you have (as in the lower the time frame) the more accurate your estimates can be.  It is like buying a car based just on a single picture from one angle, or looking at that same car live and being able to look inside and out, take it for a spin, etc.  The more accuracy your incoming data has, the better chance for it giving you accurate information back.  Garbage In = Garbage Out basically.

In this case, the lower timeframe you use, the more accuracy you would get.  But the trading strategy depends on accurate data and time frames designed to work with it.  If you are a trader that is looking at long term trades, then using a minute chart is really not as important, because the day chart will smooth out all the little bumps in price you would see on a minute chart.  If you are a scalper style trader, looking at the hour charts or daily charts would be useless to you, because it doesn't have the level of detail you need.  But in either case, you still want to make sure that the numbers you are basing your trades on are as accurate as you can have them.

The number of pips you are targeting, in this case, has little to do with the level of data you need, other than being another part of your trading strategy.  To me, if you are trying to make money, you are always trying to get as many pips to go the way you want, no matter the level of time you are looking at.

 
JD4:

No, the more data (information) you have (as in the lower the time frame) the more accurate your estimates can be.  It is like buying a car based just on a single picture from one angle, or looking at that same car live and being able to look inside and out, take it for a spin, etc.  The more accuracy your incoming data has, the better chance for it giving you accurate information back.  Garbage In = Garbage Out basically.

In this case, the lower timeframe you use, the more accuracy you would get.  But the trading strategy depends on accurate data and time frames designed to work with it.  If you are a trader that is looking at long term trades, then using a minute chart is really not as important, because the day chart will smooth out all the little bumps in price you would see on a minute chart.  If you are a scalper style trader, looking at the hour charts or daily charts would be useless to you, because it doesn't have the level of detail you need.  But in either case, you still want to make sure that the numbers you are basing your trades on are as accurate as you can have them.

The number of pips you are targeting, in this case, has little to do with the level of data you need, other than being another part of your trading strategy.  To me, if you are trying to make money, you are always trying to get as many pips to go the way you want, no matter the level of time you are looking at.

Thank you for taking the time to help me out.

Regards 

 
Oscar Ortiz:

Thank you for taking the time to help me out.

Regards 

Welcome
Reason: