English 中文 Español Deutsch 日本語
preview
Подробная информация о торговле на основе объема: Подтверждение тренда

Подробная информация о торговле на основе объема: Подтверждение тренда

MetaTrader 5Торговые системы |
772 4
Javier Santiago Gaston De Iriarte Cabrera
Javier Santiago Gaston De Iriarte Cabrera

Введение

На сегодняшних нестабильных финансовых рынках трейдерам постоянно приходится сталкиваться с трудностями при проведении различий между реальными и ложными рыночными изменениями. Рыночный шум, который обычно проявляется в кратковременных колебаниях цен и ложных пробоях, если его принять за реальные торговые возможности, может привести к значительным убыткам. Эта проблема особенно остро стоит при торговле на пробоях, где успех зависит от точного определения долгосрочных ценовых тенденций.

Эта реализация предлагает усовершенствованный подход к подтверждению тренда, который сочетает в себе движение цены и анализ объема для решения этих проблем. Этот метод, основанный на идее о том, что за заметными изменениями на рынке обычно следует объем торгов выше среднего, использует объем в качестве важнейшего критерия проверки. Это помогает отсеять вводящие в заблуждение сигналы и найти более надежные торговые возможности, требуя совпадения как ценовых пробоев, так и скачков объемов. Гарантируя, что движение рынка подкрепляется достаточной торговой активностью, эта стратегия двойного подтверждения направлена на улучшение качества торговли и повышение вероятности сохранения неизменного направления цены.



Усовершенствованный метод подтверждения тренда 

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

Важнейшим вторичным методом проверки является подтверждение объема, требующее для подтверждения торгового сигнала, чтобы объем торгов превысил определенный уровень выше скользящей средней. Поскольку метод подтверждает интенсивность и возможное постоянство колебаний цен, этот объемный компонент очень важен. Чтобы гарантировать, что пробой цены будет поддержан существенной активностью рынка, метод, в частности, предусматривает поиск скачков объема на 50% или более по сравнению с обычным объемом торгов в течение 20-периодного окна ретроспективного анализа.

В совокупности эти элементы образуют всеобъемлющую торговую систему. Система оценивает соответствующие данные об объеме, как только происходит ценовой пробой. Только при соблюдении всех этих факторов — четком пробое цены и значительно большем объеме — техника выдает торговый сигнал. Поскольку реальные рыночные движения обычно показывают как динамику цен, так и возросшую торговую активность, этот метод двойного подтверждения помогает отсеять ложные пробои и маловероятные уставки. Используя динамические уровни стоп-лосса и тейк-профита, основанные на расчетах среднего истинного диапазона (ATR), платформа еще больше улучшает управление сделками и обеспечивает адаптацию управления рисками к волатильности рынка.

Этот код реализует сложную торговую стратегию, сочетающую в себе три ключевых компонента технического анализа для подтверждения тренда. По своей сути, стратегия отслеживает пробои объемов, превышающие 50%-ный рост по сравнению со средним историческим значением, рассчитанным на основе 20-периодного ретроспективного анализа. Этот анализ объема дополняется подтверждением движения цены, когда система определяет уровни поддержки и сопротивления из недавней истории цен и подтверждает пробои, когда цена закрывается за пределами этих уровней.

В этом методе для интеграции машинного обучения используется нейронная сеть LSTM с 32 скрытыми узлами, которая исследует паттерны объёмов. С каждой новой свечой эта нейронная сеть меняет свои прогнозы, добавляя еще один уровень проверки к пробоям объема. Алгоритм совершает сделки с использованием определения размера позиции на основе ATR, когда все три элемента совпадают: большой объем, подтвержденный пробой цены и проверка LSTM.
Важно внедрить систему управления рисками, а динамические уровни стоп-лосса и тейк-профита определяются с использованием среднего истинного диапазона (ATR). Хорошее соотношение риска и прибыли достигается за счет установки цели тейк-профита на уровне 3 ATR, а стоп-лосса на уровне 2 ATR от входа. Кроме того, система имеет защиту от множества позиций, гарантируя, что никогда не будет больше одной текущей сделки.

Flow diagram



Реализация стратегии

Советник использует ряд важных элементов для реализации методичной стратегии торговли на пробой. Чтобы количественно оценить волатильность, код сначала настраивает индикаторы ATR и параметры анализа объема. Чтобы предотвратить дублирование обработки, метод OnTick() выступает в качестве основной точки входа на протяжении всего процесса исполнения, инициируя анализ только в начале новых ценовых баров.

Основная логика основана на структурированном дереве решений:

Проверка пробоя объема с помощью IsVolumeBreakout() проверяет, превышает ли текущий объем историческое среднее значение по указанному порогу (по умолчанию 50%).

bool IsVolumeBreakout()
{
    double currentVolume = iVolume(_Symbol, PERIOD_CURRENT, 1);
    double avgVolume = 0;
    
    for(int i = 1; i <= VOLUME_LOOKBACK; i++)
    {
        avgVolume += iVolume(_Symbol, PERIOD_CURRENT, i);
    }
    avgVolume = avgVolume / VOLUME_LOOKBACK;
    
    .....
    
    return (currentVolume > avgVolume * VOLUME_THRESHOLD);
}

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

bool IsPriceBreakout(bool &isLong)
{
    double high[], low[], close[];
    ArraySetAsSeries(high, true);
    ArraySetAsSeries(low, true);
    ArraySetAsSeries(close, true);
    
    if(CopyHigh(_Symbol, PERIOD_CURRENT, 0, 10, high) <= 0) return false;
    if(CopyLow(_Symbol, PERIOD_CURRENT, 0, 10, low) <= 0) return false;
    if(CopyClose(_Symbol, PERIOD_CURRENT, 0, 10, close) <= 0) return false;
    
    double resistance = high[1];
    double support = low[1];
    
    for(int i = 2; i < 10; i++)
    {
        if(high[i] > resistance) resistance = high[i];
        if(low[i] < support) support = low[i];
    }
    
    ....
    
    if(close[0] > resistance && close[1] <= resistance)
    {
        isLong = true;
        Print("BREAKOUT ALCISTA DETECTADO");
        return true;
    }
    else if(close[0] < support && close[1] >= support)
    {
        isLong = false;
        Print("BREAKOUT BAJISTA DETECTADO");
        return true;
    }
    
    return false;
}

Исполнение сделки с помощью PlaceOrder() происходит только тогда, когда совпадают условия объема и цены.

Управление рисками интегрировано с помощью множества механизмов:

  • Размер позиции фиксирован на уровне 0,1 лота на сделку
  • Уровни стоп-лосса рассчитываются динамически с использованием множителей ATR (по умолчанию 2.0 ATR).
  • Целевые значения тейк-профита устанавливаются на уровне в 3,0 раза превышающем ATR от момента входа
  • Система предотвращает наличие множества одновременных позиций
  • Минимальное требование к подтверждению свеч (по умолчанию 2 свечи) помогает избежать ложных пробоев

Выход из сделки регулируется следующим:

  • Предустановленные уровни стоп-лосса и тейк-профита на основе ATR
  • Ограничение в одну позицию обеспечивает чистые циклы входа/выхода
  • Во всех расчетах используются нормализованные значения цен для поддержания точности при работе с различными инструментами
void PlaceOrder(bool isLong)
{
    CTrade trade;
    double price = isLong ? SymbolInfoDouble(_Symbol, SYMBOL_ASK) : SymbolInfoDouble(_Symbol, SYMBOL_BID);
        
    double atr[], close[];
    ArraySetAsSeries(atr, true);
    ArraySetAsSeries(close, true);
    
    if(CopyBuffer(atr_handle, 0, 0, 1, atr) <= 0) return;
    if(CopyClose(_Symbol, PERIOD_CURRENT, 0, 1, close) <= 0) return;
    
    double stopLoss = isLong ? price - (atr[0] * SL_ATR_MULTIPLIER) : price + (atr[0] * SL_ATR_MULTIPLIER);
    double takeProfit = isLong ? price + (atr[0] * TP_ATR_MULTIPLIER) : price - (atr[0] * TP_ATR_MULTIPLIER);
    
    stopLoss = NormalizeDouble(stopLoss, _Digits);
    takeProfit = NormalizeDouble(takeProfit, _Digits);
    
    ENUM_ORDER_TYPE orderType = isLong ? ORDER_TYPE_BUY : ORDER_TYPE_SELL;
    
    ....
    
    if(PositionsTotal() > 0)
    {
        Print("Ya hay posiciones abiertas, saliendo...");
        return;
    }
    
    if(!trade.PositionOpen(_Symbol, orderType, 0.1, price, stopLoss, takeProfit))
    {
        ...
        return;
    }
    
    Print("Orden colocada exitosamente. Dirección: ", isLong ? "LONG" : "SHORT");
}



Адаптивность и гибкость

Многокомпонентный метод валидации этой методики - вот что делает ее гибкой. Резкие скачки объемов на валютных рынках могут свидетельствовать об участии крупных участников рынка, в то время как на фондовых рынках они часто предполагают институциональную активность. Этот метод особенно хорошо работает на товарных рынках, поскольку резкие скачки объемов обычно предшествуют серьезным изменениям тренда.

Для достижения наилучших результатов необходима калибровка в соответствии с требованиями рынка. Возможно, что пороговое значение объема, которое в настоящее время установлено на уровне 1,5х, потребуется скорректировать на рынках с высокой ликвидностью, таких как основные валютные пары, чтобы отфильтровать шум. Настройка MIN_CANDLES_CONFIRM становится необходимой для менее ликвидных инструментов, чтобы предотвратить ложные пробои. Параметр HIDDEN_SIZE компонента LSTM должен быть масштабирован в соответствии с обычными паттернами объема рынка; чем выше, тем лучше для более сложных рынков, таких как криптовалюта.
Определение размера позиции на основе ATR также предлагает органическую адаптацию к рынку. Динамические стоп-сигналы SL_ATR_MULTIPLIER и TP_ATR_MULTIPLIER, а также целевые значения динамически адаптируются к профилю волатильности каждого инструмента. Например, крупные индексы могут выиграть от более жестких настроек, в то время как более волатильные рынки, такие как акции с малой капитализацией, могут выиграть от более широких стоп-сигналов (более высокий мультипликатор).

Настройки

Входные параметры

График

Тестирование на истории

Благодаря надежной стратегии, сочетающей анализ объемов, распознавание трендов и прогнозы с помощью нейронной сети LSTM, советник демонстрирует обнадеживающие результаты. Несмотря на то, что здесь могут быть возможности для улучшения, стабильность кривой эквити свидетельствует об эффективной работе системы управления рисками. Сравнительно низкая составляющая прибыли предполагает осторожную торговую стратегию, которая обычно способствует устойчивости в долгосрочной перспективе.

Способность системы поддерживать стабильную эффективность, несмотря на сложность рынка EURUSD, весьма интригует. Прогнозы LSTM, анализ тренда и порог объема - это три подтверждающие переменные, которые, по-видимому, хорошо сочетаются для фильтрации ошибочных сигналов. Дополнительная степень безопасности обеспечивается за счет использования функции распознавания паттерна «Поглощение» и обнаружения ложного пробоя пин-бара.

Однако есть возможности для улучшения. Похоже, что критерии входа/выхода могут быть улучшены, о чем свидетельствует процент побед, составляющий около 50%. Одним из вариантов является использование более сложной стратегии выхода, чем отсчет текущего количества баров, и обнаружение ложного пробоя. Кроме того, может оказаться полезным внесение изменений в расчеты порогового объема системы с учетом волатильности рынка.

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

Ориентация на текущую рыночную активность обусловлена очень коротким объемом вводимых данных и периодом ретроспективы при реализации LSTM. Несмотря на видимость эффективной работы в текущих условиях, увеличение периода ретроспективного анализа может помочь определить долгосрочные рыночные тенденции и повысить точность прогноза при значительных изменениях тренда.

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

Архитектура этого советника, которая фокусируется на универсальных характеристиках рынка, таких как анализ объема и ценовых тенденций, делает его очень гибким для торговли различными финансовыми инструментами, не ограничиваясь только EURUSD.

Поскольку нейронная сеть LSTM основана на относительных колебаниях объема и ценовых паттернах, а не на зависящих от валюты факторах, ее архитектура особенно легко адаптируется. Это означает, что её можно успешно использовать с другими важными валютными парами, сырьевыми товарами или даже фондовыми индексами, где движение цены сильно зависит от объема торгов.

Важно помнить, что для различных инструментов могут потребоваться корректировки ретроспективных периодов и множителя порогового объема. Например, учитывая их отличительные торговые характеристики и обычные профили объема, таким парам, как USDJPY или GBPUSD, могут потребоваться различные критерии объема. Аналогичным образом, из-за особой динамики рынка такие сырьевые товары, как золото или нефть, могут извлечь выгоду из длительных периодов ретроспективы.

Поскольку пин-бары и паттерны поглощения распространены на всех финансовых рынках, метод обнаружения ложных пробоев, в котором они используются, практически неизбежен. Однако эффективность может отличаться в зависимости от обычной волатильности каждого инструмента. Например, для более волатильных инструментов могут потребоваться более высокие пороговые значения для идентификации паттерна.

Хотя текущие результаты по паре EURUSD являются хорошей начальной точкой, трейдерам, использующим этот подход на других инструментах, следует ожидать изменения таких факторов, как пороговые значения объема и размер скрытого уровня LSTM. Одним из преимуществ стратегии является ее гибкость, но важно понимать, что каждый рынок обладает уникальной "индивидуальностью" и торговыми особенностями, которые необходимо учитывать при настройке параметров.

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

Settings GBPUSD

Inputs GBPUSD

Graph GBPUSD

Backtesting GBPUSD


Settings Gold

Inputs Gold

Graph Gold

Backtest Gold



Заключение

Подводя итог, можно сказать, что такой подход к торговле обладает рядом существенных преимуществ, которые делают его полезным инструментом для участников рынка. Методическая стратегия основана на ожидаемых рыночных тенденциях и волатильности, снижая при этом эмоциональность принятия решений. Благодаря интеграции нескольких технических индикаторов и строгим процедурам управления рисками, этот подход обеспечивает тщательную структуру, которая является достаточно гибкой, чтобы адаптироваться к меняющимся рыночным условиям. Обеспечивая значимое участие в прибыльных тенденциях, интегрированные меры предосторожности, такие как рекомендации по определению размера позиции и механизмы стоп—лосса, помогают защитить деньги во время неблагоприятных изменений на рынке.

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

Желающим использовать этот метод трейдерам рекомендуется начать с торговли бумагами, чтобы ознакомиться с таймингом и механикой входа и выходов. Начните с меньшего размера позиций, как только почувствуете себя комфортно, затем постепенно увеличивайте их по мере того, как будете демонстрировать надежное исполнение. Помните, что ни одна стратегия не является эффективной в любой рыночной ситуации; вместо этого установите четкие правила, определяющие, когда следует ограничить риск или временно отказаться от стратегии в неблагоприятных обстоятельствах. Разработайте надежную практику ежедневного анализа рынка и следуйте установленным рекомендациям, сохраняя при этом гибкость для адаптации к меняющимся условиям. В конечном счете, целенаправленное исполнение и основанная на тщательном анализе результатов тщательная модификация подхода, - вот что приводит к успеху.
Файлы Путь для сохранения файлов
.mqh Сохраните этот ML в MQL5/Include/            не забудьте изменить советник, чтобы путь находился в соответствии
Файл .mq5 Сохраните этот советник MQL5/Expert/

Перевод с английского произведен MetaQuotes Ltd.
Оригинальная статья: https://www.mql5.com/en/articles/16573

Прикрепленные файлы |
Volume_LSTM.mqh (14.23 KB)
Последние комментарии | Перейти к обсуждению на форуме трейдеров (4)
Anil Varma
Anil Varma | 16 янв. 2025 в 16:06

Здравствуйте, Хавьер

Спасибо за советник, основанный на " при использовании нейронной сети LSTM для дополнительного подтверждения".

Однако я не нашел, где и как вы использовали это дополнительное подтверждение в советнике.

Не могли бы вы рассказать об этом подробнее.

Fernando Carreiro
Fernando Carreiro | 16 янв. 2025 в 16:12
@Anil Varma #: Здравствуйте, Хавьер. Спасибо за советник, основанный на " при использовании нейронной сети LSTM для дополнительного подтверждения". Однако я не нашел, где и как вы использовали это дополнительное подтверждение в советнике. Не могли бы вы рассказать об этом подробнее.
Автор в настоящее время заблокирован (не знаю, на какой срок) и не сможет вам ответить.
Anil Varma
Anil Varma | 17 янв. 2025 в 06:54
Fernando Carreiro #:
Автор в настоящее время заблокирован (не знаю, на какой срок) и не сможет вам ответить.

Спасибо за обновление @Fernando Carreiro

Мне просто было интересно, почему его имя зачеркнуто.

ceejay1962
ceejay1962 | 17 янв. 2025 в 12:22
Anil Varma #:

Здравствуйте, Хавьер

Спасибо за советник, основанный на " при использовании нейронной сети LSTM для дополнительного подтверждения".

Однако я не нашел, где и как вы использовали это дополнительное подтверждение в советнике.

Не могли бы вы рассказать об этом подробнее.

Я тоже немного запутался в этом - кажется, что советник создает объект предиктора объемов с VolumePredictor *volumePredictor; и впоследствии вызывает volumePredictor.UpdateHistoricalData(volumes); для обновления прогноза. Но я не могу найти ни одного вызова volumePredictor.PredictNextVolume();

От начального до среднего уровня: Перегрузка От начального до среднего уровня: Перегрузка
Возможно, эта статья окажется самой запутанной для начинающих программистов. Ведь здесь я покажу, что не всегда в одном и том же коде все функции и процедуры имеют уникальные имена. Да, мы вполне можем использовать функции и процедуры с одинаковым именем — и это называется перегрузкой.
Установка MetaTrader 5 и других приложений от MetaQuotes на HarmonyOS NEXT Установка MetaTrader 5 и других приложений от MetaQuotes на HarmonyOS NEXT
Приложения от MetaQuotes, включая платформы MetaTrader 5 и MetaTrader 4, можно установить на устройства с операционной системой HarmonyOS NEXT с помощью компонента DroiTong. В статье представлено пошаговое руководство для установки программ на телефон или ноутбук.
Алгоритм эхолокации дельфинов — Dolphin Echolocation Algorithm (DEA) Алгоритм эхолокации дельфинов — Dolphin Echolocation Algorithm (DEA)
В этой статье мы подробно рассмотрим алгоритм DEA — метаэвристический метод оптимизации, вдохновленный уникальной способностью дельфинов находить добычу с помощью эхолокации. От математических основ до практической реализации на MQL5, от анализа до сравнения с классическими алгоритмами — детально разберем, почему этот относительно молодой метод заслуживает места в арсенале тех, кто сталкивается с задачами оптимизации.
Выявление и классификация фрактальных паттернов посредством машинного обучения Выявление и классификация фрактальных паттернов посредством машинного обучения
В этой статье мы затронем интригующую тему фрактального анализа и прогнозирования рынков посредством машинного обучения. Это только первые шаги на пути к исследованию многообразных фрактальных структур, которые образуются на графиках финансовых котировок. Мы используем корреляцию для поиска паттернов и алгоритм CatBoost для классификации этих паттернов.