Расширенная стратегия кроссовера EMA/WMA с комплексными условиями выхода

EMA WMA MACD SMA VWAP
Дата создания: 2024-07-31 14:47:01 Последнее изменение: 2024-07-31 14:47:01
Копировать: 12 Количество просмотров: 820
1
Подписаться
1617
Подписчики

Расширенная стратегия кроссовера EMA/WMA с комплексными условиями выхода

Обзор

Эта стратегия является количественной торговой системой, основанной на пересечении равной линии и MACD, в сочетании с несколькими техническими показателями для оптимизации времени входа и выхода. Стратегия использует пересечение EMA9 и WMA30 в качестве входного сигнала, а также подтверждение в сочетании с MACD.

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

  1. Условия участия:

    • WMA30 на EMA9
    • MACD линия находится над сигнальной линией
  2. Условия выхода на сцену (при наличии одного из следующих условий):

    • Два последовательных закрытия ниже EMA9 и по крайней мере одно закрытие ниже WMA30
    • MACD вниз по сигнальной линии
  3. Вспомогательные показатели:

    • 200-дневная SMA: используется для определения долгосрочных тенденций
    • 21 апреля EMA: среднесрочные тенденции
    • VWAP: отражает средний уровень цен на сделки за день

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

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

  1. Комплексный многопоказательный анализ: в сочетании с несколькими техническими показателями, такими как средняя линия, MACD, VWAP, предоставляется более полный взгляд на анализ рынка, что помогает повысить точность торговых решений.

  2. Гибкий механизм входа: MACD-подтверждение через перекрестную координацию EMA и WMA позволяет не только улавливать ранние стадии тренда, но и эффективно отфильтровывать ложные сигналы.

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

  4. Рассматривать различные временные периоды: введение 200-дневного SMA и 21-дневного EMA позволяет стратегии анализировать в разных временных рамках, что повышает адаптивность стратегии.

  5. Цены на основе объема сделок: с помощью показателя VWAP учитывается фактор объема сделок, что обеспечивает более репрезентативную ссылку на движение цен.

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

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

  2. Риск отставания: скользящие средние по своей сути являются отстающими индикаторами, которые могут не успеть вовремя поймать переломные моменты в сильно волатильных рынках.

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

  4. Тенденционная зависимость: эта стратегия хорошо работает на рынках с заметной тенденцией, но может не работать на рынках с потрясениями.

  5. Чувствительность параметров: эффекты стратегии могут быть очень чувствительны к параметрам (например, среднелинейный период, MACD параметры и т. д.), которые требуют частого корректирования.

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

  1. Введение показателя волатильности: рассмотреть возможность добавления показателя ATR (средняя реальная волатильность), чтобы скорректировать свои стоп-позиции в зависимости от рыночных колебаний и повысить гибкость управления рисками.

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

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

  4. Классификация состояния рынка: разработка классификационной модели состояния рынка с использованием различных торговых параметров или стратегий при различных состояниях рынка (тенденции, колебания).

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

  6. Оптимизация машинного обучения: динамическая оптимизация параметров стратегии с использованием алгоритмов машинного обучения для повышения адаптивности стратегии к изменениям рынка.

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

“Усиленная EMA/WMA кросс-стратегия с комплексными условиями выхода” - это количественная торговая система, объединяющая несколько технических показателей, которая захватывает рыночные тенденции с помощью равнолинейных кросс и MACD-индикаторов и контролирует риск с использованием множества условий. Преимущества стратегии заключаются в ее всестороннем взгляде на рынок и строгом механизме управления рисками, но в то же время она сталкивается с такими проблемами, как отсталость и чувствительность к параметрам.

Исходный код стратегии
/*backtest
start: 2023-07-25 00:00:00
end: 2024-07-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//X version 11
strategy("EMA9/WMA30 Crossover Strategy with Enhanced Exit Conditions", shorttitle="EMA9/WMA30 Enhanced Exit", overlay=true)

// Inputs
lengthEma = input.int(9, title="Length for EMA")
lengthWma = input.int(30, title="Length for WMA")
fastLength = input.int(12, title="Fast Length for MACD")
slowLength = input.int(26, title="Slow Length for MACD")
macdLength = input.int(9, title="Signal Smoothing for MACD")
pointsGainGoal = input.float(33.00, title="Points Gain Goal")
pointsLossGoal = input.float(-50.00, title="Points Loss Goal")

// Calculating EMA, WMA, and MACD
EMA9 = ta.ema(close, lengthEma)
WMA30 = ta.wma(close, lengthWma)
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, macdLength)

// Adding 200 SMA, 21 EMA, and VWAP
SMA200 = ta.sma(close, 200)
EMA21 = ta.ema(close, 21)
VWAPValue = ta.vwap(close)

// Buy Signal based on EMA/WMA Crossover and MACD confirmation
crossover = ta.crossover(EMA9, WMA30)
buySignal = crossover and macdLine > signalLine

// Entry
var float entryPrice = na
if (buySignal)
    strategy.entry("Buy", strategy.long)
    entryPrice := close

// Counters for consecutive closes below EMA9 and WMA30
var int belowEMA9Count = 0
var int belowWMA30Count = 0
belowEMA9Count := close < EMA9 ? belowEMA9Count + 1 : 0
belowWMA30Count := close < WMA30 ? belowWMA30Count + 1 : 0

// Exit Conditions
MACDBearishCross = ta.crossunder(macdLine, signalLine)
exitCondition1 = belowEMA9Count >= 2 and belowWMA30Count >= 1
exitCondition2 = MACDBearishCross

// Exit
if (strategy.position_size > 0)
    if (exitCondition1 or exitCondition2)
        strategy.close("Buy")
        entryPrice := na
        belowEMA9Count := 0
        belowWMA30Count := 0

// Visualization
plot(EMA9, title="EMA 9", color=color.blue)
plot(WMA30, title="WMA 30", color=color.red)
plot(SMA200, title="SMA 200", color=color.orange)
plot(EMA21, title="EMA 21", color=color.purple)
plot(VWAPValue, title="VWAP", color=color.green)