Динамическая скользящая средняя, ​​следующая за трендом и адаптивная к волатильности стратегия торговли фьючерсами Nasdaq

EMA VWAP ATR TP SL BE MNQ
Дата создания: 2025-02-24 10:25:47 Последнее изменение: 2025-02-27 16:44:56
Копировать: 1 Количество просмотров: 499
2
Подписаться
319
Подписчики

Динамическая скользящая средняя, ​​следующая за трендом и адаптивная к волатильности стратегия торговли фьючерсами Nasdaq Динамическая скользящая средняя, ​​следующая за трендом и адаптивная к волатильности стратегия торговли фьючерсами Nasdaq

Обзор

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

Стратегический принцип

Стратегия основана на следующих основных компонентах:

  1. Сигнальная система использует пересечение 9-циклических и 21-циклических EMA для определения направления тренда. Когда кратковременная средняя линия пересекает долгосрочную среднюю линию вверх, она создает плюсовый сигнал, и наоборот, создает пустой сигнал.
  2. Используя VWAP в качестве индикатора подтверждения тенденции, цена должна быть выше VWAP, чтобы открыть позицию, и ниже VWAP, чтобы открыть пустую позицию.
  3. Система управления рисками использует динамическое остановку, основанное на ATR, с установкой многопозиционного остановки в 2 раза ATR и пустого положения в 1,5 раза ATR.
  4. Цели прибыли используют асимметричную конструкцию, при этом многопозиции используют 3: 1 прибыль-риск, а пустые позиции - 2: 1.
  5. Установлены механизмы движущегося стоп-убытка и покрытия стоп-убытка, когда цена достигает 50% от целевой прибыли. Стоп-убыток перемещается на уровень затрат.

Стратегические преимущества

  1. Динамическая адаптивность - при регулировании стоп-параметров и мобильных стоп-параметров с помощью ATR, стратегия может автоматически адаптироваться к различным рыночным волатильным условиям.
  2. Контроль риска совершенен - риски на одну сделку ограничены в пределах 1500 долларов США и установлена максимальная недельная потеря в размере 7500 долларов США.
  3. Несимметричная конструкция прибыли - учитывая особенности рынка, многообещающая стратегия использует различные соотношения прибыли и риска и размеры позиций, которые лучше соответствуют реальным ситуациям на рынке.
  4. Механизм многократного подтверждения - в сочетании с перекрестным подтверждением EMA и VWAP, эффективно снижает количество ложных сигналов прорыва.
  5. Комплексная система остановки убытков - включает в себя трехмерную защиту от фиксированных, подвижных и гарантийных остановок убытков.

Стратегический риск

  1. Риск колебаний на рынке - при колебаниях на рынке, пересечение равномерных линий может привести к появлению большего количества ложных сигналов.
  2. Риск скольжения - при быстром движении реальная цена сделки может быть значительно отклонена от цены сигнала.
  3. Системный риск - приостановка может быть отменена в случае крупного события на рынке.
  4. Риск чрезмерной торговли - частые сигналы могут привести к увеличению стоимости торгов.
  5. Риск управления капиталом - если начальный капитал небольшой, то может быть невозможно эффективно осуществить полный план управления позициями.

Направление оптимизации стратегии

  1. Внедрение фильтра загрузки - можно добавить механизм подтверждения загрузки, который выполняет транзакции только в том случае, если загрузка соответствует условиям.
  2. Оптимизация временных фильтров - подумайте о том, чтобы включить конкретные временные окна для торгов, чтобы избежать больших колебаний во время открытия и закрытия.
  3. Динамические параметры корректировки - могут автоматически корректироваться среднелинейные циклы и ATR-множители в зависимости от различных рыночных условий.
  4. Увеличение показателей рыночной сентиментальности - введение показателей волатильности, таких как VIX, для корректировки частоты торгов и размеров позиций.
  5. Совершенствование мобильного стоп-интервью - можно разработать более гибкие мобильные алгоритмы стоп-интервью, улучшая способность удерживать тенденции.

Подвести итог

Стратегия создает прочную систему отслеживания тенденций с использованием равнолинейной системы и VWAP и защищает средства посредством многоуровневого механизма управления рисками. Самая большая особенность стратегии - ее адаптивность и способность управлять рисками, динамически регулируя различные параметры через ATR, что позволяет ей поддерживать стабильную производительность в разных рыночных условиях. Стратегия особенно подходит для торговли микрофьючерсами NASDAQ 100 в течение суток, но требует от трейдеров строгого соблюдать правила контроля риска и корректировать параметры в соответствии с изменениями рынка.

Исходный код стратегии
/*backtest
start: 2024-02-25 00:00:00
end: 2025-02-22 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/

//@version=5
strategy("Nasdaq 100 Micro - Optimized Risk Management", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// === INPUTS ===
riskPerTrade = input(1500, title="Max Risk Per Trade ($)")
profitTarget = input(3000, title="Target Profit Per Trade ($)")
maxWeeklyLoss = input(7500, title="Max Weekly Loss ($)")
emaShort = input(9, title="Short EMA Period")
emaLong = input(21, title="Long EMA Period")
vwapEnabled = input(true, title="Use VWAP?")
contractSizeMax = input(50, title="Max Micro Contracts per Trade")
atrLength = input(14, title="ATR Length")

// === INDICATORS ===
emaFast = ta.ema(close, emaShort)
emaSlow = ta.ema(close, emaLong)
vwapLine = ta.vwap(close)
atrValue = ta.atr(atrLength)

// === CONDITIONS ===
// Long Entry: EMA Crossover + Above VWAP
longCondition = ta.crossover(emaFast, emaSlow) and (not vwapEnabled or close > vwapLine)

// Short Entry: EMA Crossunder + Below VWAP
shortCondition = ta.crossunder(emaFast, emaSlow) and (not vwapEnabled or close < vwapLine)

// Position Size Calculation (Adjusted for Shorts)
riskPerPoint = 5 // MNQ Micro Futures = $5 per point per contract
stopLossPointsLong = atrValue * 2   // More room for longs
stopLossPointsShort = atrValue * 1.5 // Tighter for shorts
contractsLong = math.min(contractSizeMax, math.floor(riskPerTrade / (stopLossPointsLong * riskPerPoint)))
contractsShort = math.min(math.floor(contractsLong * 0.75), contractSizeMax) // Shorts use 75% of long size

// Stop Loss & Take Profit
longSL = close - stopLossPointsLong
longTP = close + (stopLossPointsLong * 3) // 1:3 Risk-Reward for longs
shortSL = close + stopLossPointsShort
shortTP = close - (stopLossPointsShort * 2) // 1:2 Risk-Reward for shorts

// === BREAK-EVEN STOP MECHANISM ===
longBE = close + (stopLossPointsLong * 1.5) // If price moves 50% to TP, move SL to entry
shortBE = close - (stopLossPointsShort * 1) // More aggressive on shorts

// === TRAILING STOP LOGIC ===
trailStopLong = close - (atrValue * 1.5)
trailStopShort = close + (atrValue * 1)

// === EXECUTION ===
// Check for weekly loss limit
weeklyLoss = strategy.netprofit < -maxWeeklyLoss

if (longCondition and not weeklyLoss)
    strategy.entry("Long", strategy.long, contractsLong)
    strategy.exit("TakeProfitLong", from_entry="Long", limit=longTP, stop=longSL, trail_points=atrValue * 1.5, trail_offset=atrValue * 0.5)
    strategy.exit("BreakEvenLong", from_entry="Long", stop=longBE, when=close >= longBE)

if (shortCondition and not weeklyLoss)
    strategy.entry("Short", strategy.short, contractsShort)
    strategy.exit("TakeProfitShort", from_entry="Short", limit=shortTP, stop=shortSL, trail_points=atrValue * 1, trail_offset=atrValue * 0.5)
    strategy.exit("BreakEvenShort", from_entry="Short", stop=shortBE, when=close <= shortBE)

// === STOP TRADING IF WEEKLY LOSS EXCEEDED ===
if (weeklyLoss)
    strategy.close_all()