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