MT4 major backtesting bug - or am I going mad??? - page 2

 
Stuart Browne:

hehhe, so it's not a bug, it's a "feature" ;-)

Thanks for confirming my sanity is still intact mate. Personally, I would have expected the strategy tester was meant to mimic what would happen on a real account......  

Quite a huge difference here. Could mean what looks like a losing EA could actually be a winner and, even more scary, totally the opposite! So I guess the question then is - what's the point in even having the strategy tester?

Since more than 10 years, it's like this.

The Strategy Tester always consider the exact TP price. It's how the open prices and control points are working.

 
Alain Verleyen:

False.

The Strategy tester is useful...for coders. I use it a lot to check my coding.

Yes correct that would be the only purpose i would have to agree with..

 
Alain Verleyen:

Since more than 10 years, it's like this.

The Strategy Tester always consider the exact TP price. It's how the open prices and control points are working.

 

Well it's the first time I've actually noticed it and to me, it's flat out wrong. You may have missed my earlier comment as we posted at the same time:

 

Agreed, it helps to see if an EA/Indy is doing what it's supposed to do logic wise, but obviously useless for testing profitability of an EA. Yeah, we pretty much knew that anyway but I think this totally confirms it. 

 

Agreed, it helps to see if an EA/Indy is doing what it's supposed to do logic wise, but obviously useless for testing profitability of an EA. Yeah, we pretty much knew that anyway but I think this totally confirms it.

Of course, totally agree.

Edit: You can still use the ST to test EA trading results, if you get a stop out, there is little chance it will work live

 
Alain Verleyen:

Of course, totally agree.

So maybe rename the strategy tester as a "code debugger" or "logic tester"??
 
good shared info!!
 
Alain Verleyen:

Of course, totally agree.

Edit: You can still use the ST to test EA trading results, if you get a stop out, there is little chance it will work live

hehehe, unless there is another bug, sorry - limitation, that is skewing the results on the other side as well :D
 

To me, it is a big bug. The scenario:

You have a pending order, stoploss or takeprofit at a price = PRICE_P, and PRICE_A < PRICE_P < PRICE_B.

With the present price = PRICE_A and the price of the next tick = PRICE_B, you will find:

Every broker places the market order / executes stoploss/takeprofit at PRICE_B.

The strategy tester, however, places the market order / executes stoploss/takeprofit at PRICE_P.

I consider this as a severe bug, leading to false test results.

Metaquotes said that they don't have the workforce to touch MT4 any more,

as they are focused on MT5. A shame to leave the customers alone with a faulty product.

 

On MT5 TP and SL and pending orders are also hit at exact level.

Best to not use pending orders to test profitability of a strategy, use virtual pending system which puts out a market order. Same goes for TP/SL Levels, use virtual.

Also MT5 suffers from positive slippage, to fix you can use https://www.mql5.com/en/code/16134

If these are bugs or a feature depends on your position. For example if you sell EA's this is a good feature and enables seller to paint nice picture for demo to provide a positive backtest. If you are trader you can consider it bugs and you will have to work around this.

MQ will not fix this.

SlipPage
SlipPage
  • votes: 19
  • 2016.09.19
  • fxsaber
  • www.mql5.com
During the execution, slippages induce non-system profit/loss. This script outputs the values of these slippages in the account currency. It is possible to evaluate the order execution of the trading system — contribution of slippages in its expected payoff. In the "real ticks" mode...
 

Still, this "Stop Order Bug" is not fixed. When you do an EA for scalping, huge false profits are shown by the MT4 tester when you optimize the EA.

In my view, it is an evidence of incapacity for MQ, and a big pain for the traders. I tried to work around it, but thats much effort, and we should not have to burden it.

MQ, you are urged to correct the tester (see my above scenario for details) and make it handle the trades the same way the brokers do - otherwise it is worthless!

Reason: