Estratégia de média móvel dupla HULL

Autora:ChaoZhang, Data: 15 de setembro de 2023
Tags:

Estratégia geral:

A estratégia de média móvel dupla HULL é uma estratégia de negociação baseada no indicador HULL Moving Average (HMA) criado por Alan HULL. A estratégia utiliza duas linhas HMA, uma linha de longo prazo e uma linha de curto prazo, para determinar pontos de entrada e saída.

A fórmula de cálculo da HMA é 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)))

A estratégia compara os valores das linhas de curto e longo prazo para determinar as condições de compra e venda.

Vantagens:

  1. Redução do atraso: O HMA tem menos atraso em comparação com as médias móveis tradicionais, o que lhe permite responder mais rapidamente às alterações nas tendências dos preços e fornecer sinais mais precisos para compra e venda.
  2. Simplicidade: a estratégia utiliza duas linhas médias móveis para análise cruzada, tornando-a relativamente simples de compreender e implementar.
  3. Alta personalização: os parâmetros do período da estratégia podem ser ajustados com base em mercados e instrumentos comerciais específicos, tornando-a mais adaptável às diferentes condições de mercado.

Riscos:

  1. A volatilidade do mercado: durante períodos de volatilidade do mercado, as linhas da média móvel podem cruzar-se com frequência, resultando em sinais frequentes que podem gerar falsos sinais e conduzir a negociações e perdas excessivas.
  2. Deslizamento e latência: a execução da estratégia está sujeita a deslizamento e latência, especialmente na negociação de alta frequência, o que pode fazer com que os preços executados se desviem dos preços esperados e afetem os resultados da negociação.
  3. Dependência de um único indicador: a estratégia baseia-se exclusivamente no indicador HMA sem incorporar outros indicadores técnicos ou informações de mercado, o que pode limitar a sua capacidade de captar toda a gama de alterações e tendências do mercado.

Conclusão:

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. Utiliza o cruzamento de linhas HMA de curto e longo prazo para determinar pontos de entrada e saída. A estratégia oferece vantagens como menor atraso, simplicidade e alta personalização. No entanto, também carrega riscos relacionados à volatilidade do mercado, deslizamento e latência e dependência de um único indicador. Em aplicações práticas, a estratégia pode ser ajustada e otimizada com base em circunstâncias específicas, incorporando outros indicadores técnicos e métodos de gerenciamento de risco para melhorar o sucesso e a lucratividade das negociações.


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

Mais.