Использование Экономического календаря MQL5 для фильтрации новостей (Часть 4): Точное тестирование на истории со статическими данными
В этой статье реализован статический источник новостей на основе CSV для Тестера стратегий, позволяющий предварительно загружать и запрашивать исторические экономические события при тестировании на исторических данных. Он заменяет вызовы календаря в реальном времени в режиме тестера быстрым поиском в памяти, при этом логика работы в реальной торговле остается прежней и обеспечивает детерминированные, воспроизводимые результаты с явным контролем над тем, какие события включаются. Это позволяет надежно проверять новостные фильтры, временное удаление стопов и правила блокировки новых сделок.
Использование Экономического календаря MQL5 для фильтрации новостей (Часть 3): Сохранение работы при перезапусках терминала во время новостного окна
В статье представлена устойчивая к перезапуску модель хранения состояния для удаления стопов на время новостей. Состояние приостановки и исходные значения SL/TP для каждой позиции записываются в глобальные переменные терминала, считываются и реконструируются в OnInit() и удаляются после восстановления стопов. Это позволяет советнику продолжить активное окно приостановки после перекомпиляции или перезапуска и восстановить стопы только после окончания новостного окна.
Разработка научно обоснованного сеточного советника в MQL5: Почему большинство сеточных советников терпят неудачу и что доказал Таранто
В этой статье реализуется сеточный советник, адаптирующийся к режиму рынка и основанный на докторском исследовании Альдо Таранто. Представлен сеточный советник, адаптирующийся к режиму рынка и ограничивающий риск с помощью перезапускаемых циклов и защитных механизмов на основе эквити. Мы объясняем, почему наивные сетки терпят неудачу (из-за роста дисперсии и почти верного разорения), выводим выводим формулу убытка для расчета текущей экспозиции и реализуем фильтрацию запуска с учетом режима рынка, динамический шаг сетки на основе ATR и аварийный выключатель, работающий в реальном времени. Читатели получат математические инструменты и пригодные для рабочей эксплуатации подходы, необходимые для безопасной разработки, тестирования и эксплуатации сеточной стратегии с ограничениями.
Освоение массивов премии и дисконта: Оптимизация торговли по дисбалансам в PD-массивах
В этой статье рассматривается специализированный трендовый советник, а также подробно объясняется, как формировать и использовать торговые сетапы, возникающие на основе дисбалансов, обнаруженных в PD-массивах. В этой статье будет подробно рассмотрен советник, специально разработанный для трейдеров, которые стремятся оптимизировать и использовать PD-массивы и дисбалансы в качестве критериев входа в сделки и принятия торговых решений. Кроме того, в статье будет рассмотрено, как правильно размечать и оценивать премиальные и дисконтные массивы, как подтверждать их валидность и использовать каждый из них в соответствующих рыночных условиях, чтобы по максимуму использовать возникающие в таких сценариях возможности.
Использование Экономического календаря MQL5 для фильтрации новостей (Часть 2): Временное удаление и восстановление стоп-уровней во время выхода новостей
Во второй части новостной фильтр расширяется для защиты открытых позиций во время новостных событий. Вместо закрытия сделок уровни стоп-лосса и тейк-профита временно снимаются и надежно сохраняются в памяти. После окончания новостного окна стоп-уровни восстанавливаются детерминированно и при необходимости корректируются, если цена уже пересекла исходные уровни. При этом соблюдаются правила брокера о минимальной дистанции. В результате получается механизм, который сохраняет исходную логику и структуру сделки, не вмешиваясь в логику открытия сделок, и оставляет управление за советником даже в период волатильности.
Свинговые экстремумы и откаты в MQL5 (Часть 1): Разработка мультитаймфреймового индикатора
В этой статье мы автоматизируем систему на основе индикатора свинговых экстремумов и откатов, преобразующую необработанное ценовое движение младшего таймфрейма (LTF) в структурированную карту намерений рынка и точно определяющую свинговые максимумы, свинговые минимумы и коррекционные фазы в реальном времени. Благодаря программному отслеживанию микроструктурных сдвигов система позволяет выявлять возможные развороты до их полного развития, превращая шум в практически применимую информацию.
Использование Экономического календаря MQL5 для фильтрации новостей (Часть 1): Реализация временных окон до и после новостей в MQL5
Мы разработаем новостной фильтр на основе календаря на языке MQL5 без веб-запросов и внешних DLL. В части 1 рассматриваются загрузка и кэширование событий, сопоставление символов с валютами, фильтрация по уровню важности, определение окон до и после новостей, блокировка открытия новых сделок во время активного новостного периода и опциональное закрытие позиций перед новостью. В результате получается настраиваемый защитный механизм, совместимый с требованиями проп-фирм, который сокращает число ошибочных пауз в торговле и защищает входы в сделки в периоды волатильности.
Машинное обучение и Data Science (Часть 48): Насколько важны трансформеры для трейдинга?
От ChatGPT до Gemini и множества других инструментов на базе искусственного интеллекта для генерации текста, изображений и видео – трансформеры произвели фурор в мире искусственного интеллекта. Но применимы ли они в финансовой сфере, в частности в трейдинге? Постараемся разобраться.
Эволюция городских советов — City Councils Evolution (CCE)
Выполняем каноническую реализацию CCE в рамках C_AO, воспроизводим тесты и показываем ключевой дефект: аддитивный покоординатный оператор тянет решения к нулю и деградирует на смещенных диапазонах. Предлагаем простой контрольный тест со сдвигом области поиска и модификацию на основе разностей, применяемую по всем координатам. В результате — исходники MQL5, методика проверки и улучшенная версия алгоритма.
Алгоритм оптимизации на основе кровеносной системы — Circulatory System Based Optimization (CSBO)
CSBO — алгоритм, вдохновлённый кровеносной системой, рассматривается как разностно-ориентированный метод: венозное движение, систематический круг с кроссовером и лёгочная мутация. Приведена реализация в виде класса C_AO_CSBO для MQL5 с переводом в максимизацию, нормировкой шагов и двухфазными эпохами. Представлены итоги, исходники и практические настройки.
Алгоритм оптимизации на основе приспособленности — Fitness Dependent Optimizer (FDO)
Разбираем FDO — алгоритм, вдохновлённый роением пчёл, но интересный не пчёлами. Формулы просты, но направление шага фиксирует агента на луче к глобально лучшему, сводя поиск к одной степени свободы. Мы воспроизводим канонику, сопоставляем результат с равномерным случайным перебором на том же бюджете вычислений и устраняем дефект минимальной правкой. Прилагаются готовая реализация на MQL5, полный протокол тестов и методика нуль‑модели для оценки пользы итераций.
Осваиваем графики Kagi в MQL5 (Часть 2): Реализация автоматизированной торговли на основе Kagi
Узнайте, как в MQL5 создать полноценный торговый советник на основе графиков Kagi: от построения сигналов и исполнения ордеров до визуальных маркеров и трехэтапного трейлинг-стопа. Статья содержит полный исходный код, результаты тестирования и доступный для скачивания файл .set.
Автоматизированный риск-менеджмент для прохождения челленджей проп-фирм
В статье рассматривается разработка советника для инструмента GOLD, предназначенного для торговли в условиях проп-фирм: с фильтрами пробоев, мультитаймфреймовым анализом, надежным риск-менеджментом и строгой защитой от просадки. Советник помогает трейдерам проходить челленджи проп-фирм, избегая нарушений правил и стабилизируя исполнение сделок в условиях волатильного рынка.
Изучение стандартной библиотеки MQL5 (Часть 13): Применение библиотеки математических решателей в торговле
Мы представляем полный рабочий процесс для адаптивной фильтрации в MQL5 с использованием решателя CNlEq, подобного алгоритму Левенберга — Марквардта. Советник подбирает параметры модели VAMAC — две экспоненциальные скользящие средние (EWMA) с масштабированием на основе ATR — путем передачи остатков и Якобиана через цикл механизма обратного обмена с решателем CNlEq, с возможностью использования численных или аналитических производных. Код, инструкции по настройке и тесты по паре GBPUSD на таймфрейме H1 показывают, как заменить статические пороги динамической переоценкой на закрытии каждого бара.
Интеграция MQL5 с пакетами обработки данных (Часть 6): Объединение рыночной обратной связи и адаптации модели
В этой части рассматривается объединение рыночной обратной связи в реальном времени – результатов текущих сделок, изменений волатильности и сдвигов ликвидности – с адаптивным обучением модели. Это сделает торговую систему отзывчивой и способной к постоянному самосовершенствованию.
Изучение стандартной библиотеки MQL5 (Часть 11): Как создать матричный индикатор структуры рынка в MQL5
Научитесь проектировать индикатор в MQL5, который преобразует тренд, импульс и волатильность в единый сырой показатель, используя matrix.mqh (ALGLIB). В статье рассматривается осциллятор с отдельным окном для проверки основной математики, а затем индикатор для основного графика, который отображает стрелки сигналов на покупку и продажу без перерисовки, когда показатель пересекает заданные пользователем пороговые значения. Дополнительный фильтр на основе долгосрочной EMA, минимальный интервал в барах между сигналами и встроенные оповещения делают инструмент практичным для торговли в реальном времени.
Изучение стандартной библиотеки MQL5 (Часть 7): Создание интерактивных меток позиций с помощью класса CCanvas
В этой статье мы рассмотрим, как создать инструмент визуализации информации о позициях, используя класс CCanvas из стандартной библиотеки MQL5. Этот проект укрепит ваши навыки работы с библиотечными модулями и дает трейдерам практический инструмент для визуализации открытых позиций и взаимодействия с ними непосредственно на графике в реальном времени. Присоединяйтесь к обсуждению и узнайте больше.
Создание торговых систем с искусственным интеллектом на MQL5 (Часть 9): Создание диспетчера сигналов ИИ
Мы превращаем торгового помощника на языке MQL5 с ИИ в систему с диспетчеризацией, которая осуществляет маршрутизацию семи торговых действий через единый центральный диспетчер. Построчный протокол "ключ:значение" ограничивает формат ответа ИИ, а каждому действию сопоставляются рыночные или отложенные ордера и стоп-уровни, адаптированные к конкретному инструменту. Интерфейс на основе канваса (canvas) с редактором промптов и попиксельной подгонкой текста делает сигналы единообразными, проверяемыми и готовыми к отображению на графике.
Изучение Стандартной библиотеки MQL5 (Часть 6): Оптимизация сгенерированного советника
В данном обсуждении мы продолжаем работу над ранее разработанным мультисигнальным советником с целью изучения и применения доступных методов оптимизации. Цель состоит в том, чтобы определить, можно ли существенно улучшить торговые показатели советника путем систематической оптимизации на основе исторических данных.
Автоматизация торговых стратегий в MQL5 (Часть 50): Стратегия Turtle Soup на снятии ликвидности
В статье создаётся автоматическая программа MQL5 для торговли по стратегии Turtle Soup против ложных пробоев N-барных максимумов и минимумов. Реализуются обнаружение снятия ликвидности, подтверждающие закрытия обратно внутрь уровня, фильтры глубины и возраста экстремума, необязательная проверка тела разворотной свечи, динамические и статические стоп-лоссы, два режима тейк-профита, трейлинг по пунктам и наглядная разметка графика.
Автоматизация торговых стратегий в MQL5 (Часть 49): Разворотный паттерн "Квазимодо" (QM)
В статье мы создаём автоматическую программу MQL5, которая обнаруживает разворотный паттерн Квазимодо по зигзагу подтверждённых свинговых точек. Рассмотрим поиск свингов, активацию сетапа, вход на возврате к линии QM, структурный Stop Loss и расчёт объёма по риску. Также добавим перенос в безубыток, трейлинг-стоп и частичная фиксация прибыли для сопровождения открытых позиций.
Автоматизация торговых стратегий в MQL5 (Часть 46): Снятие ликвидности после пробоя структуры (BoS)
В статье мы создадим на MQL5 систему снятия ликвидности после пробоя структуры (BoS). Она обнаруживает свинговые максимумы и минимумы на заданном количестве баров, присваивает им метки HH/HL/LH/LL для определения BoS и выявляет снятие ликвидности, когда тень свечи выходит за уровень соответствующего свинга, а бычья или медвежья свеча закрывается обратно в пределах этого уровня.
Автоматизация торговых стратегий в MQL5 (Часть 45): Инверсный разрыв справедливой стоимости (IFVG)
В этой статье мы создадим в MQL5 систему, которая обнаруживает разрывы справедливой стоимости (FVG) и отслеживает их переход в состояние инвертированного FVG (IFVG). Она выявляет бычьи и медвежьи FVG на последних сформированных барах с фильтрацией по минимальному размеру разрыва, отслеживает состояния FVG Normal, Mitigated и Inverted в зависимости от взаимодействия цены с зоной (митигация при пробое дальней границы, возврат цены в зону после митигации и инверсия фиксируется, когда после повторного входа цена закрывается за дальней границей, выходя изнутри зоны), игнорирует новые FVG, ценовые диапазоны которых перекрываются с уже существующими зонами, и ограничивает число отслеживаемых FVG.
Алгоритм направления потока — Flow Direction Algorithm (FDA)
Подробно разбираем механику FDA и демонстрируем, как центровые и диагональные эффекты первоисточника завышают показатели. Честная реализация фиксирует уровень порядка 39.7% на стенде серии. Модификация FDAm с тяжелохвостым распределением зондов и покоординатным шагом повышает итог до 54.7% и доступна как готовый компонент C_AO для настройки параметров советников.
Автоматизация торговых стратегий в MQL5 (Часть 42): Сессионная система пробоя начального диапазона (ORB)
В статье мы создадим гибко настраиваемую сессионную систему Opening Range Breakout (ORB) на MQL5. Она позволяет задавать время начала сессии и продолжительность начального диапазона, автоматически рассчитывает его максимум и минимум и открывает сделки только после подтверждённого пробоя в направлении движения.
Автоматизация торговых стратегий на MQL5 (Часть 41): Стратегия Candle Range Theory (CRT) — накопление, манипуляция и распределение (AMD)
В этой статье мы разработаем на MQL5 торговую систему на основе стратегии Candle Range Theory (CRT). Она определяет диапазоны накопления на заданном таймфрейме, выявляет пробои с фильтрацией по глубине манипуляции и подтверждает разворот для открытия сделок в фазе распределения. Система поддерживает динамический или статический расчёт Stop Loss и Take Profit по соотношению риска и прибыли, необязательный трейлинг-стоп и ограничение количества позиций в каждом направлении.
Автоматизация торговых стратегий на MQL5 (Часть 40): Торговля по уровням коррекции Фибоначчи с пользовательскими уровнями
В статье разрабатывается советник MQL5 для торговли по уровням коррекции Фибоначчи. Пользовательские уровни, например 50% и 61,8%, рассчитываются по диапазону дневной свечи или массиву данных за выбранный период. Направление определяется по соотношению цен закрытия и открытия; позиции открываются при пересечении уровней с ограничением числа сделок, необязательным закрытием при новом расчёте, трейлинг-стопом в пунктах и буферами SL/TP в процентах от диапазона.
Автоматизация торговых стратегий на MQL5 (Часть 38): Торговля по скрытым дивергенциям RSI с фильтрами угла наклона
В этой статье мы создадим советник на MQL5, который определяет скрытые дивергенции RSI по свинговым точкам с заданным параметром силы, ограничением по количеству баров между свинговыми точками, допуском и фильтрами угла наклона ценовой линии и линии RSI. Советник открывает позиции на покупку и продажу по подтверждённым сигналам с фиксированным размером лота, уровнями Stop Loss и Take Profit, заданными в пипсах (в исходной статье — pips; в коде расчёт выполняется через _Point), а также опциональным трейлинг-стопом для управления рисками.
Автоматизация торговых стратегий на MQL5 (Часть 37): Поиск дивергенций и конвергенций RSI с визуализацией на графике
В этой статье мы создадим советник на MQL5, который определяет обычные дивергенции RSI по свинговым точкам с заданным параметром силы, ограничениями по числу баров и допуском. Он открывает позиции по бычьим и медвежьим сигналам с фиксированным объёмом позиции, уровнями Stop Loss и Take Profit в пунктах (pips) и опциональным трейлинг-стопом. На графике отображаются цветные линии и подписи свинговых точек, чтобы лучше видеть логику работы стратегии.
Кооперация бионических алгоритмов — Co-Operation of Biology Related Algorithms (COBRA)
В статье реализована кооперативная метаэвристика COBRA во фреймворке C_AO: шесть популяционных методов (PSO, WPS, FFA, CSA, BA, FSS) работают в одной популяции при фиксированном бюджете обращений к целевой функции и экспериментально выясняем, на чём на самом деле держится кооперация. В комплекте — расширяемый класс для сборки собственных кооперативных портфелей из любых алгоритмов серии.
Автоматизация торговых стратегий на MQL5 (Часть 36): Торговля по зонам спроса и предложения на основе модели ретеста и импульса
В этой статье мы создадим на MQL5 торговую систему на основе зон спроса и предложения. Она определяет такие зоны по диапазонам консолидации, подтверждает их импульсными движениями и открывает позиции на ретестах с подтверждением тренда и настраиваемыми параметрами риска. Система отображает зоны с помощью динамических подписей и цветов, а также поддерживает трейлинг-стопы для управления рисками.
Автоматизация торговых стратегий на MQL5 (Часть 35): Разработка торговой системы на основе брейкер-блоков
В этой статье мы создадим на MQL5 торговую систему на основе брейкер-блоков. Она определяет диапазоны консолидации, обнаруживает пробои и подтверждает брейкер-блоки по свинговым точкам, чтобы торговать их ретесты с заданными параметрами риска. Система динамически отображает ордер-блоки и брейкер-блоки, а также связанные с ними подписи и стрелки; кроме того, система поддерживает автоматическую торговлю и использование трейлинг-стопа.
Автоматизация классических рыночных методов в MQL5 (Часть 3): Стадийный анализ Стэна Вайнштейна
В статье представлен полноценный торговый советник, построенный на методе стадийного анализа Стэна Вайнштейна. Советник классифицирует рынок по одной из четырёх стадий, анализируя наклон и положение 30-недельной скользящей средней, а также характер движения цены и динамику объёма. Затем он открывает длинные позиции только при прорывах в Стадию 2, а короткие — при пробоях вниз в Стадию 4. В статье объясняется каждая стадия, способы её программного определения и то, почему преимущество метода создаёт именно дисциплина — торговля только на подходящей стадии.
Автоматизация торговых стратегий на MQL5 (Часть 34): Система пробоя линии тренда с оценкой качества аппроксимации по коэффициенту R2
В этой статье мы разработаем на MQL5 систему пробоя линии тренда, которая определяет линии поддержки и сопротивления по свинговым точкам (локальным экстремумам). Надежность линий будет оцениваться по коэффициенту детерминации R², а также по ограничениям на угол наклона. После проверки система сможет автоматически открывать сделки на пробое. Мы будем находить локальные максимумы и минимумы в пределах заданной глубины анализа, строить линии тренда с минимально допустимым количеством касаний и оценивать их надежность по коэффициенту детерминации R² и углу наклона.
Династический алгоритм — Dynastic Optimization Algorithm (DOA)
В статье реализован и разобран Dynastic Optimization Algorithm в рамках фреймворка C_AO на MQL5. Мы воспроизводим каноническую модель, закрываем неописанные в первоисточниках места и тестируем алгоритм на стенде с фиксированным бюджетом и ростом размерности. Показана причина деградации каноники и предложена модификация оператора с разреженной мутацией. Читатель получит рабочий класс и рекомендации по настройке для задач с дискретными параметрами.
Автоматизация торговых стратегий в MQL5 (Часть 33): Создание системы распознавания гармонического паттерна "Shark" с использованием Price Action
В этой статье мы разрабатываем систему распознавания паттернов "Shark" (акула) на языке MQL5, которая определяет бычьи и медвежьи гармонические паттерны "Shark" с использованием точек разворота и коэффициентов Фибоначчи, совершая сделки с настраиваемыми уровнями входа, стоп-лосса и тейк-профита на основе выбранных пользователем параметров. Мы улучшим работу трейдеров с помощью визуальной обратной связи, используя графические объекты, такие как треугольники, линии тренда и подписи, для наглядного отображения структуры паттерна X-A-B-C-D.
Автоматизация классических рыночных методов в MQL5 (Часть 1): Накопление и распределение по Вайкоффу
В статье описывается советник MQL5, автоматизирующий обнаружение накопления и распределения по Вайкоффу с помощью конечного автомата. Перед открытием позиций в точках LPS или LPSY он подтверждает последовательности spring–SOS и upthrust–SOW, используя относительный тиковый объём в качестве критерия подтверждения. Читатель познакомится с моделью состояний, критериями обнаружения, организацией кода и процедурой тестирования в MetaTrader 5.
Кодирование свечных моделей (Часть 2): Моделирование движения цены в виде упорядоченной последовательности
Разработка инструментов на основе перестановок в MQL5 обеспечивает систематический способ анализа комбинаций свечных паттернов для торговых стратегий. В этой статье представлен калькулятор и генератор перестановок, предназначенные для вычисления и перечисления всех возможных упорядоченных последовательностей свечей из бычьих и медвежьих наборов, с повторениями или без них. Генерируя исчерпывающие комбинации паттернов, трейдеры могут проводить анализ на основе данных для выявления высоковероятных рыночных паттернов и улучшения принятия решений в автоматизированных торговых системах.
Ручное тестирование на исторических данных в тестере стратегий MetaTrader 5 с кнопками Buy/Sell на графике
Узнайте, как создать советника для ручного тестирования в визуальном тестере MetaTrader 5, добавив кнопки на графике с помощью CButton, размещая ордера через CTrade и фильтруя позиции с помощью «магического числа». В статье реализованы элементы управления Buy/Sell и Close All, настраиваемый размер лота и начальный стоп-лосс, а также трейлинг-стоп через CPositionInfo. Кроме того, вы узнаете, как загружать индикаторы с помощью tester.tpl для более быстрой проверки идей перед автоматизацией и сужения диапазонов оптимизации.
Алгоритм бактериальной эволюции Нумаоки для быстрой адаптации (NBE)
Рассматриваем модель Нумаоки как агентную колонию с энергией, гибелью-делением и плазмидным переносом, ориентированную на быструю адаптацию. Переносим её в каркас C_AO: энергобаланс с популяционно-относительным приходом, хемотаксис-поиск, рулетка по энергии; приводим псевдокод и MQL5-реализацию. Проводим тестирование на Hilly, Forest и Megacity, показывая поведение и ограничения модели на статике для практического использования.