Скачать MetaTrader 5

Почему событие OnCalculate() выполняется раньше, чем завершается OnDeinit()

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Dmitry Voronkov
6008
Dmitry Voronkov  

Сегодня заметил, что довольно часто при переходе на разные ТФ, событие OnCalculate() происходит раньше, чем завершается OnDeinit().

В моем случае получается что объекты выводятся на график быстрее чем удаляются, и в результате они иногда просто удаляются.

Anton
1858
Anton  
vdv2001 писал(а)  :

Сегодня заметил, что довольно часто при переходе на разные ТФ, событие OnCalculate() происходит раньше, чем завершается OnDeinit().

В моем случае получается что объекты выводятся на график быстрее чем удаляются, и в результате они иногда просто удаляются.

При смене ТФ создается новая копия индикатора, а старая освобождается. Если индикатор больше никому не нужен (чарту для отрисовки, эксперту или другому индикатору), то он удаляется. События создание одного индикатора и удаление другого не синхронизированы.
Dmitry Voronkov
6008
Dmitry Voronkov  

antt:
При смене ТФ создается новая копия индикатора, а старая освобождается. Если индикатор больше никому не нужен (чарту для отрисовки, эксперту или другому индикатору), то он удаляется. События создание одного индикатора и удаление другого не синхронизированы. 

Т.е. Просто в имени объекта фиксировать таймфрейм, я правильно понял?

Кстати есть ограничение кол-ва объектов? Спрашиваю, потому, что у мения их несколько тысяч, а теперь получится в два раза больше ;)) 

Anton
1858
Anton  
vdv2001:

Т.е. Просто в имени объекта фиксировать таймфрейм, я правильно понял?

Можно использовать таймфрейм, либо иной идентификатор данной копии индикатора.


Кстати есть ограничение кол-ва объектов? Спрашиваю, потому, что у мения их несколько тысяч, а теперь получится в два раза больше ;)) 

Ограничение по ресурсам, программного ограничения нет (при тестировании использовались сотни тысяч объектов).
Vasiliy Smirnov
13329
Vasiliy Smirnov  
А тоже заметил этот баг с графическими объектами. Явно должны быть ограничения на последовательность действий. При смене тф должен деинициализироваться индикатор, потом подгружаться котировки, а потом рисоваться опять, иначе терминал просто виснет, так было и в четверке.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий