Time Issue in Version 5.00 build 2006

 

Hello,

it seems to me, that if there is a change in the display of the time column of orders and deals in the newest Metatrader Version build 2006.


As you can see here I sent a pending order at 2018.11.30 00:00:02:


 



So far so good. 

The order has been triggered and the belonging deal has been executed at 2018.11.30 00:30:01.

But the toolbox does display the time of the first setting of the pending order:





If I remember correctly I saw the deal execution time here in the previous Metatrader versions.

My question: is this in your intention?


Matthias

 
I wrote to the developers about this problem.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Бета-версия платформы MetaTrader 5 build 1995: Экономический календарь, MQL5-программы в виде сервисов и API для языка R

fxsaber, 2019.02.20 09:42

Что сейчас творится в MT5-Тестере
// Советник показывает, что две идентичные позиции (даже открыты на одном тике) имеют разные цены
// Запускать в MT5-Тестере на MQ-Beta EURUSD M1 все тики с 04.01.2019.

#include <MT4Orders.mqh>

#define TOSTRING(A) #A + " = " + (string)(A) + " "

#define Bid SymbolInfoDouble(_Symbol, SYMBOL_BID)

// Сравниваем две позиции
void CheckPositions()
{
  if (OrdersTotal() > 1)
  {
    const double Price2 = OrderSelect(0, SELECT_BY_POS) ? OrderOpenPrice() : 0;
    OrderPrint();
    
    const double Price3 = OrderSelect(1, SELECT_BY_POS) ? OrderOpenPrice() : 0;
    OrderPrint();
    
    Print(TOSTRING(Price2 != Price3)); // true
  }
}

void OnTick()
{
  if (!OrderSelect(0, SELECT_BY_POS))
    OrderSend(_Symbol, OP_SELLSTOP, 1, 1.13912, 0, 0, 0, NULL, 0, 0, INT_MIN); // Выставили SellStop
  else if (NormalizeDouble(Bid - OrderOpenPrice(), _Digits) <= 0) // Если пришел тик, где сработал SellStop
  {
    OrderSend(_Symbol, OP_SELL, 1, Bid, 0, 0, 0); // Откроем Sell.
    
    CheckPositions(); // Сравниваем позиции
    
    DebugBreak();
    ExpertRemove();
  }
}


Результат

2019.01.04 00:00:34   sell stop 1.00 EURUSD at 1.13912 (1.13931 / 1.13940 / 1.13931)
2019.01.04 00:10:04   order [#2 sell stop 1.00 EURUSD at 1.13912] triggered
2019.01.04 00:10:04   deal #2 sell 1.00 EURUSD at 1.13912 done (based on order #2)
2019.01.04 00:10:04   deal performed [#2 sell 1.00 EURUSD at 1.13912]
2019.01.04 00:10:04   order performed sell 1.00 at 1.13912 [#2 sell stop 1.00 EURUSD at 1.13912]
2019.01.04 00:10:04   instant sell 1.00 EURUSD at 1.13912 (1.13912 / 1.13917 / 1.13912)
2019.01.04 00:10:04   deal #3 sell 1.00 EURUSD at 1.13912 done (based on order #3)
2019.01.04 00:10:04   deal performed [#3 sell 1.00 EURUSD at 1.13912]
2019.01.04 00:10:04   order performed sell 1.00 at 1.13912 [#3 sell 1.00 EURUSD at 1.13912]
2019.01.04 00:10:04   #2 2019.01.04 00:00:34 sell 1.00 EURUSD 1.13912 0.00000 0.00000 1.13917 0.00 0.00 -5.00 0
2019.01.04 00:10:04   #3 2019.01.04 00:10:04 sell 1.00 EURUSD 1.13912 0.00000 0.00000 1.13917 0.00 0.00 -5.00 0
2019.01.04 00:10:04   Price2!=Price3 = true

Т.е. две полностью идентичные позиции, но цены при сравнении разные!



Этот пример показывает еще один баг Тестера. Вот его позиции и сделки

На скринах выделено время якобы срабатывания отложки. Но посмотрите лог выше, где написано triggered. Там другое время.

Просьба исправить на корректные времена позиции и сделки.

 
fxsaber:
I wrote to the developers about this problem.

Thanks - but unforunately I do not understand Russian language :-(

 
Dr Matthias Hammelsbeck:

Thanks - but unforunately I do not understand Russian language :-(

Automatic translation feature
https://www.mql5.com/en/forum/13348

Automatic Translation of MQL5.com Forum Messages from Any Language
Automatic Translation of MQL5.com Forum Messages from Any Language
  • 2013.08.09
  • www.mql5.com
MQL5.com forum now features automatic translation of any messages...
 

Life can be tough - the problem described above remains in Build 2007 :-(


Matthias

 

Good news!

With Build 2009 the problem seems to be solved!

Thanks to the developer team!


Matthias

Reason: