Машинное обучение и Data Science (Часть 40): Использование уровней Фибоначчи в данных машинного обучения
Уровни коррекции Фибоначчи — популярный инструмент в техническом анализе. Их используют для определения потенциальных зон разворота. В этой статье мы рассмотрим, как эти уровни коррекции можно преобразовать в целевые переменные для моделей машинного обучения, чтобы помочь им лучше понимать рынок.
Разработка инструментария для анализа Price Action (Часть 30): Советник CCI Zero Line
Будущее – за автоматизацией анализа движения цен. В этой статье мы используем индикатор Dual CCI (Commodity Channel Index – индекс товарного канала), стратегию пересечения нулевой линии (Zero Line Crossover), EMA и анализ движения цены, чтобы разработать инструмент, который генерирует торговые сигналы и задает уровни стоп-лосса и тейк-профита с помощью ATR. Прочитайте эту статью, чтобы узнать наш подход к разработке советника CCI Zero Line.
Разработка инструментария для анализа Price Action (Часть 48): Индекс гармонии нескольких таймфреймов с панелью взвешенного смещения
В этой статье представлен инструмент "Multi-Timeframe Harmony Index" – продвинутый советник для MetaTrader 5, который рассчитывает взвешенное смещение рынка по нескольким таймфреймам, сглаживает значения с помощью EMA и выводит результат на аккуратной панели на графике. Он поддерживает настраиваемые алерты и автоматически наносит сигналы покупки и продажи на график, когда значение смещения пересекает значимые пороги. Подходит трейдерам, которые используют анализ нескольких таймфреймов, чтобы соотносить точки входа с общей структурой рынка.
Алгоритм поисковой оптимизации Эбола — Ebola Optimization Search Algorithm (EOSA)
В статье рассматривается алгоритм EOSA, вдохновлённый механизмами распространения вируса Эбола: короткодистанционной передачей через близкий контакт (эксплуатация) и длиннодистанционной передачей через путешествия (исследование). Анализ оригинальной публикации выявил критические проблемы в математических формулах и нереализуемую на практике эпидемиологическую модель, что потребовало существенной переработки алгоритма для получения работоспособной реализации.
Трейдинг с экономическим календарем MQL5 (Часть 4): Обновление новостей в панели управления в реальном времени
В этой статье мы расширим возможности нашей панели экономического календаря, внедрив обновления новостей в реальном времени для поддержания актуальности рыночной информации. Мы интегрируем методы извлечения данных в реальном времени в MQL5 для непрерывного обновления событий на панели управления и повышения отзывчивости интерфейса. Это обновление обеспечивает нам доступ к последним экономическим новостям непосредственно с панели управления, оптимизируя торговые решения на основе самых свежих данных.
Возможности Мастера MQL5, которые вам нужно знать (Часть 74): Использование паттернов Ишимоку и ADX-Wilder с обучением с учителем
В продолжение нашей предыдущей статьи, где мы представили пару индикаторов Ишимоку и ADX, рассмотрим, как эту пару можно улучшить с помощью обучения с учителем. Ишимоку и ADX представляют собой взаимодополняющую пару уровней поддержки/сопротивления и тренда. Наш подход обучения с учителем использует нейронную сеть, которая задействует ядро глубокого спектрального смешения (Deep Spectral Mixture Kernel) для точной настройки прогнозов этой пары индикаторов. Как обычно, это делается в пользовательском файле класса сигналов (signal class), который взаимодействует с Мастером MQL5 для сборки советника.
Ординальное кодирование номинальных переменных
В настоящей статье мы обсудим и продемонстрируем, как преобразовать номинальные предикторы в числовые форматы, подходящие для алгоритмов машинного обучения, используя как Python, так и MQL5.
Создание пользовательских индикаторов в MQL5 (Часть 8): Интеграция объёма для углублённого анализа рыночного профиля (Market Profile)
В этой статье мы расширяем гибридный индикатор рыночного профиля Time Price Opportunity (TPO) в MQL5 за счёт интеграции данных объёма для расчёта точки контроля по объёму, области стоимости и средневзвешенной по объёму цены с настраиваемыми вариантами подсветки. Система вводит расширенные возможности, такие как определение начального баланса, линии продления ключевых уровней, режим split-профиля и альтернативные TPO-символы, например квадраты или круги, для улучшенного анализа графика на нескольких таймфреймах.
Архитектура машинного обучения для MetaTrader 5 (Часть 11): Критерий Келли, интеграция правил проп-фирмы и динамический бэктест по CPCV
Сигнал размера позиции из Части 10 скорректирован с учётом перекрытия активных меток, но не учитывает соотношение выигрыша и проигрыша, не реагирует на жёсткий бюджет просадки и не валидируется по комбинаторным путям. В этой статье рассматриваются три дополнения: двухэтапная архитектура, в которой множитель выплат Келли применяется поверх get_signal, сохраняя коррекцию перекрытия активных меток и добавляя асимметрию выигрыша/проигрыша; слой интеграции с проп-фирмой, который непрерывно калибрует параметр сигмоиды w по оставшемуся бюджету просадки в правилах FundedNext Stellar 2-Step; и фреймворк CPCV-бэктестирования, который моделирует заново инициализированное состояние счёта по всем путям φ[N, k], формируя распределение коэффициента Шарпа и выполняя аудит PBO.
Нейросети в трейдинге: Многодоменная архитектура анализа финансовых данных (Окончание)
В статье завершается построение фреймворка MDL и его интеграция в среду MQL5/OpenCL. Реализован объект верхнего уровня, объединяющий признаки, сценарии и задачи в единый вычислительный процесс. Проведено тестирование на исторических данных, показавшее устойчивую работу модели и её способность адаптироваться к изменяющимся рыночным условиям.
Разработка системы репликации (Часть 60): Нажатие кнопки воспроизведения в сервисе (I)
Мы уже давно работаем только над индикаторами, но теперь пришло время снова заставить сервис работать, и мы видим, как строится график на основе предоставленных данных. Однако, поскольку не всё так просто, придется быть внимательным, чтобы понять то, что ждет нас впереди.
От начального до среднего уровня: Определения (II)
В этой статье мы продолжим знакомство с директивой #define, но на этот раз мы сосредоточимся на второй форме ее использования, то есть на создании макросов. Поскольку данная тема может быть немного сложной, мы решили использовать приложение, которое мы изучаем уже некоторое время. Надеюсь, вам понравится сегодняшняя статья.
От начального до среднего уровня: События (I)
Учитывая всё, что было показано до настоящего момента, я думаю, что теперь мы можем начать реализовывать некое приложение для запуска какого-либо символа непосредственно на графике. Однако сначала нам нужно поговорить о довольно запутанном понятии для новичков, а именно о том, что приложения, разработанные на MQL5 и предназначенные для отображения на графике, создаются не так, как мы видели до сих пор. В этой статье мы начнем разбираться в этом немного лучше.
Создание индикатора ZigZag со статистикой волн в MQL5
Индикатор ZigZag дополняется количественной оценкой длин волн: для восходящих и нисходящих движений считаются текущая длина, максимум, минимум, среднее и медиана, обновляемые на каждом новом баре. Разбираются ключевые элементы реализации: поиск экстремумов в скользящем окне, конечный автомат пивотов, инкрементальный пересчёт и отключение визуального слоя в тестере. Практическая польза — объективные численные ориентиры вместо визуальной оценки на глаз.
Автоматизация торговых стратегий в MQL5 (Часть 29): Создание системы торговли по гармоническому паттерну "Гартли" на основе Price Action
В этой статье мы разрабатываем систему распознавания гармонических паттернов "Гартли" (Gartley) на языке MQL5, которая определяет бычьи и медвежьи гармонические паттерны "Гартли" с использованием точек разворота и уровней Фибоначчи, запуская сделки с точными уровнями входа, стоп-лосса и тейк-профита. Мы также улучшим визуальное представление паттерна с помощью графических объектов — треугольников, линий тренда и меток, которые чётко отображают структуру паттерна XABCD.
Разработка торговой стратегии: Метод Butterfly Oscillator
В этой статье мы продемонстрировали, как можно преобразовать увлекательную математическую концепцию Butterfly Curve («кривая-бабочка») в практичный торговый инструмент. Мы разработали индикатор Butterfly Oscillator и создали на его основе базовую торговую стратегию. Эта стратегия эффективно сочетает уникальные циклические сигналы осциллятора с традиционным подтверждением тренда на основе скользящих средних, формируя системный подход к выявлению потенциальных точек входа на рынок.
Переосмысливаем классические стратегии (Часть 14): Анализ нескольких стратегий
В этой статье мы продолжаем построение ансамбля торговых стратегий с использованием генетического оптимизатора MT5 для настройки параметров стратегий. Сегодня мы проанализируем данные в Python, чтобы проверить, сможет ли такая модель лучше предсказывать, какая стратегия окажется более успешной и какая сработает точнее, и окажется ли это эффективнее прямого прогнозирования доходности. Сразу скажу, что тестирование приложения с такой статистической моделью показало резкое ухудшение в результатах. Все дело в генетическом оптимизаторе — к сожалению, он отдает предпочтение коррелированным стратегиям. Поэтому мы пересмотрим метод, чтобы сохранить фиксированные веса голосов и сосредоточить оптимизацию на настройках индикаторов.
Разработка инструментария для анализа Price Action (Часть 51): Инновационная технология поиска свечных паттернов на графике
Эта статья предназначена для алгоритмических трейдеров, количественных аналитиков и разработчиков MQL5, которые хотят глубже разобраться в распознавании свечных паттернов на практике. В ней подробно рассматривается советник CandlePatternSearch.mq5 – полноценная система для обнаружения, визуализации и отслеживания классических свечных формаций в MetaTrader 5. Помимо детального разбора кода, в статье рассматриваются архитектура решения, логика обнаружения паттернов, интеграция графического интерфейса и механизмы алертов, а также показано, как можно эффективно автоматизировать традиционный анализ Price Action.
Разработка системы репликации (Часть 64): Нажатие кнопки воспроизведения в сервисе (V)
В данной статье мы рассмотрим, как исправить две ошибки в коде. Однако я постараюсь объяснить их так, чтобы вы, начинающие программисты, поняли, что не всегда всё происходит так, как вы предполагали. Но это не повод отчаиваться, это возможность учиться. Представленные здесь материалы предназначены только для обучения. Ни в коем случае не рассматривайте это приложение как окончательное, цели которого иные, кроме изучения представленных концепций.
Алгоритм искусственной коронарной циркуляции — Artificial Coronary Circulation System (ACCS)
Метаэвристический алгоритм, имитирующий рост коронарных артерий в сердце человека для задач оптимизации. Использует принципы ангиогенеза (роста новых сосудов), бифуркации (разветвления) и обрезки слабых ветвей для поиска оптимальных решений в многомерном пространстве. Проверка его эффективности на широком спектре задач принесла неожиданные результаты.
Нейросети в трейдинге: Обучение глубоких спайкинговых моделей (Интеграция спайков)
В статье представлена практическая реализация ключевых компонентов фреймворка SEW-ResNet средствами MQL5. Использование динамических массивов и спайковых механизмов позволяет гибко строить архитектуру модели и эффективно обрабатывать финансовые временные ряды. Предложенные решения показывают, как SEW-ResNet может оптимизировать вычисления и улучшить выделение значимых признаков.
Преодоление ограничений машинного обучения (Часть 7): Автоматический выбор стратегии
В этой статье показано, как автоматически определять потенциально прибыльные торговые стратегии с помощью MetaTrader 5. Решения "белого ящика", основанные на неконтролируемой матричной факторизации, быстрее настраиваются, лучше поддаются интерпретации и предоставляют четкие рекомендации относительно того, какие стратегии следует сохранить. Решения "черного ящика", хотя и требуют больше времени, лучше подходят для сложных рыночных условий, которые подходы "белого ящика" могут не учитывать. Присоединяйтесь к нашему обсуждению того, как наши торговые стратегии могут помочь нам тщательно подбирать прибыльные стратегии при любых обстоятельствах.
Разработка системы репликации (Часть 70): Настройка времени (III)
В данной статье мы рассмотрим, как правильно и эффективно использовать функцию CustomBookAdd. Несмотря на кажущуюся простоту, она имеет множество нюансов. Например, позволяет сообщить указателю мыши, находится ли пользовательский символ на аукционе, торгуется ли он или рынок закрыт. Представленные здесь материалы предназначены только для обучения. Ни в коем случае нельзя рассматривать это приложение как окончательное, цели которого будут иные, кроме изучения представленных концепций.
Моделирование рынка (Часть 15): Сокеты (IX)
В этой статье мы расскажем об одном из возможных решений того, что мы пытались показать, то есть как позволить пользователю Excel выполнить действие в MetaTrader 5 без отправки ордеров, открытия или закрытия позиции. Идея заключается в том, что пользователь использует Excel для проведения фундаментального анализа какого-то символа. И что при использовании только Excel, можно указать советнику, работающему в MetaTrader 5, открыть или закрыть определенную позицию.
Торговые инструменты на MQL5 (Часть 3): Создание панели сканера по нескольким таймфреймам для стратегической торговли
В этой статье мы создадим панель сканера по нескольким таймфреймам на MQL5 для отображения торговых сигналов в режиме реального времени. Мы планируем создать интерактивный грид-интерфейс, реализовать расчеты сигналов с использованием нескольких индикаторов и добавить кнопку закрытия. Статья завершается бэктестингом и стратегическими торговыми преимуществами
От новичка до эксперта: Создание подробных торговых отчетов с помощью советника Reporting EA
В настоящей статье мы подробно рассмотрим усовершенствование деталей торговых отчетов и отправку окончательного документа по электронной почте в формате PDF. Это знаменует собой прогресс по сравнению с нашей предыдущей работой, поскольку мы продолжаем изучать, каким образом использовать возможности MQL5 и Python для создания и планирования торговых отчетов в наиболее удобных и профессиональных форматах. Присоединяйтесь к нам в этой дискуссии, чтобы узнать больше об оптимизации формирования торговых отчетов в экосистеме MQL5.
Разработка системы репликации (Часть 74): Новый Chart Trade (I)
В этой статье мы изменим последний код, показанный в данной серии о Chart Trade. Эти изменения необходимы, чтобы адаптировать код к текущей модели системы репликации/моделирования. Представленные здесь материалы предназначены только для обучения. Ни в коем случае не рассматривайте его как окончательное приложение, целью которого не является изучение представленных концепций.
Архитектура системы машинного обучения в MetaTrader 5 (Часть 1): Утечка данных и исправление меток времени
Прежде чем мы сможем даже начать использовать машинное обучение в нашей торговле на MetaTrader 5, крайне важно разобраться с одной из самых недооцененных ловушек — утечкой данных. Эта статья раскрывает, как утечка данных, в частности ловушка с метками времени в MetaTrader 5, может исказить производительность нашей модели и привести к ненадежным торговым сигналам. Углубляясь в механику этой проблемы и предлагая стратегии ее предотвращения, мы прокладываем путь к созданию надежных моделей машинного обучения, которые будут давать достоверные прогнозы в условиях реальной торговли.
Разрабатываем пользовательский индикатор рыночных настроений
В этой статье мы разрабатываем пользовательский индикатор рыночных настроений, который классифицирует рыночные настроения как бычьи, медвежьи, в режиме risk-on, в режиме risk-off или нейтральные. Благодаря анализу нескольких таймфреймов индикатор дает трейдерам более ясное представление об общем рыночном уклоне и краткосрочных подтверждениях.
От начального до среднего уровня: Индикатор (IV)
В этой статье мы рассмотрим, как легко создать и внедрить операционную методологию для окрашивания свечей. Данная концепция высоко ценится трейдерами. При реализации такого рода вещей необходимо проявлять осторожность, чтобы бары или свечи сохраняли свой первоначальный вид и не затрудняли чтение свечи за свечой.
Алгоритм эволюции элитных кристаллов — Elite Crystal Evolution Algorithm (CEO-inspired): Теория
Представлен новый авторский популяционный алгоритм ECEA, вдохновлённый процессом замерзания воды и адаптирующий идеи алгоритма Crystal Energy Optimizer, (CEO) с поиском на графах, для общих задач оптимизации. Алгоритм использует динамическую элитную группу, три стратегии поиска и механизм периодической диверсификации.
Возможности Мастера MQL5, которые вам нужно знать (Часть 59): Обучение с подкреплением (DDPG) совместно с паттернами скользящей средней и стохастика
В продолжение нашей предыдущей статьи о DDPG с использованием скользящей средней и стохастических индикаторов мы рассматриваем другие ключевые классы обучения с подкреплением, имеющие решающее значение для реализации DDPG. Хотя мы в основном пишем код на Python, конечный продукт — обученная нейронная сеть — будет экспортирован в формате ONNX в MQL5, где мы интегрируем его в качестве ресурса в советник, созданный в Мастере.
Конвейеры обработки данных (пайплайны) в MQL5
В этой статье рассмотрим ключевой этап подготовки данных для машинного обучения, который быстро приобретает все большее значение. Конвейеры предварительной обработки данных. По сути, это упрощенная последовательность этапов преобразования данных, на которых происходит подготовка исходных данных перед их передачей в модель. Какой бы неинтересной она ни показалась непосвященным на первый взгляд, такая «стандартизация данных» не только экономит время обучения и затраты на выполнение, но и в значительной степени способствует более качественному обобщению. В этой статье сосредоточимся на некоторых функциях предварительной обработки SCIKIT-LEARN и, хотя мы не будем использовать Мастер MQL5, вернемся к нему в последующих статьях.
Разработка инструментария для анализа Price Action (Часть 36): Прямой доступ Python к потокам рыночных данных MetaTrader 5
Раскройте потенциал терминала MetaTrader 5 по максимуму с помощью Python-экосистемы анализа данных и официальной клиентской библиотеки MetaTrader 5. В этой статье показано, как пройти аутентификацию и напрямую передавать тики и минутные бары в хранилище Parquet, применять продвинутые методы создания признаков с помощью ta и Prophet, а также обучать модель градиентного бустинга с учетом временной структуры данных. Затем мы разворачиваем легковесный сервис Flask, который выдает торговые сигналы в реальном времени. Независимо от того, строите ли вы гибридную количественную торговую систему или усиливаете советник машинным обучением, в результате у вас будет надежный сквозной пайплайн для алгоритмической торговли на основе данных.
Торговые инструменты на MQL5 (Часть 14): Прокручиваемый текстовый холст с пиксельной точностью, сглаживанием и закругленной полосой прокрутки
В этой статье мы улучшим ценовую панель на основе холста в MQL5, добавляя прокручиваемую текстовую панель с пиксельной точностью для руководств по использованию, преодолевающую собственные ограничения на прокрутку за счет настраиваемого сглаживания и округлого дизайна полосы прокрутки с функцией расширения при наведении курсора. Текстовая панель поддерживает фоны темы оформления с непрозрачностью, динамический перенос строк для содержимого, такого как инструкции и контакты, и интерактивную навигацию с помощью кнопок вверх / вниз, перетаскивания ползунка и прокрутки колесика мыши в области основного текста.
Искусство ведения логов (Часть 4): Сохранение логов в файлах
В этой статье я расскажу вам об основных операциях с файлами и о том, как настроить гибкий обработчик для индивидуальной настройки. Мы обновим класс CLogifyHandlerFile, чтобы записывать логи непосредственно в файл. Мы выполним тест производительности, смоделировав торговлю по EURUSD в течение недели, при этом на каждом тике будут генерироваться логи, а весь процесс займет 5 минут и 11 секунд. Результат будет сравнен в следующей статье, где мы реализуем систему кэширования для улучшения производительности.
Методика рыночного позиционирования по VGT на базе тау Кендалла и дистанционной корреляции
В этой статье мы рассмотрим, как можно использовать взаимодополняющую пару индикаторов для анализа недавней 5-летней истории ETF-фонда Vanguard Information Technology Index Fund. Рассматривая два варианта алгоритмов — тау Кендалла и дистанционная корреляция, — мы стремимся выбрать не только идеальную пару индикаторов для торговли с использованием VGT, но и подходящие пары сигнальных паттернов, сочетающие эти два индикатора.
Сеточный советник на клеточном автомате с онлайн-обучением в MQL5 (Часть III): Живой граф признаков
Третья статья серии вводит обучаемый граф признаков в архитектуре Cellular10K: веса связей feature → feature онлайн усиливаются после верных прогнозов и ослабляются после ошибок. Разбираются мягкая инициализация, шаг message passing, локальное правило обучения в стиле Хебба, ограничение весов, нормировка и decay. Показана интеграция с клеточным автоматом и бинарным предиктором, а также метрики диагностики и практические пороги запуска для контроля переобучения.
Моделирование рынка (Часть 10): Сокеты (IV)
В этой статье мы рассмотрим, что нужно сделать, чтобы начать использовать Excel для управления MetaTrader 5, но очень интересным способом. Для этого мы воспользуемся дополнением Excel, чтобы не использовать встроенный VBA. Если вы не знаете, какое дополнение имеется в виду, прочитайте эту статью и узнайте, как программировать на Python прямо в Excel.
Возможности Мастера MQL5, которые вам нужно знать (Часть 72): Использование паттернов MACD и OBV с обучением с учителем
В продолжение нашей предыдущей статьи о паре индикаторов MACD и OBV, мы рассмотрим, как эту пару можно улучшить с помощью машинного обучения. MACD и OBV — это взаимодополняющая пара, отражающая тренд и объем. Наш подход к машинному обучению использует сверточную нейронную сеть (convolution neural network, CNN), которая задействует экспоненциальное ядро (Exponential kernel) для определения размеров своих ядер и каналов при настройке прогнозов этой пары индикаторов. Как обычно, это делается в пользовательском файле класса сигналов (signal class), который взаимодействует с Мастером MQL5 для создания советника.