Советник для размещения сделок на основе риска с графическим интерфейсом на графике (Часть 1): Проектирование пользовательского интерфейса
Узнайте, как создать аккуратную и профессиональную панель управления на графике в MQL5 для советника, размещающего сделки на основе риска. В этом пошаговом руководстве объясняется, как спроектировать функциональный графический интерфейс, позволяющий трейдерам вводить параметры сделки, рассчитывать размер лота и готовиться к автоматическому размещению ордеров.
Торговые инструменты на MQL5 (Часть 31): Создание интерактивной палитры инструментов в MQL5
Мы превращаем боковую панель "Палитра инструментов" из статической оболочки в интерактивную систему MQL5. В статье реализованы выдвижные панели для каждой категории, обработчик событий графика, механизм рисования с несколькими щелчками мыши (инструменты с одним, двумя и тремя щелчками), а также взаимодействие с мышью, включая перетаскивание, изменение размера нижнего края, прокрутку, состояния при наведении курсора и переключение тем в реальном времени. Вы сможете выбирать инструмент и размещать объекты графика непосредственно из палитры для анализа.
От начального до среднего уровня: Песочница и MetaTrader
Вы знаете, что такое песочница? Вы знаете, как с ней работать? Если ответ на любой из этих вопросов «нет», прочитайте эту статью, чтобы понять базовый принцип работы песочницы. И разберитесь с тем, почему MetaTrader 5 использует песочницу для обеспечения целостности некоторых своих данных. Материалы, представленные здесь, преследуют исключительно дидактические цели. Ни в коем случае не рассматривайте приложение как окончательное, целью которого не является изучение представленных концепций.
Разработка торговой стратегии с использованием подхода Volume Boundary
В мире технического анализа цена часто оказывается в центре внимания. Трейдеры тщательно размечают поддержку, сопротивление и паттерны, но нередко игнорируют ключевую силу, которая движет этими ценовыми движениями: объем. В этой статье рассматривается новый подход к анализу объема — индикатор Volume Boundary. Такое преобразование с использованием сложных сглаживающих функций, таких как кривая «бабочка» и тройная синусоида, облегчает интерпретацию данных и позволяет разрабатывать системные торговые стратегии.
От начального до среднего уровня: Произвольный доступ (I)
В сегодняшней статье мы впервые столкнемся с произвольным доступом к содержимому файла. Это относится как к записи, так и к чтению информации и данных, хранящихся в файле. Однако, поскольку эта тема достаточно обширна, чтобы осветить её в одной статье, здесь мы ограничимся лишь вводным описанием вопроса произвольного доступа.
От начального до среднего уровня: Навигация по песочнице
В данной статье мы рассмотрим два способа наблюдения за содержимым песочницы и даже взаимодействия с ним, используя MetaTrader 5 в качестве базовой платформы. Понимание содержания этой статьи имеет основополагающее значение для понимания того, что будет рассмотрено в последующих статьях.
Анализ CSV-данных (Часть 2): Построение конвейера экспорта и парсинга CSV промышленного уровня для количественного анализа стратегий
Файловая система MQL5 работает в строгой песочнице. Понимание флагов доступа и правил разрешения путей лежит в основе любого надёжного пайплайна экспорта. В статье создаётся класс CCSVExporter, который отвечает за создание файлов, безопасное дописывание и механизмы восстановления при ошибках. Также рассматриваются разбор CSV-файлов, токенизация полей, конфликты параллельного доступа и стратегии буферизации записи при интенсивных сериях оптимизации.
Моделирование рынка: Position View (V)
Несмотря на изложенное в предыдущей статье, это кажется чем-то простым. Там перед нами стоят различные проблемы и множество задач, которые нужно решить и выполнить. Вы, уважаемый читатель, можете представить, что всё легко и просто. По наивности вы просто принимаете то, что вам предлагают. И это ошибка, которой вам, уважаемый читатель, следует постараться избежать. Хуже простого принятия — непонимание и попытка использовать что-то без реального осознания того, что именно используется. Среди новичков часто встречается этап копирования и вставки кода. Если вы не хотите навсегда остаться на этом этапе, стоит научиться использовать определенные инструменты. Одним из наиболее часто используемых программистами инструментов является документация. Второй инструмент состоит из тестов и лог-файлов. Здесь мы увидим, как это сделать.
Архитектура машинного обучения для MetaTrader 5 (Часть 16): Вложенная кросс-валидация для несмещённой оценки
В статье представлен конвейер вложенной кросс-валидации V-in-V для финансовых данных, который устраняет утечку информации в трех точках принятия решений: подбор гиперпараметров, калибровка и итоговая оценка. Временное разделение на три зоны изолирует внутренний walk-forward поиск с правилом 1-SE от внешней walk-forward или CPCV-оценки, а изотоническая OOF (out-of-fold) калибровка обучается независимо. Итоговый UnifiedValidationCalibrator дает несмещенные оценки на вневыборочных данных и хорошо откалиброванные вероятности для продакшена.
От начального до среднего уровня: События в объектах (IV)
В этой статье мы завершим то, что было начато в предыдущей. То есть, полностью интерактивный способ изменения размеров объектов непосредственно на графике. Хотя многие представляют, что для создания подобного потребуется гораздо более глубокое знание MQL5, вы заметите, что с помощью простых концепций и базовых знаний мы можем реализовать способ работы с объектами непосредственно на графике. Это дает очень интересный и увлекательный результат.
Рыночные секреты Ларри Уильямса (Часть 3): Проверка неслучайного поведения рынка с помощью MQL5
Исследуйте, действительно ли финансовые рынки случайны, воспроизводя эксперименты Ларри Уильямса по поведению рынка с помощью MQL5. В этой статье показано, как простые тесты на основе поведения цены могут выявлять статистические перекосы в поведении рынка с помощью советника (Expert Advisor, EA).
Нейросети в трейдинге: Когнитивная инерция в анализе финансовых рынков (модуль временной согласованности)
В статье продолжается адаптация фреймворка CogDriver к финансовым временным рядам. Основное внимание уделено модулю временной согласованности TCM, который связывает текущее рыночное состояние с памятью ранее сохранённых запросов (Query). Разбираются ранжируемая память, расчёт оценки (Score) через Flash-Attention, обновление слотов памяти средствами OpenCL и построение слоя CNeuronCogDriverRankTCM в MQL5, что даёт готовый контур временной согласованности для последующих торговых моделей.
Моделирование рынка: Position View (VI)
В данной статье мы внесем ряд улучшений, чтобы индикатор позиции точно отражал реальное состояние дел на торговом сервере с точки зрения открытых позиций и их текущего состояния. Я должен напомнить, что эти приложения, которые будут здесь показаны, ни в коем случае не предназначены для замены каких-либо элементов, доступных в MetaTrader 5. Их также не следует использовать без должной осмотрительности и взвешенного подхода, поскольку их цель — представить обучающий код, то есть предназначенный исключительно для изучения принципов работы системы. Причина, по которой я называю этот код обучающим, заключается в том, что использование сообщений в некоторых случаях не является лучшим способом реализации определенных функций.
Автоматизация торговых стратегий в MQL5 (Часть 32): Создание системы распознавания гармонического паттерна "5 Drives" с использованием Price Action
В этой статье мы разрабатываем систему распознавания паттернов "5 Drives" на языке MQL5, которая определяет бычьи и медвежьи гармонические паттерны "5 Drives" с использованием точек разворота и коэффициентов Фибоначчи, совершая сделки с настраиваемыми уровнями входа, стоп-лосса и тейк-профита на основе выбранных пользователем параметров. Мы улучшим работу трейдеров с помощью визуальной обратной связи, используя графические объекты, такие как треугольники, линии тренда и подписи, для наглядного отображения структуры паттерна A-B-C-D-E-F.
Преодоление проблем доступности в торговых инструментах на MQL5 (Часть II): Включению голосовых функций в советнике с помощью Python-движка синтеза речи
Давайте обсудим, как можно сделать наших советников разговорчивыми, используя технологию преобразования текста в речь, при совместном применении Python и MQL5. После прочтения этой статьи вы ознакомитесь с рабочим примером советника, который озвучивает динамическую рыночную информацию. Вы освоите применение TTS (преобразование текста в речь), функции WebRequest, и узнаете, как библиотеки Python интегрируются с языком MQL5 для создания по‑настоящему голосового торгового инструмента.
От начального до среднего уровня: События в объектах (III)
В данной статье мы подготовим базу для того, что будет рассмотрено в следующей публикации. Мы также рассмотрим, как разрешить редактирование и перемещение объекта типа OBJ_LABEL в полностью интерактивном режиме. Иными словами, мы можем изменить как текст, так и положение объекта OBJ_LABEL, не открывая окно свойств объекта.
Теория графов: Алгоритм Форда—Фалкерсона для оценки ликвидности и пропускной способности рынка
В статье представлен советник на MQL5, который адаптирует метод максимального потока Форда-Фалкерсона в фильтр ликвидности и пропускной способности. Рыночные структуры — максимумы/минимумы свингов, ценовой дисбаланс (FVG), ордер-блоки и пулы ликвидности — образуют ориентированный граф с пропускной способностью ребер, определяемой объемом, ценовой реакцией, расстоянием и качеством структуры. Максимальный поток позволяет оценить возможности ICT-сделок, отфильтровать слабые пути и использовать динамическое управление размером позиции для последовательного двухэтапного процесса принятия решений.
Моделирование рынка: Position View (II)
В этой статье я покажу как максимально просто и практично использовать индикатор для отслеживания открытых позиций на торговом сервере. Я делаю это именно так, шаг за шагом, чтобы показать, что вам не обязательно переносить всё это в советник. Многие из вас, вероятно, уже привыкли к этому по той или иной причине. На самом деле это ерунда, так как по мере развития данной реализации станет ясно, что вы сможете создавать или реализовать различные типы индикаторов для этой цели.
Рыночные секреты Ларри Уильямса (Часть 8): Объединение волатильности, структуры и временных фильтров
Подробный разбор создания советника MQL5 для торговли пробоями волатильности, вдохновленного идеями Ларри Уильямса: свинг-структура, входы на основе волатильности, фильтр торгового дня недели, временные фильтры и гибкое управление риском, с полной реализацией и воспроизводимой тестовой конфигурацией.
Рыночные секреты Ларри Уильямса (Часть 13): Автоматизация разворотных паттернов Hidden Smash Day
В статье создается прозрачный советник MQL5 для скрытых разворотов Smash Day Ларри Уильямса. Сигналы формируются только на новых барах: сначала проверяется сетап-бар, затем он подтверждается, когда следующая сессия торгуется за его экстремумом. Риск управляется через ATR или структурные стопы с заданным соотношением риска и прибыли, размер позиции может быть фиксированным или рассчитываться от баланса, а фильтры направления и правило одной позиции помогают обеспечить воспроизводимость тестов.
Моделирование рынка: Position View (VII)
В данной статье мы начнем вносить некоторые улучшения в индикатор позиции, чтобы иметь возможность взаимодействовать с ним и изменять ценовые линии или закрывать позицию напрямую через взаимодействие с индикатором позиции. Прежде чем мы перейдем к реализации, стоит кое-что уточнить, особенно для тех, кто об этом не знает. Индикатор никак не может использоваться для изменения чего-либо на торговом сервере. Это связано с тем, что в MetaTrader 5 действует система безопасности, которая позволяет воздействовать на ордера и позиции только советникам. Никакое другое приложение, кроме советника, не сможет манипулировать ордерами или позициями.
Торговые инструменты MQL5 (Часть 23): Трёхмерные графики с управляемой камерой и поддержкой DirectX для анализа распределений
В этой статье мы усовершенствовали инструмент построения графиков биномиального распределения в MQL5, интегрировав DirectX для 3D-визуализации, что позволило переключаться между 2D и 3D режимами с управляемым камерой поворотом, масштабированием и автоматическим подбором положения камеры для иммерсивного анализа. Мы визуализируем столбцы гистограммы в 3D, опорные плоскости и оси наряду с кривой функции вероятностной массы, сохраняя при этом 2D-элементы, такие как панели статистики, легенда и настраиваемые темы, градиенты и метки.
Двумерные копулы в MQL5: (Часть 3) Реализация и настройка смешанных моделей копул
В статье наш набор инструментов для работы с копулами расширяется смешанными копулами, реализованными непосредственно в MQL5. Мы строим смеси Клейтона–Франка–Гумбеля и Клейтона–Стьюдента-t–Гумбеля, оцениваем их с помощью EM и вводим управление разреженностью через SCAD с кросс-валидацией. Предоставленные скрипты настраивают гиперпараметры, сравнивают смеси с использованием информационных критериев и сохраняют обученные модели. Практики могут применять эти компоненты для учета асимметричной хвостовой зависимости и встраивать выбранную модель в индикаторы или советники.
Создание торговых систем с искусственным интеллектом на MQL5 (Часть 3): Переход к прокручиваемому интерфейсу с единым окном чата
В этой статье мы дорабатываем программу на языке MQL5 с интеграцией ChatGPT, добавляя прокручиваемый интерфейс с единым окном чата, отметками времени и динамической прокруткой истории диалогов. Система использует разбор JSON для обработки сообщений в многоходовом диалоге и поддерживает настраиваемые режимы полосы прокрутки и эффекты наведения, которые повышают удобство работы.
Возможности Мастера MQL5, которые вам нужно знать (Часть 76): Использование паттернов Awesome Oscillator и каналов конвертов с обучением с учителем
В продолжение нашей предыдущей статьи о паре индикаторов Awesome Oscillator и каналов конвертов (Envelope Channels), мы рассмотрим, как эту пару можно улучшить с помощью обучения с учителем. Awesome Oscillator и канал конвертов — это взаимодополняющее сочетание инструментов, позволяющих выявлять тренды и создавать уровни поддержки/сопротивления. Наш подход к обучению с учителем представляет собой сверточную нейронную сеть (CNN), которая использует ядро скалярного произведения (Dot Product Kernel) с механизмом внимания во времени (Cross-Time-Attention) для определения размеров своих ядер и каналов. Как обычно, это делается в пользовательском файле класса сигналов (signal class), который взаимодействует с Мастером MQL5 для сборки советника.
Изучение Стандартной библиотеки MQL5 (часть 1): Знакомство с CTrade, CiMA и CiATR
Стандартная библиотека MQL5 — чрезвычайно полезный инструмент при разработке торговых алгоритмов для MetaTrader 5. В этой серии мы будем учиться создавать с помощью нее эффективные торговые инструменты для MetaTrader 5. Под инструментами подразумеваются собственные советники, индикаторы и другие вспомогательные средства. Сегодня мы разработаем трендового советника с использованием классов CTrade, CiMA и CiATR. Тема будет полезна всем — и начинающим, так и опытным разработчикам. Приятного чтения.
MetaTrader и Google Таблицы через PythonAnywhere: Руководство по безопасному потоку данных
В этой статье показан безопасный способ экспорта данных MetaTrader в Google Таблицы. Google Таблицы — очень ценное решение, поскольку оно работает в облаке, а сохраненные там данные доступны в любое время и из любого места. Поэтому трейдеры могут получать доступ к торговым и связанным с торговлей данным, экспортированным в Google Таблицы, и выполнять дальнейший анализ для будущей торговли в любое время, где бы они ни находились.
Знакомство с языком MQL5 (Часть 42): Руководство для начинающих по работе с файлами в MQL5 (IV)
В этой статье показано, как создать индикатор на языке MQL5, который считывает торговую историю из CSV, извлекает значения из столбца Profit($) и общее число сделок, а затем рассчитывает накопительную кривую баланса. Мы строим кривую в отдельном окне индикатора, автоматически масштабируем ось Y и рисуем горизонтальную и вертикальную оси для выравнивания. Индикатор обновляется по таймеру и перерисовывается только при появлении новых сделок. Необязательные метки показывают прибыль или убыток по каждой сделке, помогая прямо на графике оценивать результаты торговли и просадки.
Торговые инструменты MQL5 (Часть 26): Интеграция частотного биннинга, энтропии и критерия хи-квадрат в визуальный анализатор
В этой статье мы разработаем инструмент частотного анализа на языке MQL5, который группирует данные о ценах в гистограммы, вычисляет энтропию для оценки информационного содержания и применяет тесты хи-квадрат для проверки соответствия распределения, а также интерактивные логи и статистические панели для более глубокого понимания рыночной структуры. Мы интегрируем режимы обновления по барам и по тикам, рендеринг с суперсэмплированием для плавной визуализации и перетаскиваемые/изменяемые по размеру объекты Canvas с автоматически прокручивающимися логами для повышения удобства использования при выполнении торгового анализа.
Автоматизация торговых стратегий на MQL5 (Часть 35): Разработка торговой системы на основе брейкер-блоков
В этой статье мы создадим на MQL5 торговую систему на основе брейкер-блоков. Она определяет диапазоны консолидации, обнаруживает пробои и подтверждает брейкер-блоки по свинговым точкам, чтобы торговать их ретесты с заданными параметрами риска. Система динамически отображает ордер-блоки и брейкер-блоки, а также связанные с ними подписи и стрелки; кроме того, система поддерживает автоматическую торговлю и использование трейлинг-стопа.
Торговые инструменты MQL5 (Часть 25): Расширяем поддержку нескольких распределений с интерактивным переключением
В этой статье мы расширим инструмент построения графиков на MQL5 для поддержки семнадцати статистических распределений с циклическим перебором распределений с помощью значка переключения в заголовке. Мы добавим загрузку данных для каждого типа, дискретное и непрерывное вычисление гистограмм и теоретические функции распределения вероятностей/плотности для каждой модели, а также динамические заголовки, метки осей и панели параметров, которые автоматически адаптируются. Результат позволяет накладывать кривые разных распределений на данные одной и той же выборки и сравнивать качество соответствия моделей из разных семейств распределений.
Разработка инструментария для анализа Price Action (Часть 53): Тепловая карта плотности паттернов для выявления зон поддержки и сопротивления
В этой статье представлен советник Pattern Density Heatmap – инструмент картирования ценовой динамики, который преобразует повторяющиеся обнаружения свечных паттернов в статистически значимые зоны поддержки и сопротивления. Вместо того чтобы рассматривать каждый сигнал по отдельности, советник агрегирует обнаружения в фиксированные ценовые зоны (бины), оценивает их плотность с опциональным взвешиванием по давности и подтверждает уровни по данным старшего таймфрейма. Полученная тепловая карта показывает уровни, на которые рынок исторически реагировал, и помогает заранее выбирать момент входа, управлять риском и повышать уверенность в стратегии независимо от стиля торговли.
Создание пользовательских индикаторов в MQL5 (Часть 3): Улучшение многошкальной визуализации с секторным и круговым стилями
В этой статье мы расширяем индикатор со шкальной визуализацией в MQL5, добавляя поддержку нескольких осцилляторов и выбор отдельного или комбинированного отображения через перечисление. Мы вводим секторный и круглый стили шкал с помощью производных классов от базового класса шкалы, улучшая отрисовку корпуса шкалы дугами, линиями и полигонами для более аккуратного визуального представления.
От начального до среднего уровня: События в объектах (II)
В данной статье мы рассмотрим принцип работы трех последних типов событий, которые может генерировать объект. Разбираться в этом будет очень увлекательно, так как в итоге мы сделаем то, что многим может показаться безумием, но это вполне возможно и дает весьма удивительный результат.
Торговые инструменты MQL5 (Часть 27): Отрисовка параметрической кривой-бабочки на холсте Canvas
В этой статье мы исследуем кривую-бабочку — математическую кривую, задаваемую параметрическим уравнением, и визуализируем ее на canvas в MQL5. Мы создаём интерактивное окно визуализации с перетаскиваемым окном canvas с изменяемым размером, рендерингом кривых с использованием технологии суперсэмплирования, градиентными фонами и легендой, сегментированной по цветам. В итоге у нас есть полнофункциональный визуальный инструмент, который отрисовывает кривую-бабочку непосредственно на графике MetaTrader 5.
Разработка инструментария для анализа Price Action (Часть 65): Создание системы для мониторинга и анализа построенных вручную уровней Фибоначчи
Инструмент коррекции Фибоначчи – важный элемент анализа Price Action, указывающий ключевые уровни возможной рыночной реакции. Однако его эффективность часто ограничена необходимостью постоянного ручного наблюдения, из-за чего часть сетапов может быть пропущена. В этой части серии представлен инструмент, который с помощью MQL5 синхронизирует и активно отслеживает вручную построенные уровни Фибоначчи, сочетая дискреционный подход с автоматизированным контролем.
Преодоление проблем доступности в торговых инструментах на MQL5 (Часть IV): Удаленная голосовая торговля
Узнайте о практическом способе выполнения сделок в MetaTrader 5 из голосовых сообщений Telegram с помощью промежуточного ПО на Python и советника MQL5, выступающего в качестве HTTP-клиента. В статье рассматриваются архитектура, опрос WebRequest, очереди в памяти, парсинг JSON с удалением нулевых символов-терминаторов и ограниченная грамматика команд с размером лота по умолчанию 0,001. Вы настроите среду и проверите задержку передачи данных, подходящую для мобильных интернет-соединений.
Анализ CSV-данных (Часть 1): Механизм экспорта CSV при многоядерной оптимизации в MQL5
При многоядерной оптимизации в MetaTrader 5 результаты могут незаметно теряться, когда параллельные агенты одновременно обращаются к одному CSV-файлу. Повторно используемый механизм экспорта MQL5 применяет итерационную спин-блокировку, чтобы надёжно открыть файл и добавлять строки без потерь. Он сохраняет пользовательские метрики, включая коэффициент Сортино, среднюю продолжительность сделки и показатели качества сигналов — запаздывание и частота ложных разворотов (whipsaws) — в сводном CSV-файле для последующей аналитической обработки.
Алгоритм оптимизации шимпанзе: от ChOA к BChimp
Алгоритм оптимизации шимпанзе (ChOA) подражает групповой охоте приматов с разделением ролей, а его бинарная ветвь BChimp переносит эту механику в задачи отбора признаков. Реализуем непрерывное ядро в C_AO, по пути находим и исправляем унаследованный дефект коэффициента — незаметный за бинаризацией, но разрушающий поиск в непрерывной области. Аннотация даёт готовую реализацию и практические выводы о качестве и устойчивости поиска.
Разработка динамического мультивалютного советника (Часть 8): Ротация капитала в зависимости от времени суток
В этой статье представлен механизм ротации капитала по торговым сессиям на языке MQL5, который распределяет риск по торговым сессиям вместо равномерной экспозиции в течение всего дня. Мы подробно разберем бюджеты риска по сессиям в рамках дневного лимита, динамический расчет лота на основе оставшегося риска сессии и автоматические ежедневные сбросы. При исполнении сделок используется специфичная для каждой сессии логика пробоя и торговли против ложного движения с подтверждением волатильности по ATR. В результате читатель получает практический шаблон, который позволяет направлять капитал туда, где условия конкретной сессии статистически наиболее сильны, сохраняя при этом контроль над экспозицией в течение всего дня.