Алгоритм извлечения торговых правил из паттернов в MQL5
Статья показывает, как формализовать интуитивно замеченные ценовые паттерны и превратить их в статистически проверенные торговые сигналы. Советник кодирует последовательности баров в бинарные строки U/D и для каждого паттерна вычисляет пять независимых метрик: поддержку, уверенность, лифт, хи-квадрат и байесовскую вероятность. Позиция открывается только тогда, когда текущий паттерн совпадает с историческим правилом и все фильтры пройдены — динамический лот масштабируется по силе сигнала, стоп и тейк рассчитываются через дневной ATR.
Наблюдатель Connexus (Часть 8): Добавление Request Observer (Наблюдатель запросов)
В этой заключительной части нашей серии библиотеки Connexus мы рассмотрели реализацию паттерна Наблюдатель, а также основные рефакторинги в путях к файлам и именах методов. В этой серии представлена вся разработка Connexus, предназначенная для упрощения HTTP-взаимодействия в сложных приложениях.
Алгоритм искусственной коронарной циркуляции — Artificial Coronary Circulation System (ACCS)
Метаэвристический алгоритм, имитирующий рост коронарных артерий в сердце человека для задач оптимизации. Использует принципы ангиогенеза (роста новых сосудов), бифуркации (разветвления) и обрезки слабых ветвей для поиска оптимальных решений в многомерном пространстве. Проверка его эффективности на широком спектре задач принесла неожиданные результаты.
Моделирование рынка (Часть 10): Сокеты (IV)
В этой статье мы рассмотрим, что нужно сделать, чтобы начать использовать Excel для управления MetaTrader 5, но очень интересным способом. Для этого мы воспользуемся дополнением Excel, чтобы не использовать встроенный VBA. Если вы не знаете, какое дополнение имеется в виду, прочитайте эту статью и узнайте, как программировать на Python прямо в Excel.
От начального до среднего уровня: События (II)
В этой статье мы увидим, что не всегда нужно реализовывать всё каким-то определенным образом. Существуют альтернативные способы решения проблем. Для правильного понимания этой статьи необходимо понять концепции, описанные в предыдущих статьях. Представленные здесь материалы предназначены исключительно для образовательных целей. Не надо рассматривать его как окончательное приложение, целью которого не является изучение представленных здесь концепций.
Нейросети в трейдинге: Обучение глубоких спайкинговых моделей (Интеграция спайков)
В статье представлена практическая реализация ключевых компонентов фреймворка SEW-ResNet средствами MQL5. Использование динамических массивов и спайковых механизмов позволяет гибко строить архитектуру модели и эффективно обрабатывать финансовые временные ряды. Предложенные решения показывают, как SEW-ResNet может оптимизировать вычисления и улучшить выделение значимых признаков.
Отправка запросов в Connexus (Часть 6): Создание HTTP-запроса и ответа
В этой шестой статье из серии о библиотеке Connexus мы сосредоточимся на полном HTTP-запросе, рассмотрев каждый компонент, из которого состоит запрос. Мы создадим класс, представляющий запрос в целом, который поможет нам объединить ранее созданные классы.
Поэтапный отбор признаков на MQL5
В этой статье мы представляем модифицированную версию поэтапного отбора признаков, реализованную в MQL5. Настоящий подход основан на методах, описанных Тимоти Мастерсом (Timothy Masters) в работе "Современных алгоритмах интеллектуального анализа данных на C++" и "CUDA C".
От новичка до эксперта: Создание подробных торговых отчетов с помощью советника Reporting EA
В настоящей статье мы подробно рассмотрим усовершенствование деталей торговых отчетов и отправку окончательного документа по электронной почте в формате PDF. Это знаменует собой прогресс по сравнению с нашей предыдущей работой, поскольку мы продолжаем изучать, каким образом использовать возможности MQL5 и Python для создания и планирования торговых отчетов в наиболее удобных и профессиональных форматах. Присоединяйтесь к нам в этой дискуссии, чтобы узнать больше об оптимизации формирования торговых отчетов в экосистеме MQL5.
Машинное обучение и Data Science (Часть 42): Прогнозирование временных рядов на форексе с ARIMA и Python
ARIMA (сокращение от Auto Regressive Integrated Moving Average, авторегрессионная интегрированная скользящая средняя) — это традиционная модель прогнозирования временных рядов. Благодаря способности обнаруживать всплески и колебания в данных временного ряда, эта модель может делать точные прогнозы относительно следующих значений. В этой статье мы разберемся, что это такое, как это работает, можно ли это использовать для точного прогнозирования будущих цен на рынке и многое другое.
От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (II)
Сегодня мы делаем еще один шаг вперед, интегрируя внешний новостной API в качестве источника заголовков для нашего советника «Заголовки новостей». На этом этапе мы изучим различные источники новостей — как существующие, так и новые — и узнаем, как эффективно использовать их API. Мы также рассмотрим методы парсинга полученных данных в формат, оптимизированный для отображения в нашем экспертном советнике. Присоединяйтесь к обсуждению, пока мы обсуждаем преимущества использования заголовков новостей и экономического календаря непосредственно на графике. И все это в компактном, ненавязчивом интерфейсе.
Разработка системы репликации (Часть 78): Новый Chart Trade (V)
В данной статье мы рассмотрим, как нужно реализовывать часть кода получателя. Здесь мы реализуем версию советника, чтобы протестировать и узнать, как работает взаимодействие по протоколу. Представленные здесь материалы предназначены только для обучения. Ни в коем случае не рассматривайте его как окончательное приложение, целью которого не является изучение представленных концепций.
Торговля LLM-агента со встроенной философией топ-трейдеров
В работе проведен критический разбор LLM-стратегии, где прогноз направления отделен от торговых решений, и показано, почему это ведет к разрыву между метриками и PnL. Описаны процедуры балансировки датасета, инженерии признаков, подготовки промптов и ответов, настройки файнтюнинга в Ollama и надежного парсинга. Бэктест и форвард-тест выявляют систематическую деградацию. Практический вывод — необходимость формулировать задачу как прямую оптимизацию торговых исходов.
Торговый инструментарий MQL5 (Часть 5): Расширение EX5-библиотеки для управления историей функциями последнего исполненного отложенного ордера
Узнайте, как создать EX5-модуль экспортируемых функций, который легко запрашивает и сохраняет данные последнего исполненного отложенного ордера. В этом пошаговом руководстве мы улучшим EX5-библиотеку для управления историей (History Management), разработав специализированные и обособленные функции для извлечения основных свойств последнего исполненного отложенного ордера. К этим свойствам относятся тип ордера, время установки, время исполнения, тип исполнения и другие важные данные, необходимые для эффективного управления и анализа истории торговли отложенными ордерами.
Анализ нескольких символов с помощью Python и MQL5 (Часть II): Анализ главных компонентов для оптимизации портфеля
Управление рисками торгового счета является сложной задачей для всех трейдеров. Можем ли мы разработать торговые приложения, которые динамически изучают режимы высокого, среднего и низкого риска для различных символов в MetaTrader 5? Используя PCA, мы получаем лучший контроль над дисперсией портфеля. Я продемонстрирую, как создавать приложения, которые изучают эти три режима риска на основе рыночных данных, полученных из MetaTrader 5.
Трейдинг с экономическим календарем MQL5 (Часть 7): Подготовка к тестированию стратегий с анализом новостей
В этой статье мы подготовим нашу торговую систему на MQL5 для тестирования стратегий, используя данные экономического календаря в качестве ресурса для анализа вне реального времени. Мы реализуем загрузку и фильтрацию событий по времени, валюте и значимости, а затем проверим все в тестере стратегий. Так мы сможем тестировать на истории стратегии, работающие по экономическим новостям.
Разработка системы репликации (Часть 62): Нажатие кнопки воспроизведения в сервисе (III)
В данной статье мы начнем решать проблему переизбытка тиков, которые могут влиять на работу приложения при использовании реальных данных. Данный переизбыток часто мешает правильному отсчету времени, необходимому для построения минутного бара в соответствующем окне.
Анализ настроений в Twitter с помощью сокетов
Этот инновационный торговый бот интегрирует платформу MetaTrader 5 с языком Python в целях использования анализа настроений в социальных сетях в режиме реального времени для автоматизированного принятия торговых решений. Путем анализа настроений в Twitter, связанных с конкретными финансовыми инструментами, бот преобразует тенденции социальных сетей в действенные торговые сигналы. Он использует архитектуру «клиент-сервер» с сокетной связью, обеспечивая бесперебойное взаимодействие между торговыми возможностями MetaTrader 5 и вычислительной мощностью Python.
Разработка системы репликации (Часть 77): Новый Chart Trade (IV)
В этой статье мы расскажем о некоторых деталях и мерах предосторожности, которые следует учитывать при создании протокола связи. Это довольно простые и понятные вещи, так что мы не будем слишком углубляться в эту статью. Но чтобы понять, что произойдет у получателя, нужно разобраться в содержании статьи.
Искусство ведения логов (Часть 5): Оптимизация обработчика с помощью кэширования и ротации
В этой статье мы улучшим библиотеку логов путем добавления форматтеров в обработчики, класса CIntervalWatcher для управления циклами выполнения, оптимизации с кэшированием и ротацией файлов, тестов производительности и практических примеров. Благодаря этим улучшениям мы получим эффективную, масштабируемую и адаптируемую систему ведения логов к различным сценариям разработки.
Разрабатываем менеджер терминалов (Часть 2): Запуск нескольких экземпляров
Переходим к использованию сразу нескольких экземпляров терминала на сервере, организовав простую панель управления запуском и остановкой. Теперь пришло время расширять функциональность и переходить к следующим этапам — реализации более сложных возможностей, таких как управление несколькими экземплярами, хранение состояния, интеграция с MetaTrader5 API и веб-интерфейс с полной информацией о терминалах.
Трейдинг с экономическим календарем MQL5 (Часть 7): Подготовка к тестированию стратегий с анализом новостей
В этой статье мы подготовим нашу торговую систему на MQL5 для тестирования стратегий, используя данные экономического календаря в качестве ресурса для анализа вне реального времени. Мы реализуем загрузку и фильтрацию событий по времени, валюте и значимости, а затем проверим все в тестере стратегий. Так мы сможем тестировать на истории стратегии, работающие по экономическим новостям.
Заголовок в Connexus (Часть 3): Освоение использования HTTP-заголовков для запросов
Продолжаем разработку библиотеки Connexus. В этой главе мы исследуем концепцию заголовков в протоколе HTTP, объясняя, что это такое, для чего они предназначены и как их использовать в запросах. Мы рассмотрим основные заголовки, используемые при взаимодействии с API, а также покажем практические примеры того, как настроить их в библиотеке.
Искусство ведения логов (Часть 3): Изучение обработчиков для сохранения логов
В этой статье мы разберем концепцию обработчиков в библиотеке логирования, поймем их работу, и создадим три начальные реализации: консоль, база данных и файл. Мы рассмотрим все: от базовой структуры обработчиков до практического тестирования, заложив основу для их дальнейшей полноценной реализации.
Алгоритм поисковой оптимизации Эбола — Ebola Optimization Search Algorithm (EOSA)
В статье рассматривается алгоритм EOSA, вдохновлённый механизмами распространения вируса Эбола: короткодистанционной передачей через близкий контакт (эксплуатация) и длиннодистанционной передачей через путешествия (исследование). Анализ оригинальной публикации выявил критические проблемы в математических формулах и нереализуемую на практике эпидемиологическую модель, что потребовало существенной переработки алгоритма для получения работоспособной реализации.
Алгоритм эволюции элитных кристаллов — Elite Crystal Evolution Algorithm (CEO-inspired): Теория
Представлен новый авторский популяционный алгоритм ECEA, вдохновлённый процессом замерзания воды и адаптирующий идеи алгоритма Crystal Energy Optimizer, (CEO) с поиском на графах, для общих задач оптимизации. Алгоритм использует динамическую элитную группу, три стратегии поиска и механизм периодической диверсификации.
Как подключить LLM к советнику MQL5 через Python-сервер
В статье разобраны три ключевые преграды интеграции LLM с MetaTrader 5: отсутствие прямого доступа, жёсткие rate limits и безопасность API‑ключей при архитектурных ограничениях MQL5. Предложена схема с локальным Python‑сервером как мостом между советником и OpenRouter. Рассматриваются WebSocket и fallback на TCP, хранение ключа на сервере, пакетная обработка нескольких символов и формирование технического промпта. Читатель получит готовую архитектуру, снижающую задержки и издержки.
Нейросети в трейдинге: Оптимизация Cross-Attention для анализа длинных последовательностей рынка (STCA)
Статья показывает, как применить STCA к рынку: цель формируется сценарием, история задаётся эмбеддингами, а внимание вычисляется через Single-query Target-to-history Cross-Attention. Интеграция с FlashAttention на OpenCL переносит проекции на запросы и избегает формирования K/V для всей истории. Практический эффект — линейная сложность, экономия памяти и ускорение при анализе тысяч баров.
Машинное обучение и Data Science (Часть 40): Использование уровней Фибоначчи в данных машинного обучения
Уровни коррекции Фибоначчи — популярный инструмент в техническом анализе. Их используют для определения потенциальных зон разворота. В этой статье мы рассмотрим, как эти уровни коррекции можно преобразовать в целевые переменные для моделей машинного обучения, чтобы помочь им лучше понимать рынок.
Нейросети в трейдинге: Потоковые модели с остаточной высокочастотной адаптацией (ResFlow)
Статья знакомит с фреймворком ResFlow, созданным для анализа временной динамики событийных потоков. Фреймворк сочетает низкочастотное моделирование трендов с высокочастотной корректировкой локальных колебаний. Ключевые достоинства — модульность, гибкость интеграции с разными алгоритмами и эффективное повышение временного разрешения без лишней нагрузки на модель.
Искусство ведения логов (Часть 4): Сохранение логов в файлах
В этой статье я расскажу вам об основных операциях с файлами и о том, как настроить гибкий обработчик для индивидуальной настройки. Мы обновим класс CLogifyHandlerFile, чтобы записывать логи непосредственно в файл. Мы выполним тест производительности, смоделировав торговлю по EURUSD в течение недели, при этом на каждом тике будут генерироваться логи, а весь процесс займет 5 минут и 11 секунд. Результат будет сравнен в следующей статье, где мы реализуем систему кэширования для улучшения производительности.
Разработка динамического советника на нескольких парах (Часть 4): Корректировка риска на основе волатильности
На этом этапе мы настраиваем мультипарный советник так, чтобы адаптировать размер сделки и риск в реальном времени с помощью метрик волатильности, таких как ATR, что повышает согласованность, защиту и эффективность в различных рыночных условиях.
Разработка пользовательского индикатора матрицы эффективности торгового счёта
Этот индикатор выступает в роли средства контроля за соблюдением дисциплины, отслеживая в режиме реального времени состояние счета, прибыль/убыток и просадку и отображая панель показателей эффективности. Он может помочь трейдерам сохранять преемственность, избегать чрезмерной торговли и соблюдать правила отбора, установленные проп-трейдинговыми фирмами.
От начального до среднего уровня: Struct (VI)
В данной статье мы рассмотрим, как можно приступить к реализации базы общего структурного кода. Цель - снизить нагрузку при программировании и использовать весь потенциал самого языка программирования, в данном случае MQL5.
Как получить синхронизированные массивы для использования в алгоритмах портфельной торговли
Описан практический подход к синхронизации баров между инструментами портфеля в MQL5. Предложены классы для загрузки, хранения и выравнивания OHLCV с опциями: пустой бар или перенос значений предыдущего бара, выбор символа синхронизации и обработка асинхронных новых баров. Показаны примеры использования в индикаторах мультиграфиков и корзины. Читатель получает готовый API для стабильных портфельных расчетов.
Разрабатываем мультивалютный советник (Часть 31): Секреты шага создания проекта оптимизации (I)
В статье разбираются два практических аспекта работы конвейера оптимизации на базе Adwizard: диагностика и восстановление после сбоев генерации базы итогового советника, а также предварительный подбор диапазонов параметров стратегии до создания проекта. Показано, как анализ таблиц stages/jobs/tasks в SQLite и перезапуск этапов по статусам помогают восстановить процесс, а пробная оптимизация сужает пространство поиска, исключает избыточные параметры и снижает риск застревания в локальных максимумах.
Торговые инструменты на MQL5 (Часть 3): Создание панели сканера по нескольким таймфреймам для стратегической торговли
В этой статье мы создадим панель сканера по нескольким таймфреймам на MQL5 для отображения торговых сигналов в режиме реального времени. Мы планируем создать интерактивный грид-интерфейс, реализовать расчеты сигналов с использованием нескольких индикаторов и добавить кнопку закрытия. Статья завершается бэктестингом и стратегическими торговыми преимуществами
Автоматизация торговых стратегий на MQL5 (Часть 18): Envelopes Trend Bounce Scalping - Базовая инфраструктура и генерация сигналов (Часть I)
В этой статье мы создадим основную инфраструктуру для советника Envelopes Trend Bounce Scalping (скальпинг на коррекции на основе конвертов) на MQL5. Мы инициализируем конверты и другие индикаторы для генерации сигналов. Также мы настроим тестирование стратегии на истории, чтобы подготовиться к исполнению сделок в следующей части.
Создание торговой панели администратора на MQL5 (Часть IX): Организация кода (IV). Класс для панели управления торговлей
Обновляем панель управления торговлей (TradeManagementPanel), используемую в нашем советнике New_Admin_Panel. В новой версии будем использовать встроенные классы и получим более удобный интерфейс управления сделками. В частности, добавим кнопки для открытия позиций, а также элементы для управления открытыми сделками и отложенными ордерами. Кроме того, в панели будет встроенная система управления рисками, чтобы устанавливать значения стоп-лосса и тейк-профита непосредственно через ее интерфейс. В целом обновление улучшает организацию самого кода, что важно для таких больших программ, а также упрощает доступ к инструментам управления ордерами — в определенных моментах это будет сделать проще, чем через интерфейс терминала.
Разработка системы репликации (Часть 58): Возвращаемся к работе над сервисом
После перерыва в разработке и улучшении сервиса, используемого для репликации/моделирования, сегодня мы возобновляем над ним работу. Теперь, когда мы отказались от использования таких ресурсов, как глобальные переменные терминала, нам придется полностью реструктурировать некоторые его части. Не волнуйтесь, этот процесс будет подробно объяснен, чтобы каждый мог следить за разработкой нашего сервиса.