Estratégia de negociação de crossover diário HMA


Data de criação: 2023-09-22 17:07:15 última modificação: 2023-09-22 17:07:15
cópia: 1 Cliques: 466
1
focar em
1166
Seguidores

Visão geral

A estratégia é executada através de um sinal de entrada cruzado entre a linha média HMA e a linha solar, e configura uma lógica de stop-loss para gerenciar a posição. A estratégia combina indicadores de diferentes períodos de tempo e é adequada para negociação de tendências de linha média e longa.

Princípio da estratégia

A estratégia é baseada nos seguintes indicadores e regras para avaliar sinais de negociação:

  • A linha média HMA: calcula a média móvel de Hull dos preços para determinar a direção da tendência da linha média e longa.

  • Preço de fechamento da linha de equilíbrio: como avaliar os movimentos de preços em períodos mais curtos.

  • Sinal de entrada: O HMA atravessa o preço de fechamento de ontem e o preço de curto período é superior ao preço do dia anterior, sendo considerado um sinal de entrada; ao contrário, é um sinal de saída.

  • Stop Loss: Estabelece um stop loss fixo, que é fechado quando o preço toca o stop loss ou o stop loss.

Vantagens estratégicas

  • Os parâmetros de suavização do indicador HMA são ajustáveis e adaptáveis.

  • Para melhorar a qualidade do sinal, é preciso ter em conta os diferentes indicadores do ciclo de tempo.

  • A configuração do Stop Loss Stop Logic é útil para o controle de risco.

  • Regras de entrada claras e estratégias de gestão de posições.

  • Os parâmetros de retorno podem ser otimizados para adaptar-se a diferentes condições de mercado.

Análise de Riscos

  • O atraso da HMA pode ter perdido o melhor momento para entrar.

  • Os parâmetros de parada de perda fixa podem ser muito radicais ou conservadores.

  • A ausência de tendência, de forte ou fraco julgamento, pode levar a uma posição inversa.

  • As regras simples de negociação podem gerar sinais falsos.

As seguintes medidas podem ser consideradas para reduzir o risco:

  1. Optimizar o parâmetro HMA para equilibrar a latência.

  2. Configuração de tracking stop loss e ajuste de stop loss em tempo real.

  3. A tendência de aumento dos indicadores de preços é fraca.

  4. Adição de sinais de negociação de verificação de indicadores como MACD.

Direção de otimização da estratégia

A estratégia pode ser melhorada:

  1. Optimizar os parâmetros HMA para encontrar a melhor combinação de parâmetros.

  2. Aumentar os indicadores de tendências fortes e fracas, evitando negociações adversas.

  3. O uso de travões de parada de danos dinâmicos, em vez de pontos fixos.

  4. Introdução de algoritmos de aprendizagem de máquina para otimizar automaticamente os parâmetros usando dados grandes.

  5. Adição de função de entrega em simulação para testar o desempenho do disco.

Resumir

A estratégia tem uma visão geral clara, mas ainda há espaço para otimização. A adição de indicadores de discernimento de tendências, stop loss dinâmico e outros pode aumentar a estabilidade da estratégia.

Código-fonte da estratégia
/*backtest
start: 2023-08-22 00:00:00
end: 2023-09-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// created by SeaSide420       Enters on crossovers, exits Basket when profit $ = TP
// strategy(title="HMA & D1 crossover", overlay=true, currency="BTC", initial_capital=1, default_qty_type=strategy.percent_of_equity, default_qty_value=1, commission_type=strategy.commission.percent,commission_value=0.25,slippage=1)
SL=input(defval=-0.05,title="StopLoss $",type=input.float,step=0.01, maxval=-0.01)
TP=input(defval=0.05,title="TargetPoint $",type=input.float,step=0.01, minval=0.01)
price=input(title="Source",type=input.source,defval=open)
Period=input(14, minval=1)
hma = wma(2*wma(price, Period/2)-wma(price, Period), round(sqrt(Period)))
s1=security(syminfo.tickerid, timeframe.period, price, barmerge.gaps_off, barmerge.lookahead_off)
s2=security(syminfo.tickerid, "D", price, barmerge.gaps_off, barmerge.lookahead_off)
cp=s2<price?color.lime:color.red
cp1=plot((s2),color=color.black,title="DailyCandle1",linewidth=2,transp=0)
cp2=plot((s2[1]),color=color.black,title="DailyCandle2",linewidth=2,transp=0)
cp3=plot(hma,title="HMA",color=color.black)
fill(cp1,cp2,color=cp,transp=1)
fill(cp1,cp3,color=cp,transp=75)
closeall=strategy.openprofit<SL or strategy.openprofit>TP
if closeall
    strategy.close_all(comment = "Close All")
if (hma>hma[1] and s1>s2 and s2[1]>s2[2] and s1>s2[1])
    strategy.order("Buy", strategy.long)
if (hma<hma[1] and s1<s2 and s2[1]<s2[2] and s1<s2[1])
    strategy.order("Sell", strategy.short)