
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
О, свет в конце тоннеля! Вызвать EventSetTimer() внутри самой OnTimer()? Обязательно попробую, как до терминала доберусь. Спасибо за изящное решение!
Я это решение с самого начала видел.
Просто не пробовал как лучше
так EventKillTimer() или так EventSetTimer(0); вырубить таймер.
Миллисекунды очень хочется. Присоединяюсь к пожеланиям.
В эксперте это сейчас опасно. Например синхронная функция MessageBox(), может быстро очередь забить, когда юзер отойдет от терминала.(конечно, можете сказать, что перед такими функциями таймер можно отключать).
Вот если бы сделали обработку прерываний...
Сейчас уже невозможно перейти на миллисекунды.
Сколько уже написанных экспертов начнут генерировать в 1000 раз больше событий таймера, чем предполагалось автором?
Не-не.. Так в лоб менять не нужно. Нужно просто новую функцию добавить EventSetTimerMS(long ms);
Старую обязательно оставить, именно для совместимости. (Её можно запросто эмулировать вызовом EventSetTimerMS(1000); )
В эксперте это сейчас опасно. Например синхронная функция MessageBox(), может быстро очередь забить, когда юзер отойдет от терминала.(конечно, можете сказать, что перед такими функциями таймер можно отключать).
Вот если бы сделали обработку прерываний...
Не надо прерываний. Впрочем, не представляю что именно вы имеете в виду, может что-то хорошее.. :)
Насчёт очередей - секундами тоже можно забить, если спать лечь. :) Не пользуйтесь если не умеете обработать последствия - простой рецепт и универсальный к тому ж.
......... Например синхронная функция MessageBox(), может быстро очередь забить, когда юзер отойдет от терминала.(конечно, можете сказать, что перед такими функциями таймер можно отключать)........
Сколько уже написанных экспертов начнут генерировать в 1000 раз больше событий таймера, чем предполагалось автором?
Просто мнение: а если существует сама возможность добавить миллисекунды для желающих, и загвоздка только в старых экспертах, то почему бы не ввести новую функцию
Сделать всё мультисекундным, а если переключатель==false, умножить однократно значение seconds на 1000 (для старых экспертов, например).
В эксперте это сейчас опасно. Например синхронная функция MessageBox(), может быстро очередь забить, когда юзер отойдет от терминала.(конечно, можете сказать, что перед такими функциями таймер можно отключать).
Вот если бы сделали обработку прерываний...
OnTimer, OnTick, OnTrade... это и есть прерывания.
OnTimer, OnTick, OnTrade... это и есть прерывания.
Прерывание - это когда исполняется OnTick, а пришло более важное событие, например OnTimer. Исполнение OnTick приостанавливается, исполняется код OnTimer, затем снова продолжает выполнятся OnTick.