
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.
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.
A estratégia tem as seguintes vantagens:
O uso de tendências de medição de linhas cruzadas é um indicador técnico mais maduro e confiável.
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.
O setor de stop loss controla o risco de perdas e protege os fundos de forma eficaz.
A lógica da estratégia é simples e clara, fácil de entender e verificar.
Pode-se ajustar o ciclo da linha média de acordo com a situação do mercado, otimizar os parâmetros da estratégia.
A estratégia também apresenta alguns riscos:
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.
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.
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.
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.
O espaço para a otimização de parâmetros é limitado. Pode-se tentar melhorar para a linha de equilíbrio de adaptação.
A estratégia pode ser melhorada em vários aspectos:
Teste diferentes combinações de ciclos equilíneos e encontre os parâmetros mais sensíveis ao mercado.
Melhorar o mecanismo de stop loss, usando tracking stop loss ou stop loss dinâmico, reduzindo a probabilidade de quebrar o stop loss.
Adicionar outros indicadores para filtragem, como KDJ, MACD, etc., para evitar que haja demasiadas transações inválidas durante a oscilação.
Optimizar as condições de entrada, esperar que a linha de equilíbrio se cruze completamente e entrar novamente, reduzir o falso sinal.
Utilize a linha média adaptativa para ajustar automaticamente os parâmetros da linha média de acordo com as flutuações do mercado.
O novo mecanismo de gestão de posições, ajustando as posições de acordo com a situação do mercado.
Adição de um mecanismo de saída de travão.
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.
/*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)