Стратегия торговли MACD на основе EVWMA


Дата создания: 2024-01-22 10:50:25 Последнее изменение: 2024-01-22 10:50:25
Копировать: 0 Количество просмотров: 618
1
Подписаться
1617
Подписчики

Стратегия торговли MACD на основе EVWMA

Обзор

Эта стратегия является MACD-стратегией, основанной на гибкой загруженной величине, взвешенной подвижной средней (EVWMA). Она использует преимущества EVWMA и разрабатывает четкую и практичную стратегию торговых сигналов.

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

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

Анализ преимуществ

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

Анализ рисков

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

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

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

Эта стратегия может быть оптимизирована в следующих аспектах:

  1. Использование адаптивной технологии параметровой настройки позволяет автоматически корректировать параметры EVWMA в зависимости от рыночных условий, гарантируя четкость торговых сигналов.

  2. Добавление механизмов сдерживания убытков, позволяющих эффективно контролировать убытки.

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

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

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

Эта стратегия использует преимущества показателей EVWMA, чтобы создать простую и практичную стратегию MACD. Она более стабильна и более адаптирована. В то же время существуют проблемы с задержкой MACD. Мы можем улучшить стратегию, чтобы сделать ее более устойчивой.

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

//@version=4
strategy("QuantNomad - EVWMA MACD Strategy", shorttitle = "EVWMA MACD", overlay = false)

// Inputs
fast_sum_length = input(10, title = "Fast Sum Length",  type = input.integer)
slow_sum_length = input(20, title = "Slow Sum Length",  type = input.integer)
signal_length   = input(9,  title = "Signal Smoothing", type = input.integer, minval = 1, maxval = 50)

// Calculate Volume Period
fast_vol_period = sum(volume, fast_sum_length)
slow_vol_period = sum(volume, slow_sum_length)

// Calculate EVWMA
fast_evwma = 0.0
fast_evwma := ((fast_vol_period - volume) * nz(fast_evwma[1], close) + volume * close) / (fast_vol_period)

// Calculate EVWMA
slow_evwma = 0.0
slow_evwma := ((slow_vol_period - volume) * nz(slow_evwma[1], close) + volume * close) / (slow_vol_period)

// Calculate MACD
macd   = fast_evwma - slow_evwma
signal = ema(macd, signal_length)
hist   = macd - signal

// Plot 
plot(hist,   title = "Histogram", style = plot.style_columns, color=(hist>=0 ? (hist[1] < hist ? #26A69A : #B2DFDB) : (hist[1] < hist ? #FFCDD2 : #EF5350) ), transp=0 )
plot(macd,   title = "MACD",      color = #0094ff, transp=0)
plot(signal, title = "Signal",    color = #ff6a00, transp=0)

// Strategy
strategy.entry("Long",   true, when = crossover(fast_evwma, slow_evwma))
strategy.entry("Short", false, when = crossunder(fast_evwma, slow_evwma))