Двойное пересечение скользящих средних, типичная ценовая привязка VWAP, внутридневная динамическая количественная стратегия стоп-профита и стоп-лосса

EMA VWAP ATR Typical Price Risk/Reward
Дата создания: 2025-07-25 13:33:58 Последнее изменение: 2025-07-25 13:33:58
Копировать: 4 Количество просмотров: 263
2
Подписаться
319
Подписчики

Двойное пересечение скользящих средних, типичная ценовая привязка VWAP, внутридневная динамическая количественная стратегия стоп-профита и стоп-лосса Двойное пересечение скользящих средних, типичная ценовая привязка VWAP, внутридневная динамическая количественная стратегия стоп-профита и стоп-лосса

Обзор

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

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

Основные принципы стратегии основаны на перекрестных отношениях между двумя средними линиями (EMA 20 и фиксированный VWAP) и взаимодействии цены с этими средними линиями. В частности:

  1. Механизм генерации входного сигнала

    • Условия покупки: сигнал покупки срабатывает, когда EMA 20 находится выше VWAP и цена закрытия проходит через EMA 20 снизу, или когда EMA 20 проходит через VWAP снизу.
    • Условия продажи: сигнал продажи срабатывает, когда EMA 20 находится ниже VWAP и цена закрытия проходит через EMA 20 сверху, или когда EMA 20 проходит через VWAP сверху.
  2. Применение типичных ценСтратегия: используйте типичную цену ((высокая цена + низкая цена + цена закрытия) / 3 для вычисления VWAP, что дает более полную информацию о ценах, чем просто использование цены закрытия.

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

  4. Динамическое управление рисками

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

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

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

  2. Динамическая остановка убытков в связи с волатильностью рынка: С помощью ATR расчетная стоп-позиция позволяет стоп-позиции автоматически корректироваться в зависимости от реальных колебаний рынка, избегая неприспособленности фиксированных стоп-позиций в различных волатильных условиях.

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

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

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

  6. Интуитивное визуализация: Стратегия предоставляет четкие графические знаки, включая сигналы покупки и продажи, стоп-лосс и целевую ценовую линию, что позволяет трейдерам интуитивно понимать и принимать торговые решения.

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

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

  2. VWAP рассчитывается в зависимости от объема транзакцийВ случае аномального объема транзакций, например, крупных крупных транзакций, может возникнуть отклонение VWAP, влияющее на точность сигнала.

  3. Риск частоты торговВ условиях нестабильных рынков средние линии могут часто пересекаться, что приводит к переторгу и увеличению стоимости сделки.

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

  5. Ограничения, установленные целевой ценойПоказатели, основанные на размерах отдельных блоков, могут быть недостаточными для всех рыночных условий, особенно при изменении структуры рынка.

Решение проблемы

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

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

  1. Параметры оптимизации

    • Циклы EMA могут быть оптимизированы в зависимости от разных торговых сортов и временных рамок, а для более волатильных сортов могут потребоваться более длительные циклы EMA.
    • ATR может быть скорректирован в зависимости от рыночной волатильности, а в высоко волатильных рынках может потребоваться больший умножение, чтобы избежать преждевременного остановки.
    • Коэффициент возврата риска может быть скорректирован в зависимости от личных предпочтений в отношении риска и особенностей рынка.
  2. Добавить фильтр рыночной среды

    • Введение волатильных показателей, таких как пропускная способность Бринга, приостановка торговли в условиях низкой волатильности или корректировка параметров.
    • Добавление индикатора интенсивности тренда, такого как ADX, для торговли только в явном тренде.
  3. Фильтр времени

    • Внедрение торговых временных окон, чтобы избежать периодов высокой волатильности во время открытия и закрытия рынка, а также низкой активности во время полудня.
    • С учетом ограничений на транзакции до и после публикации важных экономических данных.
  4. Оптимизация стоп-стоп

    • Реализация механизма сдерживания партий, при котором некоторые позиции получают прибыль вблизи цели, а некоторые позиции преследуют более отдаленную цель.
    • Введение следящих стопов, автоматически корректирующих положение стопов по мере движения цены в выгодном направлении.
  5. Интеграция многовременного анализа

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

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

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

Движущаяся стоп-стоп-лосс количественная стратегия VWAP intraday является комплексной торговой системой, объединяющей несколько инструментов технического анализа. Она идентифицирует потенциальные торговые возможности с помощью связи между EMA 20 и VWAP, рассчитанной на типичной цене, и использует механизм управления динамическими рисками на основе ATR и размера корпуса для управления рисками и оптимизации доходов.

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

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

Исходный код стратегии
/*backtest
start: 2024-07-25 00:00:00
end: 2025-07-23 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/

//@version=5
strategy("EMA 20 and Anchored VWAP with Typical Price", overlay=true)

// === INPUTS ===
emaLength = input.int(20, title="EMA Length")
atrMultiplier = input.float(2.0, title="Stop Loss Multiplier (x ATR)", minval=1)
riskRewardRatio = input.float(3.0, title="Risk/Reward Ratio", minval=1, step=0.1)  // 1:3 Risk/Reward Ratio

// === CALCULATIONS ===
// EMA 20
ema20 = ta.ema(close, emaLength)

// === TYPICAL PRICE ===
typicalPrice = (high + low + close) / 3

// === VWAP CALCULATION (ANCHOR PERIOD = SESSION) ===

// Reset at the start of each session (new day)
var float cumPriceVol = na
var float cumVol = na

if (dayofweek != dayofweek[1])  // Reset at the start of each day
    cumPriceVol := typicalPrice * volume
    cumVol := volume
else
    cumPriceVol := cumPriceVol + (typicalPrice * volume)
    cumVol := cumVol + volume

vwap = cumPriceVol / cumVol  // VWAP = cumulative price-volume / cumulative volume

// ATR Calculation
atr = ta.atr(14)

// === BUY CONDITIONS ===
// EMA 20 above VWAP and close crosses EMA 20 from below, OR EMA 20 crosses VWAP from below
buyCondition = (ema20 > vwap and ta.crossover(close, ema20)) or ta.crossover(ema20, vwap)

// === SELL CONDITIONS ===
// EMA 20 below VWAP and close crosses EMA 20 from above, OR EMA 20 crosses VWAP from above
sellCondition = (ema20 < vwap and ta.crossunder(close, ema20)) or ta.crossunder(ema20, vwap)

// === STOP LOSS and TARGET ===
// Buy Stop Loss and Target calculation (Weapon Candle is the signal candle)
buyStopLoss = close - atr * atrMultiplier

// Weapon Candle (signal candle) for Buy
weaponCandleSize = high - low
buyTarget = high + 2 * weaponCandleSize // Target = High of weapon candle + 2 * candle size

// Sell Stop Loss and Target calculation (Weapon Candle is the signal candle)
sellStopLoss = close + atr * atrMultiplier

// Weapon Candle (signal candle) for Sell
weaponCandleSizeSell = high - low
sellTarget = low - 2 * weaponCandleSizeSell // Target = Low of weapon candle - 2 * candle size

// === EXECUTE STRATEGY (Buy and Sell) ===
// Buy order entry
if (buyCondition)
    strategy.entry("Buy", strategy.long, stop=buyStopLoss, limit=buyTarget)
    
// Sell order entry
if (sellCondition)
    strategy.entry("Sell", strategy.short, stop=sellStopLoss, limit=sellTarget)

// === PLOTS ===
// Plot EMA 20
plot(ema20, color=color.blue, title="EMA 20", linewidth=2)

// Plot VWAP
plot(vwap, color=color.orange, title="Session Anchored VWAP", linewidth=2)

// Plot Buy and Sell signals on the chart
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY")
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")

// === BACKGROUND COLORS ===
bgcolor(buyCondition ? color.new(color.green, 90) : na, title="Buy Background")
bgcolor(sellCondition ? color.new(color.red, 90) : na, title="Sell Background")