Эта стратегия использует комбинацию 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) предыдущих периодов и сформулируйте стратегию торговли.
Самое большое преимущество этой стратегии заключается в способности точно фиксировать направления тренда.
EMA с нулевым задержкой устраняет проблему задержки обычной EMA и может быстрее улавливать изменения цен.
Удвоение Hull EMA сглаживает цены и отфильтровывает какой-то шум для более четкого отслеживания тенденций.
По сравнению с использованием EMA или Hull EMA в одиночку, комбинация использует сильные стороны обоих для более точной и надежной стратегии.
Основными рисками этой стратегии являются:
Неправильные параметры Period и S_period могут привести к тому, что стратегия будет нечувствительна к рынку и упустит торговые возможности.
На рыночных диапазонах EMA и Hull EMA могут выпускать больше ложных перекрестных сигналов, которые требуют осторожности.
Она не может эффективно управлять ценовыми разрывами за одну ночь.
Следовательно, необходимо тщательное тестирование параметров, предсказуемые сигналы следует тщательно интерпретировать и избегать рисков ценового разрыва.
Стратегия может быть оптимизирована в следующих аспектах:
Испытать комбинации параметров на разных рынках и в разные сроки для улучшения адаптации.
Добавление других индикаторов для фильтрации ложных сигналов прорыва, таких как KDJ, MACD и т. д., для улучшения стабильности.
Добавить стоп-лосс для контроля одиночных потерь.
Оптимизировать сроки входа для дальнейшего повышения уровня выигрыша, например, избегая сделок против тренда.
Эта стратегия использует комбинацию 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)