Systems that perform well in backtest - page 2

 

For MT5, it's essential to use the 'Every tick based on real ticks' mode for testing, which will closely resemble the actual results.

 

There are 2 main categories regarding why there are differents between back-testing and live-testing:

(1) Un-ethical approach to try to sell some bad/not good EAs by doing curve-fitting or even hard-coding the when to open and close trades.

(2) Not in the above category.


I would like to talk about the (2) above.

In an EA, if the TPs and SLs are too small like in scalping, good price data is very important to evaluate the EA's performance. This means one must do the backtest with Every Ticks mode and they have to have good real tick data for the time period they run the tests.

If the TPs and SLs (if any) are not too small then testing using Every Ticks mode is not necessary. 


While creating my EAs for myself, I test and optimize for some time period (say from Jun 1, 2022 to Jun 1, 2023) then test it with the same setting on many different time periods (for example from Mar 1, 2022 to Mar 2023, or from July 1, 2023 to Dec 15, 2023, or ...) that way I can see if the EAs can perform well if different market conditions.

 
shadow_walker #:

For MT5, it's essential to use the 'Every tick based on real ticks' mode for testing, which will closely resemble the actual results.

Actually the use of Every tick based on real ticks mode for testing will lead to the very discrepancy you are trying to avoid. Why?

You see the way real ticks are treated on Tester is different compared to the live trading. When Tester send ticks to your EA to process will wait for the each tick to processed before sending the next one but on the live trading environment, when chart is sending ticks to your EA it doesn't wait for a tick for the previous tick in process to finish, it stop processing the previous tick and start processing the new one and this occurs mostly on high volatility times.

On tester each ticks is processed to a completion but on live trading it process to completion only when no new tick coming in, when new tick arrives the previous is discarded to make room for a new one.

 
Personally, I think a clear checklist can be made to tackle this issue:
1. Accurate Data: Data must be 100 percent to the actual data with no gaps
2. Put actual commissions, swaps, spreads into your testing and calculate them correctly.
3. Process data in a clear fashion as, means make sure ticks are processed in live trading as exactly as they did process on the Tester.
4. Trade system as exactly as it was tester. This should be going without saying but you will be surprised how people close positions, move SL and TP when live trading a winning system that was profitable on Tester.
5. To rule the system profitable or not on live, there must be valid number of trades on live compared to the backtest results. Because you can't say the system is unprofitable with just 20 trades online while on backtest the system has thousands of trades.
NB: List is not exhaustive, so there is more to add.

Actually, one guy created a YouTube video series to address this very problem, He is affiliated with a broker and channel belong to a broker so I can't list them here, but they are located in London and very huge on algo trading and funding traders.