Низкий уровень задержек на борту EMA Combo Trend Following Strategy

Автор:Чао Чжан, Дата: 2023-09-19 16:52:39
Тэги:

Обзор

Эта стратегия использует комбинацию Zero Lag EMA и Hull EMA для реализации тренда. Zero Lag EMA устраняет отставание регулярной EMA, а Hull EMA сглаживает кривую цены. Их комбинация может более точно улавливать движения тренда для низкорискового тренда после торговли.

Логика стратегии

Сначала вычислим нулевую задержку EMA:EMA1 = ema(close, Period) EMA2 = ema(EMA1, Period) Difference = EMA1 - EMA2 ZeroLagEMA = EMA1 + Difference

где ZeroLagEMA - это EMA с нулевым задержкой. это устраняет проблему задержки обычной EMA.

Затем вычислить кривую Hull EMA:

```
n2ma = 2*wma(ZeroLagEMA, round(S_period/2))
nma = wma(ZeroLagEMA, S_period) 
n1 = wma(n2ma - nma, sqn)
```

Наконец, определите направление тренда на основе величины связи между текущей Hull EMA (n1) и Hull EMA (n2) предыдущих периодов и сформулируйте стратегию торговли.

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

Самое большое преимущество этой стратегии заключается в способности точно фиксировать направления тренда.

  1. EMA с нулевым задержкой устраняет проблему задержки обычной EMA и может быстрее улавливать изменения цен.

  2. Удвоение Hull EMA сглаживает цены и отфильтровывает какой-то шум для более четкого отслеживания тенденций.

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

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

Основными рисками этой стратегии являются:

  1. Неправильные параметры Period и S_period могут привести к тому, что стратегия будет нечувствительна к рынку и упустит торговые возможности.

  2. На рыночных диапазонах EMA и Hull EMA могут выпускать больше ложных перекрестных сигналов, которые требуют осторожности.

  3. Она не может эффективно управлять ценовыми разрывами за одну ночь.

Следовательно, необходимо тщательное тестирование параметров, предсказуемые сигналы следует тщательно интерпретировать и избегать рисков ценового разрыва.

Руководство по оптимизации

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

  1. Испытать комбинации параметров на разных рынках и в разные сроки для улучшения адаптации.

  2. Добавление других индикаторов для фильтрации ложных сигналов прорыва, таких как KDJ, MACD и т. д., для улучшения стабильности.

  3. Добавить стоп-лосс для контроля одиночных потерь.

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

Резюме

Эта стратегия использует комбинацию Zero Lag Hull EMA для точного и чувствительного улавливания рыночных тенденций для низкорискового тренда после торговли. Дальнейшее улучшение стабильности может быть достигнуто посредством оптимизации параметров, фильтрации сигналов, остановки потери и т. Д. В целом стратегия проста, практична и подходит для трендовых валютных пар и индексов.


/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// Zero Lag EMA combined with Hull moving average for smoothing purposes.
// author: email: sbginter@gmail.com

strategy("Ujanja", overlay=true)



Period = input(title="Period",defval=30, minval=1)
S_period=input(title="Smoother Period",defval=176)
EMA1= ema(close,Period)
EMA2= ema(EMA1,Period)
Difference= EMA1 - EMA2
ZeroLagEMA= EMA1 + Difference

n2ma=2*wma(ZeroLagEMA,round(S_period/2))
nma=wma(ZeroLagEMA,S_period)
diff=n2ma-nma
sqn=round(sqrt(S_period))


n2ma1=2*wma(ZeroLagEMA[1],round(S_period/2))
nma1=wma(ZeroLagEMA[1],S_period)
diff1=n2ma1-nma1
sqn1=round(sqrt(S_period))


n1=wma(diff,sqn)
n2=wma(diff1,sqn)

c=n1>n2?green:red
ma=plot(n1,color=c)


longCondition = n1>n2
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = longCondition != true
if (shortCondition)
    strategy.entry("Short", strategy.short)

Больше