Errors, bugs, questions - page 2186

 
fxsaber:

MT4 question.

I've encountered this once before and stumbled with this bug again on an HFT test.

I set BuyLimit, the price breaks it down and stays down for many minutes. At the same time BuyLimit is lit yellow but "not executed".


Attempts to modify it give out

2018.04.09 19:15:41.242 '89015117': modification of invalid order #108362456

When I saw it, I remembered this long ago situation. The recipe then and as it turned out now is always the same - reconnect. After the contact it turns out that BuyLimit has long (since the moment of crossing) been a Buy position.

At the same time before the reconnect we could trade other orders and everything was fine with them, only BuyLimit was hovering.


It turns out that there is no notification in the MT4 terminal that BuyLimit has become a Buy position. And, consequently, it's a bummer until you make a re-login.

I have to remember how I solved this situation. But I'm 99% sure that in case of errors or oddities I was just forced to relogin through WinAPI.

Does it make sense to write to SD about it, since it is MT4 after all? I haven't noticed anything like that in 5.


It seems to be from the same idea:

Hello! In MT4, when you delete a Limit order placed inside the spread, there is often an error situation - the order to be deleted gets hung up, which can only be fixed by reloading the terminal. As far as I understood the mechanism , it occurs in the following way:

1 ) We set a limit inside the spread, close to the price Ask (for Buy orders Limit) or Bid (forSell orders Limit) and after some time we try to delete it.

2 ) We send a command OrderDelete(), while this command goes to the server, the order may already be executed on the server (it is inside the spread, very close to the activation price). It appears that when the command reaches the server, it will be applied to the market order and we will get an error in the terminal and a frozen order. In this case, the order in the terminal remains a limit order (also defined as a limit order using the OrderType() function) and will only appear as a market order after a terminal restart. If you keep deleting it as a limit one , you will see an error in the Expert Advisor's log with code: 3, and in the terminal log:[Invalid parameters]. Actually, no actions with such a suspended order are possible - it is a limit order in the client terminal and a market order on the server . The order cannot be deleted manually either.

I attach a simplified EA (only for Buy Limit), for error reproduction and a profile with 8 EAs installed in parallel (the error appears faster, than if the error is caught by one EA - though it also occurs with one installed EA). The Buy order Limit is set at 1 five-digit point below the Ask price and is removed after 1 second after being set. If you set an order even 5 points below Ask price and delete it after any number of seconds/minutes/hours, the error will still happen from time to time, just less frequently because the mechanism of its appearance does not change.

You need to start the terminal and wait for the pending order to appear. Usually you should not wait more than an hour, depending on market activity.


Application open, Started: 2017.06.06.12:37, #1766459


In October 2017, I was written by servicedesk that they managed to reproduce this situation and that they were working on a solution to the problem. And since then there has been silence...

 
Pavel Kolchin:

product cannot be downloaded from the marketplace, what can I do?


Try again.

 
zenz:


This is from the same line, as it seems:

Hello! In MT4, when deleting a limit order located inside a spread, there is often an error situation - the deleted order hangs, which can only be cured by restarting the terminal. As far as I understood the mechanism , it occurs in the following way:

1 ) We set a limit inside the spread, close to the price Ask (for Buy orders Limit) or Bid (forSell orders Limit) and after some time we try to delete it.

2 ) We send a command OrderDelete(), while this command goes to the server, the order may already be executed on the server (it is inside the spread, very close to the activation price). It appears that when the command reaches the server, it will be applied to the market order and we get an error in the terminal and a frozen order. In this case, the order in the terminal remains a limit order (also defined as a limit order by the OrderType() function) and will only appear as a market order after a terminal restart. If you keep deleting it as a limit one , you will see an error in the Expert Advisor's log with code: 3, and in the terminal log:[Invalid parameters]. Actually, no actions with such a suspended order are possible - it is a limit order in the client terminal and a market order on the server . The order cannot be deleted manually either.

I attach a simplified EA (only for Buy Limit), for error reproduction and a profile with 8 EAs installed in parallel (the error appears faster, than if the error is caught by one EA - though it also occurs with one installed EA). The Buy order Limit is set at 1 five-digit point below the Ask price and is removed after 1 second after being set. If you set an order even 5 points below Ask price and delete it after any number of seconds/minutes/hours, the error will still happen from time to time, just less frequently because the mechanism of its appearance does not change.

You need to start the terminal and wait for the pending order to appear. Usually you should not wait more than an hour, depending on market activity.


Application open, Started: 2017.06.06.12:37, #1766459


In October 2017, I was written by servicedesk that they managed to reproduce this situation and that they were working on a solution to the problem. And since then there has been silence....

Well done to you for getting to the bottom of it, including reproduction! Indeed, the trading environment in the Terminal is still not synchronised with the Trade Server.

However, there were no updates after May 2017 (build 1090) and the problem was reproduced in October. The timing is hard to say even for MT5, and even more so for the 4.

Apparently, the developers did not consider this bug critical. I think it is unacceptable. I think it's unacceptable, because almost nobody works with limit orders and inside the spread.


ZZY In your application to the BOD, say hello from me. Maybe it's banal, they forgot.

 
Fast235:

why does it say Backtest when saving a trade report?



This is the report from the "Backtest" tab in the strategy tester, right?

 
Alexander:

This is the report from the "Backtest" tab in the strategy tester, right?


It's just a hidden way to promote your report.

 

Could you please tell me what is the error?

(2018.04.10 15:20:13.844 Tester debug version of "MQL5\Experts\Probe5.ex5" can be optimized on local agents only, no Cloud, no Farm)

I'm already screwed with the optimization. It either agrees to run on the local network, or does not!

 
AVAAR:

Could you please tell me what's the error?

(2018.04.10 15:20:13.844 Tester debug version of "MQL5\Experts\Probe5.ex5" can be optimized on local agents only, no Cloud, no Farm)

I'm already screwed with the optimization. It either agrees to run on the local network or it doesn't!

Compile by F7, not by F5.

 
AVAAR:

Could you please tell me what is the error?

(2018.04.10 15:20:13.844 Tester debug version of "MQL5\Experts\Probe5.ex5" can be optimized on local agents only, no Cloud, no Farm)

I'm already screwed with the optimization. It either agrees on the local network, or it doesn't!

The highlighted text is the root of your error.

You have to compile the file before optimizing it.

 
Alexander:

This is the report from the Backtest tab in the strategy tester, right?

No, this is from the Tools mode, real trading, I wanted to show the result, but it says Backtest)

from the Strategy Tester additional fields in the report

 
Vladislav Andruschenko:


It's just a disguised way of promoting your report.

at least it's not a pipsqueak)

Reason: