Индикатор и автоматическая подгрузка котировок

 

Добрый вечер. 

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

Имеется проблема: на старте терминала индикатор еще до подгрузки последней истории успевает просчитать все таймы и выдать последние сигналы. После этого подгружается последняя история по всем таймам, и индикатор опять сигналит уже новыми сигналами по последним подгруженным барам.

Хотелось бы на старте терминала получать только последние сигналы с каждого тайма (без лишних, которые получаются до подгрузки последней истории).

Вопрос: как это можно реализовать? Т.е. другими словами: как гарантированно узнать, что уже подгружены все последние котировки, после чего можно будет пустить в ход расчет линий индикатора?

Делал это простой задержкой расчетов в индикаторе на 60с. Помогает, но это не вариант. Думаю, есть и другие - более красивые и правильные методы. 

 
SymbolIsSynchronized(...) и SERIES_SYNCHRONIZED
не помогут ?
 
satorifx:

Добрый вечер. 

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

Имеется проблема: на старте терминала индикатор еще до подгрузки последней истории успевает просчитать все таймы и выдать последние сигналы. После этого подгружается последняя история по всем таймам, и индикатор опять сигналит уже новыми сигналами по последним подгруженным барам.

Хотелось бы на старте терминала получать только последние сигналы с каждого тайма (без лишних, которые получаются до подгрузки последней истории).

Вопрос: как это можно реализовать? Т.е. другими словами: как гарантированно узнать, что уже подгружены все последние котировки, после чего можно будет пустить в ход расчет линий индикатора?

Делал это простой задержкой расчетов в индикаторе на 60с. Помогает, но это не вариант. Думаю, есть и другие - более красивые и правильные методы. 

В индикаторе задержка не рекомендуется, так как будет остановлен весь терминал.
Единственный выход делать запрос истории по таймера и проверять результат.