Есть ли система прерываний при обработки событий MT4. Если при обработке события NewTick обработчиком OnTick, происходит событие Timer, то какой сценарий выполняется: - страница 6
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
т.е. Вы можете предложить вариант протокола, прерывающего или управляемо игнорирующего событие онтик в советнике без использования цикла? Вопрос автора был в этом
Нет. Такого я не предлагал. А вопрос автора был пояснен им самим так:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Есть ли система прерываний при обработки событий MT4. Если при обработке события NewTick обработчиком OnTick, происходит событие Timer, то какой сценарий выполняется:
Yury Kirillov, 2017.01.22 15:10
В моём советнике критичные к скорости выполнения расчеты должны выполняться по приходу нового тика. Прочие расчеты и различного рода отображения информации должны выполняться во время простоя советника между завершением обработки прошлого тика и приходом будущего. Я использую миллисекундный таймер для инициирования попыток обработки некритичных расчетов. Поэтому мне важно, чтобы расчеты по таймеру не мешали расчетам по приходу тиков. Отсюда и интерес к системе обработчиков и порядку их взаимодействия.Нет. Такого я не предлагал. А вопрос автора был пояснен им самим так:
Вы какой-то другой топик видимо читаете и для него же комменты пишете ;-).Уже говорили, но попробую с другой стороны..
Задачи, которые нужно решать первоочередно по приходу тика, нужно оставить в OnTick функции советника.
А все остальные, второстепенные задачи, которые нужно выполнять по таймеру (или по любому другому событию), нужно вынести в отдельный индикатор или советник, который будет работать в другом потоке.
И для обмена информацией не обязательно тормозить "главный" OnTick. Отправлять информацию можно событиями (ChartEvent) или через гл. переменные, а ответ получать (если он нужен) тоже через гл. переменные из того же ОнТик.
И никто никого ждать не будет.
Уже говорили, но попробую с другой стороны..
Задачи, которые нужно решать первоочередно по приходу тика, нужно оставить в OnTick функции советника.
А все остальные, второстепенные задачи, которые нужно выполнять по таймеру (или по любому другому событию), нужно вынести в отдельный индикатор или советник, который будет работать в другом потоке.
И для обмена информацией не обязательно тормозить "главный" OnTick. Отправлять информацию можно событиями (ChartEvent) или через гл. переменные, а ответ получать (если он нужен) тоже через гл. переменные из того же ОнТик.
И никто никого ждать не будет.
Придумали себе задачу, решили ее, и порадовались. Только к вопросу топик-стартера она отношения не имеет )
Отрисовка рюшечек через отдельный индикатор — очень логичное решение. Просто чтобы торговый советник не занимался тем, чем не должен.
Цикл со слипом — это и есть миллисекундный таймер.
С оговорками, что первый может "отвлекаться" на более важные задачи контролируемо, а второй умеет работать с очередью. У каждого варианта свои плюсы есть.
Придумали себе задачу, решили ее, и порадовались. Только к вопросу топик-стартера она отношения не имеет )
Отрисовка рюшечек через отдельный индикатор — очень логичное решение. Просто чтобы торговый советник не занимался тем, чем не должен.
Цикл со слипом — это и есть миллисекундный таймер.
С оговорками, что первый может "отвлекаться" на более важные задачи контролируемо, а второй умеет работать с очередью. У каждого варианта свои плюсы есть.
прямой вопрос был: Есть ли система прерываний при обработке событий мт4. На него я ответил. Есть, но рукотворная ) Общий вопрос, общий ответ. А уж как там в конкретном случае поступать, это на усмотрение программиста. )))
Согласен, задача была изначально поставлена не корректно. Только вот тут стало понятно, что, собственно, нужно сделать:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Есть ли система прерываний при обработки событий MT4. Если при обработке события NewTick обработчиком OnTick, происходит событие Timer, то какой сценарий выполняется:
Yury Kirillov, 2017.01.22 15:10
В моём советнике критичные к скорости выполнения расчеты должны выполняться по приходу нового тика. Прочие расчеты и различного рода отображения информации должны выполняться во время простоя советника между завершением обработки прошлого тика и приходом будущего. Я использую миллисекундный таймер для инициирования попыток обработки некритичных расчетов. Поэтому мне важно, чтобы расчеты по таймеру не мешали расчетам по приходу тиков. Отсюда и интерес к системе обработчиков и порядку их взаимодействия.Прямой ответ - нет. И не нужна (как неэффективная) на софтовом уровне. Это пережиток железячного подхода к программированию.