Разработка инструментария для анализа Price Action (Часть 36): Прямой доступ Python к потокам рыночных данных MetaTrader 5
Раскройте потенциал терминала MetaTrader 5 по максимуму с помощью Python-экосистемы анализа данных и официальной клиентской библиотеки MetaTrader 5. В этой статье показано, как пройти аутентификацию и напрямую передавать тики и минутные бары в хранилище Parquet, применять продвинутые методы создания признаков с помощью ta и Prophet, а также обучать модель градиентного бустинга с учетом временной структуры данных. Затем мы разворачиваем легковесный сервис Flask, который выдает торговые сигналы в реальном времени. Независимо от того, строите ли вы гибридную количественную торговую систему или усиливаете советник машинным обучением, в результате у вас будет надежный сквозной пайплайн для алгоритмической торговли на основе данных.
Нейросети в трейдинге: Унифицированное смешивание признаков для торговых решений (Окончание)
В статье представлена завершающая часть адаптации фреймворка UniMixer средствами MQL5, включая построение SiameseNorm и объекта верхнего уровня CNeuronUniMixerBlock. Описана полная цепочка обработки рыночных данных от токенизации и контекстного выделения до сценарного моделирования и смешивания признаков. Приведены результаты тестирования на исторических данных EURUSD, демонстрирующие умеренную прибыль.
Возможности Мастера MQL5, которые вам нужно знать (Часть 72): Использование паттернов MACD и OBV с обучением с учителем
В продолжение нашей предыдущей статьи о паре индикаторов MACD и OBV, мы рассмотрим, как эту пару можно улучшить с помощью машинного обучения. MACD и OBV — это взаимодополняющая пара, отражающая тренд и объем. Наш подход к машинному обучению использует сверточную нейронную сеть (convolution neural network, CNN), которая задействует экспоненциальное ядро (Exponential kernel) для определения размеров своих ядер и каналов при настройке прогнозов этой пары индикаторов. Как обычно, это делается в пользовательском файле класса сигналов (signal class), который взаимодействует с Мастером MQL5 для создания советника.
Тестер стратегий для Python и MetaTrader 5 (Часть 05): Тестер стратегий для нескольких символов и таймфреймов
В этой статье представлен совместимый с MetaTrader 5 рабочий процесс бэктестинга, масштабируемый на разные символы и таймфреймы. Мы используем HistoryManager для параллельного сбора данных, синхронизации баров и тиков со всех таймфреймов и запуска изолированных по символам обработчиков OnTick в потоках. Вы узнаете, как режимы моделирования влияют на скорость и точность, когда стоит полагаться на данные терминала, как уменьшить операции ввода-вывода с помощью событийных обновлений и как собрать полноценного мультивалютного торгового робота.
Нейросети в трейдинге: Многодоменная архитектура анализа финансовых данных (MDL)
Статья знакомит с фреймворком MDL, который предлагает токенизацию признаков, сценариев и задач для системной организации модели и эффективного формирования контекста. В практической части реализованы CNeuronPerTokenFFN для локальной обработки токенов и CNeuronScenariosToken, генерирующий сценарные токены через 2D‑SSM и FieldPatternEmbedding. Такой подход ускоряет анализ длинных временных рядов и повышает точность интерпретации рыночных данных.
Разработка системы репликации (Часть 74): Новый Chart Trade (I)
В этой статье мы изменим последний код, показанный в данной серии о Chart Trade. Эти изменения необходимы, чтобы адаптировать код к текущей модели системы репликации/моделирования. Представленные здесь материалы предназначены только для обучения. Ни в коем случае не рассматривайте его как окончательное приложение, целью которого не является изучение представленных концепций.
От новичка до эксперта: Создание подробных торговых отчетов с помощью советника Reporting EA
В настоящей статье мы подробно рассмотрим усовершенствование деталей торговых отчетов и отправку окончательного документа по электронной почте в формате PDF. Это знаменует собой прогресс по сравнению с нашей предыдущей работой, поскольку мы продолжаем изучать, каким образом использовать возможности MQL5 и Python для создания и планирования торговых отчетов в наиболее удобных и профессиональных форматах. Присоединяйтесь к нам в этой дискуссии, чтобы узнать больше об оптимизации формирования торговых отчетов в экосистеме MQL5.
Разработка системы репликации (Часть 64): Нажатие кнопки воспроизведения в сервисе (V)
В данной статье мы рассмотрим, как исправить две ошибки в коде. Однако я постараюсь объяснить их так, чтобы вы, начинающие программисты, поняли, что не всегда всё происходит так, как вы предполагали. Но это не повод отчаиваться, это возможность учиться. Представленные здесь материалы предназначены только для обучения. Ни в коем случае не рассматривайте это приложение как окончательное, цели которого иные, кроме изучения представленных концепций.
Моделирование рынка: Первые шаги на SQL в MQL5 (III)
В предыдущей статье мы рассмотрели пример реализации класса на MQL5 для обеспечения базовой поддержки. Его цель заключается именно в том, чтобы позволить хранить SQL-код в отдельном файле скрипта. Таким образом, нам не потребуется писать тот же SQL-код в виде строки внутри кода MQL5. Хотя данное решение функционально, в нём есть некоторые детали, которые мы можем и должны улучшить.
Искусство ведения логов (Часть 4): Сохранение логов в файлах
В этой статье я расскажу вам об основных операциях с файлами и о том, как настроить гибкий обработчик для индивидуальной настройки. Мы обновим класс CLogifyHandlerFile, чтобы записывать логи непосредственно в файл. Мы выполним тест производительности, смоделировав торговлю по EURUSD в течение недели, при этом на каждом тике будут генерироваться логи, а весь процесс займет 5 минут и 11 секунд. Результат будет сравнен в следующей статье, где мы реализуем систему кэширования для улучшения производительности.
Разработка системы репликации (Часть 66): Нажатие кнопки воспроизведения в сервисе (VII)
В этой статье мы реализуем первое решение, которое позволит нам определить когда на графике может появиться новый бар. Данное решение применимо в самых разных ситуациях. Понимание его развития поможет вам разобраться в нескольких аспектах. Представленные здесь материалы предназначены только для обучения. Ни в коем случае нельзя рассматривать это приложение как окончательное, цели которого будут иные, кроме изучения представленных концепций.
Низкочастотные количественные стратегии в MetaTrader 5: (Часть 2) Бэктестинг Lead/Lag-анализа в SQL и MetaTrader 5
В статье описывается полный конвейер, использующий анализ данных для поиска низкочастотных торговых возможностей Lead/Lag. Пошагово строится анализатор Lead/Lag на основе кросс-корреляции, с особым вниманием к самым распространенным ошибкам, которые новички чаще всего допускают при разработке запросов для анализа межактивной диффузии информации. После скрининга десятков коинтегрированных и коррелированных пар выбирается торговая пара-кандидат, оценивается её торговая реализуемость в чистом SQL-бэктесте. После того как пара проходит отбор, стратегия тестируется в MetaTester для оптимизации параметров. Советник с соответствующими настройками бэктеста и входными параметрами оптимизации предоставляется вместе со скриптами Python и SQL.
Нейросети в трейдинге: Внимание, память и рыночные паттерны в GDformer
Статья разбирает архитектуру GDformer применительно к алгоритмическому трейдингу. Показано, как обучаемая память, Dictionary-based Cross-Attention и Similarity Branch помогают сопоставлять текущее состояние рынка с выученными режимами и оценивать степень надёжности интерпретации. Дана реализация прямого прохода механизма внимания в OpenCL с использование разреженных коэффициентов без повторного перенормирования, что повышает устойчивость модели и эффективность на длинных последовательностях.
Нейросети в трейдинге: Принятие торговых решений с учётом неопределенности (UncAD)
Статья предлагает перенос принципов риск-ориентированного фреймворка UncAD в алгоритмический трейдинг и обосновывает сходство задач навигации и управления капиталом при неполной информации. Мы строим на MQL5/OpenCL карту плотности рыночных состояний, которая компактно кодирует историческую структуру. Это позволяет выявлять зоны поддержки/сопротивления и области низкой плотности для более устойчивого выбора действий.
Возможности Мастера MQL5, которые вам нужно знать (Часть 59): Обучение с подкреплением (DDPG) совместно с паттернами скользящей средней и стохастика
В продолжение нашей предыдущей статьи о DDPG с использованием скользящей средней и стохастических индикаторов мы рассматриваем другие ключевые классы обучения с подкреплением, имеющие решающее значение для реализации DDPG. Хотя мы в основном пишем код на Python, конечный продукт — обученная нейронная сеть — будет экспортирован в формате ONNX в MQL5, где мы интегрируем его в качестве ресурса в советник, созданный в Мастере.
Торговые инструменты на MQL5 (Часть 14): Прокручиваемый текстовый холст с пиксельной точностью, сглаживанием и закругленной полосой прокрутки
В этой статье мы улучшим ценовую панель на основе холста в MQL5, добавляя прокручиваемую текстовую панель с пиксельной точностью для руководств по использованию, преодолевающую собственные ограничения на прокрутку за счет настраиваемого сглаживания и округлого дизайна полосы прокрутки с функцией расширения при наведении курсора. Текстовая панель поддерживает фоны темы оформления с непрозрачностью, динамический перенос строк для содержимого, такого как инструкции и контакты, и интерактивную навигацию с помощью кнопок вверх / вниз, перетаскивания ползунка и прокрутки колесика мыши в области основного текста.
Алгоритм эволюции элитных кристаллов — Elite Crystal Evolution Algorithm (CEO-inspired): Теория
Представлен новый авторский популяционный алгоритм ECEA, вдохновлённый процессом замерзания воды и адаптирующий идеи алгоритма Crystal Energy Optimizer, (CEO) с поиском на графах, для общих задач оптимизации. Алгоритм использует динамическую элитную группу, три стратегии поиска и механизм периодической диверсификации.
Моделирование рынка (Часть 10): Сокеты (IV)
В этой статье мы рассмотрим, что нужно сделать, чтобы начать использовать Excel для управления MetaTrader 5, но очень интересным способом. Для этого мы воспользуемся дополнением Excel, чтобы не использовать встроенный VBA. Если вы не знаете, какое дополнение имеется в виду, прочитайте эту статью и узнайте, как программировать на Python прямо в Excel.
Разработка инструментария для анализа Price Action (Часть 55): Индикатор CPI с мини-свечами для отображения внутрисвечного давления
В этой статье рассматриваются разработка и реализация в MetaTrader 5 индикатора Candle Pressure Index (CPI) – накладываемого на график индикатора на основе CLV, который визуализирует внутрисвечное давление покупателей и продавцов прямо на ценовом графике. Основное внимание уделено структуре свечи, классификации давления, механике визуализации и системе алертов на основе переходов без перерисовки, рассчитанной на стабильное поведение на разных таймфреймах и инструментах.
Нейросети в трейдинге: Единая архитектура взаимодействия рыночных признаков и торгового контекста (OneTrans)
В статье рассматривается архитектура фреймворка OneTrans, предложенного для эффективной работы с длинными последовательностями событий, и анализируются ключевые инженерные решения, лежащие в его основе. Особое внимание уделяется механизмам оптимизации вычислений внимания — пирамидальной схеме обработки токенов, использованию кэширования Key/Value и современных алгоритмов ускорения внимания, таких как FlashAttention-2.
От начального до среднего уровня: Объединение (II)
Сегодня нас ждет очень забавная и довольно интересная статья, причем в нескольких аспектах. В ней мы рассмотрим объединение, чтобы решить проблему, о которой говорилось ранее. Кроме того, мы изучим некоторые необычные ситуации, которые могут возникнуть при использовании объединения в приложениях. Представленные здесь материалы предназначены исключительно для образовательных целей. Ни в коем случае нельзя рассматривать приложение ни с какой иной целью, кроме как для изучения и освоения представленных концепций.
Тело в Connexus (Часть 4): Добавление поддержки тела HTTP-запроса
В настоящей статье мы рассмотрели концепцию тела в HTTP-запросах, которое необходимо для отправки таких данных, как JSON и обычный текст. Мы обсудили и объяснили, как правильно его использовать с соответствующими заголовками. Мы также ввели класс ChttpBody, входящий в библиотеку Connexus, который упростит работу с телом запросов.
Теория графов: Применение алгоритма эвристического поиска A* в торговле
В статье эвристический алгоритм A* применяется к структуре рынка путем моделирования подтвержденных максимумов и минимумов свингов в качестве узлов графа, где веса ребер рассчитываются с учетом нормализованного по ATR расстояния, спреда и штрафов за шум. Модуль ищет наиболее эффективный маршрут для определения направления сделки и целевых уровней, а затем фильтрует сигналы по коэффициенту направленности, общей стоимости пути и противоположным свингам. TP привязывается к конечному узлу, а SL — к предыдущей структуре, с визуализацией на графике и настраиваемыми входными данными.
Разработка системы репликации (Часть 69): Настройка времени (II)
Сегодня мы рассмотрим, зачем нам нужна функция iSpread. Одновременно с этим мы поймем, как система информирует нас об оставшемся времени бара, когда для этого нет ни одного доступного тика. Представленные здесь материалы предназначены только для обучения. Ни в коем случае не рассматривайте его как окончательное приложение, целью которого не является изучение представленных концепций.
Разработка инструментария для анализа Price Action (Часть 44): Создание в MQL5 сигнального советника на основе пересечений VWMA
В этой статье представлен инструмент для MetaTrader 5, сигнализирующий о пересечениях VWMA, который помогает трейдерам выявлять потенциальные бычьи и медвежьи развороты, сочетая анализ движения цены и торгового объема. Советник генерирует четкие сигналы на покупку и продажу прямо на графике, оснащен информативной панелью и позволяет гибко настраивать входные параметры, что делает его практичным дополнением к торговой стратегии.
Внедрение в MQL5 практических модулей из других языков (Часть 06): Операции файлового ввода-вывода в MQL5, как в Python
В этой статье показано, как упростить сложные операции MQL5 с файлами, создав интерфейс в стиле Python для удобного чтения и записи. В ней объясняется, как воссоздать интуитивно понятные шаблоны работы с файлами в Python с помощью пользовательских функций и классов. В результате получился более ясный и надежный подход к файловому вводу-выводу в языке MQL5.
Нейросети в трейдинге: Потоковые модели с остаточной высокочастотной адаптацией (ResFlow)
Статья знакомит с фреймворком ResFlow, созданным для анализа временной динамики событийных потоков. Фреймворк сочетает низкочастотное моделирование трендов с высокочастотной корректировкой локальных колебаний. Ключевые достоинства — модульность, гибкость интеграции с разными алгоритмами и эффективное повышение временного разрешения без лишней нагрузки на модель.
Разработка инструментария для анализа Price Action (Часть 70): Автоматическое исполнение сделок по сигналам паттерна "флаг"
В статье описаны буферная архитектура сигналов для пробоев паттерна "флаг" и советник, который ее использует. Стрелки пробоя и высота флагштока записываются в отдельные буферы только после подтверждения, что предотвращает перерисовку и неоднозначность. Советник считывает данные из буферов через CopyBuffer(), проверяет сигналы с помощью настраиваемых фильтров и исполняет сделки с фиксированными или динамическими уровнями SL/TP.
Возможности Мастера MQL5, которые вам нужно знать (Часть 61): Использование паттернов ADX и CCI с обучением с учителем
Осцилляторы ADX и CCI — это индикаторы следования за трендом и импульса, которые можно использовать в паре при разработке советника. Мы рассмотрим, как их можно систематизировать, используя все 3 основных режима машинного обучения. Созданные с помощью Мастера советники позволяют нам оценить паттерны, представленные этими двумя индикаторами. Начнем с рассмотрения того, как к этим паттернам можно применить обучение с учителем.
Алгоритм искусственного поискового роя — Artificial Searching Swarm Algorithm (ASSA)
Статья посвящена реализации алгоритма искусственного поискового роя (ASSA) на MQL5 в составе унифицированного тестового стенда. Разобраны три поведенческих правила движения, механизм сигнала и глобального табло, нормализация пространства, а также параметры stepRatio и Pc. Читатель получит готовую основу для интеграции ASSA, а также ответ на вопрос — насколько тактическая метафора оказалась удачным фундаментом для конкурентоспособности оптимизационного алгоритма.
Преодоление проблем доступности в торговых инструментах на MQL5 (Часть I): Как добавить контекстные голосовые оповещения в индикаторы MQL5
В этой статье рассматривается ориентированное на доступность усовершенствование, выходящее за рамки оповещений терминала по умолчанию, путем использования управления ресурсами MQL5 для предоставления контекстной голосовой обратной связи. Вместо общих звуковых сигналов индикатор сообщает о том, что произошло и почему, позволяя трейдерам понимать рыночные события, не полагаясь исключительно на визуальное наблюдение. Такой подход особенно ценен для трейдеров с ослабленным зрением, но он также полезен занятым или многозадачным пользователям, предпочитающим взаимодействие со свободными руками.
Разработка динамического советника на нескольких парах (Часть 4): Корректировка риска на основе волатильности
На этом этапе мы настраиваем мультипарный советник так, чтобы адаптировать размер сделки и риск в реальном времени с помощью метрик волатильности, таких как ATR, что повышает согласованность, защиту и эффективность в различных рыночных условиях.
Создание торговой системы (Часть 5): Управление прибылью с помощью структурированного выхода из позиций
Для многих трейдеров это знакомая болезненная ситуация: наблюдать, как сделка приближается к вашему целевому показателю прибыли, а затем разворачивается и достигает вашего стоп-лосса. Или, что еще хуже, наблюдать, что трейлинг-стоп закрывает позицию на уровне безубыточности, прежде чем рынок резко приблизится к вашей первоначальной цели. В данной статье рассматривается использование нескольких позиций из одной точки входа с различным соотношением риска и прибыли для систематического обеспечения прибыли и снижения общего уровня риска.
Переосмысливаем классические стратегии (Часть 19): Подробный разбор стратегий на пересечении скользящих средних
В этой статье мы возвращаемся к классической стратегии пересечения скользящих средних и исследуем, почему она часто терпит неудачу на шумных, быстро меняющихся рынках. В ней представлены пять альтернативных методов фильтрации, предназначенных для улучшения качества сигнала и устранения слабых или убыточных сделок. Обсуждение показывает, как статистические модели могут обучаться и исправлять ошибки, которые пропускает человеческая интуиция и традиционные правила. Читатели получают более четкое представление о том, как модернизировать устаревшую стратегию, и о подводных камнях, связанных с опорой исключительно на такие показатели, как RMSE, в финансовом моделировании.
Нейросети в трейдинге: Адаптивное масштабирование представлений (Основные компоненты)
Статья продолжает адаптацию фреймворка ADS под задачи трейдинга. Рассматривается отказ от PSRG и интеграцию его функций в PCRG, где адаптация выполняется в пространстве запросов. Применен порядок вычислений, аналогичный STCA, для линейного масштабирования по длине истории. Представлены OpenCL‑кернелы ConcatVecMatrix/Grad и класс CNeuronPCGR, что упрощает архитектуру и уменьшает вычислительную нагрузку при анализе длинных временных рядов.
Создание торговой панели администратора на MQL5 (Часть XII): Интеграция форекс-калькулятора
Точный расчет ключевых торговых показателей — неотъемлемая часть рабочего процесса каждого трейдера. В этой статье мы рассмотрим интеграцию мощного инструмента — форекс-калькулятора — в панель управления торговлей, что еще больше расширит функциональность нашей многопанельной системы администратора трейдера. Эффективное определение риска, размера позиции и потенциальной прибыли имеет важное значение при совершении сделок, и эта новая функция призвана сделать этот процесс более быстрым и интуитивно понятным прямо в панели. Присоединяйтесь к нам, чтобы изучить практическое применение MQL5 при создании продвинутых торговых панелей.
Архитектура прибыльной торговли с усиленной многоуровневой защитой счёта
В этом материале мы представляем структурированную многоуровневую систему защиты, нацеленную на достижение амбициозных показателей прибыли при одновременном снижении риска катастрофических потерь. Основное внимание уделяется сочетанию агрессивной торговой логики с защитными механизмами на каждом этапе торгового процесса. Идея состоит в том, чтобы создать советника, который ведёт себя как «хищник, осознающий риск»: способен находить торговые возможности с высоким потенциалом, но всегда имеет несколько защитных слоёв, не позволяющих системе «ослепнуть» при внезапном рыночном стрессе.
От начального до среднего уровня: События (II)
В этой статье мы увидим, что не всегда нужно реализовывать всё каким-то определенным образом. Существуют альтернативные способы решения проблем. Для правильного понимания этой статьи необходимо понять концепции, описанные в предыдущих статьях. Представленные здесь материалы предназначены исключительно для образовательных целей. Не надо рассматривать его как окончательное приложение, целью которого не является изучение представленных здесь концепций.
Алгоритм оптимизации бабочек — Butterfly Optimization Algorithm (BOA)
В статье рассмотрен алгоритм оптимизации бабочек, основанный на моделировании поиска пищи с помощью обоняния. Проведён анализ оригинальных формул, выявлена и исправлена ошибка в уравнениях движения, добавлен механизм поддержания разнообразия популяции, представлены результаты тестирования.
Разработка торговых стратегий с использованием осцилляторов Parafrac и Parafrac V2: Оценка эффективности при одиночном входе
В этой статье в качестве торговых инструментов представлены осциллятор ParaFrac и его модель V2. В ней описаны три торговые стратегии, разработанные с использованием этих индикаторов. Каждая стратегия была протестирована и оптимизирована для выявления ее сильных и слабых сторон. Сравнительный анализ выявил различия в производительности между оригинальной моделью и моделью V2.