MQL5Book/README.md
2026-02-17 12:34:20 +02:00

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 и в тестере стратегий.
![Программирование на MQL5 для трейдеров](Book-MQL5.jpg)
## Ссылки
- Книга (онлайн): 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), чтобы их было проще проверять и сопоставлять с книгой.