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.
Calcular a massa média móvel do casco com o comprimento do comprimento.
Bandas de percentagem de gráficos xL1, xL3, xL2, xL4 com base no casco.
Longo quando o fecho cruza abaixo de xL2 ou xL4, longo quando o fecho cruza acima de xL1, xL2 ou xL3.
As vantagens incluem:
A HullMA é sensível às variações de preços e acompanha bem as tendências.
As faixas percentuais são altamente ajustáveis para diferentes produtos.
A estratégia de bandas duplas filtra os sinais errados de forma eficaz.
A estratégia de stop loss controla os riscos de forma eficaz.
Alguns riscos:
Perseguindo picos e matando mergulhos.
Deslizamento devido ao comércio frequente.
A regulação inadequada dos parâmetros leva ao excesso de troca.
A posição de stop loss precisa de otimização iterativa.
Algumas orientações de otimização:
Otimizar o parâmetro de comprimento do casco MA para diferentes produtos.
Otimizar as faixas de percentagem para reduzir as trocas erradas.
Adicione operações de curto prazo para obter mais lucros.
Otimizar a estratégia de stop loss para garantir a eficácia.
Teste a robustez em diferentes produtos.
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)