![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Хорошо, но это не решение для реального времени, потому что мы не можем контролировать время отклика для событий без тиков.
В случае с "sleep()" мы можем.
Так что если мы объединим тик за тиком и несвежие цены со сном, то получим часы реального времени :)
Как я уже сказал, если это решение будет реализовано в советнике, то необходимость в TimeCurrent() отпадает, а цикл управляется Sleep(Interval-Runtime) (в мс).
Большая часть кода останется прежней, redraw() больше не понадобится. Также, если вам нужно увеличить скорость кода, вы можете использовать некоторые (ах, я пропустил английское слово) массивы с вращающейся нулевой точкой, чтобы избавиться от цикла сдвига.
AFAIK это (или подобное) лучшее решение, которое можно сделать на чистом MQL в индикаторе. Несомненно, существует лучшее решение, когда вы используете DLL и экспортируете вычисления во внешнюю программу.
Так что если мы объединим тик за тиком и несвежие цены со сном, то получим часы реального времени :)
Да, но Sleep невозможен в индикаторах, это ваша проблема с самого начала этой темы.
Может ли советник вызывать индикатор?
Вы можете прикрепить к графику скрипт, который каждую секунду посылает на график фальшивый тик. Это то, что я обычно делаю для регулярного обновления многопарных индикаторов и советников.
Вам нужна dll для этого или это возможно без нее?
Это всего лишь несколько строк в mql4 (конечно, вам нужны вызовы DLL, разрешенные для вызова API windows, но вам не нужно ничего устанавливать):
У меня этот скрипт в избранном, и когда мне нужны тики, я просто перетаскиваю его на график.
У меня также есть вариант этого скрипта без цикла, который посылает только один тик, а затем выходит, и я привязал его (one_tick.mq4) к горячей клавише ALT+T, и теперь я могу посылать тик на активный график, просто нажав ALT-T. Мне это нужно для некоторых моих советников stat-arb, когда я экспериментирую в выходные, чтобы заставить start() запускать их вычисления и построение графиков (я могу перемещать линии на графике, чтобы изменить интервал, а затем мне нужен новый тик, чтобы обновить их вычисления).
Отлично. Спасибо, что поделились