Errors, bugs, questions - page 341

 
Urain:

There is a need to send preprocessed data to an already running indicator. I have decided to use graph object text as a global data storage. I understand that the purpose of graphical objects is different and if there is any alternative, I will be glad to hear it.

But here I have faced another limitation of the language. String itself supports almost infinite length of characters. Well, probably the limitation lies somewhere in the area of limiting arrays in general. And the string passed as a parameter of a graphical object is limited by 63 characters. As a result, passing an array as a string would require a heap of graphical objects (yes, I forgot to tell you that I use encryption, that's why information in strings takes approximately the same amount of space as in the original type). Now with current 63 characters it's possible to pass only 15 time/price pairs through one object.

Hence the question: can we expect that in the future the language will remove the limitation on the text length of the graphical object or will there be a mechanism for passing data into the indicator thread?

I have come across the same problem, when generating a custom event. There is 63 symbols limit, not the whole string....

Had to write a separate class to glue the message together from slices.... works ))))

Документация по MQL5: Работа с событиями / EventChartCustom
Документация по MQL5: Работа с событиями / EventChartCustom
  • www.mql5.com
Работа с событиями / EventChartCustom - Документация по MQL5
 
AlexSTAL:

I came across the same problem when generating a custom event. There's the same 63 character limit, not the whole string....

Had to write a separate class to glue the message together from slices.... works ))))

Yes, if there were no restrictions, you could use events to send data arrays too.
 
Urain:
Yes, if there were no restrictions, you could use events to send arrays of data.

I'm still not able to try passing an object handle through an event. And the object contains all the necessary data.

If it's relevant right now, try it and report back later.

// It would be very attractive to have a controllable shared-fication shared-memory inside the terminal. At least, only for objects and arrays.

// And when declaring such object, modifier shared would determine its placement to such memory.

 
MetaDriver:

I still can't get around to trying to pass the object handle through an event. And the object contains all the necessary data.

If it's relevant right now, give it a try and report back later.

The handle value is passed correctly, but the needed thread lacks such a handle. Therefore, the value does not point to the required handle.
 
MetaDriver:

// It would be very tempting to have a controllable-fication shared-memory inside the terminal. At least, only for objects and arrays.

// And when declaring such object, the shared modifier would define its location in such memory.

Something like global terminal memory available to all threads.
 
Urain:
Some sort of global terminal memory? available to all threads.
Mm-hmm.
 
Urain:
The handle value is passed correctly, but there is no such handle in the desired thread. Therefore, the value no longer points to the correct handle.
Pity.
 
I downloaded 420 build from herehttps://www.mql5.com/ru/forum/23/page11 but it actually installs 412. Am I having a problem or did they forget to change themetaquotes.net file?
Список изменений в билдах MetaTrader 5 Client Terminal
Список изменений в билдах MetaTrader 5 Client Terminal
  • www.mql5.com
Автоматическое обновление доступно через систему LiveUpdate:.
 
Urain:
Something like a global terminal memory? available to all threads.

The simplest solution for MQ would be to give the function parameters

void OnChartEvent(const int id,const long &lparam[],const double &dparam[],const string &sparam[])

arrays instead of variables, which exist as parameters now. The solution of course is one-sided as there will still be no way to transfer data between EAs, but it's still better than nothing.

 
Urain:

1. The simplest solution for MQ would be to give arrays of data as function parameters instead of variables, which exist as parameters now.

2. The solution is of course one-sided as there will still be no possibility to transfer data between EAs, but it's still better than nothing.

1. Yes, perhaps.

2. Why is it not possible? Copy it to yourself, get it. And what needs to be transferred - transferred via the next message.

Reason: