Русский

Учебник по MQL4  Введение в MQL4

Введение в программирование на языке MQL4


Приступая к изучению программирования на языке MQL4, необходимо обозначить общие границы наших интересов. Прежде всего отметим, что обсуждаемые в учебнике программы могут использоваться только как прикладные программы для работы в клиентском терминале MetaTrader 4. Чтобы понять, какую роль эти программы играют в практике управления торговлей, рассмотрим рис. 1.


Рис. 1. Программа на MQL4 в составе клиентского терминала MetaTrader 4.

Если вы интересуетесь программированием на MQL4, вы, вероятнее всего, уже знакомы с клиентским терминалом. Клиентский терминал - это часть информационно-торговой системы. В состав этой системы входит также сервер, устанавливаемый в дилинговом центре. Дилинговый центр, в свою очередь, имеет средства связи с другими участниками рынка - банками и финансовыми организациями.

В клиентском терминале имеется информационная среда - набор параметров, информирующих о состоянии рынка и отношениях между трейдером и дилинговым центром. Она содержит сведения о текущих ценах, ограничениях по минимальному и максимальному размеру ордера, минимальной дистанции стоп-приказов, разрешении/запрете осуществлять автоматическую торговлю и множество других полезных параметров, характеризующих текущую ситуацию. Информационная среда обновляется с поступлением в терминал новых тиков (зелёная стрелка на рис. 1).

Встроенные средства


В клиентском терминале имеются встроенные средства, позволяющие проводить технический анализ рынка и осуществлять ручное управление торговлей. Для анализа рынка могут применяться технические индикаторы и различные линейные инструменты - линии поддержки/сопротивления, трендовые каналы, уровни Фибоначчи и др.

Для ручного управления торговлей используется панель управления ордерами. С помощью этой панели трейдер может открывать, закрывать и модифицировать ордера. Кроме того, в клиентском терминале имеется возможность автоматически управлять положением стоп-приказов рыночных ордеров. В результате воздействия трейдера на встроенные средства управления торговлей в клиентском терминале формируются торговые приказы (ордера), которые отправляются на сервер.

Для получения подробной информации о работе клиентского терминала необходимо обратиться к "Руководству пользователя" (каталог_терминала\Terminal_russian.chm).

Программные средства


Технический анализ рынка и управление торговлей в клиентском терминале MetaTrader 4 могут также осуществляться с помощью программных средств. Язык MQL4 позволяет создавать такие программы. Различают три вида прикладных программ, создаваемых на языке MQL4 и предназначенных для работы в клиентском терминале:

  • пользовательский индикатор - программа для графического отображения каких-либо закономерностей на рынке, написанная в соответствии с авторским алгоритмом;
  • эксперт (советник, Expert Advisor) - программа, позволяющая механизировать значительную часть торговых операций или полностью автоматизировать торговлю;
  • скрипт - программа для выполнения одноразовых действий, в том числе — осуществления торговых операций.

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

Прикладные программы и ручные средства управления могут использоваться в клиентском терминале одновременно, взаимно дополняя друг друга.

Основополагающая техническая особенность торговли c помощью информационно-торговой системы MetaTrader состоит в том, что все управляющие воздействия формируются в клиентском терминале и отправляются на сервер. Прикладные программы (эксперт, скрипт, индикатор) могут работать только в составе клиентского терминала при условии его подключения к серверу (дилинговому центру). На сервере никакие прикладные программы не устанавливаются.

Сервер позволяет лишь обрабатывать приказы, поступающие со стороны клиентского терминала. Если клиентский терминал отключён от Интернета или запущенная в нём прикладная программа (эксперт или скрипт) по каким-то причинам не генерирует управляющие воздействия, то на сервере ничего происходить не будет.

Круг наших интересов будут составлять программы (эксперты, скрипты и пользовательские индикаторы), позволяющие вести механизированную или полностью автоматизированную торговлю и значительно расширяющие информационное сопровождение торговли (см. рис. 1). В представленном учебнике будет рассказано, из чего состоит программа, каковы основные правила составления и использования программ. Мы также детально рассмотрим примеры программ и параметры информационной среды клиентского терминала, доступные программе во время её исполнения.

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

В подавляющем большинстве случаев программа позволяет существенно облегчить труд трейдера, избавив его от необходимости непрерывно в течение длительного срока находиться возле монитора для наблюдения за развитием рынка. Она также может помочь снизить нервную нагрузку и уменьшить количество ошибок, возникающих в период сильного эмоционального напряжения. Но главное — применение программного способа управления торговлей позволяет разработать собственные идеи и проверить их на исторических данных, подобрать оптимальные параметры для применения этих идей, а в конечном итоге — реализовать на практике продуманную торговую стратегию.