Генератор уникального идентификатора для конкретного показателя - страница 2

 
angevoyageur:
В чем проблема с номером подокна?
Я не уверен, о чем вы думаете, но при применении шаблона или перезагрузке значение, такое как CHART_WINDOWS_TOTAL, сообщается как общее количество индикаторов на графике, а не общее количество загруженных на данный момент (т.е. не увеличивается по одному по мере инициализации каждого индикатора).
 
gchrmt4:
Я не уверен, о чем вы думаете, но при применении шаблона или перезагрузке значение, такое как CHART_WINDOWS_TOTAL, сообщается как общее количество индикаторов на графике, а не общее количество загруженных на данный момент (т.е. не увеличивается один за другим по мере инициализации каждого индикатора).

Хорошо, подокно не является надежным, так как оно может меняться.
 
angevoyageur:
В чем проблема с номером подокна?

В 610/614 было практически невозможно правильно получить его из самого индикатора, в 616 это в основном исправлено, но все равно не получается в DeInit().
 
Ovo:

В 610/614 было практически невозможно правильно получить его из самого индикатора, в 616 это в основном исправлено, но все равно не получается в DeInit().
ChartWindowFind() у меня вроде работает. В любом случае, это ненадежно, так как если вы удалите индикатор, а затем добавите другой, номер подокна изменится.
 
angevoyageur:
ChartWindowFind(), похоже, работает для меня. В любом случае, это ненадежно, так как если вы удалите индикатор, а затем добавите другой, номер подокна изменится.
.
С ChartWindowFind() та же проблема, что и со старым WindowFind(): он бесполезен, если есть более одного экземпляра одного и того же индикатора, например, два окна RSI показывают расчеты для разных периодов (или один и тот же период, но изменения в других параметрах, которые не отражаются ни в одном вызове IndicatorShortName).
 
gchrmt4:
С функцией ChartWindowFind() та же проблема, что и со старой WindowFind(): она бесполезна, если существует более одного экземпляра одного и того же индикатора, например, два окна RSI показывают расчеты за разные периоды.

Это то, что я сказал, ненадежно.

Это интересная проблема. Поскольку я думаю, что добавлять один и тот же индикатор несколько раз имеет смысл только при использовании разных входных параметров, то можно было бы сформировать сигнатуру из этих параметров. Или, конечно, один из вариантов решения, предложенных Вами ранее.

 
gchrmt4:
С ChartWindowFind() та же проблема, что и со старым WindowFind(): он бесполезен, если есть более одного экземпляра одного и того же индикатора, например, два окна RSI показывают расчеты для разных периодов (или один и тот же период, но изменения в других параметрах, которые не отражаются ни в одном вызове IndicatorShortName).

На самом деле ChartWindowFind уже работает для индикаторов в 616, за исключением OnDeinit. Но все еще слишком сырой, чтобы считаться стабильным, поэтому я предпочитаю избегать его в любом создании ID.

Спасибо за информацию, я выберу либо блокировку файла, либо ожидание изменения GetTickCount. Я должен попробовать.

 
angevoyageur:

Это то, что я сказал, ненадежно.

Это интересная проблема. Поскольку я думаю, что добавлять один и тот же индикатор несколько раз имеет смысл только при использовании разных входных параметров, то можно было бы сформировать сигнатуру из этих параметров. Или, конечно, одно из решений, предложенных Вами ранее.


Я пользуюсь возможностями нового графического интерфейса MQL4 по установке и изменению параметров на лету. Так что подпись в начале одна и та же, и все равно имеет смысл добавлять ее несколько раз. Не упомянуто, что если бы это было возможно, то это должно было бы вести себя правильно.
 
Ovo:

На самом деле ChartWindowFind уже работает для индикаторов в 616, за исключением OnDeinit. Но все еще слишком сырой, чтобы считаться стабильным, поэтому я предпочитаю избегать его в любом создании ID.

Спасибо за информацию, я выберу либо блокировку файла, либо ожидание изменения GetTickCount. Я должен попробовать.

Читая это, я учил об использовании времени, как GetTickCount выше.

Затем я учил о __DATETIME__ Дата и время компиляции файла.

https://docs.mql4.com/constants/namedconstants/compilemacros

Что вы думаете по этому поводу?

 

Не уверен, что вы имели в виду "научил".

Я использую несколько из них для отладки, но для __DATETIME__ я пока не нашел применения... куда вы нацелились?