What are the differences between backtest and forward test? - page 2

 
doshur:

1. How different could be results between back and forward tests?

Volume, slippage, delay

It depends of your strategy, of the number of trades, of the nuber of pips your are trying to catch. A scalping strategy if far more sensitive to slippage, delay and SPREAD.

It depends also of the type of forward test, on a demo or with a real account. Slippage and delay only occurs really on real accounts.

One biggest difference is spread, with the Startegy tester, spread is registered by minute and will constant within this minute, on a forward test spread can vary every tick, make spikes.

Documentation on MQL5: Standard Constants, Enumerations and Structures / Environment State / Account Properties
Documentation on MQL5: Standard Constants, Enumerations and Structures / Environment State / Account Properties
  • www.mql5.com
Standard Constants, Enumerations and Structures / Environment State / Account Properties - Documentation on MQL5
 
RaptorUK:

Bear in mind that once a Forward test is completed it is effectively a real time Backtest. A Forward test of 2 months is no more accurate at telling you how your EA will perform during the following 2 months than a 2 month Backtest.

If you really have an EA that can predict the market,  and this is what all EAs are designed to do,  then it will show consistency from month to month during a long Backtest of several years. 

Thanks RaptorUK, I also thought about this and tested 9 last years of data... result looks consistent. There are some minor deviations between different months but I expect that.
 
angevoyageur:

It depends of your strategy, of the number of trades, of the nuber of pips your are trying to catch. A scalping strategy if far more sensitive to slippage, delay and SPREAD.

It depends also of the type of forward test, on a demo or with a real account. Slippage and delay only occurs really on real accounts.

One biggest difference is spread, with the Startegy tester, spread is registered by minute and will constant within this minute, on a forward test spread can vary every tick, make spikes.

That's a good data Alain! Do you have any suggestions how to deal with slippage?

So far forward test look positive, as expected. I plan to start a real account test in a couple of weeks.

 
Yourock:

That's a good data Alain! Do you have any suggestions how to deal with slippage?

So far forward test look positive, as expected. I plan to start a real account test in a couple of weeks.

Back test result mostly depends on quality of historical data. Back test and forward test in demo account is only for checking your algorithm. Result of demo account and real account must be different. You may have idea of the performance of your EA in demo account. But you will never know the reality without checking it in real account.
Documentation on MQL5: Standard Constants, Enumerations and Structures / Environment State / Account Properties
Documentation on MQL5: Standard Constants, Enumerations and Structures / Environment State / Account Properties
  • www.mql5.com
Standard Constants, Enumerations and Structures / Environment State / Account Properties - Documentation on MQL5
 
Yourock:

That's a good data Alain! Do you have any suggestions how to deal with slippage?

So far forward test look positive, as expected. I plan to start a real account test in a couple of weeks.

What I suggest you is to use a Cent Account (or a mini) and see how you EA reacts to slippage. Again it depends of your strategy, and maybe also on the quality of your code ;-)
 

Just want to publish an early result:

Period: 30/04/2013 - 05/05/2013

Demo account balance: 28 678.50

Backtest with the same parameters + random delay: 28 848.80


So far results are very similar and the actual difference is a randomness added by the backtest (though 170 isn't much). Looking forward to start micro trades on a real account in a couple of weeks... let's see how my EA reacts to slippage and latency.

Also, I am half way through writing a post re slippage and how to deal with it... but I really would like to take some real trades to confirm if my post ain't rubbish :)

 
Yourock Acrew:

Just want to publish an early result:

Period: 30/04/2013 - 05/05/2013

Demo account balance: 28 678.50

Backtest with the same parameters + random delay: 28 848.80


So far results are very similar and the actual difference is a randomness added by the backtest (though 170 isn't much). Looking forward to start micro trades on a real account in a couple of weeks... let's see how my EA reacts to slippage and latency.

Also, I am half way through writing a post re slippage and how to deal with it... but I really would like to take some real trades to confirm if my post ain't rubbish :)

Dear Yourock Acrew

 

I just reviewed your comment s for around 3 years ago. The last result which you announced was only for 6 days. Please let me know your further results about the difference between back testing and forward testing in real account.

 

Do I understand it right? The only real benefit of using the forward testing option is that I basically save three clicks, adjusting the date and start the tester again? And yes, maybe worth to mention: You get a forward testing tab after testing. 

When I first saw the forward testing option it was looking so promising. Maybe I expeted that I can "forward test" my advisor against real time data on a live account in an seperate strategy tester instance without risking my real money (I don't trust in demo live accounts) . Or at least the forward test results could be shown in a column of the optimization result. Or the forward testing result could have impact on the optimization result. Or I can select a bunch of optimization result and forward test them with one click. But I can't find any of this cool features. Is it really only about saving a view clicks, to run the tester again on a different time interval? I guess this is not the bottelneck when it comes to strategy testing. I would be happy if I miss something. 

 
sonaht #:

Do I understand it right? The only real benefit of using the forward testing option is that I basically save three clicks, adjusting the date and start the tester again? And yes, maybe worth to mention: You get a forward testing tab after testing. 

When I first saw the forward testing option it was looking so promising. Maybe I expeted that I can "forward test" my advisor against real time data on a live account in an seperate strategy tester instance without risking my real money (I don't trust in demo live accounts) . Or at least the forward test results could be shown in a column of the optimization result. Or the forward testing result could have impact on the optimization result. Or I can select a bunch of optimization result and forward test them with one click. But I can't find any of this cool features. Is it really only about saving a view clicks, to run the tester again on a different time interval? I guess this is not the bottelneck when it comes to strategy testing. I would be happy if I miss something. 

Basically, but it's a lot more than a few clicks in the long run, because it shows you the optimization criteria results for both periods linked. So you can, for example, take the average of the back period value and forward value, as well as the difference between them, and use that to filter your results, to see which provides the best balance of results between the two periods.

 

Hi Scott, I guess when you say "taking the average", you compute it manually or is it possible to do it automized e.g. in the onTester method? Or what exactly is this link? If there is some programmatic relation logic between the backward and forward test, is it described somewhere? When forward testing, I can only see those two tabs with the usual backtesting information for each phase. 


As far I can see, I would get the same information when running a single test seperatly for each time intervall, once for the backward and once for the forward intervall. So strictly speaking, it does not add new functioniality, but a bit comfort. 


Whenn running the genetic optimization algorithm in forward testing mode, I don't see any link or info about the related forward tests in the result table. It only shows the result of the backtesting interval, doesn't it?



Reason: