Ставь лайки и следи за новостями
В четвертой части книги мы сосредоточимся на освоении встроенных функций (MQL5 API) и будем последовательно углубляться в специализированные подсистемы. Перечень технологий и функциональности, доступных любой программе на MQL5, огромен. Поэтому для начала имеет смысл рассмотреть наиболее простые и полезные функции, которые могут применяться в большинстве программ.
В заключительной седьмой части книги рассматриваются расширенные возможности MQL5 API, которые пригодятся при разработке программ для MetaTrader 5. Некоторые из них — пользовательские финансовые инструменты и встроенный экономический календарь, а другие — универсальные технологии, такие как сетевые функции, базы данных и криптография.
В пятой части книги мы углубимся в изучение API, связанного с алготрейдингом, включая анализ и обработку финансовых данных, визуализацию на графиках и автоматизацию действий, а также интерактивное взаимодействие с пользователем.
Часть 2 "Основы программирования на MQL5" является введением в ключевые концепции этого языка программирования. В этой части книги читатели ознакомятся с типами данных, идентификаторами, переменными, выражениями и операторами, а также узнают, как объединять различные инструкции для формирования логики работы программы.
Советник AutoCloseOnProfitLoss - это мощный инструмент автоматизации для MetaTrader 5, предназначенный для закрытия всех открытых позиций при достижении заданных целей по прибыли или убытку.
Скрипт для создания кастомного символа, используя API криптобиржи Bitstamp.
Индикатор Zig Zag, который полагается только на минимальный % отката к каждой предыдущей волне, и, опционально, больше определенного размера, измеряемого в единицах atr.
Простой помощник, закрывающий позиции при достижении ценой уровней тейк-профита или стоп-лосса, заданных во входных параметрах советника.
Часть 3 "Объектно-Ориентированное Программирование на MQL5" предлагает погружение в мир объектно-ориентированного программирования (ООП) на языке MQL5. В процессе разработки программ часто возникает сложность управления множеством сущностей, что требует продвинутой технологии для улучшения удобства, производительности и качества работы программиста.
Исходные коды, написанные в процессе разработки библиотеки для создания мультивалютных советников, объединяющих множество экземпляров различных торговых стратегий.
Функции для использования вместо ChartXYToTimePrice и ChartTimePriceToXY, работающие корректно и быстро во всем диапазоне вводимых параметров
Пример бота со встроенной моделью машинного обучения, которая обучена на питоне и сохранена в формат ONNX.
Здесь собраны популяционные алгоритмы оптимизации. В архиве все необходимые файлы для запуска алгоритмов на тестовых функциях.
Нарисуйте фитили (тонкие линии): проведите вертикальную линию от самой низкой цены до самой высокой цены каждой свечи (это называется "фитиль"). Нарисуйте тело свечи: нарисуйте прямоугольник от цены открытия до цены закрытия, используя другой цвет, если свеча бычья или медвежья. Настройка цвета: вы можете легко изменить цвета, используемые для бычьих и медвежьих свечей и их фитилей. Например, в коде: медвежьи свечи имеют бордовое тело (clrMaroon). Фитили медвежьих свечей светло-фиолетовые (clrOrchid). Для чего это нужно? Этот индикатор полезен, если вы хотите: Иметь уникальный и четкий визуальный стиль на своих графиках. Легче отличать бычьи свечи от медвежьих. Анализировать поведение цены более наглядным способом.
Индикатор DailyHighLow - это универсальный инструмент, разработанный для MetaTrader 5 (MQL5) для отображения высоких и низких ценовых уровней на графике в зависимости от заданного таймфрейма. Этот индикатор особенно полезен для трейдеров, которые при принятии решений полагаются на ключевые ценовые уровни, предлагая гибкость благодаря настраиваемым таймфреймам и методам расчета цены.
Данный советник реализует треугольную арбитражную стратегию между тремя валютными парами: EURUSD, USDJPY и EURJPY.
Осциллятор объема — это полезный индикатор технического анализа, который прогнозирует силу или слабость ценовых тенденций
Индикатор "False Breakouts.mq5" - это инструмент для MetaTrader 5, который визуально определяет и отмечает точки покупки и продажи на основе ложных прорывов поддержки и сопротивления. Он использует буферы для отображения стрелок покупки (синие) и продажи (красные), а также линии поддержки (синие) и сопротивления (красные) и дополнительные стрелки для вершин и низов рынка. Основная логика индикатора заключается в определении вершин и низов на основе высоких и низких цен свечей, динамически обновляя уровни поддержки и сопротивления. Когда цена пробивает уровень поддержки или сопротивления, а затем возвращается обратно, индикатор генерирует сигналы на покупку или продажу соответственно. Это полезный инструмент для трейдеров, которые используют стратегии, основанные на ложных прорывах.
Logger с возможностью логирования отдельных модулей или участков кода
В шестой части книги "Программирование на MQL5 для трейдеров" мы изучим ключевую составляющую языка MQL5 — автоматизацию торговли. Начнем с описания основных сущностей, таких как спецификации финансовых инструментов и настройки торгового счета, которые необходимы для создания корректных советников.
Этот советник не торгует. Простейшая панель, реализованная при помощи стандартной библиотеки Canvas, позволяет рисовать мышкой цифры. Распознавание рисунков производится при помощи обученной модели mnist.onnx.
Простейший советник, который анализирует движение цены на заданном количестве баров и открывает соответствующую позицию.
Библиотека для контроля торговой сессии. При запуске считает время торговых сессий за все 7 дней недели (в сб и вс может быть торговля по криптовалютам), до 10 сессий в день. Затем в OnTick() можно делать проверки, и если тик пришел вне торговой сессии, то можно выйти из дальнейшей его обработки.
Функция рассчитывает размер лота открываемой позиции. В качестве параметров передаются цена открытия сделки, цена уровня стоп-лосса и риск на сделку в процентах от депозита
Индикатор-осциллятор Know Sure Thing (KST), основанный на скорости изменения цены (ROC)