Моделирование рынка: 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)
В данной статье мы рассмотрим принцип работы трех последних типов событий, которые может генерировать объект. Разбираться в этом будет очень увлекательно, так как в итоге мы сделаем то, что многим может показаться безумием, но это вполне возможно и дает весьма удивительный результат.
Автоматизация торговых стратегий с помощью MQL5 (Часть 47): Торговая система Nick Rypock Trailing Reverse (NRTR) с поддержкой хеджирования
В этой статье мы разрабатываем торговую систему Nick Rypock Trailing Reverse (NRTR) на языке MQL5, которая использует сигналы разворота на основе канала и позволяет открывать позиции по тренду с поддержкой хеджирования для покупок и продаж. Мы добавим функции управления рисками: автоматический расчет лота на основе средств счета или баланса, фиксированные или динамические уровни стоп-лосса и тейк-профита с использованием множителей ATR, а также ограничения по числу позиций.
Советник для размещения ордеров на основе риска с графическим интерфейсом на графике (Часть 2): Добавление интерактивности и логики
Узнайте, как создать интерактивный советник MQL5 с панелью управления на графике. Вы научитесь рассчитывать размер лота на основе риска и отправлять ордера прямо с графика.
От начального до среднего уровня: События в объектах (I)
В этой статье мы рассмотрим три из шести событий, которые MetaTrader 5 может генерировать при возникновении каких-либо изменений с объектом на графике. Данные события очень полезны с точки зрения взаимодействия с пользователями. Это происходит так, потому что без понимания этих событий нам придётся приложить гораздо больше усилий для поддержания определённой конфигурации в графике при попытке управлять объектами для конкретных целей.
Разрабатываем пользовательский индикатор рыночных настроений
В этой статье мы разрабатываем пользовательский индикатор рыночных настроений, который классифицирует рыночные настроения как бычьи, медвежьи, в режиме risk-on, в режиме risk-off или нейтральные. Благодаря анализу нескольких таймфреймов индикатор дает трейдерам более ясное представление об общем рыночном уклоне и краткосрочных подтверждениях.
Советник для размещения сделок на основе риска с графическим интерфейсом на графике (Часть 1): Проектирование пользовательского интерфейса
Узнайте, как создать аккуратную и профессиональную панель управления на графике в MQL5 для советника, размещающего сделки на основе риска. В этом пошаговом руководстве объясняется, как спроектировать функциональный графический интерфейс, позволяющий трейдерам вводить параметры сделки, рассчитывать размер лота и готовиться к автоматическому размещению ордеров.
TradeMux как Quant Backbone: Подключение институциональных Python-пайплайнов к разным терминалам и брокерам
Статья описывает TradeMux как мост между Python-пайплайном и терминалом MetaTrader 5 для чистой передачи торговых решений без дублирования логики. Разобрана production-архитектура из четырёх слоёв и полный Python execution service: подключение, чтение счёта и позиций, генерация сигналов (включая CatBoost), предторговый риск-контроль, kill_switch и supervisor. Практическая польза — кросс-брокерная нормализация (RoboForex, IC Markets, Alpari, OANDA) и масштабирование от одного счёта к мультисчётному broadcast без изменения торговой логики.
Знакомство с языком MQL5 (Часть 42): Руководство для начинающих по работе с файлами в MQL5 (IV)
В этой статье показано, как создать индикатор на языке MQL5, который считывает торговую историю из CSV, извлекает значения из столбца Profit($) и общее число сделок, а затем рассчитывает накопительную кривую баланса. Мы строим кривую в отдельном окне индикатора, автоматически масштабируем ось Y и рисуем горизонтальную и вертикальную оси для выравнивания. Индикатор обновляется по таймеру и перерисовывается только при появлении новых сделок. Необязательные метки показывают прибыль или убыток по каждой сделке, помогая прямо на графике оценивать результаты торговли и просадки.
Разработка инструментария для анализа Price Action (Часть 62): Создание адаптивной системы обнаружения параллельных каналов и пробоев на языке MQL5
В этой статье представлена адаптивная система обнаружения параллельных каналов и пробоев на языке MQL5. В ней показано, как определяются точки свинга, как строятся и динамически пересчитываются каналы, а также как пробои подтверждаются и визуализируются с помощью сигналов, сохраняющихся на графике. Этот подход объединяет геометрию трендовых линий, фильтрацию на основе ATR и проверку ретеста, обеспечивая надежный анализ Price Action в реальном времени для профессиональной работы с графиками и принятия торговых решений.
Моделирование рынка: Первые шаги на SQL в MQL5 (IV)
Многие люди склонны недооценивать SQL или даже вообще не использовать его, потому что не до конца понимают, как он на самом деле работает. При выполнении запросов к базе данных SQL мы не всегда ищем универсальный ответ, а в некоторых случаях нам нужен очень конкретный и практичный ответ. Если создать базу данных с надлежащей структурой и моделью данных, в неё можно будет интегрировать практически любые типы информации.
Повышение эффективности торговли с использованием Smart Money Concepts (SMC): OB, BOS и FVG
Повысьте эффективность торговли с помощью Smart Money Concepts (SMC), объединив ордер-блоки (Order Blocks, OB), пробой структуры (Break of Structure, BOS) и разрывы справедливой стоимости (Fair Value Gaps, FVG) в одном мощном советнике. Выбирайте автоматическое исполнение или работайте с отдельной концепцией SMC для более гибкой и точной торговли.
MetaTrader и Google Таблицы через PythonAnywhere: Руководство по безопасному потоку данных
В этой статье показан безопасный способ экспорта данных MetaTrader в Google Таблицы. Google Таблицы — очень ценное решение, поскольку оно работает в облаке, а сохраненные там данные доступны в любое время и из любого места. Поэтому трейдеры могут получать доступ к торговым и связанным с торговлей данным, экспортированным в Google Таблицы, и выполнять дальнейший анализ для будущей торговли в любое время, где бы они ни находились.
CRUD-операции в Firebase с использованием MQL
В этой статье представлено пошаговое руководство по освоению CRUD-операций (Create, Read, Update, Delete — создание, чтение, обновление и удаление) в Firebase с акцентом на Realtime Database и Firestore. Вы узнаете, как использовать методы Firebase SDK для эффективного управления данными в веб- и мобильных приложениях: от добавления новых записей до запросов, изменения и удаления элементов. Также рассмотрены практические примеры кода и лучшие подходы к структурированию и обработке данных в реальном времени, что помогает разработчикам создавать динамические и масштабируемые приложения на гибкой NoSQL-архитектуре Firebase.
Торговые инструменты MQL5 (Часть 22): Построение гистограммы и функции вероятностной массы (PMF) биномиального распределения
В этой статье разрабатывается интерактивный график на MQL5 для биномиального распределения, объединяющий гистограмму смоделированных исходов с теоретической функцией массы вероятности. Он реализует расчеты среднего значения, стандартного отклонения, коэффициента асимметрии, коэффициента эксцесса, процентилей и доверительных интервалов, а также настраиваемые темы и метки, поддерживает перетаскивание, изменение размера и изменение параметров в реальном времени. Используйте его для оценки ожидаемых выигрышных сделок, вероятных просадок и доверительных диапазонов при проверке торговых стратегий.
От начального до среднего уровня: Объекты (IV)
Пожалуй, это самая веселая статья на данный момент. Так происходит, потому что здесь мы реализуем модификацию объекта, присутствующего в MetaTrader 5, чтобы создать другой, изначально отсутствующий на платформе. Конечно, то, что мы здесь рассмотрим, может показаться безумием, но это работает и имеет очень интересное цель.
Переосмысливаем классические стратегии (Часть 21): Разработка комбинированной стратегии на основе полос Боллинджера и RSI
В этой статье рассматривается разработка комбинированной алгоритмической торговой стратегии для рынка EURUSD. Эта стратегия сочетает в себе полосы Боллинджера и индикатор относительной силы (RSI). Исходные стратегии, основанные на правилах, давали высококачественные сигналы, но страдали от низкой частоты сделок и ограниченной прибыльностью. Мы проанализировали несколько итераций стратегии, выявив недостатки в нашем понимании рынка, повышенный уровень шума и пониженную эффективность работы стратегии. Благодаря надлежащему использованию алгоритмов статистического обучения, переносу цели моделирования на технические индикаторы, правильному масштабированию и сочетанию прогнозов машинного обучения с классическими правилами торговли, конечная стратегия позволила значительно повысить прибыльность и частоту сделок при сохранении приемлемого качества сигнала.
Осциллятор Parafrac: Комбинация индикаторов Parabolic SAR и Fractals
Мы рассмотрим, как объединить Parabolic SAR и индикатор Fractals для создания нового индикатора осцилляторного типа. Используя сильные стороны обоих инструментов, трейдеры могут разработать более точную и эффективную торговую стратегию.
Нейросети в трейдинге: Принятие торговых решений с учётом неопределённости (Окончание)
В статье мы доводим адаптацию фреймворка UncAD до цельной торговой архитектуры. Ранее реализованные блоки плотности рыночных состояний, оценки неопределённости, прогнозирования и планирования объединяются в модуль CNeuronUncAD. Затем система обучается на исторических данных EURUSD H1 и проходит проверку в MetaTrader 5. Итоги показывают практический потенциал подхода, но честно указывают на главный вызов — контроль просадки и усиление риск-менеджмента.
Переосмысливаем классические стратегии (Часть 20): Современная интерпретация стохастического осциллятора
В этой статье демонстрируется, как стохастический осциллятор (классический технический индикатор) можно использовать не только как инструмент торговли на возврате к среднему. Рассматривая индикатор с другой аналитической точки зрения, мы показываем, как знакомые стратегии могут раскрыть новую практическую ценность и лечь в основу альтернативных торговых правил, включая интерпретации следования за трендом. В конечном счете, в статье рассказывается о том, как каждый технический индикатор в терминале MetaTrader 5 содержит скрытый потенциал и как вдумчивый подход методом проб и ошибок позволяет выявить содержательные интерпретации, которые не лежат на поверхности.