MQL5 Алготрейдинг
19.4K subscribers
2.72K photos
6 videos
2.73K links
Лучшие публикации самого большого общества алготрейдеров.

Подпишись, чтобы быть в курсе современных технологий и развития торговых систем.
Download Telegram
Equity Guard — утилита риск-менеджмента на уровне счета для контроля дневного убытка. При достижении заданного порога закрываются все позиции и отложенные ордера, после чего счет удерживается в режиме блокировки до следующего ежедневного сброса.

Контроль ведется по всему счету, поэтому инструмент работает с любыми символами и таймфреймами; достаточно одного запуска на счет. Время сброса настраивается по серверному времени брокера. Дневной лимит задается процентом от баланса или equity на начало дня либо фиксированной суммой в валюте счета. Порог срабатывания задается как доля лимита, что позволяет блокировать торговлю до пересечения жесткой границы.

Поддерживается правило Flat: во время блокировки любые позиции, открытые другими советниками, немедленно закрываются. Предусмотрены кнопки «Закрыть всё» и «Lock/Unlock» с подтверждением. Панель статуса отображает динамику дневного убытка...

👉 Читай | Коды | @mql5ru
1
В продолжение разработки торговых систем на MQL5 после CRT/AMD (часть 41) предлагается сессионная реализация Opening Range Breakout (ORB) с параметризацией под любой рынок и расписание.

Система задаёт время старта сессии и длительность начального диапазона в минутах, рассчитывает фактические High/Low на выбранном таймфрейме и отслеживает пробой вверх или вниз. При необходимости добавляется подтверждение по закрытию N баров, сделки открываются только по направлению пробоя, не более одной позиции на сторону за сессию.

Stop Loss/Take Profit поддерживаются в динамическом режиме от размера диапазона или в статических пунктах, RR настраивается. После достижения минимальной прибыли включается трейлинг-стоп по пунктам. Реализована визуализация: прямоугольник диапазона, линии времени, уровни High/Low и стрелки входа, плюс корректная фильтрация по magic number и очистка объектов при OnDeinit.

👉 Читай | Коды | @mql5ru
1
Статья разбирает FDA (Flow Direction Algorithm) как популяционный оптимизатор для подбора параметров торговых систем и показывает, почему «идеальные» результаты из публикаций часто возникают из-за ошибок формул, а не из-за силы поиска.

В каноническом FDA обнаружены три артефакта: стягивание координат к нулю, зависимость шага от абсолютных координат (эффект «воронки» к началу системы), и скрытое диагональное движение из-за скалярного шума. После их удаления на стенде алгоритм даёт лишь ~39–40%: у механизма нет тонкой доводки, шаги становятся сингулярными при близких соседях, фактически работает только притяжение к лучшему.

Далее предложены точечные правки: тяжёлохвостые зонды с нижним радиусом, сохранение успешных зондов в популяции и частичное покоординатное перемещение. Это поднимает итог до 54.7% при честном бюджете прогонов, делая метод практичнее для оптимизации в MT5.

👉 Читай | Фриланс | @mql5ru
3
К готовому торговому сигналу добавлен отдельный вероятностный фильтр на базе VQC, реализованной как классическая линейная алгебра на CPU. Квантового железа и ускорения нет; схема используется как удобная параметризация нелинейного преобразования признаков.

Сигнал строится в два слоя: графовый fair-value скальпер по 28 FX-парам считает справедливую цену через мультихоп‑пути (DFS) и формирует направление по знаку отклонения. VQC независимо выдаёт прогноз в диапазоне [-1, 1] по 8 фичам и подтверждает сделку только при совпадении направления, дополнительно управляя лотом через Kelly.

Ключевая инженерная часть — онлайн-обучение весов на каждом баре через точный градиент parameter-shift и Adam без внешних процессов. Отдельно описаны конформная калибровка порога, детектор режимов волатильности, корреляционная маска фичей и Page-Hinkley для дрейфа концепции.

В бэктесте MT5 (EURUSD M1, 2026...

👉 Читай | VPS | @mql5ru
2
Часть 43 развивает предыдущий ORB-подход и переходит к адаптивной стратегии на канале линейной регрессии в MQL5. Канал строится по МНК на заданном периоде, а его границы задаются полосами стандартного отклонения.

Торговая логика включается только при достаточном наклоне регрессии (фильтр тренда). Канал продлевается по барам и полностью пересчитывается, если цена уходит от него дальше заданной доли ширины; входы берутся на пробое изнутри, выходы — при пересечении средней линии. Поддерживаются фиксированные SL/TP, лимиты позиций и режим Inverse для инверсии сигналов.

Отдельно проработана инженерная часть: расчёты выполняются раз в бар (IsNewBar), торговля через CTrade с MagicNumber, а визуализация собрана из закрашенных зон, трендовых линий, меток уровней и стрелок сигналов с корректной очисткой объектов.

👉 Читай | Форум | @mql5ru
🔥1
В системе репликации/моделирования для MQL5 устранён кейс, когда при удалённых SL/TP на графике не видно направление позиции. В C_ElementsTrade добавлен отдельный графический объект с глифом Wingdings, код выбирается по флагу направления и формируется через ushort-массив и CharArrayToString.

Изменения затрагивают конструктор C_ElementsTrade и небольшой участок C_IndicatorPosition (передача направления). Рекомендация сохраняется прежней: минимальные правки и обязательная валидация, чтобы состояние на графике не расходилось с подтверждённым сервером.

Дополнительно начато улучшение UX при перетаскивании SL/TP: через DispatchMessage индикатор мыши получает команду скрывать/показывать горизонтальную линию, чтобы было понятно, какая ценовая линия сейчас редактируется.

👉 Читай | VPS | @mql5ru
🔥1
На профильных форумах регулярно поднимается запрос на индикатор, считающий серии последовательных свечей роста и падения. Для MT5 подобных решений заметно меньше, а многие существующие варианты показывают только текущую длину серии без дополнительных ориентиров для фильтрации рыночного шума.

Consecutive_Bars для MT5 ведёт раздельный счёт: синяя линия отражает количество подряд идущих восходящих баров, красная — нисходящих. При появлении бара в противоположном направлении соответствующая линия сбрасывается к 0. Это позволяет задавать порог на уровне наиболее частых «ложных колебаний» и использовать его как фильтр.

Обновление до версии 1.50 добавляет две скользящие средние для оценки моментов, когда серия превышает своё среднее значение по росту и падению. Нулевые значения исключаются из расчётов. Исправлены мерцание и переполнение стека, повышена производительность.

👉 Читай | Фриланс | @mql5ru
4
Индикатор многофреймовой свечи показывает, где находится текущая цена внутри формирующейся свечи на четырёх выбранных ТФ (например, M15, H1, H4, D1). Для сопоставления разных диапазонов применяется нормализация: (Price − Low) / (High − Low) * 100.

Значения около 0% соответствуют зоне минимума свечи, около 100% — зоне максимума. Каждый ТФ выводится отдельной вертикальной шкалой, без переключения графиков.

Панель отображает выбранные интервалы, положение цены, классификацию по зонам, направление тела текущей свечи, оставшееся время до закрытия, среднюю позицию, разброс (max−min) и сводку по совпадениям у границ.

Настройки включают выбор ТФ, источник цены (Bid либо close из CopyRates), порог близости к краям, число совпадающих ТФ, опциональные оповещения. Индикатор не прогнозирует и не формирует входы; используется как контекст по положению цены.

👉 Читай | Нейросети | @mql5ru
1
Статья разбирает, как добавить торговой RL-модели внешнюю долговременную память, чтобы перед решением извлекать завершённые исторические сценарии, а не полагаться только на веса сети и короткое окно рынка. Идея перенесена из Retrieval-Augmented подхода: искать примеры по смысловой структуре сценария и давать их модели как контекст, не копируя старые сделки.

Ключевая инженерная проблема — ограниченный объём памяти при непрерывном накоплении опыта. Вместо хранения всех эпизодов предлагается иерархия: центроиды рыночных сценариев и локальные центроиды действий внутри каждого сценария, с объединением близких записей и весами по числу наблюдений.

Реализация в MT5 описана через CNeuronRAGMemory (OpenCL-слой): запись выполняется только по подтверждённым фактам исполнения и результата, чтение возвращает Top-K сценариев в виде фиксированных RAG-токенов (действие, релевантность, средний итог)...

👉 Читай | Учебник | @mql5ru
3
Часть 44 развивает предыдущую работу: вместо канала регрессии реализуется Change of Character (CHoCH) — фиксация разворота по пробою последнего свингового экстремума против текущей структуры.

Советник сканирует бары, находит свинговые максимумы/минимумы и классифицирует их как HH/LH/HL/LL, формируя направление тренда. Сигналы строятся на подтверждённом пробое: покупки выше свингового максимума в нисходящем тренде, продажи ниже свингового минимума в восходящем.

В реализации на MQL5 добавлены режимы PerBar/PerTick, лимит одновременных позиций, расчёт SL/TP в пунктах с параметром R:R, опциональный трейлинг-стоп и строгая фильтрация позиций по magic number.

Отдельное внимание — визуализации: метки свингов, линии пробоя CHoCH и динамический размер шрифта, который пересчитывается при смене масштаба графика через события Chart.

👉 Читай | Коды | @mql5ru
1
Статья разбирает ARD-регрессию как байесовскую линейную модель, которая сама оценивает полезность каждого признака через индивидуальные точности λj. Неинформативные и мультиколлинеарные признаки автоматически «сжимаются» к нулю, снижая переобучение и упрощая модель по сравнению с МНК и Bayesian Ridge.

Обучение построено на EM-подобных итерациях: на E-шаге считается гауссов апостериор весов (μ, Σ), на M-шаге обновляются λ и точность шума α через evidence maximization. Для случая D>N используется тождество Вудбери, а pruning ускоряет расчёты, выкидывая признаки с λ выше порога.

Реализация ARDRegression на MQL5 сверена со scikit-learn и совпадает по весам, α и неопределённости прогноза. Для нелинейностей добавлен CRBFSampler (Random Fourier Features), позволяющий аппроксимировать RBF-ядро и применять ARD в задачах трейдинга без тяжёлых NxN ядерных матриц.

👉 Читай | Фриланс | @mql5ru
2
Мастер MQL5 ускоряет сборку советников за счет стандартизированной архитектуры, модульных компонентов, встроенного риск-менеджмента и готовых сигналов. Для опытных разработчиков ценность в генерации каркаса, расширяемых интерфейсах, отладке и инфраструктуре тестирования.

Кастомные сигналы можно строить поверх CExpertSignal, добавляя параметры распознавания и веса паттернов через публичные сеттеры, а торговые решения реализовать в LongCondition/ShortCondition. Для свечных моделей применимы формализованные критерии: доджи через порог тела к диапазону, поглощение через соотношения и направление, “молот” и “падающая звезда” через длины теней.

Критичный момент интеграции: без блока метаданных мастера класс не появится в списке сигналов. Нужен корректный заголовок описания с Type=SignalAdvanced, name/shortName и описанием параметров, иначе модуль остается скрытым в UI и недоступен для ген...

👉 Читай | Справка | @mql5ru
2
В статье показано, как расширить MQL5-советник от логики CHoCH к торговле по Inverted Fair Value Gap (IFVG): поиск бычьих/медвежьих FVG на последних закрытых барах с фильтром минимального размера и загрузкой исторических зон при OnInit.

Ключ — конечный автомат зоны: Normal → Mitigated (пробой дальней границы) → ret (повторный вход) → Inverted (закрытие за дальней границей при выходе изнутри зоны). Инверсия становится торговым сигналом: после медвежьего FVG открывается buy, после бычьего — sell, со SL за границей зоны и фиксированным TP; добавлены режимы лимита сделок на одну FVG и трейлинг.

Реализация включает структуру FVGZone, массив активных зон, игнорирование перекрывающихся FVG и ограничение их количества, плюс наглядную отрисовку прямоугольников, подписей состояния/счетчика сделок и иконок митигации для удобного тестирования в Strategy Tester.

👉 Читай | Сигналы | @mql5ru
5
Разбор показывает, где очереди и списки упираются в ограничения: очередь не дает эффективно вставлять/удалять элементы в середине, а список при больших объемах данных заставляет искать линейным проходом, что быстро становится узким местом.

Дерево вводится как следующий шаг: ключевой признак не “цепочка”, а разветвление. Узлы соединены ветвями, выбранный корень влияет на свойства и скорость поиска, поэтому дерево нужно строить под цель задачи.

В MQL5 демонстрируется простая модель бинарного дерева поиска: узел хранит значение и два указателя (лево/право), вставка идет через сравнение и рекурсию. Отсортированный вывод получается не “сам по себе”, а за счет обхода in-order: левое поддерево, текущий узел, правое поддерево. Практически это основа быстрых поисков, классификации и более сложной логики в алгоритмах и торговых системах.

👉 Читай | Учебник | @mql5ru
1
KCI Embedded Sniper — советник для входа на разворотах с полностью встроенным расчётом Kinetic Compression Index. Математика KCI (скорость, кинетическое смещение, дисперсия энергии, фазовая скорость) перенесена в основную логику, без внешних индикаторов и вызовов iCustom(), что устраняет асинхронные задержки и проблемы синхронизации буферов.

Сигналы подтверждаются на закрытых барах через IsNewBar(), что исключает перерисовку. Сделка открывается при фиксации «Singularity» и подтверждении импульса через Williams %R, с фильтром по уровням перекупленности/перепроданности.

Риск-модуль использует ED: InpEDMultiplierSL/TP задаёт динамические SL/TP в зависимости от текущей волатильности. Ключевые точки для доработки: MTF-подтверждение, экспорт матриц KCI (VQ/KD/PV) для ML-модели, адаптивный размер позиции по current_ed, добавление фильтра по тиковому объёму.

👉 Читай | Котировки | @mql5ru
2🏆2
Индекс кинетического сжатия (KCI) — пользовательский осциллятор для фиксации локального истощения движения и событий сжатия. Расчеты выполняются внутри одного индикатора на базе цены и объема, без цепочки внешних дескрипторов стандартных модулей, что упрощает интеграцию в EA и снижает риски ошибок при работе с буферами.

Модель опирается на набор кинематических метрик (скорость, смещение, дисперсия, фазовые компоненты) с последующей нормализацией через скользящий Z-score и агрегацией в Raw_KCI. Для защиты от перерисовки сигналы предполагается проверять только на закрытых свечах.

Для интеграции используется фиксированная карта буферов: KCI_Main, KCI_Color, Signal_Buy, Signal_Sell и внутренние массивы (VQ, KD, ED, PV, Raw_KCI). При вызове из советника требуется контроль дескриптора, проверка CopyBuffer и корректная нормализация SL/TP по разрядности символа.

Ограничения: tick_volume в ...

👉 Читай | Коды | @mql5ru
1
Клонирование поведения дает стабильные результаты, но требует качественных демонстраций. Обучение с подкреплением переносит субоптимальные данные, однако оптимизация усложняется в высокоразмерных стохастических средах. DWSL (Distance Weighted Supervised Learning) предложен как офлайн supervised-подход, сходящийся к оптимальной политике в пределах траекторий датасета.

DWSL моделирует распределение попарных расстояний «состояние–цель» внутри траекторий и получает мягкую оценку минимума через LogSumExp. Политика обучается выбирать действия по сокращению оцененной дистанции до цели, используя веса на основе преимущества, а не абсолютной близости к цели.

В практической реализации на MQL5 метод адаптируется под задачу максимизации доходности, без разметки подцелей, с Actor-Critic и стохастическим латентным кодировщиком (SMAC), плюс приоритизация траекторий (CWBC) и отдельный кодировщик эм...

👉 Читай | Календарь | @mql5ru
1
Индикатор рыночной структуры Smart Money Concepts (SMC/ICT) для MetaTrader 5 выполняет разметку последовательности свинг-максимумов и свинг-минимумов и строит структуру прямо на графике.

Отображаются фрактальные свинги из N баров (стрелки), BOS как закрытие за пределами последнего свинга по тренду, CHoCH как закрытие за пределами последнего свинга против тренда. Дополнительно отмечаются блоки ордеров (последняя свеча противоположного направления перед пробоем), зоны FVG по паттерну из 3 свечей и уровни QML при CHoCH пунктиром по левому плечу.

Параметры: InpSwingN, InpBreakOnClose, InpMaxBars, переключатели линий/подписей, FVG/OB/QML и их цвета. Поддерживаются любые символы и таймфреймы; разметка подтверждается закрытием и пересчитывается на каждом новом баре.

👉 Читай | Календарь | @mql5ru
5
Торговый журнал формируется скриптом, который за один проход извлекает сырые данные из терминала и выгружает историю счета за последние N дней. Сделки агрегируются в закрытые позиции по идентификатору позиции, поддерживаются режимы неттинга и хеджирования, корректно учитываются частичные исполнения. Цены входа и выхода рассчитываются как средневзвешенные по объему.

CSV содержит: ID позиции, символ, направление, объем, время и цену открытия, время и цену закрытия, результат в пунктах с учетом направления, комиссию, своп, чистую прибыль, длительность в минутах, комментарий первой сделки для фильтрации по стратегиям.

Параметры: период, имя файла (или авто TradeJournal_YYYY-MM-DD.csv), разделитель «;» для Excel, запись в общую папку, фильтр по текущему символу. Файл сохраняется в MQL5\Files или общей Files. Открытые позиции и сделки с входом вне периода исключаются. Экспорт не изменяет ...

👉 Читай | Учебник | @mql5ru
1
В системе репликации рыночных данных устранено дублирование логики, из‑за которого возникали сбои тикового объема при генерации баров из тиков и при быстрых перемотках.

Код чтения/преобразования тиков вынесен в общий путь, а создание 1‑минутных баров перенесено в ту же точку выполнения. Функция из C_FileTicks переведена из private в protected для использования в C_Replay при сохранении инкапсуляции.

В C_Simulation переработан механизм завершения моделирования без повторов кода и без наследования. Добавлены инициализация данных актива, корректная ширина символов, работа через указатель и единая точка входа/выхода.

Для режима ФОРЕКС начато моделирование отображения по BID: генерация случайного времени внутри минуты, базовая генерация BID в диапазоне High/Low с нормализацией, фиксация спреда, функции Unique и Mount_BID для защиты экстремумов и корректного ASK, плюс синхронизация под о...

👉 Читай | VPS | @mql5ru
3