Стратегия Двойной Движущейся Средней (Double HULL Moving Average) - это стратегия торговли, основанная на индикаторе Движущейся Средней (HMA), созданном Аланом Халлом. Стратегия использует две линии HMA, долгосрочную линию и краткосрочную линию, для определения точек входа и выхода.
Формула расчета HMA выглядит следующим образом:
HmaL = wma(2 * wma(close, round(PDL/2)) - wma(close, PDL), round(sqrt(PDL)))
HmaS = wma(2 * wma(close, round(PDS/2)) - wma(close, PDS), round(sqrt(PDS)))
В этом случае PDL представляет собой более долгосрочный период, а PDS - более короткий.
Стратегия двойной скользящей средней является торговой стратегией, основанной на индикаторе скользящей средней HULL. Она использует перекресток краткосрочных и долгосрочных линий HMA для определения точек входа и выхода. Стратегия предлагает такие преимущества, как снижение задержки, простота и высокая настройка. Однако она также несет в себе риски, связанные с волатильностью рынка, скольжением и задержкой, и зависимостью от одного индикатора. В практическом применении стратегия может быть скорректирована и оптимизирована на основе конкретных обстоятельств, включая другие технические показатели и методы управления рисками для повышения успеха и прибыльности торговли.
/*backtest start: 2023-09-07 00:00:00 end: 2023-09-14 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 // Credit Indicator from KIVANC // author and idea: KIVANC @fr3762 on twitter // creator: Alan HULL // strategy("Double HULL Moving Average Strategy", overlay=true) PDL=input(title="LongerPeriod", defval=21, minval=1,maxval=500) PDS=input(title="ShorterPeriod", defval=8, minval=1,maxval=500) // === INPUT BACKTEST RANGE === FromYear = input(defval = 2019, title = "From Year", minval = 2009) FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2009) ToMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => true // create function "within window of time" HmaL=wma(2*wma(close,round(PDL/2))-wma(close,PDL),round(sqrt(PDL))) HmaS=wma(2*wma(close,round(PDS/2))-wma(close,PDS),round(sqrt(PDS))) plot(HmaL,color=red, linewidth=2) plot(HmaS,color=blue, linewidth=2) Buy = HmaS > HmaL Sell = HmaS < HmaL strategy.entry("Buy",true,when=window() and Buy) strategy.close_all(when=window() and Sell)