Estratégia de rompimento do indicador de momentum HMA


Data de criação: 2024-01-04 15:34:52 última modificação: 2024-01-04 15:34:52
cópia: 0 Cliques: 805
1
focar em
1621
Seguidores

Estratégia de rompimento do indicador de momentum HMA

Segundo, um resumo da estratégia

Esta estratégia usa o indicador HMA (Hull Moving Average) e a análise técnica da linha K para determinar a dinâmica dos preços e realizar operações de ruptura.

Três, estratégia.

  1. Princípios do indicador HMA

O HMA foi criado por Alan Hull em 2005 com o objetivo de criar uma média móvel sensível e suave.

(1) Calcule a média de DMA de duplo suavização de meio ciclo

(2) Calcular a média SMA do ciclo completo

(3) Calcular o diferencial DIFF entre DMA e SMA

(4) Calcule a média do período SQRT do DIFF, obtendo HMA

  1. Estratégia de negociação

A estratégia utiliza a ruptura ascendente e a ruptura descendente do indicador HMA como sinais, combinando a ruptura com a parte da linha K da entidade, gerando sinais de compra e venda. Ao mesmo tempo, configura o princípio de stop loss e stop-loss, monitorando em tempo real as perdas e perdas e proteção de lucros.

Quatro, vantagens estratégicas

  1. A característica de “convergência” do indicador HMA o torna extremamente sensível às mudanças de preço, mantendo a suavidade da média e evitando falsos sinais.

  2. O mecanismo de dupla penetração aumenta a confiabilidade do sinal e evita que ele seja bloqueado.

  3. O Stop Loss Stop Loss e a Proteção de Lucro permitem um controlo óptimo dos riscos e dos lucros.

  4. A transação é totalmente automática, simplificando as operações.

Cinco, riscos estratégicos.

  1. A probabilidade de um stop loss ser atingido é maior quando o mercado está em alta.

  2. A frequência de transações é maior e os custos com as comissões aumentam.

  3. Se os parâmetros não forem ajustados corretamente, pode haver uma grande quantidade de falsos sinais.

O que fazer?

  1. Optimizar as condições de parada de danos, configurando uma retirada razoável.

  2. Ajustar a frequência das transações para reduzir o impacto das taxas.

  3. Otimização de testes para ciclos de HMA e condições de ruptura para determinar os melhores parâmetros.

Seis, estratégias para otimizar

  1. Combine os indicadores de tendência com os indicadores de tendência para evitar a negociação de contrapartida.

  2. Aumentar o julgamento automático da troca de fontes de dados, adaptando-se a mais ambientes de mercado.

  3. Adição de algoritmos de aprendizagem de máquina para otimização automática de parâmetros.

  4. Adição de implementação em servidores, com verificação em disco de 24 horas.

VII. Conclusão

A estratégia de ruptura do indicador de energia dinâmica da HMA utiliza as vantagens únicas da média móvel de Hull para capturar com precisão a dinâmica do mercado. O mecanismo de filtragem de dupla ruptura aumenta a qualidade do sinal e o stop loss dinâmico garante a eficácia. A estratégia é simples de usar e o efeito é óbvio.

Código-fonte da estratégia
/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//SeaSide420
strategy("Hull Moving Average and Daily Candle Crossover", shorttitle="Hull&D", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=720, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
// settings----------------------
q=input(title="HullMA",defval=5)
SL = input(defval=-10000.00, title="Stop Loss in $", type=float, step=1)
TP = input(defval=500.00, title="Target Point in $", type=float, step=1)
price=input(ohlc4,title="Price data")
ot=1
p=price[1]
// Daily candle crossover---------
dt = 0.0010
Daily=(p-p[1])/p[1]
//--------------------------------
// Hull MA's----------------------
n2ma=2*wma(p,round(q/2))
nma=wma(p,q)
diff=n2ma-nma
sqn=round(sqrt(q))
n2ma1=2*wma(p[1],round(q/2))
nma1=wma(p[1], q)
diff1=n2ma1-nma1
sqn1=round(sqrt(q))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
//---------------------------------
// Plotting------------------------
z1e=n1>n2?green:black
z2e=n1>n2?black:red
z3e=n1>n2?green:red
n1e=plot(n1, title="HMA1", color=z1e, linewidth=2, offset=2)
n2e=plot(n2, title="HMA2", color=z2e, linewidth=2, offset=2)
fill(n1e, n2e, color=z3e, transp=80)
// Order controls-------------------
closelong = n1<n2 and n1[1]<n2[1] and n1[2]<n2[2] or strategy.openprofit<SL or strategy.openprofit>TP
if (closelong)
    strategy.close("Long")
closeshort = n1>n2 and n1[1]>n2[1] and n1[2]>n2[2] or strategy.openprofit<SL or strategy.openprofit>TP
if (closeshort)
    strategy.close("Short")
longCondition = n1>n2 and n1[1]>n2[1] and n1[2]>n2[2] and strategy.opentrades<ot and Daily>dt and close>n1
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = n1<n2 and n1[1]<n2[1] and n1[2]<n2[2] and strategy.opentrades<ot and Daily<dt and close<n1 
if (shortCondition)
    strategy.entry("Short",strategy.short)