Estratégia de Média Móvel Double HULL


Data de criação: 2023-09-15 16:39:48 última modificação: 2023-09-15 16:43:45
cópia: 0 Cliques: 1525
1
focar em
1617
Seguidores

Princípio da estratégia:

A estratégia de média móvel dupla HULL é uma estratégia de negociação baseada no indicador de média móvel HULL criado por Alan HULL. A estratégia usa duas médias móveis HULL, uma linha longa e uma linha curta, para julgar o momento de comprar e vender. A média móvel HULL é uma média móvel melhorada, reduzindo o atraso por meio de uma média ponderada sobre o preço.

A fórmula de cálculo da média móvel HULL é a seguinte:

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)))

Dentre eles, o PDL representa o período longo e o PDS representa o período curto. A estratégia julga as condições de compra e venda comparando os valores das linhas de curto e longo prazo.

Análise de vantagens:

  1. Reduz a latência: A média móvel HULL tem menos latência em comparação com a média móvel tradicional, sendo capaz de reagir mais rapidamente às mudanças na tendência dos preços, fornecendo um sinal de compra e venda mais preciso.
  2. Simples e fácil de entender: a estratégia usa duas médias móveis para julgar o cruzamento, a lógica é relativamente simples, fácil de entender e implementar.
  3. Altamente personalizável: os parâmetros de ciclo na estratégia podem ser ajustados de acordo com o mercado específico e a variedade de negociação, para que a estratégia se adapte melhor a diferentes ambientes de negociação.

Análise de Riscos:

  1. Oscilação de mercado: Durante oscilações de mercado, as médias móveis podem se cruzar com frequência, resultando em sinais de compra e venda frequentes, sendo suscetíveis a sinais errados, resultando em negociações frequentes e perdas.
  2. Ponto de deslizamento e atraso: a execução da estratégia é afetada por pontos de deslizamento e atraso, especialmente em negociações de alta frequência, o que pode levar a que o preço de execução não esteja de acordo com o preço esperado, afetando os resultados da negociação.
  3. Dependência de um único indicador: a estratégia depende apenas do indicador de média móvel HULL, sem combinação com outros indicadores técnicos ou inteligência de mercado, podendo não capturar completamente as mudanças e tendências do mercado.

Resumo:

A estratégia de média móvel HULL dupla é uma estratégia de negociação baseada na média móvel HULL para determinar o momento de compra e venda, comparando os pontos de interseção das linhas de curto e longo prazo. A estratégia tem a vantagem de reduzir o atraso, ser simples, fácil de entender e altamente personalizável, mas também apresenta o risco de turbulência, deslizamento e atraso no mercado e dependência de um único indicador.

Código-fonte da estratégia
/*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)