Статьи об интеграции MetaTrader 5 с помощью языка MQL5

icon

Задачи, которые встают перед трейдером, интересны и, зачастую, требуют нестандартных подходов. Здесь вы найдете статьи, в которых предлагаются самые неожиданные решения для оценки, анализа и обработки ценовых данных и результатов торговли. Подключение баз данных и ICQ, использование OpenCL и  социальных сетей, использование Delphi и C# - всё это затрагивают авторы предлагаемых статей.

Читайте, и вы узнаете, как использовать специализированные математические и нейронные пакеты, а также многое другое. Станьте автором и поделитесь уникальными знаниями с MQL5.community.

Новая статья
последние | лучшие
preview
Система аудита счета в MQL5 (Часть 1): Проектирование пользовательского интерфейса

Система аудита счета в MQL5 (Часть 1): Проектирование пользовательского интерфейса

В этой статье мы разработаем слой пользовательского интерфейса системы аудита счёта в MQL5 с использованием классов CChartObject. Создадим размещаемую на графике информационную панель, отображающую основные показатели: начальный и конечный баланс, чистую прибыль, общее количество сделок, число прибыльных и убыточных сделок, процент прибыльных сделок, выведенные средства и оценку эффективности в виде звёзд. Кнопка меню позволяет отображать и скрывать панель и восстанавливает торговлю в один клик. В результате получается удобная основа для дальнейшего развития системы аудита счёта.
preview
Моделирование рынка: В единстве — сила (I)

Моделирование рынка: В единстве — сила (I)

Мы подходим к финишной прямой. Разработка системы репликации/моделирования почти завершена. Конечно, нам ещё предстоит доделать кое-что, но по сравнению со всем, что мы уже сделали, реализовать оставшееся будет несложно. Однако всё, что будет показано в этой статье, необходимо как следует усвоить и понять. Поэтому я желаю вам приятного чтения и, прежде всего, получить удовольствие от этого последнего этапа пути.
preview
Разработка инструментария для анализа Price Action (Часть 73): Построение системы торговых сигналов для гэпов выходного дня в MQL5

Разработка инструментария для анализа Price Action (Часть 73): Построение системы торговых сигналов для гэпов выходного дня в MQL5

Мы расширяем инструментарий для работы с гэпами выходного дня индикатором, который преобразует структуру гэпа в торговые сигналы. Когда цена подтверждает возврат обратно в гэп, индикатор отображает стрелки Buy и Sell, устанавливает тейк-профит на противоположной границе и размещает стоп-лосс по экстремумам текущей недели. Он работает без перерисовки, восстанавливает исторические сигналы, обновляется в реальном времени и предоставляет буферы, пригодные для использования советником, с метками входа и уровнями TP/SL.
preview
Моделирование рынка: В единстве — сила (II)

Моделирование рынка: В единстве — сила (II)

До сих пор приложение, разрабатываемое в рамках этой серии статей, было сосредоточено исключительно на моделировании графической части. Однако, чтобы получить более полную систему, в которой мы сможем протестировать советник в рамках сервиса репликации/моделирования, нам также необходимо смоделировать торговый сервер. Вы заметите, что это моделирование будет включать только самые необходимые элементы. Тем не менее вы, уважаемый читатель, сможете дополнить недостающие части. Поскольку эти дополнительные компоненты не влияют на то, что я хочу показать, у нас уже более чем достаточно для реализации задуманного.
preview
Пайплайны Codex: от Python к MQL5 для выбора индикаторов — анализ ETF FXI за несколько кварталов

Пайплайны Codex: от Python к MQL5 для выбора индикаторов — анализ ETF FXI за несколько кварталов

Мы продолжаем рассматривать возможности использования MetaTrader за пределами «зоны комфорта» форекс-трейдинга, обратив внимание на ещё один торгуемый актив — ETF FXI. В отличие от предыдущей статьи, где мы попытались охватить «слишком много», углубившись не только в выбор индикаторов, но и в рассмотрение комбинаций индикаторных паттернов, в этой статье мы сделаем небольшой шаг назад и сосредоточимся в большей степени на выборе индикаторов. Наш конечный продукт в данном случае задуман как своего рода пайплайн, который может помочь рекомендовать индикаторы для различных активов при наличии достаточного объема их ценовой истории.
preview
Изучение стандартной библиотеки MQL5 (Часть 10): Канал полиномиальной регрессии

Изучение стандартной библиотеки MQL5 (Часть 10): Канал полиномиальной регрессии

Сегодня мы рассмотрим еще одну составляющую ALGLIB и задействуем её математический потенциал, чтобы создать индикатор на основе полиномиальной регрессии (Polynomial Regression Channel). К концу этой статьи вы получите практические знания о разработке индикаторов с использованием стандартной библиотеки MQL5, а также полностью функциональный, математически обоснованный исходный код индикатора.
preview
Интеграция MQL5 с пакетами обработки данных (Часть 9): Адаптивная оценка волатильности на основе энтропии

Интеграция MQL5 с пакетами обработки данных (Часть 9): Адаптивная оценка волатильности на основе энтропии

В этой статье представлен сквозной пайплайн: сбор данных MetaTrader 5, создание признаков на основе энтропии, волатильности и тренда, обучение классификатора PyTorch и предоставление прогнозов через API Flask. Советник MQL5 на каждом тике отправляет скользящее окно цен, получает вероятность и режим волатильности, а затем адаптивно рассчитывает размер позиции и расстояние до стоп-лосса. В результате получается ясная схема интеграции инференса машинного обучения с MetaTrader 5.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 82): Использование паттернов TRIX и WPR в обучении с подкреплением DQN

Возможности Мастера MQL5, которые вам нужно знать (Часть 82): Использование паттернов TRIX и WPR в обучении с подкреплением DQN

В предыдущей статье мы рассмотрели сочетание Ишимоку и ADX в рамках обучения на основе инференса. В этой статье мы вновь обращаемся к обучению с подкреплением применительно к паре индикаторов, которую уже рассматривали в части 68: TRIX и Williams Percent Range. В этой статье используем алгоритм алгоритм DQN с квантильной регрессией. Как обычно, представляем его в виде пользовательского класса сигнала, предназначенного для использования с Мастером MQL5.
preview
Интеграция MQL5 с пакетами обработки данных (Часть 6): Объединение рыночной обратной связи и адаптации модели

Интеграция MQL5 с пакетами обработки данных (Часть 6): Объединение рыночной обратной связи и адаптации модели

В этой части рассматривается объединение рыночной обратной связи в реальном времени – результатов текущих сделок, изменений волатильности и сдвигов ликвидности – с адаптивным обучением модели. Это сделает торговую систему отзывчивой и способной к постоянному самосовершенствованию.
preview
Трейдинг с экономическим календарем MQL5 (часть 12): Хранение данных в SQLite и предотвращение повторных сделок

Трейдинг с экономическим календарем MQL5 (часть 12): Хранение данных в SQLite и предотвращение повторных сделок

В этой статье мы заменяем встроенный CSV-снимок слоем SQLite, который сохраняет события календаря и идентификаторы сработавших сделок между перезапусками. База данных хранится в общей папке терминала и используется как графиками в реальном времени, так и тестером стратегий, поэтому оба режима читают одни и те же данные без перекомпиляции. Загрузчик по запросу с индикатором выполнения на холсте получает историю из API календаря и сохраняет ее для повторного использования в автономном режиме.
preview
Создание индикатора для моделирования будущих свечей после пересечения EMA в MQL5

Создание индикатора для моделирования будущих свечей после пересечения EMA в MQL5

Пользовательский модуль моделирования будущих свечей обнаруживает пересечения быстрой и медленной EMA и сразу же строит проекцию синтетических свечей после сигнального бара. Он формирует тела и тени свечей по заданным правилам, отрисовывает их с помощью графических объектов и обновляется при каждом новом сигнале или изменении точки привязки. Вы получаете наглядное представление о возможном дальнейшем движении, позволяющее проверять выбранный момент для совершения сделки, визуализировать сценарии и отслеживать отмену сценария прямо на графике.
preview
Построение системы обнаружения дивергенций (Часть IV): Создание переиспользуемого модуля обнаружения дивергенций для MQL5

Построение системы обнаружения дивергенций (Часть IV): Создание переиспользуемого модуля обнаружения дивергенций для MQL5

В статье логика обнаружения дивергенций, разработанная в этой серии, выносится в подключаемый файл DivergenceEngine.mqh, который можно повторно использовать в индикаторах и советниках на языке MQL5. В статье подробно описаны архитектура на основе структур, выбор осциллятора (MPO4 или RSI), работа с опорными точками и состоянием, а также минимальный API для доступа к данным. Советник на основе Parabolic SAR демонстрирует подключение модуля: коэффициент ускорения индикатора изменяется в зависимости от обнаруженной дивергенции. Этот пример дает понятную схему, которую можно повторно использовать без дублирования кода.
preview
Интеграция MQL5 с пакетами обработки данных (часть 8): Использование графовых нейронных сетей для выявления зон ликвидности

Интеграция MQL5 с пакетами обработки данных (часть 8): Использование графовых нейронных сетей для выявления зон ликвидности

В этой статье показано, как представить рыночную структуру в MQL5 в виде графа, представив максимумы и минимумы свингов как узлы графа с набором признаков. В статье обучается графовая нейронная сеть для оценки потенциальных зон ликвидности, после чего модель экспортируется в ONNX, а инференс в реальном времени выполняется в советнике. Рассматривается построение пайплайна данных, интеграция модели, визуализация зон на графике и использование сигналов для исполнения сделок по заданным правилам.
preview
MetaTrader 5 как производитель сообщений Kafka: Рассылка сигналов нескольким торговым терминалам

MetaTrader 5 как производитель сообщений Kafka: Рассылка сигналов нескольким торговым терминалам

В статье подробно описан производитель Kafka, реализованный непосредственно на MQL5 и использующий сетевой протокол Kafka через TCP-сокеты без дополнительных библиотек. Он реализует кодирование RecordBatch v2, varint и вычисление CRC32C, а также пакетную отправку, подтверждения (acks) и логику повторных попыток — и всё это без вспомогательного процесса или DLL. Используйте его для публикации торговых сигналов в формате JSON из одного терминала в Kafka, где информационные панели и другие сервисы подписываются на них независимо друг от друга.
preview
Интеграция MQL5 с пакетами обработки данных (Часть 7): Построение многоагентных сред для межсимвольного взаимодействия

Интеграция MQL5 с пакетами обработки данных (Часть 7): Построение многоагентных сред для межсимвольного взаимодействия

В статье представлена полная интеграция Python и MQL5 для многоагентной торговли: получение данных из MT5, расчет индикаторов, решения отдельных агентов и взвешенный консенсус, формирующий единое торговое решение. Сигналы сохраняются в JSON-файле, отдаются через Flask и используются советником MQL5 для исполнения сделок с расчетом объема позиции и уровней SL/TP на основе ATR. Маршруты Flask обеспечивают безопасное управление жизненным циклом и мониторинг состояния.
preview
От новичка до эксперта: Адаптивное управление рисками в стратегиях на основе ликвидности

От новичка до эксперта: Адаптивное управление рисками в стратегиях на основе ликвидности

В этой статье мы рассмотрим практические и надежные методы управления рисками, специально адаптированные для торговли на основе ликвидности. Вы научитесь защищать позиции во время ретестов, уверенно работать с ложными пробоями и распознавать признаки возможных манипуляций вблизи уровней. К концу статьи вы создадите адаптивный советник со встроенным контролем риска, способный управлять переворотами зон и исполнять стратегически обоснованные отложенные ордера.
preview
От новичка до эксперта: Автоматизация распознавания геометрических паттернов внутри базовых свечей зон ликвидности в MQL5

От новичка до эксперта: Автоматизация распознавания геометрических паттернов внутри базовых свечей зон ликвидности в MQL5

В статье описывается реализация модуля на MQL5, который анализирует бары младшего таймфрейма внутри каждой базовой свечи зоны ликвидности. Он обнаруживает свинговые точки и по объективным правилам классифицирует внутреннюю структуру: восходящий, нисходящий или симметричный треугольник, прямоугольник, M, W либо неопределенная структура. Индикатор отображает на графике метки геометрических фигур и добавляет название паттерна в алерты, сокращая необходимость ручной проверки на младшем таймфрейме.
preview
Использование Экономического календаря MQL5 для фильтрации новостей (Часть 4): Точное тестирование на истории со статическими данными

Использование Экономического календаря MQL5 для фильтрации новостей (Часть 4): Точное тестирование на истории со статическими данными

В этой статье реализован статический источник новостей на основе CSV для Тестера стратегий, позволяющий предварительно загружать и запрашивать исторические экономические события при тестировании на исторических данных. Он заменяет вызовы календаря в реальном времени в режиме тестера быстрым поиском в памяти, при этом логика работы в реальной торговле остается прежней и обеспечивает детерминированные, воспроизводимые результаты с явным контролем над тем, какие события включаются. Это позволяет надежно проверять новостные фильтры, временное удаление стопов и правила блокировки новых сделок.
preview
За пределами GARCH (Часть I): Сравнение моделей MMAR Мандельброта и GARCH Энгла

За пределами GARCH (Часть I): Сравнение моделей MMAR Мандельброта и GARCH Энгла

В этой статье мы начинаем построение мультифрактальной модели доходности активов (MMAR) на данных EURUSD на таймфрейме M5. Мы загружаем рыночные данные через Python API для MetaTrader5 и анализируем функцию разбиения на неперекрывающихся интервалах, чтобы проверить наличие мультифрактального масштабирования. Результаты проверки позволят сделать эмпирически обоснованный вывод, обладают ли данные фрактальными свойствами. Это необходимый шаг перед построением MMAR и для решения, стоит ли вообще выходить за рамки GARCH.
preview
Интеграция внешних приложений с использованием OAuth MQL5 Community

Интеграция внешних приложений с использованием OAuth MQL5 Community

Узнайте, как добавить функцию "Войти с помощью MQL5" в ваше Android-приложение с помощью процесса для кода авторизации OAuth 2.0. В этом руководстве рассматриваются регистрация приложения, эндпоинты, URI перенаправления, Custom Tabs, обработка диплинков, а также бэкенд на PHP, который обменивает код на токен доступа по HTTPS. Вы реализуете аутентификацию реальных пользователей MQL5 и получите доступ к данным их профиля, таким как ранг и репутация.
preview
Создание объектно-ориентированного движка инференса ONNX на языке MQL5

Создание объектно-ориентированного движка инференса ONNX на языке MQL5

В статье рассказывается, как запускать модели, обученные на Python, непосредственно в MetaTrader 5 с помощью функций ONNX терминала. Мы создаем класс MQL5, который инкапсулирует создание сеанса, фиксирует формы входных/выходных тензоров, применяет min-max-нормализацию признаков, чтобы повторять обработку, использованную при обучении, и запускает OnnxRun один раз на каждый бар, чтобы снизить нагрузку на ЦП. В результате получается надежный и удобный в сопровождении канал инференса для графиков в реальном времени и Тестера стратегий без использования сокетов или DLL-библиотек.
preview
Создание графической библиотеки для MetaTrader 5 по образцу Cairo (Часть 1): Зачем терминалу собственный 2D-рендерер

Создание графической библиотеки для MetaTrader 5 по образцу Cairo (Часть 1): Зачем терминалу собственный 2D-рендерер

В этой статье мы начинаем пошаговую разработку графического 2D-движка для MetaTrader. Мы введем единый стандарт представления цветов ARGB и реализуем поверхность с возможностью повторного использования — буфер пикселей типа uint, который загружается как динамический ресурс и отображается с помощью одного объекта OBJ_BITMAP_LABEL. Вы нарисуете прямоугольники и вертикальный градиент, убедитесь, что прозрачность здесь действительно работает, и освоите эффективный способ обновления с одним вызовом Flush.
preview
Создание графической библиотеки для MetaTrader 5 по образцу Cairo (Часть 5): Правила заливки, отверстия и рамки

Создание графической библиотеки для MetaTrader 5 по образцу Cairo (Часть 5): Правила заливки, отверстия и рамки

В пятой части мы добавим в растеризатор правило заливки, а в путь — вспомогательную функцию для построения обводки. Теперь движок поддерживает заливку по правилу ненулевого числа обхода и по правилу "чет-нечет". Выбор задается одним параметром типа перечисления, что позволяет создавать кольца, полноценные рамки, не закрашивающие внутреннюю область, и внутренние просветы глифов. Функция AddThickLine() строит обводки из заливок в рамках одного пути и одного прохода, сохраняя равномерную непрозрачность на стыках. На ее примере показано, почему для таких обводок требуется правило ненулевого числа обхода.
preview
Построение моделей волатильности в MQL5 (Часть III): Реализация алгоритма SLSQP для оценки моделей

Построение моделей волатильности в MQL5 (Часть III): Реализация алгоритма SLSQP для оценки моделей

На языке MQL5 реализован оптимизатор SLSQP для устранения расхождений в параметрах между библиотекой волатильности и модулем ARCH для Python. В статье подробно описаны обработка ограничений, варианты вычисления градиента, настройка и средства управления сходимостью, а также показано, как интегрировать решатель в существующий код. Практические примеры и сравнения демонстрируют совпадение логарифмов правдоподобия и параметров на общих наборах данных.
preview
За пределами GARCH (Часть II): Оценка фрактальной размерности рынков

За пределами GARCH (Часть II): Оценка фрактальной размерности рынков

Опираясь на анализ функции разбиения из первой части, мы подробнее рассмотрим теоретическую основу, прежде чем завершить аналитический пайплайн. Сначала мы подробно и системно разберем показатель Херста: что он измеряет, что говорит о "памяти" рынка и почему важен для мультифрактальной модели доходности активов (MMAR). Затем мы дадим интуитивное объяснение мультифрактальных спектров и выясним, что f(alpha) показывает о неоднородности волатильности. Затем перейдем к реализации: определим функцию масштабирования tau(q), оценим H методом R/S и подгоним мультифрактальный спектр к четырем распределениям-кандидатам. К концу статьи у нас будет полный набор параметров для построения процесса MMAR в третьей части. Вторая часть серии из восьми статей.
preview
За рамками REST и ZeroMQ: Создание моста Protocol Buffers между MetaTrader 5 и Python с выходом на gRPC для инференса в реальном времени

За рамками REST и ZeroMQ: Создание моста Protocol Buffers между MetaTrader 5 и Python с выходом на gRPC для инференса в реальном времени

В этой статье мы определим контракт Protocol Buffers для обмена данными между MetaTrader 5 и Python и реализуем на языке MQL5 клиент Protobuf-over-TCP, передающий сообщения с префиксом длины: MQL5 нативно не поддерживает реальный gRPC. Небольшая прослойка на Python передает эти фреймы в полноценный сервер grpc.aio. Пока через нее выполняются только унарные RPC-вызовы, но на бэкенде уже работают и потоковые вызовы. Вы получите строго типизированные сообщения с контролем соответствия схеме, явные сообщения об ошибках, повторные попытки с задержкой между ними и кэш для тестера стратегий, позволяющий воспроизводить результаты тестирования на истории там, где сокеты недоступны.
preview
За пределами GARCH (Часть III): Построение MMAR и вердикт

За пределами GARCH (Часть III): Построение MMAR и вердикт

Получив во второй части мультифрактальные параметры, в этой статье мы построим полный процесс MMAR. Мы строим мультипликативный каскад торгового времени, генерируем фракционное броуновское движение с помощью алгоритма Дэвиса — Харта на основе БПФ и объединяем оба компонента в X(t) = B_H[theta(t)]. Прогноз волатильности получаем моделированием методом Монте-Карло по 1000 траекториям, а затем сравниваем его с прогнозом GARCH на тех же данных EURUSD на таймфрейме M5. Превосходит ли фрактальная архитектура Мандельброта по качеству прогноза подход Энгла, основанный на условной дисперсии? Третья часть серии из восьми статей, посвященной созданию нативной библиотеки и советника на MQL5.
preview
Пакетный подход к разработке на языке MQL5 с помощью KnitPkg

Пакетный подход к разработке на языке MQL5 с помощью KnitPkg

В статье предлагается подход, который помогает повысить надежность продуктов для MetaTrader, создаваемых на MQL, и эффективность разработки за счет повторно используемых "пакетов", которыми управляет KnitPkg — менеджер проектов для MQL5/MQL4. Пакет можно использовать как составной элемент других пакетов или как основу для конечных артефактов, запускаемых непосредственно на платформе MetaTrader, например советников, индикаторов и других программ.
preview
Использование Экономического календаря MQL5 для фильтрации новостей (Часть 3): Сохранение работы при перезапусках терминала во время новостного окна

Использование Экономического календаря MQL5 для фильтрации новостей (Часть 3): Сохранение работы при перезапусках терминала во время новостного окна

В статье представлена устойчивая к перезапуску модель хранения состояния для удаления стопов на время новостей. Состояние приостановки и исходные значения SL/TP для каждой позиции записываются в глобальные переменные терминала, считываются и реконструируются в OnInit() и удаляются после восстановления стопов. Это позволяет советнику продолжить активное окно приостановки после перекомпиляции или перезапуска и восстановить стопы только после окончания новостного окна.
preview
Торговые инструменты MQL5 (Часть 33): Создание системы документации с расширенным форматированием для программ на языке MQL5

Торговые инструменты MQL5 (Часть 33): Создание системы документации с расширенным форматированием для программ на языке MQL5

Мы расширяем возможности мастера настройки из части 9, чтобы создать для MetaTrader 5 систему документации, встроенную в график и использующую холст для отрисовки. Панель имеет вкладки и поддерживает прокрутку, форматирование фрагментов текста, изображения и интерактивные элементы управления; для её отрисовки используется сглаживание методом суперсэмплинга. В результате получился движок документации для многократного использования, который можно встроить в любую программу на языке MQL5 для отображения автономной документации прямо на графике.
preview
Метаразметка классических стратегий (Часть 2): Фильтрация сделок по ADX и определение размера позиций

Метаразметка классических стратегий (Часть 2): Фильтрация сделок по ADX и определение размера позиций

Пересечение линий DI часто дает сигналы на боковом рынке, где +DI и -DI колеблются без устойчивого преобладания одной из линий. Мы создаем двухслойную гибридную модель: алгоритм выбора гиперпараметров TPE в Optuna оптимизирует фильтр рыночного режима по порогу ADXR, периоду расчета DI и минимальному расстоянию между линиями DI, чтобы максимизировать точность (precision) сигналов на отложенном валидационном интервале; затем случайный лес использует одиннадцать признаков, рассчитанных на основе ADX, для допуска входов в рынок или определения размера позиций с помощью afml.bet_sizing. Полученная модель отфильтровывает всплески сигналов на боковом рынке и калибрует размер позиции при торговле EURUSD на H1.
preview
Создание графической библиотеки для MetaTrader 5 по образцу Cairo (Часть 2): Точки, контуры и путь

Создание графической библиотеки для MetaTrader 5 по образцу Cairo (Часть 2): Точки, контуры и путь

Во второй части мы добавим слой геометрии в графическую библиотеку для MetaTrader 5, создаваемую по образцу Cairo. В ней определяется путь из точек с координатами двойной точности, сгруппированных в контуры, сохраняется признак того, является ли контур открытым или замкнутым, а вершины хранятся в плоском массиве с индексами начала контуров. Мы реализуем методы MoveTo, LineTo и Close, добавим базовые вспомогательные методы для построения фигур и демонстрационный пример, который отображает построенную геометрию для визуальной проверки и повторного использования.
preview
Интерактивное управление зонами спроса и предложения на MQL5 (Часть III): Анализ зон и отслеживание взаимодействий цены с зоной

Интерактивное управление зонами спроса и предложения на MQL5 (Часть III): Анализ зон и отслеживание взаимодействий цены с зоной

Мы расширяем программную основу управления зонами спроса и предложения с сохранением состояния для MetaTrader 5, добавляя количественную модель допуска зон в систему и специализированный механизм взаимодействия цены с зонами. Зоны-кандидаты получают балльную оценку по структурной симметрии, объемной активности участников рынка и смещению, нормированному по ATR, а затем распределяются по категориям качества на основе объективных критериев. Допущенные в систему зоны проходят детерминированный жизненный цикл, в ходе которого отслеживается первое касание, проверяются отскоки или подтверждаются пробои; при этом собирается полная телеметрия для анализа и обеспечения воспроизводимости.
preview
Пользовательские инструменты отладки и профилирования для разработки на MQL5 (Часть II): Профилирование советников и тестирование торговой логики

Пользовательские инструменты отладки и профилирования для разработки на MQL5 (Часть II): Профилирование советников и тестирование торговой логики

Мы создаём компактный профилировщик, который записывает в CSV количество вызовов, минимальное, максимальное и среднее время выполнения, а также количество медленных вызовов, и простую среду запуска тестов, которая формирует детерминированные отчёты об успешном или неуспешном прохождении тестов. В статье объясняется, где размещать замеры в советнике, как выполнять выборку тиков и как сохранять возможность тестирования чистых вычислений. Выполнение сначала скрипта, а затем профилирующего советника позволяет получить воспроизводимые данные для регрессионного анализа.
preview
Создание графической библиотеки для MetaTrader 5 по образцу Cairo (Часть 4): Сглаживание, покрытие и композиция

Создание графической библиотеки для MetaTrader 5 по образцу Cairo (Часть 4): Сглаживание, покрытие и композиция

Теперь растеризатор накапливает точное покрытие интервалов по оси X и покрытие по оси Y, вычисляемое по выборкам, а затем использует его при композиции через CairoBlendOver в формате ARGB без предумножения. CairoAaSamples задает число выборок по вертикали во время выполнения. Затраты почти линейно зависят от этого числа и в основном приходятся на ребра фигур. В результате получаются сглаженные границы, корректная композиция полупрозрачных фигур и возможность регулировать производительность.
preview
Версионирование параметров советника в MQL5 с помощью файлов

Версионирование параметров советника в MQL5 с помощью файлов

В этой статье рассказывается, как реализовать версионирование параметров на языке MQL5 с помощью бинарных файлов и упакованных структур. Здесь показано, как с помощью функций FileWriteStruct и FileReadStruct в режиме FILE_BIN записывать и считывать записи фиксированного размера, содержащие номера версий, временные метки и контрольную сумму. Вы также узнаете, как обнаруживать изменения с помощью контрольных сумм, безопасно добавлять записи в конец файла и загружать последнюю конфигурацию, не перезаписывая предыдущие настройки.
preview
Создание графической библиотеки для MetaTrader 5 по образцу Cairo (Часть 3): Ребра и первая фигура с заливкой

Создание графической библиотеки для MetaTrader 5 по образцу Cairo (Часть 3): Ребра и первая фигура с заливкой

В третьей части реализован построчный растеризатор, написанный целиком на языке MQL5. Мы преобразуем отрезки пути в ребра, записанные в направлении сверху вниз, проходим по каждой строке, сортируем точки пересечения и применяем ненулевое правило заливки, чтобы определить, какие пиксели находятся внутри фигуры. В результате получается метод Fill(path, color, buffer, w, h), который рисует прямоугольники, звезды, глифы или фигуры с 2 000 ребрами без отдельного кода для каждого типа фигуры. Его можно сразу использовать в ваших проектах на языке MQL5.
preview
От клонирования и коммитов к CI: Расширенные возможности MQL5 Algo Forge

От клонирования и коммитов к CI: Расширенные возможности MQL5 Algo Forge

Мы разбираем возможности Algo Forge, важные для повседневной работы с MQL5: открытие репозиториев в MetaEditor, перевод README, вкладку Units, защиту веток и тегов, внесение правок в браузере, пакеты и CI на хосте с Windows. В статье приведены точные настройки и необходимые метки раннера, а также показано, как разрешать слияние (merge) только после успешной сборки. Вы получите воспроизводимые инструкции по защите кода, автоматизации компиляции и публикации артефактов.
preview
Интерактивное управление зонами спроса и предложения на MQL5 (Часть I): От ручной работы к автоматизации жизненного цикла

Интерактивное управление зонами спроса и предложения на MQL5 (Часть I): От ручной работы к автоматизации жизненного цикла

Заменяет статические графические объекты автоматизированными зонами с сохраняемым состоянием, управляемыми классом-оболочкой CZone. Система синхронизирует пользовательские прямоугольники, задает размеры зон по ATR (средний истинный диапазон), подтверждает пробои по последовательным закрытиям свечей, применяет правила перехода в призрачное состояние и деактивации, объединяет близлежащие структуры с порогом объединения 1.5×ATR и продлевает границы зон вперед по времени. Трейдеры получают устойчивые уровни, которые обновляются автоматически и позволяют сократить объем рутинной работы с графиками.
preview
Как разработать мультивалютного советника с ИИ-помощником (AI Assistant) в MetaTrader 5

Как разработать мультивалютного советника с ИИ-помощником (AI Assistant) в MetaTrader 5

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