Errors, bugs, questions - page 2127

 
Slava:

What do you mean "became"?

It's always been like that. Since the beginning of the new four.

I will not argue and prove it, but about 2-3 weeks ago seems to have been. I was fixing an Expert Advisor for one person with buttons and input fields.
I had to add a button and an input field. To determine the indent from the corner, I always created the object manually and after placing it where it was necessary, I looked through the properties and added these values to the code. After all, I couldn't have dreamt of such a thing...

I could assume I was moving a programmatically created object. But that's impossible now too. The object is highlighted, but you can't move it.

 
the test agents are overflowing the hard disk. What to do - what to configure. There are 8 servers of 120gb each
 
MQL5 Cloud Europe 1     genetic pass  tested with error "wrong timeframe request in Open Prices mode in OnTick function (EURUSD,M1)" 


Hi all.

Has anyone encountered this error when optimising in the cloud on Open Prices only ?


The error is not constant. I.e. it occurs "very rarely" but when I run 10,000 results , it pops up 50 times.

I do not change TF during optimization.

 
Vladislav Andruschenko:

The error is not constant. I.e. it occurs "very rarely" but when you run 10,000 results, it pops up 50 times.

You need to get all the information you need from the agent through the frame to analyse it.

 
fxsaber:

You need to get all the necessary information out of the Agent via a frame for analysis.

This always happens at 19%. Found a thread saying it's because of history.
I will try it out.
 

The entire sequence of OnTradeTransaction events follows the completion of OrderSend.

EA

void OnTradeTransaction ( const MqlTradeTransaction &Trans, const MqlTradeRequest&, const MqlTradeResult& )
{ 
  static bool FirstRun = true;  
  static ulong StartTime;
  
  if (FirstRun)
  {
    StartTime = GetMicrosecondCount();
    
    FirstRun = false;
  }

  Print(EnumToString(Trans.type));
  Print((GetMicrosecondCount() - StartTime) / 1000);    
}

Manually send a trade order.

Log

2018.02.14 09:41:46.671 '8854170': instant sell 1.00 EURUSD at 1.23673
2018.02.14 09:41:46.853 '8854170': accepted instant sell 1.00 EURUSD at 1.23673
2018.02.14 09:41:46.853 '8854170': deal #192088422 sell 1.00 EURUSD at 1.23673 done (based on order #208541700)
2018.02.14 09:41:46.853 '8854170': order #208541700 sell 1.00 / 1.00 EURUSD at 1.23673 done in 190.608 ms


Expert Advisor Result

2018.02.14 09:41:46.853 TRADE_TRANSACTION_ORDER_ADD
2018.02.14 09:41:46.853 0
2018.02.14 09:41:46.853 TRADE_TRANSACTION_DEAL_ADD
2018.02.14 09:41:46.853 1
2018.02.14 09:41:46.853 TRADE_TRANSACTION_ORDER_DELETE
2018.02.14 09:41:46.853 1
2018.02.14 09:41:46.853 TRADE_TRANSACTION_HISTORY_ADD
2018.02.14 09:41:46.853 2
2018.02.14 09:41:46.853 TRADE_TRANSACTION_REQUEST
2018.02.14 09:41:46.853 2


We can perfectly see from the time column and the EA's numeric data that the duration of trade order execution has no effect on the sequence of OnTradeTransaction events. All the asynchrony goes to hell! They have managed to screw it up so badly. Build 1755.

 

The symbol has Digits == 3

with many more digits displayed in the log

'18000903': failed modify order #896199 buy limit 0.01 BTCUSD at 616.00100 sl: 0.00000 tp: 0.00000 -> 616.00100, sl: 0.00000 tp: 616.10100 [Invalid request]
 
The "Comment" column is missing from the "Orders and Deals" view of the trading history.
 
This is not a bad bug of the terminal, but of the MT5 platform
#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

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

void OnStart()
{
  OrderSend(_Symbol, OP_BUY, 1, Ask, 100, 0, Bid);
  
//  OrderSend(_Symbol, OP_BUYLIMIT, 1, Ask, 100, 0, 0);
}

Run on MQ-Demo on some slow moving symbol. For example, EURHUF.

The script opens BUY position with TP = Bid. I.e. position should close immediately. But TP will be checked for compliance with the acceptance condition only on the next tick!

The position will not be closed immediately until the next tick occurs. Moreover, if the next tick has Bid < TP, the TP will remain without any acceptance.


The same applies to limit orders (commented line). The situation is similar in the Tester.

 
fxsaber:
This is not a bug in the Terminal, but in the MT5 platform

Run on MQ-Demo on some slow moving symbol. For example, EURHUF.

The script opens BUY position with TP = Bid. I.e. position should close immediately. But TP will be checked for compliance with the acceptance condition only on the next tick!

The position will not be closed immediately until the next tick occurs. Moreover, if the next tick has Bid < TP, the TP will remain without any acceptance.


The same applies to limit orders (commented line). The situation is similar in the Strategy Tester.

Please enclose a clean MQL5 code in questions on MQL5.

I'm sick of seeing your NASTY advertising on and off.