Errors, bugs, questions - page 718

 
papaklass:
Installed the 64-bit version of the terminal. Compared to the 32-bit one, like a new platform. Half of the icons on the panel are missing (market overview, navigator, tester, tools, etc.). I copy Experts to the catalogue MQL5\Experts\ neither Tester, nor Terminal, nor Editor see them. The indicators are the same. What is the problem? Why do different versions of THE ONE platform behave this way?
In 64bit, it is better to throw the source code and EXh files into the terminal itself. File - open data directory. Then as in prog. files. Otherwise it is bad.
 

I use a structure to define an array of values, an array of arrays... Then do things like this in the loop:

      Buffer_Array[tf/2].bars_calculated=Buffer_Array[tf/2].calculated;

There was a need to use global variables of the terminal, which would also be assigned in the loop in the array of values, but encountered a problem with the establishment and reference to an array of string names of global variables, it turned out only this way:

GlobalVariableSet("bc",Buffer_Array[tf/2].calculated);
where each time different values will be reassigned to the same global variable bc, while we need several different ones. How to rewrite it all by analogy with the first part of the code? Is it somehow through addition: "bc "+[tf/2]?
 
x100intraday:

There is a need to use global terminal variables, which would also be assigned to an array of values in the loop, but...............

Write the array to a resource, save the resource (in case the terminal crashes) to disk regularly. Fast and reliable.

Here is another option: https://www.mql5.com/ru/code/845

CFastFile - класс для работы с байтовым массивом как с файлом
CFastFile - класс для работы с байтовым массивом как с файлом
  • votes: 14
  • 2012.02.29
  • o_O
  • www.mql5.com
Класс CFastFile избавляет от необходимости промежуточной записи данных в физический файл на диске. Это позволяет получить значительное ускорение при работе с данными.
 
MetaDriver:

Write the array to a resource, save the resource (in case the terminal crashes) to disk regularly. Fast and reliable.

Here is another option: https://www.mql5.com/ru/code/845

My understanding is that this class example is intended for convenience during a terminal session while I need to restore the values of the previous session even after reboot. The class has an ability to dump to disk and then read from a file but it is no better than the first recommendation in this case. So far I see advantages of using global terminal variables, I just need to get rid of implicit conversion from 'number' to 'string' varnings somehow by adding prefix (string) when summing up string variable name with integer index.
 

I thought, well, I'm finally getting to the final stage of the project. But it wasn't! :)

It was written here(https://www.mql5.com/ru/forum/23/page14#comment_170601):

...

14. MetaTester: The algorithm of checking restrictions on the aggregate positions of orders has been brought into exact correspondence with the server.

...

But the volume can still be exceeded. I checked it on a contest account.

//---

Do I have to write this topic to Service Desk again? The old application on this subject is no longer visible.

Список изменений в билдах MetaTrader 5 Client Terminal
Список изменений в билдах MetaTrader 5 Client Terminal
  • www.mql5.com
Автоматическое обновление доступно через систему LiveUpdate:.
 
x100intraday:
.. So far I can see the benefits of using the terminal's global variables, ............
I guess you know better.
 
tol64:

I thought, well, I'm finally getting to the final stage of the project. But it wasn't! :)

It was written here(https://www.mql5.com/ru/forum/23/page14#comment_170601):

But the volume can still be exceeded. I checked it on a contest account.

//---

Do I have to write this topic to Service Desk again? The old application on this subject is no longer visible.

This has always been the case, even in mt4. When triggered, if there is no money, there will be something like "deleted[no money]".

By the way, it shouldn't be like that for limit orders in the stack, but as it is - I haven't checked

 
Servicedesk is where? Need to write
 
fellow:
Where is Service Desk? You have to write

Go to your profile and select Service Desk


 
notused:

this has always been the case, including in mt4. When triggered, if there is no money, there will be something like "deleted[no money]".

By the way, it shouldn't be like that for limit orders in the cup, but as it is - I haven't checked

But according to description in help (which I rely on) it says the following:

SYMBOL_VOLUME_LIMIT

Maximum allowed for this symbol is the combined volume of an open position and pending orders in one direction (Buy or Sell). For example, if the limit is 5 lots, you can have an open position to buy of 5 lots and place a pending Sell Limit order of 5 lots. But in this case you cannot place a pending Buy Limit order (since the total volume in one direction will exceed the limit) or place a Sell Limit order larger than 5 lots.

double


Therefore, we should not be able to place the 5th pending Buy Stop order while there is an open position with the volume of 3 lots and 4 existing Buy Stop orders of 3 lots each (the limit being 15 lots).

Most likely, the developers must have made a mistake somewhere in the process of correction. The next Buy Stop order (the sixth) cannot be placed any more and we will get a message to the journal:

In general, we have to thoroughly test and detect excess volumes in all possible cases. I will write about it at the end of the day. In the meantime, it would be nice to hear a comment from the developers, or maybe I made it all up. It happens to me too. :)

//---

And I had some problems with the tumbler too (postponed for now, will deal with it last).