Русский

Справочник MQL4 Программы MQL4

Программы MQL4

Для того чтобы mql4-программа могла работать, она должна быть скомпилирована (кнопка "Компилировать" или клавиша F7). Компиляция должна пройти без ошибок (допускаются предупреждения, которые необходимо проанализировать). При этом в соответствующей директории terminal_dir\MQL4\Experts, terminal_dir\MQL4\indicators или terminal_dir\MQL4\scripts должен быть создан выполняемый файл с тем же именем и расширением EX4. Именно этот файл может быть запущен на выполнение.

Особенности работы mql4-программ описаны в разделах:

Эксперты, пользовательские индикаторы и скрипты прикрепляются к одному из открытых графиков путем перетаскивания мышью из окна "Навигатор" клиентского терминала на соответствующий график (технология Drag'n'Drop). mql4-программы могут работать только при включенном клиентском терминале.

Для того чтобы эксперт прекратил свою работу, его необходимо удалить с графика. Для этого из контекстного меню графика следует выбрать "Список экспертов", далее выбрать сответник из списка и нажать кнопку "Удалить". На работу советника также влияет состояние кнопки "Авто-торговля".

Для того чтобы пользовательский индикатор прекратил работу, его необходимо удалить с графика.

Пользовательские индикаторы и советники работают до тех пор, пока их явно не удалят с графика; информация о прикрепленных советниках и пользовательских индикаторах сохраняется между запусками клиентского терминала.

Скрипты выполняются однократно и удаляются автоматически по завершению своей работы, либо по закрытию или изменению состояния текущего графика, либо по завершению работы клиентского терминала. При повторном запуске клиентского терминала скрипты не запускаются, так как информация о них не сохраняется.

На одном графике могут работать максимум по одному эксперту и скрипту и неограниченное количество индикаторов.

 

Что нового в MQL5

В MQL5 вся логика программы строится на обработке событий – с помощью функций-обработчиков событий можно писать торговые алгоритмы, создавать пользовательский интерфейс, собирать и визуализировать результаты оптимизации. При этом количество событий увеличилось, и наиболее важными для алготрейдинга являются следующие пять:

  • NewTick – возникает при поступлении новых котировок и обрабатывается в советниках функцией OnTick()
  • Calculate – создается только для индикаторов при любом изменении ценовых данных и обрабатывается функцией OnCalculate()
  • Trade – генерируется при завершении торговой операции на торговом сервере и обрабатывается функцией OnTrade()
  • TradeTransaction – отправлется торговым сервером в терминал при изменениях на торговом счете и обрабатывается функцией OnTradeTransaction()
  • BookEvent – сообщает об изменениях стакана цен и обрабатывается функцией OnBookEvent().

Разработчики торговых роботов оценят возможности нового тестера, которые описаны в статьях и документации. Среди наиболее интересных отметим следующие преимущества:

  • Автоматическая загрузка истории и синхронизация баров по всем таймфреймам – вся необходимая для тестирования история скачивается терминалом автоматически.
  • Использование реальных тиков при тестировании – теперь проверить свою торговлю на истории можно максимально точно. Эмуляция поступления тиков по всем символам.
  • Мультивалютное тестирование позволяет создавать стратегии, которые торгуют на нескольких инструментах. При этом корректно синхронизируются тики и бары по всем символам, точно моделируется торговое окружение, включая спреды, маржинальные требования и расчет прибыли в нужной валюте депозита.
  • Функции OnTimer() и Sleep() корректно работают в тестере и позволяют провести их отладку.
  • Мультипоточный тестер используют все вычислительные ядра процессора и позволяет провести оптимизацию на тысячах агентах из MQL5 Cloud Network.