Feedback on MQL5 - page 5

 
Yes thank you! I will try to work ....
 

Fix it for starters:

  • ERR_CHART_NO_REPLY( 4102) [,4003?] problem, initeat start, extremely damaging to EA reliability.
  • Stalling of orders at the request stage before the end of the session. It happens, the requests work, i.e. they hang on exchanges. It is impossible to withdraw them. Completely egregious cases, occur rarely, but regularly.

  • Also, once my terminal miraculously lost a position. Well, this time the robot autostart was disabled, otherwise the opposite position would have been liquidated, etc. The system is arbitrage. I accidentally noticed it and called [open-]broker, and some kind of a switch flipped and the position appeared.
  • Another unpleasant situation is when prices in the market leave on low liquidity, and the equity is calculated from the opening price of the position (changing every day in clearing), to the price of last deal of a week ago, which is at a great distance from the real "beasts". I.e. the result is perverted to the opposite. Thus, a substantial loss (profit) grows on the pose, which does not actually reflect reality and is imaginary. For example, on MIX-3.16 this gap is now 6000-10000r per contract. Suppose these metamorphoses cause the drawdown of 15% in the account today and 30% tomorrow, and what happens on the first Thursday in August? Margin call? Only because of the total lack of deals on the instrument? I did not specify how this calculation is made on the exchange, but on other platforms this problem did not occur. I do not use them now, so I cannot check.

This is only the first thing that came to mind. There are a ton of "little things" like that.

Developers have long needed to understand - if you announce a stock terminal, use an appropriate concept. What is the use of putting a copy of a kitchen machine "rewritten from scratch" on crutches...

The focus should have been on low-liquid exchange-traded financial instruments from the beginning. The liquid ones would fit into the system themselves.

Then the market would be human,

and there would be a place for the "Current Parameters Table" traditional for all platforms,

and the attitude towards trading with limit orders would take its rightful place,

and, perhaps, instead of useless history series (maximum spread, tick volume) we would have full-featured ASK/BID for a period.

In short, the revolution has not happened, and the pests with stupid advice have been defeated. Long live the king! ...kitchen.

 
1150 vinda 8.1 pro 64x

Broker demo mode has 719 tools for trading, about 650 disabled

when specifying in the market overview "Show All" after loading all 719 terminal slows down and freesit ... ( there is a delay between click command or keystroke ) and its execution 1-4 seconds ...

Puzzling, code written for mt4 and transferred to mt5 almost without changes, works ten times slower in mt5

When you change from forex to futures, previously opened windows are hanging and waiting for update. ( Theoretically, the first symbol of futures should take it or just close, but not hang waiting for update...)

Work with "Market Watch" is not thought out at all...

If you delete a symbol with the Del key, the window becomes inactive, and to delete it again using del key, you must first activate the window...

Rapid operation with tools in "Market Watch" is extremely ill-conceived...

For µl5

in µl4 you added ObjectsDeleteAll(0, "Prefix"); delete by prefix, And in mt5 you forgot ?
 
Vladimir Pastushak:
1150 vinda 8.1 pro 64x

Broker demo mode has 719 instruments to trade, about 650 disabled

when specifying "Show all" in market overview after loading all 719 the terminal slows down and freezes ... ( there is a delay between click command or keystroke ) and its execution 1-4 seconds ...

Puzzling, code written for mt4 and carried over almost without changes to mt5, works ten times slower in mt5

When you change from forex to futures, previously opened windows are hanging and waiting for update. ( Theoretically, the first symbol of futures should take it or just close, but not hang waiting for update...)

Work with "Market Watch" is not thought out at all...

If you delete a symbol with Del key, the window becomes inactive, and to delete it again using del key, you must first activate the window...

The speed work with tools in Market Watch has not been thought out at all...

On µl5

in µl4 you added ObjectsDeleteAll(0, "Prefix"); delete by prefix, but in mt5 you forgot?


No, they haven't forgotten. But not much difference there:

ObjectsDeleteAll(0,prefixObj,0,-1);


P./S.: By the way, and in MT4 it works with -1 instead of EMPTY.

For myself, I wrote down the memo like this:

int  ObjectsDeleteAll(
   long    chart_id,           // идентификатор графика
   string  prefix_obj,         // общий префикс в именах объектов  
   int     sub_window=-1,      // индекс окна
   int     type=-1             // ENUM_OBJECT (тип объекта для удаления)
   );
 

The work of the stylizer also defies explanation.

is written in the help

Exceptions to interlinear formatting

The styler rules above do not apply in some cases. This is to ensure that the author's alignment is not compromised on adjacent lines. The styler recognises line spacing on the adjacent line for the following keywords and characters:

  • "//" - "C"-characters;
  • "{" - left curly bracket;
  • "}" - right curly bracket;
  • "return" - "return" operator;
  • "delete" - "delete" operator;
  • "=" - equals symbol;
  • ":" - colon;
  • "." - full stop.



The styler still rules the code the way it wants....

 
Vladimir Pastushak:
1150 vinda 8.1 pro 64x

Broker demo mode has 719 instruments to trade, about 650 disabled

When i indicate "show all" in market overview after loading all 719, terminal slows down and freesit ... ( there is a delay between click command or keystroke ) and its execution 1-4 seconds ...
We are working on this, we are working on speeding up many active instruments. Specify the trading server name, please.


The code written for mt4 and transferred almost unchanged to mt5 is tens of times slower in mt5.

Prove it technically, please.

You may say at once that you are directly misleading.


When you shift from forex to futures, previously opened windows are hanging and waiting for update. ( Theoretically should take the first symbol of futures and display it or just close, but not hanging waiting for update...)

Don't confuse your "theoretically" with "do always". If you have switched to another account where your previous set of instruments is not available, the best strategy is to let you decide for yourself what to do and what to switch.

This is not an error and not a problem.


The operation with "Market Watch" is not well thought out at all ...

If you delete a symbol with the Del key, the window becomes inactive and you have to activate the window beforehand to delete the symbol again with the del key ...
This is a minor interface problem, but we will fix it.


Extremely ill-advised speed handling of instruments in Market Watch ...

Specify specifically what isn't fast enough?

There is structuring of tools, filters, smart sorting and hiding of expired ones.


For µl5

In µl4 you added ObjectsDeleteAll(0, "Prefix"); delete by prefix, but in mt5 you forgot ?
This function originally appeared in MQL5 many years ago.
 
Vladimir Pastushak:

The work of the stylizer also defies explanation.

is written in the help

Exceptions to interlinear formatting

The styler's substitution rules above do not apply in some cases.


The styler still rules the code as it pleases....

The description of the styler rules cannot be fit into a few lines of fictional text.

It formats it the way we want it to format it.

 

Personally, the only thing I'm missing right now is pointers to an array.

Specifically - in intOnCalculate() function we get references to arrays, but we cannot save them. Instead of saving pointers and using them inside the code, we have to first copy timeseries into internal arrays and only then use pointers to these classes.

I think it would be reasonable to make OnCalculate() function, which receives pointers to timeseries objects of the Standard Library.

 

I'm reading, everyone is writing, and I'm not too lazy to do so.

To make an assessment about the speed of the 5-Rka, you have to first say how many bits of computer, how much memory and so on.

I still like everything. There are, of course, nuances, but they are basically getting around the same programming. 4-rka is also not a gift from some points of view....

 
Renat Fatkhullin:

A stylist's description of the rules cannot be summed up in a few lines of fictional text.

It formats as laid down by us.

On the styler:

I want to see the code the way I "fixed" it

   ENUM_OBJECT   GetTYPE(string name)              { return(ENUM_OBJECT)GetObjectInteger(name,OBJPROP_TYPE);} // Тип обьекта
   datetime      GetCREATETIME(string name)        { return GetObjectInteger(name,OBJPROP_CREATETIME);} // Время создания объекта 
   int  GetCOLOR(string name)                      { return GetObjectInteger(name,OBJPROP_COLOR);} // Цвет
   int  GetSTYLE(string name)                      { return GetObjectInteger(name,OBJPROP_STYLE);} // Стиль
   int  GetWIDTH(string name)                      { return GetObjectInteger(name,OBJPROP_WIDTH);} // Толщина линии
   bool GetBACK(string name)                       { return GetObjectInteger(name,OBJPROP_BACK);} // Объект на заднем плане
   int  GetZORDER(string name)                     { return GetObjectInteger(name,OBJPROP_ZORDER);    } // Приоритет графического объекта на получение события нажатия мышки на графике 

Styling:

   ENUM_OBJECT   GetTYPE(string name) { return(ENUM_OBJECT)GetObjectInteger(name,OBJPROP_TYPE);} // Тип обьекта
   datetime      GetCREATETIME(string name) { return GetObjectInteger(name,OBJPROP_CREATETIME);} // Время создания объекта 
   int  GetCOLOR(string name)                      { return GetObjectInteger(name,OBJPROP_COLOR);} // Цвет
   int  GetSTYLE(string name)                      { return GetObjectInteger(name,OBJPROP_STYLE);} // Стиль
   int  GetWIDTH(string name)                      { return GetObjectInteger(name,OBJPROP_WIDTH);} // Толщина линии
   bool GetBACK(string name) { return GetObjectInteger(name,OBJPROP_BACK);} // Объект на заднем плане
   int  GetZORDER(string name)                     { return GetObjectInteger(name,OBJPROP_ZORDER);    } // Приоритет графического объекта на получение события нажатия мышки на графике

Why is some of the code left out and some left in? Syntactically each line is the same....