Estratégia de rastreamento de tendência de média móvel golden cross e dead cross


Data de criação: 2023-12-08 15:23:33 última modificação: 2023-12-08 15:23:33
cópia: 1 Cliques: 601
1
focar em
1621
Seguidores

Estratégia de rastreamento de tendência de média móvel golden cross e dead cross

Esta estratégia usa o cruzamento de uma média móvel de 20 dias e 60 dias para formar um sinal de compra e venda. Quando o preço sobe e quebra a linha de 20 dias, faça mais; Quando o preço cai e quebra a linha de 20 dias, feche.

Princípio da estratégia

  1. Calcular uma média móvel simples de 20 dias e uma média móvel simples de 60 dias
  2. Faça mais quando o preço de fechamento sobe e ultrapassa a linha de 20 dias
  3. A posição de equilíbrio foi mantida quando o preço de fechamento caiu para a linha de 20 dias.
  4. Faça mais quando o preço de fechamento sobe e ultrapassa a linha de 60 dias
  5. A posição de equilíbrio foi mantida quando o preço de fechamento caiu e ultrapassou a linha de 60 dias.

Os sinais de negociação e as regras que formam a estratégia acima. Quando o preço ultrapassa a média, indica o início da tendência e pode seguir a tendência mais; Quando o preço cai abaixo da média, indica o fim da tendência e é a escolha correta.

Vantagens estratégicas

  1. A combinação de duas médias móveis permite uma estratégia mais estável. A linha de 20 dias permite capturar mais rapidamente as oportunidades de tendências de curto prazo; a linha de 60 dias filtra parte do ruído do mercado de curto prazo e bloqueia as tendências de médio e longo prazo.
  2. A estratégia de retrospectiva começou em 2018 com a escolha do mercado de ações de Taiwan, que tem um sistema de negociação mais perfeito e mais capaz de refletir o efeito da estratégia em comparação com ações A da China continental.
  3. O risco é controlado com um controle razoável de stop loss e posição.

Risco estratégico

  1. A estratégia baseia-se apenas em indicadores de médias móveis, que geram mais Whirlaway e Spread quando o mercado não tem uma tendência óbvia.
  2. A estratégia não é otimizada para o número de compras/vendas e posições, o que impede a maximização da utilização dos fundos.
  3. A estratégia reage de forma simétrica a subidas e descidas de preços e não pode responder a variações de mercado.

A solução para o risco:

  1. Pode ser adicionado outro conjunto de indicadores, como KDJ, MACD, etc., formando uma verificação múltipla, evitando erros de negociação.
  2. Pode-se otimizar a posição e a eficiência do uso de fundos de negociação com base em fatores como o valor de mercado, a volatilidade.
  3. Pode-se adotar operações assimétricas de acordo com diferentes fases do índice de mercado, reduzindo a negociação em ajustes de choque e aumentando a posição em tendências claras.

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

  1. Optimizar o número de compras e vendas. O número de posições pode ser ajustado de acordo com a dinâmica da informação de stop loss.
  2. Optimizar os parâmetros diários das médias móveis. Optimizar os parâmetros mais favoráveis pode ser feito por meio de métodos como otimização em etapas, otimização aleatória.
  3. Aumentar a estratégia de stop loss. Mover o stop loss ou pendurar o stop loss pode proteger melhor os lucros.
  4. Aumentar a gestão de posições. Ajustar as posições de cada transação de acordo com a dinâmica do tamanho do capital e do valor de mercado.

Resumir

A estratégia como um todo é uma típica estratégia de cruzamento de duas médias móveis. A ideia central é seguir a tendência e estabelecer uma posição de tendência quando o preço quebra a média. A estratégia é simples, prática e fácil de implementar.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Astorhsu

//@version=5
strategy("Astor SMA20/60 TW", overlay=true, margin_long=100, margin_short=100)
backtest_year = input(2018, title='backtest_year') //回測開始年分
backtest_month = input.int(01, title='backtest_month', minval=1, maxval=12) //回測開始月份
backtest_day = input.int(01, title='backtest_day', minval=1, maxval=31)  //回測開始日期
start_time = timestamp(backtest_year, backtest_month, backtest_day, 00, 00)  //回測開始的時間函數

//Indicators
sma20 = ta.sma(close,20)
sma60 = ta.sma(close,60)
plot(sma20, color=color.green, title="sma(20)")
plot(sma60, color=color.red, title="sma(60)")

//進場條件
longCondition = ta.crossover(close, ta.sma(close, 20))
if (longCondition) and time >= start_time
    strategy.entry("open long20", strategy.long, qty=1, comment="站上m20做多")


shortCondition = ta.crossunder(close, ta.sma(close, 20))
if (shortCondition) and time >= start_time
    strategy.close("open long20",comment="跌破m20平倉", qty=1)     
    
longCondition1 = ta.crossover(close, ta.sma(close, 60))
if (longCondition1) and time >= start_time
    strategy.entry("open long60", strategy.long, qty=1, comment="站上m60做多")


shortCondition1 = ta.crossunder(close, ta.sma(close, 60))
if (shortCondition1) and time >= start_time
    strategy.close("open long60",comment="跌破m60平倉", qty=1)