Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Возникло некоторое недопонимание. Когда именно приходит тик и когда именно перезапускается функция start() советника?
Варианты:
1) Функция start() запускается в момент прихода сообщения в окно инструмента. Сообщение отправляется в окно только в том случае, если котировка по данному инструменту содержится в полученном пакете котировок. Т.е. в этом случае, "Тик" соответствует приходу котировки по отдельному инструменту и только если его окно открыто, иначе некому посылать сообщение. Если окон не открыто то и "тиков" нет, хотя котировки поступают.
В советнике, функция RefreshRates() обновит глобальные константы актуальными новыми значениями для текущего инструмента. Функция MarketInfo вернет всегда новые значения.
В связи с этим вопрос. Как заставить советника активироваться по любому тику любой котировки, т.е. реагировать не на частный тик, а на общий (смотри п.2) Иначе, чтобы получить данные по всем инструментам, придется открыть окна и запустить советников для всех инструментов. Это неприемлемо.
2) Функция start() запускается во всех открытых окнах одновременно в момент получения общего сообщения о приходе пакета котировок, даже если в этом пакете отсутствуют котировки по тем инструментам, окна которых открыты. В этом случае, тик соответсвует приходу пакета котировок вообще.
В советнике или скрипте, функция RefreshRates() обновит глобальные константы как новыми, так и старыми текущими значениями, в зависимости от инструмента. Функция MarketInfo вернет как старые так и новые значения. Определить новизну данных можно только сравнением, с предыдущим состоянием. Это неудобно и ресурсоемко.
В связи с этим дополнительный вопрос. Как получить массив символов и котировок, которые поступили в последнем пакете(общем тике)?
И желательно совместить это с активированием советника по общему тику, как описано в п.1.
3) Что-то другое.