Ошибки, баги, вопросы - страница 2222
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Стабильно воспроизводится ? Какой билд?
Вопрос.
Допустим я в эксперте или индикаторе работаю по нескольким символам, точнее по всем символам, которые отображены в окне "Обзор рынка".
Задача заключается в том, чтобы поймать момент нового тика по любому из символов.
Пока вижу только пару вариантов:Недостатком первого варианта является неоптимальность в плане ресурсов и актуальности данных. OnTimer в основном будет молотить в холостую, а когда поймает новую котировку, погрешность времени прихода будет равняться периодичности таймера.
Недостатком второго варианта является громоздкость, особенно если символов несколько десятков.
Я правильно понимаю, что других вариантов (более простых и изящных) не существует? Или (надеюсь) я не прав?
Вопрос.
Допустим я в эксперте или индикаторе работаю по нескольким символам, точнее по всем символам, которые отображены в окне "Обзор рынка".
Задача заключается в том, чтобы поймать момент нового тика по любому из символов.
Пока вижу только пару вариантов:Недостатком первого варианта является неоптимальность в плане ресурсов и актуальности данных. OnTimer в основном будет молотить в холостую, а когда поймает новую котировку, погрешность времени прихода будет равняться периодичности таймера.
Недостатком второго варианта является громоздкость, особенно если символов несколько десятков.
Я правильно понимаю, что других вариантов (более простых и изящных) не существует? Или (надеюсь) я не прав?
Может это поможет? https://www.metatrader5.com/ru/terminal/help/trading_advanced/custom_instruments
Синтетические инструменты с котировками в реальном времениТорговая платформа позволяет создавать синтетические финансовые инструменты — инструменты на основе одного или нескольких имеющихся. Нужно просто задать формулу для расчета котировок, и платформа в режиме реального времени будет генерировать тики синтетического инструмента, а также создаст его минутную историю.
Как это происходит
Вы создаете синтетический инструмент и задаете для него формулу.
Платформа будет рассчитывать его тики с частотой 10 раз в секунду (и только если изменилась цена хотя бы одного инструмента, входящего в формулу).
Может это поможет? https://www.metatrader5.com/ru/terminal/help/trading_advanced/custom_instruments
Синтетические инструменты с котировками в реальном времениТорговая платформа позволяет создавать синтетические финансовые инструменты — инструменты на основе одного или нескольких имеющихся. Нужно просто задать формулу для расчета котировок, и платформа в режиме реального времени будет генерировать тики синтетического инструмента, а также создаст его минутную историю.
Как это происходит
Вы создаете синтетический инструмент и задаете для него формулу.
Платформа будет рассчитывать его тики с частотой 10 раз в секунду (и только если изменилась цена хотя бы одного инструмента, входящего в формулу).
Да, конечно, такой вариант тоже имеет право на жизнь. Спасибо!
Но, по сути, это тоже самое что и мой вариант под № 1 с периодичностью таймера 100 мс и с теми же недостатками.
Все же вариант № 2 мне видится более рациональным.
Кстати, я вспомнил, что второй вариант уже обсуждался вот здесь.
Да, конечно, такой вариант тоже имеет право на жизнь. Спасибо!
Но, по сути, это тоже самое что и мой вариант под № 1 с периодичностью таймера 100 мс.
А не проще сделать эксперта с привязкой к символу на котором работает. Потом открыть все символы, и на каждый график применить шаблон с данным советником.
А не проще сделать эксперта с привязкой к символу на котором работает. Потом открыть все символы, и на каждый график применить шаблон с данным советником.
Да это все ясно, что так можно сделать. Вопрос то в том, что я чего-то не знаю, и можно уловить точный момент прихода котировки другого символа посредством кода только одного мультивалютного эксперта.
Но, похоже, все же вариант 2 через пользовательские прерывания это единственное рациональное решение.
Да это все ясно, что так можно сделать. Вопрос то в том, что я чего-то не знаю, и можно уловить точный момент прихода котировки другого символа посредством кода только одного мультивалютного эксперта.
Но, похоже, все же вариант 2 через пользовательские прерывания это единственное рациональное решение.
Реализация.
Я правильно понимаю, что других вариантов (более простых и изящных) не существует? Или (надеюсь) я не прав?
Миллисекундный таймер + SymbolInfoTick() получите время в миллисекундах.
Реализация.
Я правильно понимаю, что других вариантов (более простых и изящных) не существует? Или (надеюсь) я не прав?
Миллисекундный таймер + SymbolInfoTick() получите время в миллисекундах.
Alexey Kozitsyn:
Миллисекундный таймер + SymbolInfoTick() получите время в миллисекундах.
Объективно вариант с пользовательскими прерываниями все же гораздо рациональней, т.к. при нем не требуется организовывать цикл с дорогой функцией SymbolInfoTick, причем постоянно, даже когда котировки спят, нагружая таким образом процессор в холостую. А так же потому, что погрешность вычисления прихода нового тика может равняться периодичности таймера и будут теряться все тики между выполнением OnTimer если таковых тиков было больше 1.