
HMA Accelerated Cross Trading System - это комплексная стратегия отслеживания трендов, которая сочетает в себе пересечение Hull Moving Average (HMA) с кривой (Curvature) и механизм управления рисками, основанный на среднем истинном диапазоне (Average True Range, ATR). Эта стратегия определяет направление рыночной тенденции, используя пересечение быстрых и медленных HMA, одновременно с отбором сигналов с достаточным количеством движения с использованием кривой, а также использует ATR для установки стоп-стопов и позиций, которые позволяют эффективно реагировать на рыночную волатильность.
Основные принципы стратегии базируются на трех ключевых компонентах:
Система перекрестных сигналов HMA:
Фильтр изгиба динамики:
Основанная на ATR система управления рисками:
Логика исполнения сделки ясна: открывайте позицию, когда быстрый HMA проходит медленный HMA и кривая положительная, открывайте позицию, когда быстрый HMA проходит медленный HMA и кривая отрицательная, открывайте позицию, чтобы сделать ее пустой. Выходная стратегия использует ATR-постовое отслеживание убытков, а также соответствующее корректировку стоп-убытков, чтобы блокировать прибыль, когда цена движется в пользу.
Умение адаптироватьсяHMA сама чувствительна к ценовым изменениям, и в целом стратегия может автоматически корректировать стоп-дистанцию и размер позиции в зависимости от волатильности рынка, что позволяет ей оставаться относительно стабильной в различных рыночных условиях.
Качество фильтрацииС помощью применения криволинейных индикаторов стратегия может идентифицировать и отфильтровывать сигналы недостаточной динамики, вступая в игру только тогда, когда тенденция имеет достаточное ускорение, что значительно снижает количество ложных прорывов и неэффективных сделок.
Строгий контроль рискаСистема управления рисками, основанная на ATR, гарантирует, что риск для каждой сделки всегда остается на заданном уровне, и что одна сделка не может привести к чрезмерным потерям, независимо от того, насколько сильно рыночная волатильность.
Динамическое управление позициямиСтратегия: расчет оптимальных позиций в зависимости от текущей волатильности рынка и динамики средств на счетах, автоматическое сокращение позиций при высокой волатильности и умеренное увеличение позиций при низкой волатильности, достижение баланса между эффективностью капитала и контролем риска.
Полноценная торговая база: Стратегия предоставляет полную торговую систему от генерации сигналов, условий входа, расчета позиций до управления стоп-лоском, без дополнительных дополнений к другим модулям, которые могут быть практически применены.
Двухсторонние транзакции: поддержка оптовых и дискортовых двунаправленных сделок, возможность искать возможности для получения прибыли в различных рыночных тенденциях, не ограничиваясь одним направлением.
Неудача на рынкеВ качестве стратегии отслеживания тенденций, в условиях поперечной корректировки или частого колебания рынка, могут возникать последовательные небольшие потери, известные как “мытье листов”. Решение заключается в добавлении модуля распознавания состояния рынка, приостановке торговли или корректировке параметров при распознавании колебаний рынка.
Параметр Чувствительность: Показатели эффективности стратегии более чувствительны к параметрам, таким как HMA-циклы, кривые и ATR-множители. Неправильный выбор параметров может привести к чрезмерной торговле или упущению важных тенденций. Рекомендуется оптимизировать параметры путем обратной связи в различных рыночных условиях или рассмотреть возможность реализации механизмов самостоятельной адаптации параметров.
Скидки и риски ликвидности: На рынках с резкой волатильностью реальная цена исполнения может иметь большое отклонение от цены сигнала. Особенно для менее ликвидных сортов такое скольжение может значительно повлиять на эффективность стратегии. Рекомендуется учитывать фактор скольжения в ретроспективных измерениях и обращать внимание на выбор наиболее ликвидных торговых сортов на реальных рынках.
Вход в систему рискаСтратегия может занимать большие позиции в условиях сильной тенденции, и если рынок внезапно перевернется (например, крупный новостной шок), отслеживание стоп-лосса может не защитить средства вовремя. Можно рассмотреть возможность установки абсолютного стоп-лосса или внедрения механизма обнаружения волатильности как дополнительной защиты.
Фильтрация излишней кривизныСлишком высокий кривойный порог может привести к пропуску начальной тенденции, а слишком низкий порог может ввести слишком много шумовых сигналов. Необходимо найти равновесие в обратном измерении или рассмотреть возможность корректировки порога в соответствии с динамикой рынка.
Подтверждение многократных временных рамок:
Строка самостоятельной адаптационной кривой:
Введение подтверждения поставки:
Интеллектуальные меры по ликвидации убытков:
Анализ кривой разрыва HMA:
Оптимизация стратегии управления капиталом:
HMA Accelerated Cross Trading System - это хорошо продуманная стратегия отслеживания трендов, которая создает целостную и мощную торговую структуру, используя в сочетании HMA Cross, фильтрацию кривой динамики и управление рисками ATR. Основные преимущества этой стратегии заключаются в ее адаптивности и всеобъемлющем контроле риска, которая позволяет защищать торговые средства, одновременно улавливая рыночные тенденции.
Стратегия особенно подходит для рынков с заметными трендовыми характеристиками, но может быть проблематичной в условиях волатильности. Использование рекомендованных оптимизационных мер, в частности, подтверждения многократных временных рамок и адаптивной коррекции параметров, может способствовать дальнейшему повышению эффективности стратегии. Для количественных трейдеров это система с прочной основой, которая может быть использована как непосредственно, так и в качестве отправной точки для построения более сложных торговых стратегий.
Следует отметить, что любая торговая стратегия требует проверки с помощью полной исторической ретроспекции и моделирования сделок, а также корректировки параметров в соответствии с конкретными особенностями рынка и личными предпочтениями в отношении риска. Эта стратегия обеспечивает рамку, которая сбалансировала бы технический анализ, теорию динамики и управление рисками, но ее успешное применение по-прежнему требует тщательной корректировки и постоянного мониторинга со стороны трейдера.
/*backtest
start: 2024-06-30 00:00:00
end: 2025-06-28 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":50000000}]
*/
//@version=6
strategy("HMA Crossover + ATR + Curvature (Long & Short)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === Inputs ===
fastLength = input.int(15, title="Fast HMA Period")
slowLength = input.int(34, title="Slow HMA Period")
atrLength = input.int(14, title="ATR Period")
riskPercent = input.float(1.0, minval=0.1, maxval=10, title="Risk per Trade (%)")
atrMult = input.float(1.5, title="Stop Loss ATR Multiplier")
trailMult = input.float(1.0, title="Trailing Stop ATR Multiplier")
curvThresh = input.float(0.0, step=0.01, title="Curvature Threshold (Min Acceleration)")
// === Calculations ===
fastHMA = ta.hma(close, fastLength)
slowHMA = ta.hma(close, slowLength)
atr = ta.atr(atrLength)
// Curvature: approximate second derivative (acceleration)
curv = ta.change(ta.change(fastHMA))
// Entry Conditions
bullish = ta.crossover(fastHMA, slowHMA) and curv > curvThresh
bearish = ta.crossunder(fastHMA, slowHMA) and curv < -curvThresh
// Risk Management
stopLoss = atr * atrMult
trailStop = atr * trailMult
capital = strategy.equity
riskCapital = capital * (riskPercent / 100)
qty = riskCapital / stopLoss
// === Strategy Logic ===
if (bullish)
strategy.entry("Long", strategy.long, qty=qty)
strategy.exit("Long Trail Stop", from_entry="Long", trail_points=trailStop, trail_offset=trailStop)
if (bearish)
strategy.entry("Short", strategy.short, qty=qty)
strategy.exit("Short Trail Stop", from_entry="Short", trail_points=trailStop, trail_offset=trailStop)
plotshape(bullish, title="Buy", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(bearish, title="Sell", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")