MT5 engine minor differences. Missing about 2% of trades.

This one matches up closely to the point every open trade the entry, exit, SL, TP are matching very nicely EXCEPT in mt5 about 2% of trades are missing. Here is one example. one trade on 2003/07/31 does not exist in mt5. 


Attachments
minor-dif_Strategy 140437.sqx
(129.32 KiB)
2022-02-14 4.png
(39.34 KiB)
2022-02-14 3.png
(131.70 KiB)
  • Votes +3
  • Project StrategyQuant X
  • Type Bug
  • Status Fixed
  • Priority Normal

History

b
#1

bentra

14.02.2022 19:10

Task created

g
#2

geektrader

14.02.2022 20:13
Voted for this task.
b
#3

bentra

14.02.2022 23:03
Voted for this task.
TV
#4

Tomas Vanek

15.02.2022 00:14
please, attach also the backtest from MT5. Did you use same data with the same timezone in MT5 retester? 
b
#5

bentra

15.02.2022 01:03

Attachment report.zip added

report.zip
(270.52 KiB)
Yes of course it is exactly the right timezone and same data. Dukas tick data. Like you see in the screenshots most of the trades match-up exactly correctly including dates and times. It is just a matter of occasionally skipped trades.


E
#6

Emmanuel

21.02.2022 09:19
Voted for this task.
TB
#7

Tomas Brynda

06.04.2022 10:16

Status changed from New to Waiting for information

Hi Bentra, 

please check Journal in MT5 in order to see if there are any log messages regarding those missing trades.

It may be a matter of min distance or something like that.


Best regards,

Tomas

b
#8

bentra

06.04.2022 19:23
OK I retested this one with the newest mqh file and now 891 trades in SQX vs 878 trades in MT5 terminal. so missing about 1.45% of trades now. Also still missing that one sample trade. 

Both broker and sqx are min distance 0.

From the logs of that day of the one selected missing trade:


2022.04.06 12:53:41.776 Core 01 2003.07.31 00:00:00   ---VERBOSE--- 2003.07.31 00:00 Computing Money Management for order -  Risk fixed % of account

2022.04.06 12:53:41.776 Core 01 2003.07.31 00:00:00   ---VERBOSE--- 2003.07.31 00:00 Computing Money Management - Smallest_Lot: 0.01000000, Largest_Lot: 100.00000000, Computed LotSize: 0.53000000

2022.04.06 12:53:41.776 Core 01 2003.07.31 00:00:00   ---VERBOSE--- 2003.07.31 00:00 Max money to risk: 100.11000000, SL:1.13777000, Max 1 lot trade drawdown: 187.00000000, Point value: 100000.00000000

2022.04.06 12:53:41.776 Core 01 2003.07.31 00:00:00   failed sell limit 0.53 EURUSD_duk at 1.13590 sl: 1.13777 tp: 1.12404 [Market closed]

2022.04.06 12:53:41.776 Core 01 2003.07.31 00:00:00   Alert: The order request could not be completed. Error no.: 4756

2022.04.06 12:53:41.776 Core 01 2003.07.31 00:00:00   Alert: Error description: Trade request sending failed


Hmm looks like with the limit order, it just gave up right away on a single market closed error.... (These are ALL logs from that one date)
It should've been retried a number of times right?

TB
#9

Tomas Brynda

07.04.2022 08:28

Attachment SQ.mqh added

SQ.mqh
(173.09 KiB)
There are currently no retries in the code.

Could you try to replace the SQ.mqh file (internal\extend\Code\MetaTrader5\SQ.mqh) with the attached, regenerate the source code and retry the backtest?

I have added 5 retries, I'd like to see if the order gets through.



b
#10

bentra

07.04.2022 09:40
 it retries but  only 5 times over 20 seconds so it's not enough waiting maybe because this trade still doesn't work:

2022.04.07 03:04:48.333 Core 01 2003.07.31 00:00:00   ---VERBOSE--- 2003.07.31 00:00 Computing Money Management for order -  Risk fixed % of account

2022.04.07 03:04:48.333 Core 01 2003.07.31 00:00:00   ---VERBOSE--- 2003.07.31 00:00 Computing Money Management - Smallest_Lot: 0.01000000, Largest_Lot: 100.00000000, Computed LotSize: 0.53000000

2022.04.07 03:04:48.333 Core 01 2003.07.31 00:00:00   ---VERBOSE--- 2003.07.31 00:00 Max money to risk: 100.11000000, SL:1.13777000, Max 1 lot trade drawdown: 187.00000000, Point value: 100000.00000000

2022.04.07 03:04:48.333 Core 01 2003.07.31 00:00:00   failed sell limit 0.53 EURUSD_duk at 1.13590 sl: 1.13777 tp: 1.12404 [Market closed]

2022.04.07 03:04:48.333 Core 01 2003.07.31 00:00:00   ---VERBOSE--- 2003.07.31 00:00 Placing order failed - Error no.:4756 (Trade request sending failed). Retrying (#1)...

2022.04.07 03:04:48.333 Core 01 2003.07.31 00:00:02   failed sell limit 0.53 EURUSD_duk at 1.13590 sl: 1.13777 tp: 1.12404 [Market closed]

2022.04.07 03:04:48.333 Core 01 2003.07.31 00:00:02   ---VERBOSE--- 2003.07.31 00:00 Placing order failed - Error no.:4756 (Trade request sending failed). Retrying (#2)...

2022.04.07 03:04:48.333 Core 01 2003.07.31 00:00:06   failed sell limit 0.53 EURUSD_duk at 1.13590 sl: 1.13777 tp: 1.12404 [Market closed]

2022.04.07 03:04:48.333 Core 01 2003.07.31 00:00:06   ---VERBOSE--- 2003.07.31 00:00 Placing order failed - Error no.:4756 (Trade request sending failed). Retrying (#3)...

2022.04.07 03:04:48.333 Core 01 2003.07.31 00:00:12   failed sell limit 0.53 EURUSD_duk at 1.13590 sl: 1.13777 tp: 1.12404 [Market closed]

2022.04.07 03:04:48.333 Core 01 2003.07.31 00:00:12   ---VERBOSE--- 2003.07.31 00:00 Placing order failed - Error no.:4756 (Trade request sending failed). Retrying (#4)...

2022.04.07 03:04:48.333 Core 01 2003.07.31 00:00:20   failed sell limit 0.53 EURUSD_duk at 1.13590 sl: 1.13777 tp: 1.12404 [Market closed]

2022.04.07 03:04:48.333 Core 01 2003.07.31 00:00:20   ---VERBOSE--- 2003.07.31 00:00 Placing order failed - Error no.:4756 (Trade request sending failed). Retrying (#5)...

2022.04.07 03:04:48.333 Core 01 2003.07.31 00:00:30   failed sell limit 0.53 EURUSD_duk at 1.13590 sl: 1.13777 tp: 1.12404 [Market closed]

2022.04.07 03:04:48.333 Core 01 2003.07.31 00:00:30   Alert: The order request could not be completed. Error no.: 4756

2022.04.07 03:04:48.333 Core 01 2003.07.31 00:00:30   Alert: Error description: Trade request sending failed





OK so I changed max retries to 50 and it finally gets the trade on the 15th try at 00:04:00...

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:00:00   ---VERBOSE--- 2003.07.31 00:00 Computing Money Management for order -  Risk fixed % of account

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:00:00   ---VERBOSE--- 2003.07.31 00:00 Computing Money Management - Smallest_Lot: 0.01000000, Largest_Lot: 100.00000000, Computed LotSize: 0.53000000

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:00:00   ---VERBOSE--- 2003.07.31 00:00 Max money to risk: 100.11000000, SL:1.13777000, Max 1 lot trade drawdown: 187.00000000, Point value: 100000.00000000

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:00:00   failed sell limit 0.53 EURUSD_duk at 1.13590 sl: 1.13777 tp: 1.12404 [Market closed]

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:00:00   ---VERBOSE--- 2003.07.31 00:00 Placing order failed - Error no.:4756 (Trade request sending failed). Retrying (#1)...

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:00:02   failed sell limit 0.53 EURUSD_duk at 1.13590 sl: 1.13777 tp: 1.12404 [Market closed]

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:00:02   ---VERBOSE--- 2003.07.31 00:00 Placing order failed - Error no.:4756 (Trade request sending failed). Retrying (#2)...

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:00:06   failed sell limit 0.53 EURUSD_duk at 1.13590 sl: 1.13777 tp: 1.12404 [Market closed]

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:00:06   ---VERBOSE--- 2003.07.31 00:00 Placing order failed - Error no.:4756 (Trade request sending failed). Retrying (#3)...

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:00:12   failed sell limit 0.53 EURUSD_duk at 1.13590 sl: 1.13777 tp: 1.12404 [Market closed]

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:00:12   ---VERBOSE--- 2003.07.31 00:00 Placing order failed - Error no.:4756 (Trade request sending failed). Retrying (#4)...

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:00:20   failed sell limit 0.53 EURUSD_duk at 1.13590 sl: 1.13777 tp: 1.12404 [Market closed]

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:00:20   ---VERBOSE--- 2003.07.31 00:00 Placing order failed - Error no.:4756 (Trade request sending failed). Retrying (#5)...

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:00:30   failed sell limit 0.53 EURUSD_duk at 1.13590 sl: 1.13777 tp: 1.12404 [Market closed]

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:00:30   ---VERBOSE--- 2003.07.31 00:00 Placing order failed - Error no.:4756 (Trade request sending failed). Retrying (#6)...

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:00:42   failed sell limit 0.53 EURUSD_duk at 1.13590 sl: 1.13777 tp: 1.12404 [Market closed]

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:00:42   ---VERBOSE--- 2003.07.31 00:00 Placing order failed - Error no.:4756 (Trade request sending failed). Retrying (#7)...

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:00:56   failed sell limit 0.53 EURUSD_duk at 1.13590 sl: 1.13777 tp: 1.12404 [Market closed]

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:00:56   ---VERBOSE--- 2003.07.31 00:00 Placing order failed - Error no.:4756 (Trade request sending failed). Retrying (#8)...

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:01:12   failed sell limit 0.53 EURUSD_duk at 1.13590 sl: 1.13777 tp: 1.12404 [Market closed]

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:01:12   ---VERBOSE--- 2003.07.31 00:01 Placing order failed - Error no.:4756 (Trade request sending failed). Retrying (#9)...

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:01:30   failed sell limit 0.53 EURUSD_duk at 1.13590 sl: 1.13777 tp: 1.12404 [Market closed]

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:01:30   ---VERBOSE--- 2003.07.31 00:01 Placing order failed - Error no.:4756 (Trade request sending failed). Retrying (#10)...

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:01:50   failed sell limit 0.53 EURUSD_duk at 1.13590 sl: 1.13777 tp: 1.12404 [Market closed]

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:01:50   ---VERBOSE--- 2003.07.31 00:01 Placing order failed - Error no.:4756 (Trade request sending failed). Retrying (#11)...

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:02:12   failed sell limit 0.53 EURUSD_duk at 1.13590 sl: 1.13777 tp: 1.12404 [Market closed]

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:02:12   ---VERBOSE--- 2003.07.31 00:02 Placing order failed - Error no.:4756 (Trade request sending failed). Retrying (#12)...

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:02:36   failed sell limit 0.53 EURUSD_duk at 1.13590 sl: 1.13777 tp: 1.12404 [Market closed]

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:02:36   ---VERBOSE--- 2003.07.31 00:02 Placing order failed - Error no.:4756 (Trade request sending failed). Retrying (#13)...

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:03:02   failed sell limit 0.53 EURUSD_duk at 1.13590 sl: 1.13777 tp: 1.12404 [Market closed]

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:03:02   ---VERBOSE--- 2003.07.31 00:02 Placing order failed - Error no.:4756 (Trade request sending failed). Retrying (#14)...

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:03:30   failed sell limit 0.53 EURUSD_duk at 1.13590 sl: 1.13777 tp: 1.12404 [Market closed]

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:03:30   ---VERBOSE--- 2003.07.31 00:03 Placing order failed - Error no.:4756 (Trade request sending failed). Retrying (#15)...

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:04:00   sell limit 0.53 EURUSD_duk at 1.13590 sl: 1.13777 tp: 1.12404 (1.13403 / 1.13417)

2022.04.07 03:22:35.521 Core 01 2003.07.31 00:04:00   ---VERBOSE--- 2003.07.31 00:03 The order has been successfully placed with Ticket#:69!!

2022.04.07 03:22:35.521 Core 01 2003.07.31 01:36:39   order [#69 sell limit 0.53 EURUSD_duk at 1.13590] triggered

2022.04.07 03:22:35.521 Core 01 2003.07.31 01:36:39   deal #32 sell 0.53 EURUSD_duk at 1.13594 done (based on order #69)

2022.04.07 03:22:35.521 Core 01 2003.07.31 01:36:39   deal performed [#32 sell 0.53 EURUSD_duk at 1.13594]

2022.04.07 03:22:35.521 Core 01 2003.07.31 01:36:39   order performed sell 0.53 at 1.13594 [#69 sell limit 0.53 EURUSD_duk at 1.13590]

2022.04.07 03:22:35.521 Core 01 2003.07.31 19:01:16   take profit triggered #69 sell 0.53 EURUSD_duk 1.13594 sl: 1.13777 tp: 1.12404 [#70 buy 0.53 EURUSD_duk at 1.12404]

2022.04.07 03:22:35.521 Core 01 2003.07.31 19:01:16   deal #33 buy 0.53 EURUSD_duk at 1.12401 done (based on order #70)

2022.04.07 03:22:35.521 Core 01 2003.07.31 19:01:16   deal performed [#33 buy 0.53 EURUSD_duk at 1.12401]

2022.04.07 03:22:35.521 Core 01 2003.07.31 19:01:16   order performed buy 0.53 at 1.12401 [#70 buy 0.53 EURUSD_duk at 1.12404]



Other brokers might be closed till 00:05:00 or even later though...

But good news it gets 891 trades once I added enough retries! Which is the exact correct number.



TB
#11

Tomas Brynda

07.04.2022 12:10

Status changed from Waiting for information to Fixed

Ok, thank you very much for testing.


The code has been added to SQ together with checking symbol's session hours.

MT5 EAs will have new input parameters to set this functionality.

It will be available in the next Dev build. 


I'm marking the task as fixed. If you experience any problem regarding this, please feel free to reopen it.


Best regards,

Tomas


Votes: +3

Drop files to upload

or

choose files

Max size: 5MB

Not allowed: exe, msi, application, reg, php, js, htaccess, htpasswd, gitignore

...
Wait please