Язык MQL4 от первого знакомства до первого советника.
На нашем форуме сплошь и рядом идет обсуждение плюсов и минусов разного рода индикаторов, скриптов и автоматизированных торговых систем. Но большинство из тех, кто обсуждает мало что понимают в программировании, а те единицы кто понимает- просто не имеет времени для того чтобы осилить весь объем материала, который разбросан по форуму, и помочь нуждающимся. Вот и решил я создать данную тему, для того чтобы дать народу хоть мало мальски общее понятия о процессе программировании, а также открыть на форуме тему, где бы могли задаваться конкретные вопросы и наши эксперты могли оперативно давать ответы и консультировать народ.
А начнем мы из далека, так что же все таки MQL4 представляет из себя? В 2001 году MetaQuotes Software Corp выпустила свою вторую платформу для работы на Forex, и на рынке
CFD - MetaQuotes. Там то и была добавлена возможность создания инструментов для торговли с помощью языка программирования, которая получила логическое названия
MetaQuotes Language (MQL), в специальной подпрограмме, которая входит в состав терминала MetaEditor.
Каждый год MetaQuotes Software Corp усовершенствовала свой продукт и сейчас мы имеем MetaTrader 5. Но большего внимания в использовании заслужвает платформа MetaTrader 4, которая была создана еще в 2005 году с програмой – редактором МetaEditor 4. О ней и пойдет наш разговор.
Для того чтобы открыть MetaEditor 4, мы имеем три варианта:
- в меню «Сервис» терминала MetaTrader 4, есть пункт «Редактор MetaQuots Language» на нем и нажимаем;
- использовать кнопку быстрого запуска «MetaEditor»;
- использовать гарячюю клавишу клавиатуры, при открытом рабочем терминале, F4.
И так, открыли мы редактор MetaEditor 4. Что же делать дальше? А дальше все просто, как в любом текстовом редакторе нам нужно создать новый файл:
-выбираем пунт меню «File» в нем выбираем новый объект «New».
Программа предлагает нам выбрать один из возможных объектов, которые мы хотим создать. Это может быть советник, индикатор, скрипт, библиотека ну и ряд дополнительных функций.
После того, как вы выберете нужный вам объект, вам предложат указать его имя, имя автора и его электронный адрес.
Теперь все готово для работы, и вам потребуется знания основных функций и операторов которые используются при построении инструмента, и воплощение его желаемой функциональности. Сейчас же рассмотрим принцип построения этого тела, его основные составляющие.
При создании нового объекта, редактор сразу предлагает вам файл с уже написанным некоторым кодом, это 3 основные функции init(), start() и deinit(), каждая из которых начинаеться с int и return(0) и между ними вписывается код, который в будущем будет поэтапно реализовыватся.
Структуру программы можно описать следующим образом:
1. Головная часть программы – здесь указывается реквизиты автора программы,
2. Специальная функция init() – описывает действие, которое программа будет осуществлять при её открытии,
3. Специальная функция start() – действия, которые программа осуществляет в процессе своего существования на графике (в основном при изменении цены) и имеет цикличный характер,
4. Специальная функция deinit() – действия, которая программа единожды исполняет при отсоединении программы от клиентского графика,
5. Пользовательские функции – функции, которые автор вводить по мере необходимости.
картинка (5).png
На счет расположения этих составных частей программы, то существует только два правила:
- головная часть программы в обязательном порядке должна находиться в самом начале (первые несколько строк кода);
- ни одна функция не может быть описана внутри другой функции.
Если эти ошибки все же будут допущены, то на стадии компиляции они высветятся в отдельном блоке редактора, и компиляция не будет произведенна. Компиляция, это перевод текста, который написан создателем, в машинный код, который будет понятен терминалу для исполнения. Делается это довольно просто: либо с помощью специальной кнопки в меню редактора MetaEditor, либо с помощью гарячей кнопки клавиатуры F5.
картинка (6).JPG
Если ошибок нет, тогда, мои поздравления, советник готов к использованию и появился в списке советников терминала MetaTrader 4.
Еще хотелось бы отметить, что в редакторе есть встроенные библиотеки функций, которые довольно таки неплохо помогают программистам при написании кода. Они имеют описания функций и правила их написания. Для того чтобы программисту или новичку не искать необходимуюю функцию во множестве книг и сайтов можно прямо из редактора узнать необходимую информацию.
Вот так мы с вами прошли очень краткий курс по MQL4 программированию. Надеюсь, статья будет для вас полезной, и при решении в дальнейшем изучать программирования с помощью MetaEditor вы будете использовать материалы и информацию с нашего форума
Автор: Crosh
Все права на статью принадлежат
http://forum.forex-investo.ru
Копирование строго запрещено.