От начального до среднего уровня: Песочница и MetaTrader
Вы знаете, что такое песочница? Вы знаете, как с ней работать? Если ответ на любой из этих вопросов «нет», прочитайте эту статью, чтобы понять базовый принцип работы песочницы. И разберитесь с тем, почему MetaTrader 5 использует песочницу для обеспечения целостности некоторых своих данных. Материалы, представленные здесь, преследуют исключительно дидактические цели. Ни в коем случае не рассматривайте приложение как окончательное, целью которого не является изучение представленных концепций.
Нейросети в трейдинге: От рыночного шума к устойчивому торговому плану (Окончание)
Продолжается адаптация MomAD к алгоритмическому трейдингу: собран класс CNeuronMomAD, объединяющий UncAD с модулями согласования и уточнения сценариев (TTM, MPI). Разобраны этапы последовательного обучения модели и тестирование на EURUSD H1 за январь–апрель 2026 года. Статья фокусируется на интеграции в общий вычислительный контур и практических выводах по управлению риском при положительном результате.
Создание профессиональной торговой системы на базе Heikin Ashi (Часть 2): Разработка советника
В этой статье объясняется, как разработать профессиональный советник (EA) на MQL5 на основе Heikin Ashi. Вы узнаете, как настроить входные параметры, перечисления, индикаторы, глобальные переменные и реализовать основную торговую логику. Вы также сможете выполнить бэктест на золоте, чтобы проверить свою работу.
Рыночные секреты Ларри Уильямса (Часть 2): Автоматизация торговой системы на основе рыночной структуры
Узнайте, как автоматизировать концепции рыночной структуры Ларри Уильямса в MQL5, создав полноценный советник, который считывает свинговые точки, генерирует торговые сигналы, управляет риском и применяет динамическую стратегию трейлинг-стопа.
Разработка инструментария для анализа Price Action (Часть 65): Создание системы для мониторинга и анализа построенных вручную уровней Фибоначчи
Инструмент коррекции Фибоначчи – важный элемент анализа Price Action, указывающий ключевые уровни возможной рыночной реакции. Однако его эффективность часто ограничена необходимостью постоянного ручного наблюдения, из-за чего часть сетапов может быть пропущена. В этой части серии представлен инструмент, который с помощью MQL5 синхронизирует и активно отслеживает вручную построенные уровни Фибоначчи, сочетая дискреционный подход с автоматизированным контролем.
Алгоритм оптимизации койотов — Coyote Optimization Algorithm (COA)
Представляем MQL5-реализацию Coyote Optimization Algorithm: стаи с локальными альфами, медианная тенденция и встроенный кроссовер обеспечивают параллельное исследование областей пространства и контроль преждевременной сходимости. Алгоритм встроен в C_AO и проверен на стандартном стенде и композитном античит-тесте. В статье — код, псевдокод и разбор операторов, позволяющие применить COA для оптимизации параметров торговой системы.
Моделирование рынка: Position View (II)
В этой статье я покажу как максимально просто и практично использовать индикатор для отслеживания открытых позиций на торговом сервере. Я делаю это именно так, шаг за шагом, чтобы показать, что вам не обязательно переносить всё это в советник. Многие из вас, вероятно, уже привыкли к этому по той или иной причине. На самом деле это ерунда, так как по мере развития данной реализации станет ясно, что вы сможете создавать или реализовать различные типы индикаторов для этой цели.
Изучение стандартной библиотеки MQL5 (часть 1): Знакомство с CTrade, CiMA и CiATR
Стандартная библиотека MQL5 — чрезвычайно полезный инструмент при разработке торговых алгоритмов для MetaTrader 5. В этой серии мы будем учиться создавать с помощью нее эффективные торговые инструменты для MetaTrader 5. Под инструментами подразумеваются собственные советники, индикаторы и другие вспомогательные средства. Сегодня мы разработаем трендового советника с использованием классов CTrade, CiMA и CiATR. Тема будет полезна всем — и начинающим, так и опытным разработчикам. Приятного чтения.
Разработка торговой стратегии с использованием подхода Volume Boundary
В мире технического анализа цена часто оказывается в центре внимания. Трейдеры тщательно размечают поддержку, сопротивление и паттерны, но нередко игнорируют ключевую силу, которая движет этими ценовыми движениями: объем. В этой статье рассматривается новый подход к анализу объема — индикатор Volume Boundary. Такое преобразование с использованием сложных сглаживающих функций, таких как кривая «бабочка» и тройная синусоида, облегчает интерпретацию данных и позволяет разрабатывать системные торговые стратегии.
Создание профессиональной торговой системы на основе Heikin Ashi (Часть 1): Разработка пользовательского индикатора
Эта статья — первая часть серии из двух материалов, предназначенной для освоения практических навыков и лучших практик написания пользовательских индикаторов на MQL5. На практическом примере Heikin Ashi в статье рассматривается теория графиков Heikin Ashi, объясняется, как рассчитываются свечи Heikin Ashi, и показывается их применение в техническом анализе. Центральная часть материала — пошаговое руководство по разработке полнофункционального индикатора Heikin Ashi с нуля, с понятными пояснениями, которые помогают читателям разобраться, что именно писать в коде и почему. Эти базовые знания подготовят почву для второй части, где мы создадим советник, торгующий на основе логики Heikin Ashi.
Рыночные секреты Ларри Уильямса (Часть 1): Создание индикатора свинговой структуры рынка в MQL5
Практическое руководство по созданию индикатора рыночной структуры в стиле Ларри Уильямса на MQL5: настройка буферов, определение свинговых точек, настройка графических построений и применение индикатора трейдерами в техническом анализе рынка.
Знакомство с языком MQL5 (Часть 43): Руководство для начинающих по работе с файлами в MQL5 (V)
В статье объясняется, как использовать структуры MQL5 вместе с бинарными файлами, чтобы сохранять параметры советника между запусками. В статье рассматриваются определение структур, доступ к их членам и различие между простыми и сложными структурами, а затем запись и чтение структур целиком с помощью FileWriteStruct и FileReadStruct в режиме FILE_BIN. Вы узнаете о безопасных подходах к работе с данными фиксированного размера и о том, как общее хранилище (FILE_COMMON) позволяет использовать одни и те же данные между сеансами и терминалами.
Разработка инструментария для анализа Price Action (Часть 64): Синхронизация вручную построенных трендовых линий с автоматическим мониторингом
Мониторинг построенных вручную трендовых линий требует постоянного наблюдения за графиком, поэтому легко пропустить важные взаимодействия цены с ними. В этой статье разрабатывается советник для мониторинга трендовых линий, который синхронизирует построенные вручную трендовые линии с логикой автоматического мониторинга на MQL5 и генерирует алерты, когда цена приближается к отслеживаемой линии, касается ее или пробивает ее.
Инжиниринг признаков для машинного обучения (Часть 3): Временные признаки с учетом торговых сессий на рынке Forex
В статье рассматривается потеря временной информации в ML-конвейерах: периодические временные переменные кодируются гармониками Фурье, а структура Forex-сессий добавляется отдельными признаками. Реализуются флаги сессий и перекрытий, лагированная сессионная волатильность и календарные эффекты, после чего признаки отбираются с учетом таймфрейма. Функция get_time_features возвращает выровненный по индексу, готовый для ML набор временных признаков, пригодный для объединения с ценовыми сигналами.
От начального до среднего уровня: События в объектах (IV)
В этой статье мы завершим то, что было начато в предыдущей. То есть, полностью интерактивный способ изменения размеров объектов непосредственно на графике. Хотя многие представляют, что для создания подобного потребуется гораздо более глубокое знание MQL5, вы заметите, что с помощью простых концепций и базовых знаний мы можем реализовать способ работы с объектами непосредственно на графике. Это дает очень интересный и увлекательный результат.
Торговые инструменты MQL5 (Часть 28): Полигональная заливка кривой-бабочки в MQL5
Мы расширяем возможности холста (canvas) для отображения кривой-бабочки в MetaTrader 5, добавляя многослойную заливку крыльев, жилки крыльев, точки текстуры чешуек и изображение всего тела (брюшко, торакс, голова, глаза, усики). В этой статье реализованы полигональные заливки с вертикальными и радиальными градиентами, а также залитые круги и эллипсы, все с использованием сглаживания методом суперсэмплинга. Вы также получите многоразовые вспомогательные функции MQL5 и порядок рендеринга, который преобразует простую кривую в настраиваемую, детализированную иллюстрацию на графике.
Почему MetaTrader 5 подходит для AI-торговли: MQL5 + Python + ONNX + AI Assistant как экосистема алготрейдинга
MetaTrader 5 подходит для AI-торговли, потому что объединяет рыночные данные, MQL5-разработку, Python-исследования, ONNX-модели, Strategy Tester, VPS и экосистему MQL5.community в одном рабочем процессе. Статья показывает практический путь от AI-подсказки на графике к структурированному сигналу, работе с кодом через AI Assistant в MetaEditor, модели качества, созданию советнику, тестированию и контролируемому запуску торговой системы.
Разработка инструментария для анализа Price Action (Часть 63): Автоматизация обнаружения восходящих и нисходящих клиньев на MQL5
В этой части серии "Разработка инструментария для анализа Price Action" мы разрабатываем индикатор на языке MQL5, который в реальном времени автоматически обнаруживает паттерны восходящего и нисходящего клина. Система подтверждает структуру опорных точек, математически проверяет сходимость границ, предотвращает перекрытие формаций и отслеживает условия пробоя и слома паттерна с точной визуальной индикацией. Построенная на чистой объектно-ориентированной архитектуре, эта реализация превращает субъективное распознавание клина в структурированный компонент анализа, учитывающий состояние паттерна, предназначенный для более дисциплинированного анализа Price Action.
Моделирование рынка: Position View (I)
Контент, который мы будем рассматривать с этого момента, гораздо сложнее с точки зрения теории и концепций. Я постараюсь сделать содержание как можно более простым. Сама программная часть довольно проста и понятна. Но если вы не понимаете стоящую за этим теорию, вы останетесь совершенно без ресурсов для доработки или даже адаптации системы репликации/моделирования под задачи, отличающиеся от тех, что я собираюсь показать. Я не хочу, чтобы вы просто компилировали и использовали код, который я показываю. Я хочу, чтобы вы учились, разбирались и, если возможно, могли создать что-то еще лучше.
Нейросети в трейдинге: От рыночного шума к устойчивому торговому плану (Основные компоненты)
В статье представлена практическая реализация ключевых модулей архитектуры MomAD, адаптированных для финансовых временных рядов: TTM и MPI. Рассмотрены механизмы сопоставления сценариев-кандидатов с историей решений, выбора согласованного торгового плана и его уточнения через рыночный контекст. Работа показывает, как модель может снижать реакцию на шум, сохранять преемственность решений и формировать более устойчивую торговую гипотезу.
Торговые инструменты MQL5 (Часть 27): Отрисовка параметрической кривой-бабочки на холсте Canvas
В этой статье мы исследуем кривую-бабочку — математическую кривую, задаваемую параметрическим уравнением, и визуализируем ее на canvas в MQL5. Мы создаём интерактивное окно визуализации с перетаскиваемым окном canvas с изменяемым размером, рендерингом кривых с использованием технологии суперсэмплирования, градиентными фонами и легендой, сегментированной по цветам. В итоге у нас есть полнофункциональный визуальный инструмент, который отрисовывает кривую-бабочку непосредственно на графике MetaTrader 5.
От начального до среднего уровня: События в объектах (III)
В данной статье мы подготовим базу для того, что будет рассмотрено в следующей публикации. Мы также рассмотрим, как разрешить редактирование и перемещение объекта типа OBJ_LABEL в полностью интерактивном режиме. Иными словами, мы можем изменить как текст, так и положение объекта OBJ_LABEL, не открывая окно свойств объекта.
Торговые инструменты MQL5 (Часть 26): Интеграция частотного биннинга, энтропии и критерия хи-квадрат в визуальный анализатор
В этой статье мы разработаем инструмент частотного анализа на языке MQL5, который группирует данные о ценах в гистограммы, вычисляет энтропию для оценки информационного содержания и применяет тесты хи-квадрат для проверки соответствия распределения, а также интерактивные логи и статистические панели для более глубокого понимания рыночной структуры. Мы интегрируем режимы обновления по барам и по тикам, рендеринг с суперсэмплированием для плавной визуализации и перетаскиваемые/изменяемые по размеру объекты Canvas с автоматически прокручивающимися логами для повышения удобства использования при выполнении торгового анализа.
Моделирование рынка: Первые шаги на SQL в MQL5 (II)
Хотя многие считают, что мы можем без проблем встраивать SQL-код в другой код, обычно это не так. Причина заключается в том, что SQL-код включается в исполняемый файл в виде строки. И тот факт, что SQL-код внедряется в виде строки, хотя и не вызывает проблем в небольших фрагментах, в итоге это может создать нам немало головной боли.
Алгоритм оптимизации на основе коронавируса — Corona Virus Optimization (CVO)
Описываем и реализуем CVO: заражение как генерация кандидатов, покоординатное нормальное возмущение, динамическая популяция. Алгоритм интегрирован в C_AO и проверен на стандартном бенчмарке. Разбор выявляет масштабную причину стагнации и даёт прикладное решение — переход к относительному шагу по ширине диапазона; код готов к использованию.
Архитектура машинного обучения для MetaTrader 5 (Часть 16): Вложенная кросс-валидация для несмещённой оценки
В статье представлен конвейер вложенной кросс-валидации V-in-V для финансовых данных, который устраняет утечку информации в трех точках принятия решений: подбор гиперпараметров, калибровка и итоговая оценка. Временное разделение на три зоны изолирует внутренний walk-forward поиск с правилом 1-SE от внешней walk-forward или CPCV-оценки, а изотоническая OOF (out-of-fold) калибровка обучается независимо. Итоговый UnifiedValidationCalibrator дает несмещенные оценки на вневыборочных данных и хорошо откалиброванные вероятности для продакшена.
Моделирование рынка: Первые шаги на SQL в MQL5 (III)
В предыдущей статье мы рассмотрели пример реализации класса на MQL5 для обеспечения базовой поддержки. Его цель заключается именно в том, чтобы позволить хранить SQL-код в отдельном файле скрипта. Таким образом, нам не потребуется писать тот же SQL-код в виде строки внутри кода MQL5. Хотя данное решение функционально, в нём есть некоторые детали, которые мы можем и должны улучшить.
Создаем объемные 3D бары на MQL5
Переносим 3D-бары из Python в нативный MQL5: вместо plotly и моста к терминалу — сцена на CCanvas3D и DirectX 11 прямо на графике. Цена, время и тиковый объём раскладываются по трём осям, геометрия собирается вручную из вершин и треугольников, а орбитальная камера на событиях мыши даёт интерактивный осмотр без внешних зависимостей.
Возможности Мастера MQL5, которые вам нужно знать (Часть 76): Использование паттернов Awesome Oscillator и каналов конвертов с обучением с учителем
В продолжение нашей предыдущей статьи о паре индикаторов Awesome Oscillator и каналов конвертов (Envelope Channels), мы рассмотрим, как эту пару можно улучшить с помощью обучения с учителем. Awesome Oscillator и канал конвертов — это взаимодополняющее сочетание инструментов, позволяющих выявлять тренды и создавать уровни поддержки/сопротивления. Наш подход к обучению с учителем представляет собой сверточную нейронную сеть (CNN), которая использует ядро скалярного произведения (Dot Product Kernel) с механизмом внимания во времени (Cross-Time-Attention) для определения размеров своих ядер и каналов. Как обычно, это делается в пользовательском файле класса сигналов (signal class), который взаимодействует с Мастером MQL5 для сборки советника.
Торговые инструменты MQL5 (Часть 25): Расширяем поддержку нескольких распределений с интерактивным переключением
В этой статье мы расширим инструмент построения графиков на MQL5 для поддержки семнадцати статистических распределений с циклическим перебором распределений с помощью значка переключения в заголовке. Мы добавим загрузку данных для каждого типа, дискретное и непрерывное вычисление гистограмм и теоретические функции распределения вероятностей/плотности для каждой модели, а также динамические заголовки, метки осей и панели параметров, которые автоматически адаптируются. Результат позволяет накладывать кривые разных распределений на данные одной и той же выборки и сравнивать качество соответствия моделей из разных семейств распределений.
Адаптивный индикатор Malaysian Engulfing (Часть 1): Обнаружение паттернов и валидация ретеста
Реализуем концепцию Malaysian Engulfing в MQL5 с помощью двух согласованных индикаторов. Один применяет строгие правила поглощения по телам свечей для точного обнаружения паттерна; другой использует машину состояний, чтобы отслеживать дальнейшее развитие — откаты и ретесты с учетом заданного окна наблюдения — прямо на графике. В результате получается повторяемый рабочий процесс на основе правил, который заменяет субъективные визуальные оценки программируемой логикой.
Архитектура машинного обучения для MetaTrader 5 (Часть 15): Как калибровать уровни тейк-профита и стоп-лосса по синтетическим данным
В статье применяется оптимальное торговое правило из главы 13 AFML для задания уровней тейк-профита и стоп-лосса без внутривыборочной калибровки. Мы моделируем P&L после входа дискретным процессом Орнштейна–Уленбека, выполняем поиск по 100 000 траекториям и используем Python, multiprocessing и параллельное ядро Numba с декоратором @njit (в 242 раза быстрее). Результат — оптимальная пара (PT, SL) для трех спецификаций прогноза с учетом дневного лимита убытков, установленного проп-фирмой.
Торговые инструменты MQL5 (Часть 24): Улучшение восприятия глубины с помощью 3D-кривых, режима панорамирования и навигации через виджет ViewCube
В этой статье мы улучшим инструмент построения 3D-графиков биномиального распределения в MQL5, добавим сегментированную 3D-кривую для улучшения восприятия глубины функции массы вероятности. Также интегрируем режим панорамирования для смещения целевой точки камеры и реализуем интерактивный куб обзора (ViewCube) с зонами наведения курсора и анимацией для обеспечения быстрой смены ориентации. Мы добавим кликабельные подзоны на кубе обзора для граней, ребер и углов, чтобы анимировать переходы камеры к стандартным видам, сохраняя при этом переключаемые 2D/3D режимы, обновления в реальном времени и настраиваемые параметры для иммерсивного вероятностного анализа в торговле.
Нейросети в трейдинге: от рыночного шума к устойчивому торговому плану (MomAD)
В статье рассматривается адаптация идей MomAD к задачам нейросетевого трейдинга. Основное внимание уделено проблеме нестабильности торговых решений, когда модель слишком часто меняет сценарий и разрушает прибыльный план. Описаны теоретические основы Momentum-Aware Planning, расстояния Хаусдорфа и их перенос в латентное пространство рыночных состояний. В практической части реализован базовый OpenCL-механизм оценки расхождения между сценариями.
Инжиниринг признаков для машинного обучения (Часть 2): Реализация дробного дифференцирования с фиксированным окном в MQL5
В этой статье представлена готовая к промышленному применению реализация дробного дифференцирования с фиксированной шириной окна на MQL5 для потоков котировок MetaTrader 5 в реальном времени. Мы вводим header-only класс CFFDEngine, целиком реализованный в заголовочном файле, который заранее вычисляет веса без фиксированного ограничения, выполняет обновления за O(width) на бар и избегает выделения памяти на каждом тике. Индикатор FFD.mq5 поддерживает все типы ENUM_APPLIED_PRICE и оптимизацию prev_calculated. Скрипты валидации подтверждают численную эквивалентность стандартному Python-пайплайну frac_diff_ffd.
Моделирование рынка: Первые шаги на SQL в MQL5 (V)
В предыдущей статье я показал, как следовало действовать для добавления механизма запросов. Это было нужно для того, чтобы внутри кода MQL5 вы могли полноценно использовать SQL и получать результаты при выполнении команды SQL SELECT FROM. Но осталось рассказать последнюю функцию, которую нам необходимо реализовать. Это функция DatabaseReadBind. И, поскольку для правильного понимания требуется чуть более развернутое объяснение, было решено сделать это не в той предыдущей статье, а в сегодняшней. Итак, поскольку тема будет довольно объемной, перейдём сразу к следующему разделу.
Торговые инструменты MQL5 (Часть 23): Трёхмерные графики с управляемой камерой и поддержкой DirectX для анализа распределений
В этой статье мы усовершенствовали инструмент построения графиков биномиального распределения в MQL5, интегрировав DirectX для 3D-визуализации, что позволило переключаться между 2D и 3D режимами с управляемым камерой поворотом, масштабированием и автоматическим подбором положения камеры для иммерсивного анализа. Мы визуализируем столбцы гистограммы в 3D, опорные плоскости и оси наряду с кривой функции вероятностной массы, сохраняя при этом 2D-элементы, такие как панели статистики, легенда и настраиваемые темы, градиенты и метки.
Нативная реализация RSA-шифрования на MQL5
В MQL5 отсутствует встроенная асимметричная криптография, из-за чего безопасный обмен данными по незащищённым каналам вроде HTTP становится затруднительным. В этой статье представлена чистая реализация RSA на MQL5 с использованием схемы дополнения PKCS#1 v1.5, позволяющая безопасно передавать сеансовые ключи для AES и небольшие блоки данных без внешних библиотек. Такой подход обеспечивает уровень безопасности, похожий на HTTPS, поверх обычного HTTP и, более того, закрывает важный пробел в защищённой коммуникации для приложений MQL5.
Осваиваем графики Kagi в MQL5 (Часть I): Создание движка графика Kagi
Узнайте, как создать полноценный движок графиков Kagi в MQL5: строить ценовые развороты, формировать динамические отрезки линий и обновлять структуру Kagi в реальном времени. В первой части показано, как отображать графики Kagi непосредственно в MetaTrader 5, давая трейдерам ясное представление о смене тренда и силе рынка и одновременно закладывая основу для автоматизированной торговой логики на базе Kagi во второй части.
От начального до среднего уровня: События в объектах (II)
В данной статье мы рассмотрим принцип работы трех последних типов событий, которые может генерировать объект. Разбираться в этом будет очень увлекательно, так как в итоге мы сделаем то, что многим может показаться безумием, но это вполне возможно и дает весьма удивительный результат.