Язык программирования mql5 для чайников + видео обзор

Содержание
  1. “MQL5 программирование для MetaTrader 5” – с нуля до профи
  2. И я так смогу?
  3. Кому подойдет этот курс:
  4. Об авторе
  5. Курс содержит:
  6. Пройдя курс, Вы освоите навыки:
  7. Преимущества видеокурса:
  8. После изучения курса Вы:
  9. Язык MetaQuotes 4 и 5
  10. История создания MQL
  11. Различия между MQL4 и MQL5
  12. Возможности MQL5
  13. Основные понятия MQL5
  14. Важные базовые концепции языка:
  15. Типы данных:
  16. Книга «Язык программирования MQL5: Продвинутое использование торговой платформы MetaTrader 5». Автор Тимур Машнин.
  17. MQL5 для «чайников»: Как проектировать и конструировать классы объектов
  18. Введение в объектно-ориентированное программирование (ООП)
  19. 2. Проектирование классов
  20. 3. Визуальное конструирование классов
  21. Traders //—>
  22. Группа «Программирование на MQL»
  23. Обучение MQL5. Бесплатный видеокурс из 8 уроков
  24. УРОК 1. Основы языка MQL5 и редактор MetaEditor
  25. УРОК 2. Структура MQL5-программы
  26. УРОК 3. Переменные MQL5
  27. УРОК 4. Операции, операторы и функции в MQL5
  28. УРОК 5. Торговые операции в MQL5
  29. УРОК 6. Управление рыночными позициями в MQL5
  30. УРОК 7. Создание индикатора в MQL5
  31. УРОК 8. Создание советника в MQL5
  32. Быстрый старт или краткий курс для начинающих
  33. Введение
  34. Советник и его структура
  35. Индикаторы и работа с ними
  36. Ордера, сделки и позиции
  37. Стоп-лосс и тейк-профит
  38. Работа со стандартными библиотеками
  39. Соберем все вместе
  40. Заключение
  41. Видео

“MQL5 программирование для MetaTrader 5” – с нуля до профи

Язык программирования mql5 для чайников
Представляем Вашему вниманию бесплатный пошаговый видеокурс “MQL5 – программирование для MT5”, в котором простым языком объясняется, как автоматизировать трейдинговые стратегии на рынке Форекс и быстро освоить программирование под терминал MetaTrader 5, не прибегая к изучению тонн литературы.

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

Язык программирования mql5 для чайников

Торговые роботы от сторонних разработчиков имеют ряд недостатков:

При создании роботов учитывается множество факторов, которые могут меняться со временем и опытом. Поэтому важно научиться самому настраивать советников с учетом собственных предпочтений. При этом Вам не придется кому-то платить. Более того, у Вас будет собственная стратегия, которой пользуетесь только Вы, не конкурируя с другими участниками рынка.

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

И я так смогу?

Язык программирования mql5 для чайников

Да! Видеокурс “MQL5 – программирование для MT5” простым языком объясняет, как писать скрипты и индикаторы для создания собственных стратегий. Выполняя пошаговые инструкции, Вы научитесь сами создавать торговых форекс роботов, которые будет приносить Вам пассивный доход, даже когда Вы спите. Курс рассчитан как на опытных трейдеров, так и на новичков.

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

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

Кому подойдет этот курс:

Язык программирования MQL прост в освоении и поэтому доступен даже новичкам.

Об авторе

Сергей получил высшее образование в Киевском Политехническом Институте и занимается программированием уже 30 лет. За это время освоил несколько языков программирования, среди которых числятся Assembler, Delphi, C++, 1C, SQL и MQL.

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

Курс содержит:

Пройдя курс, Вы освоите навыки:

Преимущества видеокурса:

После изучения курса Вы:

Изучив видеокурс “MQL5 – программирование для MT5”, Вы сможете полностью автоматизировать процесс торговли и настроить торгового советника по собственным параметрам. Получите пошаговую инструкцию прямо сейчас. Заполните форму и нажмите на кнопку “Получить видеокурс”.

Источник

Язык программирования mql5 для чайников

Язык MetaQuotes 4 и 5

Язык программирования mql5 для чайников

История создания MQL

Обновленный MQL4 включает в себя новые графические объекты и новые функции, заимствованные из MQL5 и используемые для анализа графиков. Система защиты была полностью изменена для исполняемых файлов EX4. Стандартная библиотека MQL5 была перемещена почти полностью, за исключением единственной торговой подсистемы, которая требовала адаптации.

Были добавлены новые типы данных и смесь расширенной микросистемы замещения (условная компиляция ifdef, #ifndef, #else, #endif), которая позволяет использовать код из других языков на основе С/C++ (следует отметить, что указатели объектов в MQL4 / MQL5 не похожи во всех отношениях на С++). Обновленный MQL4 оснащен строгим режимом компиляции, который предотвращает множество потенциальных ошибок программирования. В MQL5 этот режим используется по умолчанию и не может быть отключен.

Различия между MQL4 и MQL5

MQL5 содержит расширенный список торговых функций для работы с открытыми ордерами, списком открытых позиций, историей заказов. В MQL4 различные функции, такие как OrderSend () OrderClose () OrderCloseBy () OrderModify () OrderDelete () были изначально введены для выполнения каждой торговой операции. Эти функции можно использовать для открытия / закрытия и удаления отложенных ордеров.

Важной новинкой в ​​MQL5 является «Глубина рынка».

Возможности MQL5

Существует четыре типа программ, которые могут быть написаны на MQL5(MQL4).

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

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

Основные понятия MQL5

Важные базовые концепции языка:

Комментарий. Часть кода программы, который не исполняется. Текст комментария обозначается так: // и окрашивается в коде серым цветом.

Типы данных:

Основные типы данных, используемые в MQL5:

целый (char, short int, uchar length, ushort, uint ulong);

с плавающей точкой;

дата и время (datetime);

Структуры и классы представляют собой сложный (сводный) тип данных, который может работать в MQL4 / MQL5. Классы отличаются от структур следующими свойствами:

ключевое слово class в декларации;

все члены класса имеют закрытый доступ по умолчанию, а члены структуры имеют открытый доступ;

объекты класса всегда имеют массив виртуальных функций;

Оператор new может применяться только к объектам класса;

Наследование: класс наследует от класса, структура возникает только из структуры.

Книга «Язык программирования MQL5: Продвинутое использование торговой платформы MetaTrader 5». Автор Тимур Машнин.

Эта книга является справочником, что поможет начинающим программистам (которые уже имеют опыт программирования на других языках) ознакомиться с языком программирования MQL5, или станет дополнительным источником информации для тех, кто уже начал его изучать. Прочитав книгу, вы сможете создать свой первый советник или индикатора для терминала MetaTrader 5.

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

Источник

MQL5 для «чайников»: Как проектировать и конструировать классы объектов

Язык программирования mql5 для чайников

Введение в объектно-ориентированное программирование (ООП)

ВОПРОС «чайника»: Имея самое смутное представление о процедурном программировании, можно ли освоить ООП и использовать его в написании автоматических торговых стратегий? Или это недоступно обычному разуму?

По большому счёту, написать на объектно-ориентированном языке программирования MQL5 советник или индикатор, можно и без использования принципов ООП. Использование новых технологий в ваших разработках не является обязательным. Поступайте так, как считаете проще. Кроме того, применение ООП тем более не может гарантировать прибыльности создаваемых вами торговых роботов.

Однако, переход на новое (объектно-ориентированное) мышление, позволит применять в своих советниках более сложные адаптивные математические модели торговых стратегий, которые самостоятельно будут реагировать на внешние изменения и синхронизироваться с рынком.

Итак, на чём базируется технология ООП:

Именно события являются главным базисом. Вся логика программы построена на обработке постоянно поступающих событий. Какая должна быть реакция на них, определяется и описывается в классах. Другими словами, в объекте класса осуществляется перехват и обработка потока событий.

Вторым базисом является класс объектов, который в свою очередь покоится на «трёх китах»:

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

События:
Класс объекта: Инкапсуляция: Наследование: Полиморфизм: Виртуальный метод обработки события OnEvent можно переопределить, но имя метода при этом остаётся тем же самым, как и у класса-предка.

2. Проектирование классов

Рассмотрим процесс проектирования на примере создания программы визуального конструирования классов MasterWindows for MQL5.

2.1. I Этап: Эскизный проект

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

Для организации диалога создаваемой программы, воспользуемся формой, похожей на окно приложения Windows (см. эскиз на рис.1). Она содержит строки, а те в свою очередь состоят из ячеек, а ячейки из графических объектов. Итак, уже на этапе эскизного проекта, начинает вырисовываться структура программы и классификация объектов.

Язык программирования mql5 для чайников

Рис. 1 Форма конструктора классов (эскиз)

При достаточно большом количестве строк и ячеек (полей) в окне формы, они построены всего из двух типов графических объектов: OBJ_EDIT и OBJ_BUTTON. Таким образом, определившись с внешним видом, структурой и базовыми объектами создаваемой программы, можно считать, что эскизный проект готов и пора приступать к следующему этапу.

2.2. II Этап: Проектирование базовых классов

Таких классов пока просматривается три, а в дальнейшем к ним могут добавиться (при необходимости) и другие:

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

Базовый класс CCell:

Базовый класс CRow:

Базовый класс CWin:

Пояснения и рекомендации:

2.3. III Этап: Рабочий проект

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

В качестве примера, предлагаю свой вариант такого шаблона:

1) Программа = советник

Это полностью готовый код советника. Больше ни каких изменений, на протяжении всего проекта, в него вносить не надо!

Все основные и вспомогательные модули проекта начнут своё развитие именно отсюда. Такой подход облегчает программирование сложных многомодульных проектов и облегчает поиск возможных ошибок. А найти их бывает очень трудно. Иногда проще и быстрее написать новый проект, чем искать неуловимые «глюки».

Ниже приведу примерное начальное описание основных методов класса.

3) Библиотека базовых и производных классов

Итак, каркас программы есть. Проверяем его работоспособность: компилируем и запускаем на выполнение. Если проверка прошла успешно, то можно приступить к наполнению проекта дополнительными модулями.

Начнём с подключения производных классов и в первую очередь с ячеек:

Язык программирования mql5 для чайников

Язык программирования mql5 для чайников

Язык программирования mql5 для чайников

Язык программирования mql5 для чайников

Табл. 1 Библиотека классов ячеек

Подробно рассмотрим создание только одного производного класса CCellButtonType. Этот класс создаёт кнопки разных типов.

Теперь надо протестировать всю библиотеку ячеек. Для этого вставим в главный модуль (временно для проверки) следующий программный код и запустим советник на выполнение.

И не забудем осуществить трансляцию событий для вызываемых классов! Если этого не сделать, управление объектами будет затруднено или вообще невозможно.

В результате получим на экране все имеющиеся варианты объектов библиотеки классов ячеек.

Язык программирования mql5 для чайников

Рис. 2 Библиотека классов ячеек

Проверяем работоспособность и реакцию объектов на события:

Итак, библиотека классов ячеек протестирована и подключена к проекту.

Следующим шагом добавляем библиотеку строк:

Название классаИзображение
Класс CCellText
Название классаИзображение
Класс CRowType1(0)Язык программирования mql5 для чайников
Класс CRowType1(1)Язык программирования mql5 для чайников
Класс CRowType1(2)Язык программирования mql5 для чайников
Класс CRowType1(3)Язык программирования mql5 для чайников
Класс CRowType2Язык программирования mql5 для чайников
Класс CRowType3Язык программирования mql5 для чайников
Класс CRowType4Язык программирования mql5 для чайников
Класс CRowType5Язык программирования mql5 для чайников
Класс CRowType6Язык программирования mql5 для чайников

Табл. 2 Библиотека классов строк

и точно так же тестируем. После завершения всех проверок, приступаем к следующему этапу.

2.4 IV Этап: Сборка проекта

Итак, все необходимые модули созданы и протестированы. Теперь приступаем к сборке проекта. Первым делом создаём оболочку: форму окна как на рис.1 и наполняем его функциональностью, т.е. программируем реакцию всех элементов и модулей на поступающие события.

Для этого у нас есть готовый каркас программы и заготовка главного модуля. Вот с него и начнём. Он является классом-наследником базового класса CWin, следовательно, все публичные методы и поля класса-предка достались ему по наследству. Поэтому, достаточно только переопределить несколько методов и новый класс CMasterWindows готов:

Для обмена данными между объектами ранее была создана простая структура WinCell и вот теперь становится понятным преимущества такого подхода. Копирование всех членов структуры происходит очень разумно и компактно:

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

3. Визуальное конструирование классов

Гораздо быстрее и значительно нагляднее класс можно сконструировать в среде визуального проектирования MasterWindows for MQL5:

Язык программирования mql5 для чайников

Рис. 3 Процесс визуального проектирования

При запуске которого, получим спроектированное окно:

Язык программирования mql5 для чайников

Источник

Traders //—>

Язык программирования mql5 для чайников

Язык программирования mql5 для чайников

Язык программирования mql5 для чайниковГруппа «Программирование на MQL»

Обсуждаем здесь вопросы разработки экспертов, делимся опытом, выкладываем уроки.

Внимание! Если Вы хотите заказать советник, то Вам в группу «Заказы на разработку советников»

Обучение MQL5. Бесплатный видеокурс из 8 уроков

Обнаружил бесплатный курс обучения MQL5 в формате вебинаров.

Автор: Денис Кириченко, ведущий вебинаров от компании Roboforex

Для обучения понадобится: MetaTrader5 (скачать)

Обучение состоит из 8 уроков. В конце каждого урока дается домашнее задание.

Содержание курса:
УРОК 1. Основы языка MQL5 и редактор MetaEditor
УРОК 2. Структура MQL5-программы
УРОК 3. Переменные
УРОК 4. Операции, операторы и функции
УРОК 5. Торговые операции в MQL5
УРОК 6. Управление рыночными позициями
УРОК 7. Создание индикатора
УРОК 8. Создание советника в MQL5

Темп повествования неторопливый. Каждое видео в пределах часа. Общая продолжительность чуть больше 7 часов.
Для старта такой курс может оказаться полезным.
Автор задает наводящие вопросы слушателям, сам отвечает на их вопросы. Поэтому формат вебинаров является более живым и дружественным для новичка.

Выкладываю по порядку.

УРОК 1. Основы языка MQL5 и редактор MetaEditor

Длительность: 48 мин
Описание: «лекция об основах языка MQL5. Описываются важные базовые понятия и элементы языка, среда программирования на языке MQL5 — MetaEditor»
План:
1. Назначение языка MQL5
2. Редактор кода Metaeditor
3. MQL5-программа и файлы
4. Основные понятия
5. Материал для самостоятельного изучения (теория)
6. Домашнее задание

УРОК 2. Структура MQL5-программы

Длительность: 49 мин
Описание: «лекция о программе языка MQL5. Описываются программные компоненты, приводятся примеры исполнения программы.»
План:
1. Структура MQL5-программы
2. Выполнение MQL5-программы
3. События клиентского терминала MetaTrader5
4. Примеры реализации
5. Материал для самостоятельного изучения (теория)
6. Домашнее задание

УРОК 3. Переменные MQL5

Длительность: 54 мин
Описание: «лекция о переменных языка MQL5. Изучаются типы переменных, возможности группировки однотипного множества данных.»
План:
1. Типы переменных
2. Область видимости, время жизни, класс памяти
3. Массив
4. Предопределённые переменные
5. Материал для самостоятельного изучения (теория)
6. Домашнее задание

УРОК 4. Операции, операторы и функции в MQL5

Длительность: 57 мин
Описание: «лекция об операциях, операторах программирования языка MQL5 и функциях. Изучается их роль в программировании, приводятся примеры использования операторов.»
План:
1. Операции, виды
2. Оператор, виды
3. Функции, вызов
4. Материал для самостоятельного изучения (теория)
5. Домашнее задание

УРОК 5. Торговые операции в MQL5

Длительность: 57 мин
Описание: «слушателям читается лекция о программировании торговых операций на языке MQL5. Изучается реализация торговых операций средствами MQL5, приводятся примеры работы с ордерами.»
План:
1. Торговые операции, типы
2. Обработка торговых операций
3. Торговая история, программный доступ к торговой истории
4. Материал для самостоятельного изучения (теория)
5. Домашнее задание

УРОК 6. Управление рыночными позициями в MQL5

Длительность: 55 мин
Описание: «слушателям читается лекция об управление рыночными позициями на языке MQL5. Изучается программная реализация операций управления рыночными позициями, приводятся примеры работы с рыночными позициями. Рассматриваются операции доступа к информации торгового счёта.»
План:
1. Рыночные позиции, типы
2. Закрытие позиций
3. Получение информации о счёте
4. Материал для самостоятельного изучения (теория)
5. Домашнее задание

УРОК 7. Создание индикатора в MQL5

Длительность: 51 мин
Описание: «слушателям читается лекция о пользовательском индикаторе языка MQL5, его свойствах и структуре. Изучается процесс и методика написания пользовательского индикатора, приводятся примеры программирования индикаторов.»
План:
1. Шаблон индикатора
2. Свойства пользовательского индикатора
3. Расчётная часть индикатора, информационная значимость
4. Материал для самостоятельного изучения (теория)
5. Домашнее задание

УРОК 8. Создание советника в MQL5

Длительность: 55 мин
Описание: «слушателям читается лекция о выборе торговой идеи для программной реализации на языке MQL5. На основе идеи программируется советник. Изучается функционал тестера стратегий и проводится тестирование работы советника.»
План:
1. Торговая идея
2. Программный код
3. Тестирование на истории
4. Материал для самостоятельного изучения (теория)
5. Домашнее задание

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

Источник

Быстрый старт или краткий курс для начинающих

Язык программирования mql5 для чайников

Введение

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

Советник и его структура

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

Визуально весь советник можно поделить на 4 части, каждая из которых выполняет свою часть работы.

Язык программирования mql5 для чайников
Рис. 1. Основные блоки советника

Язык программирования mql5 для чайников
Рис. 2. Пример нового документа создаваемого по умолчанию редактором MetaEditor

Поясню на примере. Вот код «пустого» советника, так сказать «болванка», которую нам потом необходимо будет заполнить.
Вот здесь видно:

Как я говорил раньше, структура может быть гораздо сложнее и состоять из множества блоков, этот пример прост для понимания. Кода ты посчитаешь, что этого мало, то добавишь какие-то свои блоки.

Индикаторы и работа с ними

Все индикаторы можно разделить на два типа: трендовые и осцилляторы.

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

Большинство индикаторов имеет минимум один буфер (индикаторный буфер), в котором содержится информация о показаниях этого индикатора в конкретные моменты времени. Также как и советник, индикатор имеет символ и таймфрейм, на котором он установлен.

Язык программирования mql5 для чайников
Рис. 3. Пример индикатора Moving Average

Рассмотрим пример:
Пусть валютная пара будет EUR/USD, таймфрейм 1 час.
Для начала необходимо подключить индикатор к советнику и получить его хендл.

В первой строке мы определим переменную которая будет хранить хендл индикатора. Во второй строке вызываем индикатор (в данном случае индикатор Moving Average), указываем параметры этого индикатора и сохраняем хендл в переменную для дальнейшей работы.

Язык программирования mql5 для чайников
Рис. 4. Пример подсказки по параметрам индикатора Moving Average

Видим следующие параметры, перечисленные слева направо:

У каждого индикатора индивидуальный набор переменных и их типов. Если вдруг попался незнакомый индикатор, то всегда можно почитать о нем во встроенной справке. Например, написав iMA и нажав клавишу F1, нам откроется справка по данному индикатору с подробным описанием всех свойств индикатора.

Язык программирования mql5 для чайников
Рис. 5. Пример вызова справки по индикатору по нажатию F1

Написав данный код и запустив советник в терминале, мы увидим (когда советник появится в верхнем правом углу графика цен), что на графике наш индикатор не появился. Это не ошибка, так и задумано. Для того чтобы он появился, необходимо дописать еще строку:

Теперь давай разберемся, что значит эта строка. Ставим курсор на команду ChartIndicatorAdd и нажимаем F1, после читаем в справочном окне, для чего нужна эта команда. А там написано, что эта команда:

Добавляет на указанное окно графика индикатор с указанным хэндлом.

Изменив код на следующий:

наш индикатор появится в подокне, расположенном под графиком цены.

Теперь попробуем получить данные от индикатора. Для этого объявим динамический массив, для удобства установим в нем индексацию как в таймсерии, и скопируем в него значения индикатора.

В данном примере мы объявили динамический массив iMA_buf[] с типом double, т.к. индикатор Moving Average строится по ценам, а они имеют дробную часть.

Последней строкой мы копируем значения индикатора в массив iMA_buf[]. Теперь эти данные можно применять.

Ордера, сделки и позиции

Действующие ордера содержат приказ о том, что мы хотим продать и или купить по текущей рыночной цене определенный объем на указанном финансовом инструменте.
Отложенные ордера содержат приказ на совершение торговой операции при определенных условиях. Отложенные ордера имеют «срок годности» по истечении которого ордер удаляется.

Чтобы стало более понятно приведу пример: открываем длинную позицию размером 1 лот, т.е. мы выставляем ордер по текущей цене (к примеру) и размером 1 лот. Если запрос был верным, то он отправляется на сервер для обработки. Как только он обработается, то в терминале на вкладке «Торговля» появится позиция с параметрами ордера. Потом мы решили открыть еще одну длинную позицию, тоже размером 1 лот. После обработки приказа на вкладке «Торговля» мы не увидим два ордера, а одну позицию с объемом 2 лота. Т.е. позиция это есть результат выполнения нескольких ордеров.

Теперь перейдем к практике. Чтобы сделать запрос нужно заполнить поля структуры:

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

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

Стоп-лосс и тейк-профит

Данный тип ордеров не выставляется отдельно, он может только модифицировать уже существующие позиции.

Работа со стандартными библиотеками

Торговые библиотеки (смотри также торговые классы) располагаются по следующему пути: Include\Trade\ и подключаются директивой #include.
Пример:

Приведенные выше в примере классы можно назвать основными, т.к. большинство советников можно построить используя только эти два класса (библиотеки). Я называю эти классы бибилотеками:

Помните структуру торгового запроса, с ее большим количеством параметров, которые нужно знать когда применять?
Теперь я покажу пример торгового запроса с использованием библиотеки:

Закрыть позицию можно несколькими способами:

Соберем все вместе

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

Протестируем наш советник со следующими параметрами:

И вот результаты беглого тестирования на истории.

Язык программирования mql5 для чайников
Рис. 6. Результат тестирование нашего советника

Да, есть просадки, но целью данной статью было вовсе не построение «супер советника», который бы давал большую прибыль и малую просадку, а показать, насколько просто можно построить советник, вооружившись базовыми знаниями.
Меньше ста строк кода и у нас уже есть советник.

Заключение

В этой статье мы рассмотрели основные принципы, которыми необходимо руководствоваться при построении любого советника. Узнали как пользоваться встроенной справкой в MetaEditor 5, для получения информации для различных функций. А также получили общее понятие об ордерах и позициях, научились применять стандартные библиотеки.

Источник

Видео

MQL для чайников (часть #1)

MQL для чайников (часть #1)

MQL5 Для начинающих #0 Введение

MQL5 Для начинающих #0 Введение

MQL5 для чайников - Урок 1: Редактор кода, События, устройство mql5 программ

MQL5 для чайников - Урок 1: Редактор кода, События, устройство mql5 программ

MQL5 Программирование: Перечисления

MQL5 Программирование: Перечисления

📗 MQL Урок N1 Основы, редактор кода, типы данных #mql

📗 MQL Урок N1 Основы, редактор кода, типы данных #mql

MQL5 Для начинающих #1. Интерфейс и настройки

MQL5 Для начинающих #1. Интерфейс и настройки

Язык программирования MQL4 MQL5 MQL говно!

Язык программирования MQL4 MQL5 MQL говно!

MQL5 для начинающих

MQL5 для начинающих

MQL5 программирование: Математические функции и циклы

MQL5 программирование: Математические функции и циклы

MQL5 для чайников - Урок 2: Типы переменных

MQL5 для чайников - Урок 2: Типы переменных
Поделиться или сохранить к себе:
Добавить комментарий

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