Как обучить MLP на признаках марковской цепи в MQL5
Статья описывает двухуровневый индикатор MarkovMLPOscillator: трехсостоянная марковская цепь на истории строит матрицу переходов и формирует 15 вероятностных признаков для каждого бара, а MLP обучается на них и прогнозирует направление через заданный горизонт. Рассмотрены генерация признаков, схема валидации на отложенной выборке и настройки параметров. Результат — интерпретируемый осциллятор с цветовой гистограммой, сглаженным сигналом и отображением текущей матрицы переходов.
Разработка системы репликации (Часть 46): Проект Chart Trade (V)
Устали тратить время на поиск того самого файла, который необходим для работы вашего приложения? Как насчет того, чтобы включить все в исполняемый файл? Так вы больше не будете тратить время на поиск необходимого. Знаю, что многие пользуются именно такой формой распространения и хранения вещей, но есть гораздо более подходящий способ. По крайней мере, что касается распространения исполняемых файлов и их хранения. Метод, который будет здесь представлен, может оказаться очень полезным, так как в качестве отличного помощника вы сможете использовать сам MetaTrader 5, а также MQL5. И это не так уж трудно и сложно для понимания.
Разработка инструментария для анализа Price Action (Часть 31): Модуль распознавания свечных паттернов на Python (I) – ручное распознавание
Свечные паттерны лежат в основе торговли Price Action и дают ценные сигналы о возможном развороте рынка или продолжении тренда. Представьте надежный инструмент, который постоянно отслеживает каждый новый бар, выявляет ключевые формации, такие как паттерны поглощения, молоты, доджи и звезды, и сразу уведомляет вас, когда обнаруживает значимый торговый сетап. Именно такой функционал мы и разработали. Независимо от того, новичок вы или опытный трейдер, эта система выдает оповещения в реальном времени о свечных паттернах, позволяя открывать сделки увереннее и эффективнее. Читайте дальше, чтобы узнать, как это работает и как может улучшить вашу торговую стратегию.
Алгоритм сверчков — Cricket Algorithm (CA)
В статье рассматривается алгоритм сверчков (Cricket Algorithm) - метаэвристический метод оптимизации, объединяющий элементы алгоритмов летучих мышей и светлячков с физическими законами распространения звука в атмосфере. Алгоритм моделирует поведение сверчков, ориентирующихся на стрекотание сородичей, используя закон Долбира и формулы акустики для управления поиском оптимальных решений.
От матриц к модели: Как запустить ML-пайплайн в MQL5 и довести его до ONNX
Показано, как организовать согласованный ML-конвейер в MetaTrader 5 с разделением ролей: Python обучает и экспортирует модель в ONNX, MQL5 воспроизводит нормализацию и PCA через matrix/vector и выполняет инференс. Такой подход делает входы модели стабильными и проверяемыми, а тестер стратегий MetaTrader 5 даёт метрики для анализа поведения системы.
Разрабатываем мультивалютный советник (Часть 32): Секреты шага создания проекта оптимизации (II)
В статье рассматриваются параметры второго этапа конвейера автоматической оптимизации мультивалютного советника. Мы анализируем критерии фильтрации проходов первого этапа и правила формирования групп торговых стратегий. Демонстрируется влияние настроек на результаты оптимизации, обсуждаются аспекты надёжности процесса и баланс между строгостью отбора и достаточностью кандидатов для алгоритма.
Нейросети в трейдинге: Гибридные модели прогнозирования с управляемой смесью распределений (Окончание)
В статье представлена адаптированная реализация фреймворка Lattice для анализа и прогнозирования рыночной динамики на реальных данных. Показано, как интеграция низко- и высокочастотных модулей, архетипов и адаптивного суммирования обеспечивает устойчивость модели и точность прогнозов.
От начального до среднего уровня: Приоритеты операторов
Это, несомненно, самый сложный вопрос, который можно объяснить исключительно теоретически. Поэтому я советую вам попрактиковаться с материалами, которые будут показаны здесь. Хотя на первый взгляд всё может показаться простым, данный вопрос с операторами можно понять только на практике в сочетании с постоянным изучением.
Создание прибыльной торговой системы (Часть 2): Тонкости управления размером позиции
Даже при использовании системы с положительными ожиданиями, на успех или неудачу может повлиять размер позиции. Это ключевой аспект управления рисками — преобразование статистических преимуществ в реальные результаты при одновременной защите вашего капитала.
Автоматизация торговых стратегий в MQL5 (Часть 27): Выявление и визуализация гармонического паттерна "Краб" на основе Price Action
В этой статье мы разрабатываем систему распознавания гармонических паттернов "Краб" на языке MQL5, которая определяет бычьи и медвежьи гармонические паттерны "Краб" с использованием точек разворота и уровней Фибоначчи, запуская сделки с точными уровнями входа, стоп-лосса и тейк-профита. Мы добавляем визуальное представление с помощью графических объектов, таких как треугольники и линии тренда, для отображения структуры паттерна XABCD и торговых уровней.
Фундаментальные предобученные модели в трейдинге: прогнозирование временных рядов с TimesFM 2.5 от Google в MetaTrader 5
Прогнозирование временных рядов в трейдинге прошло путь от традиционных статистических моделей, таких как ARIMA, к подходам глубокого обучения, но оба варианта требуют сложной настройки и обучения. Вдохновленная достижениями NLP, модель Google TimesFM предлагает фундаментальную предобученную модель для временных рядов, способную давать сильные прогнозы даже без обучения под конкретную задачу. Для трейдеров это особенно ценно: модель можно эффективно дообучать на собственных данных с помощью легких методов вроде LoRA, снижая переобучение и одновременно адаптируясь к меняющимся рыночным условиям.
Управление позициями: Безопасный пирамидинг с единым стопом в MQL5
В этой статье представлен CPyramidEngine – переиспользуемый класс на языке MQL5, который добавляет в любой советник дисциплинированное пирамидирование и требует для интеграции всего около шести изменений в коде. Движок обеспечивает соблюдение трех ограничений: размеры лотов должны строго уменьшаться, единый стоп – сдвигаться после каждого добавления, а каждая модификация – проходить проверку на уровне брокера. В статье разбираются типичные сценарии отказа наивных реализаций и показывается, как по мере добавления позиций сохранять общий риск по счету измеримым и контролируемым.
Моделирование рынка (Часть 11): Сокеты (V)
Мы приступаем к реализации связи между Excel и MetaTrader 5, но сначала необходимо понять некоторые важные моменты, так вам не придется ломать голову, пытаясь понять, почему что-то работает или нет. И прежде, чем вы нахмуритесь, глядя на интеграцию Python и Excel, давайте посмотрим, как с помощью xlwings можно (в некоторой степени) управлять MetaTrader 5 через Excel. То, что мы покажем здесь, будет в основном сконцентрировано на образовательных задачах. Но не думайте, что мы можем делать только то, что будет рассмотрено здесь.
Внедрение в MQL5 практических модулей из других языков (Часть 04): Модули time, date и datetime из Python
В отличие от MQL5, язык программирования Python предлагает контроль и гибкость, когда речь заходит о работе со временем и управлении им. В этой статье мы реализуем модули, аналогичные модулям в языке MQL5 для более удобной обработки дат и времени, как в Python.
Нейросети в трейдинге: Модели многократного уточнения прогнозов (Окончание)
Представляем фреймворк RAFT — мощный инструмент для анализа и прогнозирования финансовых временных рядов. Его гибкая и оптимизированная архитектура обеспечивает точность прогнозов, стабильность работы и ускоряет обработку данных. RAFT снижает риски ошибок и облегчает создание эффективных торговых стратегий.
Как реализовать R/S-анализ и индикатор Хёрста в MQL5
Индикатор показателя Хёрста для MQL5 реализован на основе R/S-анализа с OLS-регрессией в log-log пространстве. Теоретическая опора — результаты Gatheral–Jaisson–Rosenbaum (2014), согласно которым волатильность — дробное броуновское движение с H ≈ 0.10. Индикатор оценивает H в скользящем окне, выделяет антиперсистентный (H < 0.3), нейтральный и трендовый (H > 0.5) режимы, окрашивает линию и подаёт алерт при смене режима, помогая выбирать тип стратегии и управлять риском.
Моделирование рынка (Часть 16): Сокеты (X)
Мы близки к завершению данного испытания. Однако, прежде чем приступить, я хочу, чтобы вы попытались понять эти две статьи, данную и предыдущую. Так вы действительно поймете следующую статью, в которой я рассмотрю исключительно ту часть, которая касается программирования на MQL5. Но я также постараюсь сделать её понятной. Если вы не понимаете эти две последние статьи, то вам будет тяжело понять и следующую, потому что материалы накапливаются. Чем больше вещей нужно сделать, тем больше нужно создать и понять для достижения цели.
Управление рисками (Часть 4): Завершение ключевых методов класса
Эта статья — четвертая часть нашей серии статей об управлении рисками в MQL5, где мы продолжаем изучать продвинутые методы защиты и оптимизации торговых стратегий. Заложив важные основы в предыдущих статьях, теперь мы сосредоточимся на завершении всех оставшихся методов, которые были отложены в третьей части, включая функции для проверки достижения определенных уровней прибыли или убытков. Кроме того, в статье будут представлены новые ключевые события, обеспечивающие более точное и гибкое управление.
От начального до среднего уровня: Операторы BREAK и CONTINUE
В данной статье мы рассмотрим, как использовать операторы RETURN, BREAK и CONTINUE в цикле. Понимание того, что делает каждый из этих операторов в потоке выполнения цикла, очень важно для работы с более сложными приложениями. Представленные здесь материалы предназначены только для обучения. Ни в коем случае не рассматривайте его как окончательное приложение, целью которого не является изучение представленных концепций.
Разработка инструментария для анализа Price Action (Часть 24): Инструмент количественного анализа Price Action
Свечные паттерны дают ценную информацию о возможном движении рынка. Одни свечи сигнализируют о продолжении текущего тренда, а другие предвещают разворот – в зависимости от того, где именно они формируются в структуре движения цены. В этой статье представлен советник, который автоматически определяет четыре ключевые свечные формации. В разделах ниже вы узнаете, как этот инструмент может улучшить ваш анализ Price Action.
Разработка пользовательского индикатора матрицы эффективности торгового счёта
Этот индикатор выступает в роли средства контроля за соблюдением дисциплины, отслеживая в режиме реального времени состояние счета, прибыль/убыток и просадку и отображая панель показателей эффективности. Он может помочь трейдерам сохранять преемственность, избегать чрезмерной торговли и соблюдать правила отбора, установленные проп-трейдинговыми фирмами.
От начального до среднего уровня: Операторы
В этой статье мы рассмотрим основных операторов. Хотя тема проста для понимания, есть определенные моменты, которые имеют большое значение, когда речь идет о включении математических выражений в формат кода. Без адекватного понимания этих деталей, программисты с небольшим опытом или вообще без него в итоге отказываются от попыток создать собственных решений.
Создание самооптимизирующихся советников на MQL5 (Часть 6): Предотвращение стоп-аутов
Рассмотрим алгоритмическую процедуру, которая позволит свести к минимуму общее количество случаев стоп-аутов в прибыльных сделках. Проблема, с которой мы столкнулись, весьма сложна, и большинство решений, предложенных в ходе обсуждений в сообществе, не содержат установленных и неизменных правил. Наш алгоритмический подход к решению проблемы увеличил прибыльность сделок и снизил средний убыток на сделку. Однако необходимо внести дополнительные улучшения, чтобы полностью отсортировать все сделки, которые будут закрыты по стопу-ауту. Наше решение представляет собой неплохой первый шаг, доступный для всех желающих.
От начального до среднего уровня: Плавающая точка
Эта статья является кратким введением к понятию числа с плавающей точкой. Поскольку этот текст очень сложный, советую вам прочитать его спокойно и внимательно. Не рассчитывайте быстро освоить систему с плавающей точкой, она становится понятной только со временем, по мере появления опыта использования. Но эта статья поможет вам понять, почему ваше приложение иногда выдает результат, отличный от ожидаемого.
Эко-эволюционный алгоритм — Eco-inspired Evolutionary Algorithm (ECO)
В статье рассматривается алгоритм оптимизации ECO, основанный на экологических концепциях: популяции объединяются в хабитаты по принципу территориальной близости, обмениваются генетическим материалом внутри хабитатов и мигрируют между ними. Несмотря на богатый набор операторов и красивую биологическую метафору, алгоритм показал результат, какой, подробности ниже.
Разработка системы репликации (Часть 75): Новый Chart Trade (II)
В этой статье мы расскажем о классе C_ChartFloatingRAD. Это то, что позволяет Chart Trade работать. Однако на этом объяснение не закончится. Мы завершим его в следующей статье, так как содержание данной статьи довольно объемное и требует глубокого понимания. Представленные здесь материалы предназначены только для обучения. Ни в коем случае не рассматривайте его как окончательное приложение, целью которого не является изучение представленных концепций.
Как получить синхронизированные массивы для использования в алгоритмах портфельной торговли
Описан практический подход к синхронизации баров между инструментами портфеля в MQL5. Предложены классы для загрузки, хранения и выравнивания OHLCV с опциями: пустой бар или перенос значений предыдущего бара, выбор символа синхронизации и обработка асинхронных новых баров. Показаны примеры использования в индикаторах мультиграфиков и корзины. Читатель получает готовый API для стабильных портфельных расчетов.
Нейросети в трейдинге: Поиск устойчивых закономерностей в разнородных рыночных данных (Окончание)
В статье представлена адаптация фреймворка INFNet в единый вычислительный конвейер для задач анализа финансовых временных рядов. Описана архитектура верхнеуровневого объекта, объединяющего последовательные, контекстные и сценарные потоки данных. Проведено тестирование на исторических данных EURUSD с оценкой устойчивости модели.
От начального до среднего уровня: Переменные (III)
Сегодня мы рассмотрим, как использовать переменные и константы, предопределенные языком MQL5. Кроме того, мы проанализируем еще один особый тип переменных: функции. Умение правильно работать с этими переменными может определить разницу между работающим и неработающим приложением. Для того, чтобы понять представленное здесь, необходимо разобраться с материалом, который был рассмотрен в предыдущих статьях.
От начального до среднего уровня: Массивы и строки (III)
Эта статья посвящена рассмотрению двух аспектов. Во-первых, того, как стандартная библиотека может преобразовывать бинарные значения в другие формы представления, такие как восьмеричная, десятичная и шестнадцатеричная. А во-вторых, мы поговорим о том, как можно определить ширину нашего пароля на основе секретной фразы, используя уже полученные знания.
Возможности Мастера MQL5, которые вам нужно знать (Часть 54): Обучение с подкреплением с гибридным SAC и тензорами
Soft Actor Critic (мягкий актер-критик) — это алгоритм обучения с подкреплением, который мы рассматривали в предыдущей статье, где мы также представили Python и ONNX как эффективные подходы к обучению сетей. В этой статье мы вернемся к алгоритму с целью использования тензоров — вычислительных графов, которые часто используются в Python.
Разработка инструментария для анализа движения цен (Часть 20): Внешние библиотеки (IV) — Correlation Pathfinder
Correlation Pathfinder предлагает новый подход к пониманию динамики валютных пар в рамках серии инструментов для анализа ценового действия. Этот инструмент автоматизирует сбор и анализ данных, предоставляя информацию о взаимодействии таких валютных пар, как EURUSD и GBPUSD. Практическая информация в реальном времени поможет вам более эффективно управлять рисками и выявлять торговые возможности.
Нейросети в трейдинге: Спайково-семантический подход к пространственно-временной идентификации (Основные компоненты)
В статье мы подробно рассмотрели интеграцию модуля SSAM в блок SEW‑ResNeXt, демонстрируя, как фреймворк S3CE‑Net позволяет эффективно объединять спайковое внимание с остаточными блоками. Такая архитектура обеспечивает точную обработку временных и пространственных потоков данных и высокую стабильность обучения. Модульность и гибкость компонентов упрощают расширение модели и повторное использование проверенных методов.
Использование регрессии Ренко-баров с корректировкой ошибок
В статье показан регрессионный подход к прогнозированию Ренко-баров с помощью CatBoost: модель оценивает логарифмическую доходность следующего бара и неопределённость прогноза. Разобран каскад residual-моделей с OOF-валидацией через TimeSeriesSplit, shrinkage и общим early stopping, а также условная коррекция смещения. На EURUSD D1 получено снижение OOF-MAE и около 65% точности по направлению. Приведён рабочий скрипт для MetaTrader 5, формирующий сигнал, размер позиции, SL и TP в единицах кирпича.
Торговые инструменты на языке MQL5 (Часть 10): Разработка системы отслеживания стратегии с визуальными уровнями и показателями эффективности
В данной статье мы разрабатываем систему отслеживания стратегий на языке MQL5, которая обнаруживает сигналы пересечения скользящих средних, отфильтрованные долгосрочной скользящей средней, моделирует или исполняет сделки с настраиваемыми уровнями TP и SL в пунктах, а также отслеживает результаты, такие как попадание в TP/SL, для анализа эффективности.
Архитектура машинного обучения для MetaTrader 5 (Часть 14): Моделирование транзакционных издержек для разметки методом тройного барьера в MQL5
В статье заданные вручную предположения об издержках в разметке методом тройного барьера заменяются измеренными данными. Скрипт MQL5 собирает у брокера распределение спреда, ставки свопа и свойства символа, а модель Python преобразует эти данные в min_ret, откалиброванный с учётом условий брокера, который можно передать в get_events(). После этого метки учитывают фактические издержки полного цикла сделки для выбранного инструмента и периода удержания позиции.
От начального до среднего уровня: Массив (III)
В этой статье мы рассмотрим, как работать с массивами в MQL5, в том числе, как передавать информацию между функциями и процедурами с помощью массивов. Цель — подготовить вас к тому, что будет демонстрироваться и разъясняться в будущих материалах серии. Поэтому настоятельно рекомендую внимательно изучить то, что будет показано в этой статье.
Создание торговой панели администратора на MQL5 (Часть IX): Организация кода (V). Класс AnalyticsPanel
В этой статье мы рассмотрим, как получать рыночные данные в реальном времени и информацию о торговом счете, выполнять различные вычисления и отображать результаты на настраиваемой панели. Для достижения этой цели мы углубимся в разработку класса AnalyticsPanel, который будет включать в себя все эти функции, в том числе создание панелей. Эта работа является частью нашего продолжающегося расширения советника новой панели администратора (New Admin Panel EA), внедряющей расширенные функции с использованием принципов модульного проектирования и лучших практик организации кода.
Моделирование рынка (Часть 09): Сокеты (III)
Сегодняшняя статья является продолжением предыдущей. В ней мы рассмотрим, как будет реализован советник, сосредоточившись в основном на том, как выполняется серверный код. Кода, приведенного в предыдущей статье, недостаточно для того, чтобы всё работало как надо, поэтому необходимо немного углубиться в него. Поэтому нужно прочитать обе статьи, чтобы лучше понять то, что произойдет.
От новичка до эксперта: Мониторинг бэкэнд операций с использованием MQL5
Использование готового решения в торговле, не вникая во внутреннюю работу системы, может показаться комфортным, но это не всегда так для разработчиков. В конечном итоге может возникнуть проблема с обновлением, некорректной работой или непредвиденной ошибкой, и становится важным точно определить источник проблемы, чтобы быстро ее диагностировать и устранить. Сегодняшнее обсуждение посвящено раскрытию того, что обычно происходит за кулисами работы торгового советника, а также разработке специального пользовательского класса для отображения и ведения лога внутренних процессов с использованием MQL5. Это дает как разработчикам, так и трейдерам возможность быстро находить ошибки, отслеживать поведение и получать доступ к диагностической информации, специфичной для каждого советника.