MetaTrader 5 Strategy Tester: bugs, bugs, suggestions for improvement - page 49

 
fxsaber:

Sort the "Result" column.

Sorted by result, profit, passes, etc. The result is in the picture.
 
Grozir:
Sorted by result, profit, passes, etc. The result is in the picture.

You need an opt file of this Optimisation to figure it out.

 
fxsaber:

You need an opt file of this Optimisation to figure it out.

This freezing of the results occurred 30 min after the start of the optimisation. After finishing the process, the table jerked and showed all the results.
 
Grozir:
This hanging of results occurred 30 min after the start of the optimisation. After finishing the process, the table jerked and showed all results.

The table is not updated when it is open (for performance reasons). You need to switch tabs to refresh.

 

The HTML report of the single pass is not generated correctly. Playback.

#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

#define  Bid SymbolInfoDouble(_Symbol, SYMBOL_BID)
#define  Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)

void OnTick()
{  
  static bool FirstRun = true;
  
  if (FirstRun)
  {        
    const double TP = Bid - 100 * _Point;
    
    OrderSend(_Symbol, OP_SELL, 0.1, Bid, 0, 0, TP);
    OrderSend(_Symbol, OP_BUYLIMIT, 0.2, TP, 0, 0, 0);
    
    FirstRun = false;
  }
}

Briefly, the open position has a strike at the same level as the limit order. Execution result.

The tester executes TP first and then the limit order. This is correct. Otherwise we would face the situation that there is not enough margin for the Limit order execution.

In the Terminal the post-example (see the first screenshot) of deals is correct (including tst-file). But it is not so in the HTML report. Moreover, the sequence of triggering of the corresponding orders in the Terminal is also broken (including the tst-file).

 

Forum on trading, automated trading systems and strategy testing

Libraries: SingleTesterCache

fxsaber, 2020.01.15 22:46

The volume of trades/orders is not spelled correctly in tst. It is always calculated as ifSYMBOL_TRADE_CONTRACT_SIZE= 100,000.

If a different value is set, it has no effect on the value of volume in tst.

 

There is a suspicion that when the account is changed during optimisation, it stops. But in theory all account settings should already be known.

There is also a suspicion that if bot is recompiled during optimization so that it will not work, then optimization will start to stop as well.

PS. I'll check as soon as the CPU is free.
 

There are already 150 results and it shows 9. Why?

This is the picture in the agents:


 
Andrey Pogoreltsev:

There are already 150 results and it shows 9. Why?

This is the picture in the agents:


150 tasks in the works and 9 completed. The top line of the second screenshot.
 
Grozir:
150 tasks are in work and 9 are completed. The top line of the second screen.

In the first screenshot you can see that there are completed tasks. There are 150 of them.

If you count the tasks in the job on the second screen, there are 103, of which 9 have been completed.