Estratégia de negociação quantitativa baseada em faixas percentuais HullMA

Autora:ChaoZhang, Data: 2024-03-01 12:16:45
Tags:

img

Resumo

Esta estratégia implementa negociação quantitativa através do cálculo da média móvel de Hull e suas faixas percentuais para tomar decisões de entrada e stop-loss. Suas vantagens incluem parâmetros ajustáveis, implementação simples e stop loss rigoroso.

Princípio da estratégia

  1. Calcular a massa média móvel do casco com o comprimento do comprimento.

  2. Bandas de percentagem de gráficos xL1, xL3, xL2, xL4 com base no casco.

  3. Longo quando o fecho cruza abaixo de xL2 ou xL4, longo quando o fecho cruza acima de xL1, xL2 ou xL3.

Análise das vantagens

As vantagens incluem:

  1. A HullMA é sensível às variações de preços e acompanha bem as tendências.

  2. As faixas percentuais são altamente ajustáveis para diferentes produtos.

  3. A estratégia de bandas duplas filtra os sinais errados de forma eficaz.

  4. A estratégia de stop loss controla os riscos de forma eficaz.

Análise de riscos

Alguns riscos:

  1. Perseguindo picos e matando mergulhos.

  2. Deslizamento devido ao comércio frequente.

  3. A regulação inadequada dos parâmetros leva ao excesso de troca.

  4. A posição de stop loss precisa de otimização iterativa.

Orientações de otimização

Algumas orientações de otimização:

  1. Otimizar o parâmetro de comprimento do casco MA para diferentes produtos.

  2. Otimizar as faixas de percentagem para reduzir as trocas erradas.

  3. Adicione operações de curto prazo para obter mais lucros.

  4. Otimizar a estratégia de stop loss para garantir a eficácia.

  5. Teste a robustez em diferentes produtos.

Conclusão

Esta estratégia constrói um sistema de negociação de breakout relativamente simples usando HullMA e bandas percentuais.


/*backtest
start: 2023-03-01 00:00:00
end: 2024-02-29 00:00:00
period: 5d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("hullma percentage lines", overlay=true)



length = input(9, minval=1)
src = input(close, title="Source")
hullma = wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length)))
plot(hullma)



Uband1 = input(3, minval=1, step = .5)
Lband1 = input(3, minval=1, step = .5)
Uband2 = input(6, minval=1, step = .5)
Lband2 = input(6, minval=1, step = .5)


v1 = Uband1+100
v2 = 100 - Lband1
v3 = Uband2+100
v4 = 100 - Lband2


xL1 = (hullma / 100) * v1
xL2 = (hullma / 100) * v2 
xL3 = (hullma / 100) * v3
xL4 = (hullma / 100) * v4 


plot(xL1, color=yellow, title="H1")
plot(xL2, color=yellow, title="L1")
plot(xL3, color=yellow, title="H2")
plot(xL4, color=yellow, title="L2")




longCondition1 =  crossover(close, xL4) 
if (longCondition1)  
    strategy.entry("l1", strategy.long)

longCondition2 =  crossover(close, xL2) 
if (longCondition2)  
    strategy.entry("l1", strategy.long)


shortCondition1 = crossover(close, xL1)
if (shortCondition1) 
    strategy.close("l1", strategy.long)
    
shortCondition2 = crossover(close, xL2)
if (shortCondition2) 
    strategy.close("l1", strategy.long)
    
shortCondition3 = crossover(close, xL3)
if (shortCondition3) 
    strategy.close("l1", strategy.long)
    


Mais.