Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
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. Там другое время.
Просьба исправить на корректные времена позиции и сделки.
I wrote to the developers about this problem.
Thanks - but unforunately I do not understand Russian language :-(
Thanks - but unforunately I do not understand Russian language :-(
Automatic translation feature
https://www.mql5.com/en/forum/13348
- 2013.08.09
- www.mql5.com
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
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
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