Ok, I’m gonna ask a stupid noob question because I haven’t asked one in a while…
In MT4 with respect to EA’s, I understand that forward testing is different from back-testing because in back-testing you do not have balloning spreads, requotes, lost connections, etc., etc.
Why cant these things be simulated in forex testing product? For example, since any testing software will have historical tick data, spread could be simulated based on something like ATR values (Average True Range). Random requotes errors could be generated based on a volatility indicator.
I might as well admit that I have an EA that I need to FORWARD-test in a short space of time!
But seriously, why not? In the software world there are simulators for everything, why not in forex? Of course there will be differences between ‘real world’ and the simulation, but the simulator approximates real world situation, so it should not be too far off from the real server (theoretically).
The mt4 simulator does a tough job. You may get (buy) a lot of more precise simulators, but at least you have to expose your capital to the real world. That’s when everything rises or falls. Most people fall to think a more accurate simulator could change things. No, it doesn’t change anything. At least not to the better. If your strategy is that sensitive to a pip, it is likely to become a fortune teller. What you want is a strat which is robust enough no matter if a high is a few pips higher or not. If you strat is robust enough, a gap or requote wouldn’t change much.
I think you may have mis-read my post. Preceding on that basis,
The MT4 StrategyTester does not simulate a) re-quotes b) lost connections c) variable spreads d) swaps e) invalid prices/old ticks. The normal testing life-cycle would be back-test first, because you can use historical data and run several years tests in a matter of hours. But I cannot FORWARD test that quickly, so the process of discovering bugs in the EA and areas where it needs improvement slows down considerably because I am waiting for all the issues I listed above to happen in real-time. Since StrategyTester is a piece of software for testing, can it be made to simulate some of more likely events that can occur during a forward test? In doing this, it would give back-tests more validity AND speed up the development process of the EA
My strategy is an EA, and the EA is NOT sensitive to a pip, or even 5 pips! But it is fairly fundamental that a trade should be closed when I ask the EA to close it. All trades are closed successfully in back-test because StrategyTester doesnt simulate ‘old tick’/re-quote. First time the EA is in forward test it falls over. HOWEVER, I have already modified the code to take account of events like this. But forward testing in demo account is *sloooowwww!
Frankly, I’m really not sure what you want, lol. You can’t even forward test with requotes, gaps, etc. etc. The only way to check this is via trading in a real account with real money. The only difference between backtesting and forward tests is the quality of the quotes or feeds. If you say your strat wouldn’t depend on a single pip, then I do not see any issues why the backtest wouldn’t be good enough. Take your backtest results with a minute feed back to the time you start that backtest, subtract 10% of the results and you will probably have a result which is very close to what you would get in forward testing. Just quicker.
Someone else suggested this, using ultra-small lot sizes.
The only difference between backtesting and forward tests is the quality of the quotes or feeds.
That is not the only difference, but maybe its because I come from a systems I.T. background I’ve picked up on ways in which StrategyTester could be… improved
Take your backtest results with a minute feed back to the time you start that backtest, subtract 10% of the results and you will probably have a result which is very close to what you would get in forward testing.
I’m not sure I understand what to do/how to do this, can you explain a little more please?
There is ForexTester and you can test automatic strategies but the format is slightly different than MT4 so this requires changes.
I also think that re-quotes etc. is something that cannot be simulated.
i can make any indicator into a rudimentary real time forward test simulator i do it all the time to test my own ideas what kind of strategy are you trying to test ?
So, whats another difference? I have 30+ years IT experience, by the way. Plus 1+ with MT4 and backtests. Sure you could “improve” that backtesting, but then you are running into curve fitting and all that. [U]The future is UNKNOWN![/U] If you can’t accept that, stay away from trading, because you would probably quit trading if the first drawdown arrives after all. There is, even with the very best system, always the risk of a drawdown and IT WILL happen sooner or later!
What you asked for: Consider putting your eye more on a quality feed for the backtest than of the backtest algo itself. The backtest algo is good enough for tfs H4 and up if your feed is accurate. Tfs below is more difficult. Unfortunately, there is no tick feed I am aware of. But you can take a down to the minute feed. You must, however, look at the starting date of that feed. MT4 has d1 feed back several years, but not the minute data. So, you have to look around to get a better feed with minute data. The results will improve dramatically then.
Tfs below H4 are in my opinion not a really good trading vehicle for bots. Because the spread is way higher in relation to the profits, which grows your loss. Then you also run into higher divergences because of gaps, requotes, etc. This would not change with another algo.
At least: Did you read about KISS? Keep it simple! Don’t make things complicated because you believe that would improve something. The opposite is true! The more complicated a backtesting is, the more it is likely it is exposed to curve fitting. You will have very good results then for past trading, but future trading will be miserable.