forked from nique_372/MQL5Book
109 lines
6.6 KiB
Markdown
109 lines
6.6 KiB
Markdown
# MQL5 Programming for Traders
|
|
|
|
|
|
Examples from the book "MQL5 Programming for Traders" - author Stanislav Korotky
|
|
|
|
Репозиторий разложен в [**стандартную структуру каталога `MQL5/`**](https://www.metatrader5.com/en/metaeditor/help/structure) (Scripts / Experts / Indicators / Include / Files и т.д.) и сгруппирован по частям книги (**p1 … p7**), чтобы было удобно:
|
|
- открывать проект в MetaEditor,
|
|
- компилировать примеры по мере чтения книги,
|
|
- запускать их в терминале MetaTrader 5 и в тестере стратегий.
|
|
|
|
|
|

|
|
|
|
## Ссылки
|
|
|
|
- Книга (онлайн): https://www.mql5.com/en/book
|
|
- Репозиторий (Algo Forge): https://forge.mql5.io/rosh/MQL5Book
|
|
|
|
Публикации в CodeBase с исходниками по частям:
|
|
- Часть 1: https://www.mql5.com/en/code/45590
|
|
- Часть 2: https://www.mql5.com/en/code/45591
|
|
- Часть 3: https://www.mql5.com/en/code/45592
|
|
- Часть 4: https://www.mql5.com/en/code/45593
|
|
- Часть 5: https://www.mql5.com/en/code/45594
|
|
- Часть 6: https://www.mql5.com/en/code/45595
|
|
- Часть 7: https://www.mql5.com/en/code/45596
|
|
|
|
## Содержание по частям
|
|
|
|
> Краткое назначение частей — чтобы быстро понять, где искать примеры и что именно тренировать.
|
|
|
|
- **Часть 1 — Знакомство с MQL5 и средой разработки (p1)**
|
|
Первые шаги: работа в MetaEditor, редактирование/компиляция/запуск, базовые типы и переменные, выражения, массивы, отладка, вывод данных.
|
|
|
|
- **Часть 2 — Основы программирования на MQL5 (p2)**
|
|
Базовые «строительные блоки» языка: типы данных, идентификаторы, переменные, операторы, выражения, инструкции и построение процедурной логики.
|
|
|
|
- **Часть 3 — Объектно-ориентированное программирование на MQL5 (p3)**
|
|
Примеры ООП для управления сложностью: классы/объекты, шаблоны и приёмы структурирования кода.
|
|
|
|
- **Часть 4 — Общеупотребительные MQL5 API (p4)**
|
|
Практика работы со встроенными функциями терминала (API): от «самых простых и полезных» к более специализированным подсистемам.
|
|
|
|
- **Часть 5 — Создание прикладных программ на MQL5 (p5)**
|
|
Прикладные задачи: анализ/обработка данных, визуализация на графике, автоматизация действий, интерактивное взаимодействие с пользователем.
|
|
|
|
- **Часть 6 — Автоматизация торговли (p6)**
|
|
Всё, что нужно для торговых роботов: торговое окружение (инструменты/счёт), торговые структуры и функции, события, работа в тестере.
|
|
|
|
- **Часть 7 — Расширенные средства MQL5 (p7)**
|
|
Продвинутые API/интеграции: пользовательские инструменты, экономический календарь, сеть, базы данных, криптография и т.п.
|
|
|
|
|
|
|
|
## Структура репозитория
|
|
|
|
Папки соответствуют стандартной раскладке каталога данных MetaTrader 5 (`…/MQL5/`):
|
|
|
|
```text
|
|
MQL5Book/
|
|
├─ Experts/ # советники (EA) — по частям (p5, p6, p7)
|
|
├─ Indicators/ # индикаторы — по частям (p5, p6, p7)
|
|
├─ Scripts/ # скрипты — по частям (p1 … p7) + Python-примеры
|
|
│ ├─ p1/
|
|
│ ├─ p2/
|
|
│ ├─ p3/
|
|
│ ├─ p4/
|
|
│ ├─ p5/
|
|
│ ├─ p6/
|
|
│ ├─ p7/
|
|
│ └─ Python/
|
|
├─ Services/ # сервисы (p4, p5, p7)
|
|
├─ Include/ # .mqh: вспомогательные классы/утилиты, используемые в примерах
|
|
├─ Libraries/ # примеры библиотек (.mq5)
|
|
├─ Files/ # файлы данных для примеров (чтение/запись, ресурсы и т.п.)
|
|
├─ Web/ # html/css/js, используемые отдельными примерами
|
|
├─ Presets/ # .set пресеты параметров (для индикаторов/советников)
|
|
└─ MQL5Book.mqproj # файл проекта MetaEditor
|
|
````
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Примечания
|
|
|
|
- Примеры предназначены для обучения и экспериментов.
|
|
Перед использованием на реальном счёте обязательно тестируйте в
|
|
[Strategy Tester (Тестер стратегий)](https://www.metatrader5.com/ru/automated-trading/strategy-tester)
|
|
и/или на демо-счёте.
|
|
|
|
- Папка `Scripts/Python` содержит примеры для интеграции MetaTrader 5 с Python.
|
|
Требуется включить соответствующие [настройки в терминале](https://www.metatrader5.com/ru/terminal/help/startworking/settings#ea):
|
|
|
|
|
|
|
|
## Лицензия и права
|
|
|
|
Материалы относятся к книге «Программирование на MQL5 для трейдеров» и экосистеме MQL5/MetaTrader 5.
|
|
Пожалуйста, учитывайте авторские права и условия использования MQL5.com/MetaQuotes при распространении/переиспользовании кода.
|
|
|
|
|
|
|
|
## Контрибьютинг
|
|
|
|
* Баги/улучшения: используйте [**Issues**](https://forge.mql5.io/rosh/MQL5Book/issues).
|
|
* Pull Request приветствуются: оформляйте изменения по частям (p1…p7), чтобы их было проще проверять и сопоставлять с книгой.
|
|
|