Estratégia de rastreamento de tendências de Golden Cross e Death Cross de média móvel dupla


Data de criação: 2023-11-13 10:55:09 última modificação: 2023-11-13 10:55:09
cópia: 1 Cliques: 688
1
focar em
1617
Seguidores

Estratégia de rastreamento de tendências de Golden Cross e Death Cross de média móvel dupla

Visão geral

A estratégia de duplo equilíbrio é uma estratégia de acompanhamento de tendências mais comum. A estratégia usa duas médias de diferentes períodos para julgar a tendência e negociar com base em suas circunstâncias de cruzamento. Concretamente, quando a curta média de período curto atravessa a média de longo período, gera um sinal de forca de ouro e acredita que a tendência está em alta tendência e pode ser comprada; quando a curta média de período curto atravessa a média de longo período, gera um sinal de forca e acredita que a tendência está em baixa tendência e pode ser vendida.

Princípio da estratégia

A estratégia usa principalmente a linha média do EMA de 6 ciclos, 14 ciclos, 25 ciclos e 80 ciclos. A estratégia primeiro calcula os valores dessas quatro linhas médias e, em seguida, julga o movimento do mercado com base no cruzamento da EMA de 6 ciclos com as outras três linhas médias.

Quando um EMA de 6 ciclos atravessa um EMA de 14 ou 25 ciclos e o EMA de 6 ciclos é superior ao EMA de 80 ciclos, um sinal de compra é gerado. Isso significa que a média curta está quebrando a média média e longa e que o mercado pode entrar em uma tendência ascendente, portanto, uma compra pode ser considerada.

Por outro lado, quando o EMA de 6 ciclos atravessa o EMA de 14 ciclos ou 25 ciclos e está abaixo do EMA de 80 ciclos, um sinal de venda é gerado. Isso significa que a média de curto prazo é quebrada pela média de longo prazo e o mercado pode entrar em uma tendência de queda, portanto, uma venda pode ser considerada.

A estratégia abre uma posição de compra ou venda após a geração do sinal de negociação. Além disso, a estratégia também define a lógica de stop loss, quando o prejuízo excede a proporção de stop loss definida, a estratégia sai da posição para controlar o risco.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. O uso de tendências de medição de linhas cruzadas é um indicador técnico mais maduro e confiável.

  2. Ao mesmo tempo, a combinação com a média de múltiplos períodos reduz a probabilidade de erro. A média de 6 períodos é responsável por gerar sinais de negociação, a média de 14 períodos, a média de 25 períodos como confirmação e a média de 80 períodos para julgar a tendência geral.

  3. O setor de stop loss controla o risco de perdas e protege os fundos de forma eficaz.

  4. A lógica da estratégia é simples e clara, fácil de entender e verificar.

  5. Pode-se ajustar o ciclo da linha média de acordo com a situação do mercado, otimizar os parâmetros da estratégia.

Análise de Riscos

A estratégia também apresenta alguns riscos:

  1. Em situações de turbulência, a linha média pode produzir vários cruzamentos inativos, levando a uma quantidade excessiva de negociações inativas. A otimização do ciclo da linha média pode ser ajustada adequadamente.

  2. O modo de parada fixo pode ser muito mecânico e pode ser alterado para traçar a parada ou parar de forma dinâmica.

  3. O risco de um salto de tamanho elevado levar a um rompimento do parâmetro. Pode ser combinado com condições adicionais para julgar o salto do parâmetro.

  4. Não pode responder a flutuações de preços de curto prazo. Pode ser combinado com outros indicadores para filtrar sinais de negociação.

  5. O espaço para a otimização de parâmetros é limitado. Pode-se tentar melhorar para a linha de equilíbrio de adaptação.

Direção de otimização

A estratégia pode ser melhorada em vários aspectos:

  1. Teste diferentes combinações de ciclos equilíneos e encontre os parâmetros mais sensíveis ao mercado.

  2. Melhorar o mecanismo de stop loss, usando tracking stop loss ou stop loss dinâmico, reduzindo a probabilidade de quebrar o stop loss.

  3. Adicionar outros indicadores para filtragem, como KDJ, MACD, etc., para evitar que haja demasiadas transações inválidas durante a oscilação.

  4. Optimizar as condições de entrada, esperar que a linha de equilíbrio se cruze completamente e entrar novamente, reduzir o falso sinal.

  5. Utilize a linha média adaptativa para ajustar automaticamente os parâmetros da linha média de acordo com as flutuações do mercado.

  6. O novo mecanismo de gestão de posições, ajustando as posições de acordo com a situação do mercado.

  7. Adição de um mecanismo de saída de travão.

Resumir

Em resumo, a estratégia de duplo equilíbrio de ouro e forquilha é fácil de implementar, o risco é controlável, e pode ser usado para rastrear tendências de médio e longo prazo. No entanto, a estratégia pode ser otimizada em grande escala, e pode ser melhorada em termos de condições de entrada, modo de parada de perda, filtragem de indicadores, etc.

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

//@version=3
strategy(title = " bhramaji EMA Cross Strategy", shorttitle = "EMA Cross",calc_on_order_fills=true,calc_on_every_tick =true, initial_capital=21000,commission_value=.25,overlay = true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
StartYear = input(2018, "Backtest Start Year")
StartMonth = input(1, "Backtest Start Month")
StartDay = input(1, "Backtest Start Day")
UseStopLoss = input(true,"UseStopLoss")


stopLoss = input(20, title = "Stop loss percentage(0.1%)")


maSource   = input(defval = close, title = "MA Source")
maLength6   = input(defval = 6, title = "MA Period 6", minval = 1)
maLength14  = input(defval = 14, title = "MA Period 14", minval = 1)
maLength25  = input(defval = 25, title = "MA Period 25", minval = 1)
maLength80  = input(defval = 80, title = "MA Period 80", minval = 1)

ma6 = ema(maSource, maLength6)
ma14 = ema(maSource, maLength14)
ma25 = ema(maSource, maLength25)
ma80 = ema(maSource, maLength80)

ma_6_plot = plot(ma6 , title = "MA  6", color = red, linewidth = 2, style = line, transp = 50)
ma14_plot = plot(ma14, title = "MA 14", color = green, linewidth = 2, style = line, transp = 50)
ma25_plot = plot(ma25, title = "MA 25", color = blue, linewidth = 2, style = line, transp = 50)
ma80_plot = plot(ma80, title = "MA 80", color = silver, linewidth = 2, style = line, transp = 50)


longEMA = (crossover(ma6, ma14) or crossover(ma6, ma25)) and (ma6>ma80) 
exitLong = (crossunder(ma6, ma14) or crossunder(ma6, ma25)) 

shortEMA = (crossunder(ma6, ma14) or crossunder(ma6, ma25)) and (ma6< ma80)
exitShort =(crossover(ma6, ma14) or crossover(ma6, ma25))

if (longEMA)
    strategy.entry("LongId", strategy.long)
 
if (shortEMA)
    strategy.entry("ShortId", strategy.short)

if (UseStopLoss)
    strategy.exit("StopLoss", "LongId", loss = close * stopLoss / 1000 / syminfo.mintick)
    strategy.exit("StopLoss", "ShortId", loss = close * stopLoss / 1000 / syminfo.mintick)