Машинное обучение и Data Science (Часть 35): NumPy в MQL5 – искусство создания сложных алгоритмов с меньшим объемом кода
Библиотека NumPy лежит в основе практически всех алгоритмов машинного обучения на языке программирования Python. В этой статье мы собираемся реализовать аналогичный модуль, содержащий набор всего сложного кода, который поможет нам создавать сложные модели и алгоритмы любого типа.
Двунаправленная LSTM и квантовые вычисления для предсказания направления движения
Статья представляет воспроизводимую реализацию гибридной квантово-нейросетевой модели для алгоритмической торговли на Forex без использования реального квантового оборудования. Фиксированная трёхкубитная схема в IBM Qiskit преобразует статистики скользящего окна (средняя доходность, волатильность, размах) в распределение вероятностей, из которого вычисляются 7 квантовых метрик. Эти признаки интегрируются в архитектуру двунаправленной LSTM с регуляризацией и механизмами борьбы с дисбалансом классов (в т.ч. focal loss и sampler).
Разработка инструментария для анализа движения цен (Часть 18): Введение в теорию четвертей (III) — Quarters Board
В этой статье мы улучшим оригинальный скрипт Quarters, добавив доску Quarters Board — инструмент, позволяющий переключать уровни четвертей непосредственно на графике без необходимости переписывать код. Вы сможете легко включать/отключать определенные уровни, а советник сообщит о направлении тренда, чтобы помочь вам лучше понимать движения рынка.
Создание торговой панели администратора на MQL5 (Часть IX): Организация кода (III): Модуль коммуникации
В этой статье мы представим обновленную панель связи и продолжим нашу серию статей о создании новой панели администратора с использованием принципов модуляризации. Мы шаг за шагом разработаем класс CommunicationsDialog, подробно объяснив, как наследовать его от класса Dialog. Кроме того, в процессе разработки мы будем использовать массивы и класс ListView. Присоединяйтесь к обсуждению в комментариях!
От новичка до эксперта: Торговля с временной фильтрацией
Просто потому, что тики постоянно прибывают, это не значит, что каждый момент - это возможность торговать. Сегодня мы подробно изучаем искусство выбора времени, сосредоточившись на разработке алгоритма временной изоляции, который поможет трейдерам определять наиболее благоприятные рыночные периоды и торговать в них. Развитие этой дисциплины позволяет розничным трейдерам более точно ориентироваться в институциональных сроках, где точность и терпение часто определяют успех. Присоединяйтесь к этой дискуссии, поскольку мы исследуем науку тайминга и выборочного трейдинга с помощью аналитических возможностей MQL5.
Машинное обучение и Data Science (Часть 34): Разложение временных рядов, раскрываем саму суть фондового рынка
В мире, переполненном шумными и непредсказуемыми данными, выявление значимых закономерностей может быть непростой задачей. В этой статье мы рассмотрим сезонное разложение (seasonal decomposition) — мощный аналитический метод, который помогает разделить данные на ключевые компоненты: тренд, сезонные закономерности и шум. Разбив данные на такие составляющие, мы можем выявить скрытые закономерности и работать с более чистой и понятной информацией.
От новичка до эксперта: Периоды на рынке Форекс
Каждый рыночный период имеет начало и конец, при каждом закрытии цена определяет его настроение — так же, как и при любой свечной сессии. Понимание этих ориентиров позволяет нам оценить преобладающее настроение рынка, определяя, какие силы контролируют ситуацию - бычьи или медвежьи. В настоящем обсуждении мы делаем важный шаг вперед, разрабатывая новую функцию в Market Periods Synchronizer, которая визуализирует сессии рынка Форекс для помощи в принятии более обоснованных торговых решений. Этот инструмент может быть особенно эффективным для определения в режиме реального времени, какая сторона — быки или медведи — доминирует на сессии. Давайте исследуем эту концепцию и раскроем те идеи, которые она дает.
От новичка до эксперта: Раскрытие секретов теней свечей
В настоящем обсуждении сделаем шаг вперед для раскрытия основного ценового движения, скрытого в тенях свечей. Интегрируя функцию визуализации wick в индикатор Market Periods Synchronizer, мы повышаем аналитическую глубину и интерактивность этого инструмента. Эта усовершенствованная система позволяет трейдерам визуализировать отклонения цен на старших таймфреймах непосредственно на графиках младших таймфреймов, выявляя подробные структуры, которые когда-то были скрыты в тени.
Объединяем 3D-бары, квантовые вычисления и машинное обучение в единую торговую систему
Представлена полная интеграция модуля 3D-баров в квантово-усиленную торговую систему для прогнозирования движения валютных пар. Система объединяет стационарные четырёхмерные признаки, квантовый энкодер на 8 кубитах и градиентный бустинг CatBoost с 52+ признаками. Система реализована на Python с использованием MetaTrader 5, Qiskit, CatBoost и опциональной интеграцией LLM Llama 3.2 для интерпретации прогнозов.
Оптимизатор на основе экологического цикла — Ecological Cycle Optimizer (ECO)
Алгоритм ECO (Ecological Cycle Optimizer) представляет собой интересную метафору переноса экологического круговорота в область метаэвристической оптимизации. Идея разделения популяции на трофические уровни — продуцентов, травоядных, плотоядных, всеядных и редуцентов — создаёт иерархическую структуру поиска, где каждая группа вносит свой вклад в общий процесс оптимизации.
Выборочные методы марковских цепей Монте-Карло. Алгоритм HMC
В статье исследуется гамильтонов алгоритм Монте-Карло (HMC) — золотой стандарт сэмплирования из сложных многомерных распределений. Представлена полноценная реализация HMC на языке MQL5, которая включает адаптивную настройку матрицы масс, поиск моды апостериорного распределения (MAP) с помощью метода оптимизации L-BFGS и комплексной диагностикой.
Торговый инструментарий MQL5 (Часть 8): Внедрение и использование EX5-библиотеки для управления историей в коде
В заключительной статье этой серии вы узнаете, как легко импортировать и применять EX5-библиотеку для управления историей (History Manager) в исходном коде MQL5 для обработки истории сделок в вашем аккаунте MetaTrader 5. С помощью простых вызовов функций в MQL5, занимающих всего одну строку кода, вы сможете эффективно управлять своими торговыми данными и анализировать их. Кроме того, вы научитесь создавать различные скрипты для анализа истории сделок и разрабатывать советник на основе ценовых показателей в качестве практических примеров использования. Используемый в качестве примера советник применяет данные о ценах и библиотеку History Manager EX5 для принятия обоснованных торговых решений, корректировки объемов сделок и реализации стратегий восстановления на основе ранее закрытых сделок.
Объединяем LLM, CatBoost и квантовые вычисления в единую торговую систему
В статье предлагается синтез новых технологий для преодоления ограничений классических индикаторов в аналитике рыночных данных. Показано, как языковые модели и квантовое кодирование могут выявлять скрытые рыночные паттерны, которые традиционные методики упускают. Эксперимент подтверждает ценность новых технологий и предлагает обновлённую методологию анализа, соответствующую современному уровню вычислительных инноваций.
Алгоритм оптимизации одуванчика — Dandelion Optimizer (DO)
Алгоритм оптимизации одуванчика DO превращает простой полёт семени по ветру в стратегию математического поиска. Три фазы - вихревой подъём, дрейф к центру популяции и приземление по траектории Леви - формируют изящную метафору, которая на практике показывает интересные результаты.
Разработка инструментария для анализа движения цен (Часть 17): Советник TrendLoom
Как ценовой аналитик и трейдер, я заметил, что когда тренд подтверждается на нескольких таймфреймах, он обычно продолжается в этом направлении. Продолжительность тренда может варьироваться в зависимости от стратегии трейдера: держит ли он позиции на долгосрочную перспективу или занимается скальпингом. Выбранные вами таймфреймы играют решающую роль. Статья знакомит с быстрой автоматизированной системой, которая помогает увидеть общий тренд сквозь разные тймфреймы всего одним нажатием кнопки или с помощью регулярных обновлений.
Разработка инструментария для анализа движения цен (Часть 15): Введение в теорию четвертей (II) — советник Intrusion Detector
В нашей предыдущей статье мы представили простой скрипт Quarters Drawer. Продолжая тему, создадим советник для отслеживания четвертей и предоставления информации о потенциальной реакции рынка на этих уровнях. В статье описана разработка инструмента для обнаружения необходимых зон.
Возможности Мастера MQL5, которые вам нужно знать (Часть 56): Фракталы Билла Вильямса
Фракталы Билла Вильямса — это мощный индикатор, который легко упустить из виду, когда впервые замечаешь его на ценовом графике. Он кажется слишком перегруженным и, вероятно, недостаточно точным. Моя цель - приоткрыть завесу тайны над этим индикатором, рассмотрев различные его паттерны на форвард-тестах применительно к советникам, собранным в Мастере.
Алгоритм дендритных клеток — Dendritic Cell Algorithm (DCA)
Алгоритм дендритных клеток (DCA) — метаэвристика, вдохновлённая механизмами врождённого иммунитета. Дендритные клетки патрулируют пространство поиска, накапливают сигналы о качестве позиций и выносят коллективный вердикт: эксплуатировать найденное или продолжать исследование. Разберём, как биологическая модель обнаружения патогенов превращается в алгоритм оптимизации.
Детерминированный алгоритм дендритных клеток — Deterministic Dendritic Cell Algorithm (dDCA)
Представлена адаптация детерминированного алгоритма дендритных клеток (dDCA) для задач непрерывной оптимизации. Алгоритм, вдохновлённый Теорией Опасности иммунной системы, использует механизм накопления сигналов для автоматического баланса между исследованием и эксплуатацией пространства поиска.
Квантовые вычисления и градиентный бустинг в торговле EUR/USD
Статья описывает практическую реализацию гибридной системы алгоритмического трейдинга, объединяющей квантовые вычисления (IBM Qiskit) и градиентный бустинг (CatBoost) для предсказания движения EUR/USD на часовом таймфрейме. Система извлекает четыре уникальных квантовых признака из вероятностного распределения по 256 состояниям через восемь кубитов, которые в комбинации с классическими индикаторами и дельта-кодированием временных категорий достигают точности 62% на 15,000 свечах.
Быстрая интеграция большой языковой модели и MetaTrader 5 (Часть II): Файнтьюн на реальных данных, бэктест и онлайн-торговля модели
Статья описывает процесс файнтьюна языковой модели для трейдинга на основе реальных исторических данных из MetaTrader 5. Базовая модель, знающая лишь теоретический технический анализ, обучается на тысяче примеров реального поведения валютных пар (EURUSD, GBPUSD, USDCHF, USDCAD) за 180 дней. После обучения через Ollama модель начинает понимать специфику каждого инструмента.
Алгоритм дифференциального поиска — Differential Search Algorithm (DSA)
В статье рассматривается алгоритм дифференциального поиска DSA, имитирующий миграцию суперорганизма в поисках оптимальных условий обитания. Алгоритм использует гамма-распределение для генерации псевдо-стабильного блуждания и предлагает четыре стратегии выбора направления движения с тремя механизмами мутации координат. Какова будет производительность метода?
Моделирование рынка (Часть 16): Сокеты (X)
Мы близки к завершению данного испытания. Однако, прежде чем приступить, я хочу, чтобы вы попытались понять эти две статьи, данную и предыдущую. Так вы действительно поймете следующую статью, в которой я рассмотрю исключительно ту часть, которая касается программирования на MQL5. Но я также постараюсь сделать её понятной. Если вы не понимаете эти две последние статьи, то вам будет тяжело понять и следующую, потому что материалы накапливаются. Чем больше вещей нужно сделать, тем больше нужно создать и понять для достижения цели.
Разложение по динамическим модам в применении к одномерным временным рядам в языке MQL5
Разложение по динамическим модам (Dynamic mode decomposition, DMD) — метод, который обычно применяют к наборам многомерных данных. В этой статье мы демонстрируем применение DMD на одномерных временных рядах, выявляя его способность характеризовать ряды, а также делать прогнозы. При этом рассмотрим встроенную в MQL5 реализацию разложения по динамическим модам, уделяя особое внимание новому матричному методу DynamicModeDecomposition().
Моделирование рынка (Часть 15): Сокеты (IX)
В этой статье мы расскажем об одном из возможных решений того, что мы пытались показать, то есть как позволить пользователю Excel выполнить действие в MetaTrader 5 без отправки ордеров, открытия или закрытия позиции. Идея заключается в том, что пользователь использует Excel для проведения фундаментального анализа какого-то символа. И что при использовании только Excel, можно указать советнику, работающему в MetaTrader 5, открыть или закрыть определенную позицию.
Моделирование рынка (Часть 09): Сокеты (III)
Сегодняшняя статья является продолжением предыдущей. В ней мы рассмотрим, как будет реализован советник, сосредоточившись в основном на том, как выполняется серверный код. Кода, приведенного в предыдущей статье, недостаточно для того, чтобы всё работало как надо, поэтому необходимо немного углубиться в него. Поэтому нужно прочитать обе статьи, чтобы лучше понять то, что произойдет.
Оптимизатор Бонобо — Bonobo Optimizer (BO)
В статье представлена реализация и анализ алгоритма Bonobo Optimizer, основанного на уникальных особенностях поведения приматов бонобо — динамической социальной структуре fission-fusion и трех стратегиях спаривания. Каковы интересные возможности этого метода?
Индикатор тепловой карты рынка на основе плотности простых чисел
Инновационный индикатор на основе теории простых чисел помогает находить сильные уровни разворота, которые не видят другие трейдеры. Тестирование на 10 активах показало: развороты в математически значимых зонах происходят в 1.5-1.8 раза чаще. Пять практических сценариев применения с конкретными правилами для фильтрации ложных пробоев и точного входа в рынок.
Моделирование рынка (Часть 08): Сокеты (II)
Как вам идея создать что-то практичное с помощью сокетов? В сегодняшней статье мы начнем создавать мини-чат. Давайте рассмотрим вместе, как это делается, - это будет очень интересно. Помните, что приведенный здесь код предназначен исключительно для образовательных целей. Не стоит использовать его в коммерческих целях или в готовых приложениях, так как он не обеспечивает безопасности передачи данных и можно увидеть содержимое, передаваемое по сокету.
Возможности Мастера MQL5, которые вам нужно знать (Часть 55): SAC с приоритетным воспроизведением опыта
Буферы воспроизведения в обучении с подкреплением особенно важны при использовании алгоритмов вне политики (off-policy), таких как DQN или SAC. Это выводит на первый план процесс выборки буфера памяти. В то время как параметры по умолчанию с SAC, например, используют случайный выбор из буфера, буферы с приоритетным воспроизведением опыта (Prioritized Experience Replay buffers) обеспечивают точную настройку путем выборки из буфера на основе оценки TD. Мы рассмотрим важность обучения с подкреплением и, как всегда, изучим только одну гипотезу (без перекрестной проверки) в созданном Мастером советнике.
Моделирование рынка (Часть 13): Сокеты (VII)
Когда мы разрабатываем что-то в xlwings или в любом другом пакете, позволяющем читать и писать непосредственно в Excel, мы должны заметить, что все программы, функции или процедуры выполняются, а затем завершают свою задачу. Они не остаются в цикле, и неважно, как сильно мы стараемся сделать всё по-другому.
Алгоритм эволюции элитных кристаллов — Elite Crystal Evolution Algorithm (CEO-inspired): Практика
Экспериментальное исследование на стандартных бенчмарк-функциях выявляет преимущества и ограничения прямой адаптации комбинаторных алгоритмов. Статья содержит детальное описание механизмов алгоритма ECEA и результатов его тестирования.
Моделирование рынка (Часть 12): Сокеты (VI)
В данной статье мы рассмотрим, как решить некоторые проблемы и вопросы, возникающие при использовании кода, написанного на Python внутри других программ. А если говорить более конкретно, то мы покажем распространенную проблему, возникающую при использовании Excel в связке с MetaTrader 5, хотя для этого общения мы будем использовать Python. Однако у данной реализации есть небольшой недостаток. Это происходит не во всех, а только в некоторых конкретных случаях. Когда это происходит, необходимо понять причину. В сегодняшней статье мы начнем объяснять, как решить эту проблему.
Машинное обучение и Data Science (Часть 33): Pandas Dataframe в MQL5, упрощаем сбор данных для машинного обучения
При работе с моделями машинного обучения крайне важно обеспечить согласованность данных, используемых для обучения, проверки и тестирования. В этой статье мы создадим собственную версию библиотеки Pandas на языке MQL5, чтобы обеспечить единый подход к обработке данных машинного обучения и гарантировать, что одни и те же данные применяются внутри и вне MQL5, где и происходит большая часть обучения.
От новичка до эксперта: Утилита для управления параметрами
Представьте, что вы преобразовали традиционные входные свойства советника или индикатора в интерфейс управления графиком в режиме реального времени. Это обсуждение основано на нашей фундаментальной работе над индикатором Market Period Synchronizer, что знаменует собой значительную эволюцию в том, как мы визуализируем рыночные структуры на старших таймфреймах (HTF) и управляем ими. Здесь мы превращаем эту концепцию в полностью интерактивную утилиту — информационная панель, которая обеспечивает динамический контроль и улучшенную многопериодную визуализацию ценового движения непосредственно на графике. Присоединяйтесь к нам, и мы узнаем, как это нововведение меняет способ взаимодействия трейдеров со своими инструментами.
Моделирование рынка (Часть 11): Сокеты (V)
Мы приступаем к реализации связи между Excel и MetaTrader 5, но сначала необходимо понять некоторые важные моменты, так вам не придется ломать голову, пытаясь понять, почему что-то работает или нет. И прежде, чем вы нахмуритесь, глядя на интеграцию Python и Excel, давайте посмотрим, как с помощью xlwings можно (в некоторой степени) управлять MetaTrader 5 через Excel. То, что мы покажем здесь, будет в основном сконцентрировано на образовательных задачах. Но не думайте, что мы можем делать только то, что будет рассмотрено здесь.
Алгоритм эволюции элитных кристаллов — Elite Crystal Evolution Algorithm (CEO-inspired): Теория
Представлен новый авторский популяционный алгоритм ECEA, вдохновлённый процессом замерзания воды и адаптирующий идеи алгоритма Crystal Energy Optimizer, (CEO) с поиском на графах, для общих задач оптимизации. Алгоритм использует динамическую элитную группу, три стратегии поиска и механизм периодической диверсификации.
Быстрая интеграция большой языковой модели и MetaTrader 5 (Часть I): Создаем модель
Статья исследует революционную интеграцию больших языковых моделей (LLM) с торговой платформой MetaTrader 5, где AI не просто прогнозирует цены, а принимает автономные торговые решения, анализируя контекст рынка подобно опытному трейдеру. Автор раскрывает фундаментальное отличие LLM от классических моделей машинного обучения вроде CatBoost — способность к метапознанию и саморефлексии, что позволяет системе учиться на собственных ошибках и улучшать стратегию.
Моделирование рынка (Часть 10): Сокеты (IV)
В этой статье мы рассмотрим, что нужно сделать, чтобы начать использовать Excel для управления MetaTrader 5, но очень интересным способом. Для этого мы воспользуемся дополнением Excel, чтобы не использовать встроенный VBA. Если вы не знаете, какое дополнение имеется в виду, прочитайте эту статью и узнайте, как программировать на Python прямо в Excel.
Разработка инструментария для анализа движения цен (Часть 13): RSI Sentinel
Ценовую динамику можно эффективно анализировать, выявляя расхождения, при этом технические индикаторы, такие как RSI, подают важные подтверждающие сигналы. В статье ниже мы объясняем, как автоматизированный анализ дивергенции RSI может определять продолжение и разворот тренда, тем самым предоставляя ценную информацию о настроениях рынка.