Введение в программирование на языке MQL4
Приступая к изучению программирования на языке MQL4, необходимо обозначить общие
границы наших интересов. Прежде всего отметим, что обсуждаемые в учебнике программы
могут использоваться только как прикладные программы для работы в клиентском
терминале MetaTrader 4. Чтобы понять, какую роль эти программы играют в практике
управления торговлей, рассмотрим рис. 1.
Рис. 1. Программа на MQL4 в составе клиентского терминала MetaTrader 4.
Если вы интересуетесь программированием на MQL4, вы, вероятнее всего, уже знакомы с клиентским
терминалом. Клиентский терминал - это часть информационно-торговой
системы. В состав этой системы входит также сервер, устанавливаемый в дилинговом
центре. Дилинговый центр, в свою очередь, имеет средства связи с другими участниками
рынка - банками и финансовыми организациями.
В клиентском терминале имеется информационная среда - набор параметров, информирующих о состоянии
рынка и отношениях между трейдером и дилинговым центром. Она содержит сведения
о текущих ценах, ограничениях по минимальному и максимальному размеру ордера, минимальной
дистанции стоп-приказов, разрешении/запрете осуществлять автоматическую
торговлю и множество других полезных параметров, характеризующих текущую ситуацию.
Информационная среда обновляется с поступлением в терминал новых тиков (зелёная
стрелка на рис. 1).
Встроенные средства
В клиентском терминале имеются встроенные средства, позволяющие проводить технический
анализ рынка и осуществлять ручное управление торговлей. Для анализа рынка могут
применяться технические индикаторы и различные линейные инструменты - линии поддержки/сопротивления,
трендовые каналы, уровни Фибоначчи и др.
Для ручного управления торговлей используется панель управления ордерами. С помощью
этой панели трейдер может открывать, закрывать и модифицировать ордера. Кроме того,
в клиентском терминале имеется возможность автоматически управлять положением стоп-приказов
рыночных ордеров. В результате воздействия трейдера на встроенные средства управления
торговлей в клиентском терминале формируются торговые приказы (ордера), которые отправляются
на сервер.
Для получения подробной информации о работе клиентского терминала необходимо обратиться
к "Руководству пользователя" (каталог_терминала\Terminal_russian.chm).
Программные средства
Технический анализ рынка и управление торговлей в клиентском терминале MetaTrader
4 могут также осуществляться с помощью программных средств. Язык MQL4 позволяет
создавать такие программы. Различают три вида прикладных программ, создаваемых
на языке MQL4 и предназначенных для работы в клиентском терминале:
- пользовательский индикатор - программа для графического отображения каких-либо закономерностей
на рынке, написанная в соответствии с авторским алгоритмом;
- эксперт (советник, Expert Advisor) - программа, позволяющая механизировать значительную часть торговых операций или полностью автоматизировать торговлю;
- скрипт - программа для выполнения одноразовых действий, в том числе — осуществления торговых операций.
На рис. 1 видно, что прикладная программа имеет те же средства доступа к информационной среде клиентского терминала,
что и встроенные средства для ручной торговли (синие стрелки), а также может формировать управляющие воздействия (красные стрелки),
сообщаемые в клиентский терминал. Программы разных видов могут использоваться одновременно и при этом обмениваться данными.
С помощью этих приложений программист может механизировать значительную часть торговых операций или создать робот, способный осуществлять торговлю без вмешательства трейдера.
Прикладные программы и ручные средства управления могут использоваться в клиентском терминале одновременно, взаимно дополняя друг друга.
|
Основополагающая техническая особенность торговли c помощью информационно-торговой системы MetaTrader состоит в том, что все управляющие воздействия формируются в клиентском терминале и отправляются на сервер. Прикладные программы (эксперт, скрипт, индикатор) могут работать только в составе клиентского терминала при условии его подключения к серверу (дилинговому центру). На сервере никакие прикладные программы не устанавливаются. |
Сервер позволяет лишь обрабатывать приказы, поступающие со стороны клиентского терминала. Если клиентский терминал отключён от Интернета или запущенная в нём прикладная программа (эксперт или скрипт) по каким-то причинам не генерирует управляющие воздействия, то на сервере ничего происходить не будет.
Круг наших интересов будут составлять программы (эксперты, скрипты и пользовательские индикаторы), позволяющие вести механизированную или полностью автоматизированную торговлю и значительно расширяющие информационное сопровождение торговли (см. рис. 1). В представленном учебнике будет рассказано, из чего состоит программа, каковы основные правила составления и использования программ. Мы также детально рассмотрим примеры программ и параметры информационной среды клиентского терминала, доступные программе во время её исполнения.
|
Программы для автоматического трейдинга имеют гораздо больше потенциальных возможностей,
чем ручные средства управления торговлей. |
В подавляющем большинстве случаев программа позволяет существенно облегчить труд трейдера, избавив его от необходимости непрерывно в течение длительного срока
находиться возле монитора для наблюдения за развитием рынка. Она также может помочь снизить нервную нагрузку и уменьшить количество ошибок, возникающих в период сильного эмоционального напряжения.
Но главное — применение программного способа управления торговлей позволяет разработать собственные идеи и проверить их на исторических данных, подобрать оптимальные параметры для применения этих идей, а в конечном итоге — реализовать на практике продуманную торговую стратегию.