Backtest problem ​on a new MT5 installation with FX.COM using a standard sample EA

 

I have the problem that when i run a backtest​ in strategy tester​  ​​on a new installation of MT5 using the standard sample EA called "MACD Sample.ex5" i get no trades on my demo account with FX.COM.

I have attached the EA. The EA is unmodified and comes with FX.COM standard install for MT5 for Windows.

Please find attached ​three screen shots that let you see the parameters and the results. 

Also attached the log. As you can see the log is full of these errors: Error opening SELL position by EURUSD : '(null)'

I have tried numerous other EA's with the same result. 

Please provide guidance for resolving this issue.

Files:
screen1.PNG  146 kb
Screen2.PNG  110 kb
Screen3.PNG  15 kb
MACD_Sample.ex5  65 kb
MACD_Sample.mq5  19 kb
 
Just to be clear the backtest makes no trades at all
 
spalle:

I have the problem that when i run a backtest​ in strategy tester​  ​​on a new installation of MT5 using the standard sample EA called "MACD Sample.ex5" i get no trades on my demo account with FX.COM.

I have attached the EA. The EA is unmodified and comes with FX.COM standard install for MT5 for Windows.

Please find attached ​three screen shots that let you see the parameters and the results. 

Also attached the log. As you can see the log is full of these errors: Error opening SELL position by EURUSD : '(null)'

I have tried numerous other EA's with the same result. 

Please provide guidance for resolving this issue.


Hi,

I've run the MACD sample EA backtest using Alpari demo MT5 with no problem at all. There's no error of opening position. Screenshots and tester report attached.


 

Make a change to the code of the Expert Advisor (uncomment one line of the two):

bool CSampleExpert::Init(void)
  {
//--- initialize common information
   m_symbol.Name(Symbol());                  // symbol
   m_trade.SetExpertMagicNumber(MACD_MAGIC); // magic
   m_trade.SetMarginMode();
//--- tuning for 3 or 5 digits
   int digits_adjust=1;
   if(m_symbol.Digits()==3 || m_symbol.Digits()==5)
      digits_adjust=10;
   m_adjusted_point=m_symbol.Point()*digits_adjust;
//--- set default deviation for trading in adjusted points
   m_macd_open_level =InpMACDOpenLevel*m_adjusted_point;
   m_macd_close_level=InpMACDCloseLevel*m_adjusted_point;
   m_traling_stop    =InpTrailingStop*m_adjusted_point;
   m_take_profit     =InpTakeProfit*m_adjusted_point;
//--- set default deviation for trading in adjusted points
   m_trade.SetDeviationInPoints(3*digits_adjust);
   //m_trade.SetTypeFilling(ORDER_FILLING_FOK);
   //m_trade.SetTypeFilling(ORDER_FILLING_IOC);
//---
   if(!InitCheckParameters(digits_adjust))
 
Vladimir Karputov:

Make a change to the code of the Expert Advisor (uncomment one line of the two):

Hello i have the same problem with XM-COM but on moving average EA. (and  With another broker on the same MT5 no problem.)

If i put this line on Macd example EA it 's ok

//m_trade.SetTypeFilling(ORDER_FILLING_IOC)


but if i put it on the moving average EA, i have orders filled correctly when in, but there is this problem for the out :

2017.05.26 16:38:27.431    Core 1    2017.05.09 03:25:50   failed market buy 0.10 EURUSD, close #6 sell 0.10 EURUSD 1.08936 [Unsupported filling mode]
2017.05.26 16:38:27.431    Core 1    2017.05.09 03:25:50   CTrade::OrderSend: market buy 0.10 position #6 EURUSD [invalid fill]
2017.05.26 16:38:27.431    Core 1    2017.05.09 03:25:50   Error closing position by EURUSD : 'Unsupported filling mode'

I don't think it is a problem of our EA's code but a parameter on the broker platform don't be good

Somebody have another idea?

thanks

 

Hello, as far as I have been testing it only works on timeframes lower than the Daily like H12, H8, H4 etc.

I know it still works when using the older version build 2875 and the EA is exactly the same.
Also when using default EA like MACD which is included in MT5 it does not work either.
How can it still work with timeframes lower than Daily and not with the other timeframes?

Does somebody have any idea how to solve this? Thanks.

Reason: