Стратегия двойного корпуса скользящей средней

Автор:Чао Чжан, Дата: 15 сентября 2023 16:39:48
Тэги:

Обзор стратегии:

Стратегия Двойной Движущейся Средней (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 - более короткий.

Преимущества:

  1. Уменьшенное отставание: HMA имеет меньшее отставание по сравнению с традиционными скользящими средними, что позволяет ему быстрее реагировать на изменения ценовых тенденций и предоставлять более точные сигналы для покупки и продажи.
  2. Простота: стратегия использует две скользящие средние линии для кроссовер-анализа, что делает ее относительно простой в понимании и реализации.
  3. Высокая настраиваемость: параметры периода стратегии могут быть скорректированы на основе конкретных рынков и торговых инструментов, что делает ее более адаптивной к различным рыночным условиям.

Риски:

  1. Волатильность рынка: в периоды волатильности рынка скользящие средние линии могут часто пересекаться, что приводит к частому появлению сигналов, которые могут генерировать ложные сигналы и приводить к чрезмерной торговле и потерям.
  2. Сдвиг и задержка: выполнение стратегии подвергается сдвигу и задержке, особенно при высокочастотной торговле, что может привести к тому, что выполненные цены отклонятся от ожидаемых цен и влияют на результаты торговли.
  3. Зависимость от одного индикатора: стратегия основана исключительно на индикаторе HMA без включения других технических показателей или рыночных данных, что может ограничить ее способность отслеживать весь спектр изменений и тенденций на рынке.

Заключение:

Стратегия двойной скользящей средней является торговой стратегией, основанной на индикаторе скользящей средней 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)

Больше