Estratégia de acompanhamento de tendências com base na linha MA


Data de criação: 2024-02-22 17:24:02 última modificação: 2024-02-22 17:24:02
cópia: 0 Cliques: 589
1
focar em
1617
Seguidores

Estratégia de acompanhamento de tendências com base na linha MA

Visão geral

A estratégia determina a direção da tendência do mercado através da computação de médias móveis de MA de diferentes períodos, fazendo excessos quando a tendência é alta e fazendo ações de curto prazo quando a tendência é baixa, permitindo o acompanhamento da tendência.

Princípio da estratégia

  1. Calcule a linha MA de 20 ciclos, 60 ciclos e 120 ciclos
  2. Comparando as relações de tamanho entre MA20, MA60 e MA120 para determinar a direção da tendência atual
    • Se a MA20>MA60>MA120, julgar como uma tendência ascendente
    • Se a MA20 é menor que a MA60 e menor que a MA120, então a tendência é para baixo.
  3. Mercado aberto com MA60 em MA20 e Mercado aberto com MA60 em MA20
  4. Com a MA60 como linha de referência para o stop loss
    • O MA60 é três vezes mais rápido do que o MA60.
    • O cabeçalho de travão é 0,9 vezes maior do que o MA60

Análise de vantagens

  1. Usar combinações de MA de diferentes períodos para julgar tendências, evitando whipsaws
  2. A única maneira de ganhar é entrar no ponto de viragem da tendência e aumentar a probabilidade de ganhar.
  3. Ter regras claras de stop-loss para reduzir o risco

Análise de Riscos

  1. Em situações de turbulência, a crossing da linha MA pode ser frequente, resultando em transações excessivamente frequentes.
  2. Os parâmetros de stop loss precisam ser otimizados, caso contrário, o stop loss pode ser prematuro ou insuficiente

Direção de otimização

  1. Aumentar os indicadores para avaliar os eventos de turbulência e evitar a frequência de transações em mercados de turbulência
  2. Optimizar a combinação de parâmetros do ciclo MA para encontrar o melhor parâmetro
  3. Testar e otimizar o Stop Loss Factor para garantir o equilíbrio entre a maximização dos lucros e a redução dos riscos

Resumir

A estratégia é muito clássica em termos de análise de tendências usando a MA, e pode ser uma estratégia muito prática de rastreamento de tendências, depois de otimizar os parâmetros e otimizar os indicadores.

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

//@version=5
strategy("MA60上多下空", overlay=true)

// 计算MA20/60/120
ma20 = ta.sma(close, 20)
ma60 = ta.sma(close, 60)
ma120 = ta.sma(close, 120)

// 判断MA的趋势
maUpTrend = ma20 > ma60 and ma60 > ma120
maDownTrend = ma20 < ma60 and ma60 < ma120

// 画竖直线标记MA趋势转折点
plotshape(maUpTrend and ta.crossover(ma20, ma60), style=shape.triangledown, location=location.abovebar, color=color.green, size=size.small)
plotshape(maDownTrend and ta.crossunder(ma20, ma60), style=shape.triangleup, location=location.belowbar, color=color.red, size=size.small)

// 画背景标记MA趋势
bgcolor(maUpTrend ? color.new(color.green, 90) : na)
bgcolor(maDownTrend ? color.new(color.red, 90) : na)

// 建立多头仓位的条件
longCondition = ta.crossover(close, ma60)

// 建立空头仓位的条件
shortCondition = ta.crossunder(close, ma60)

// 在穿过MA60时,根据条件建立相应的多头或空头仓位
if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

// 止盈止损规则
calculateReturns() =>
    close / strategy.position_avg_price - 1

takeProfitCondition = calculateReturns() >= 3  // 仓位盈利达到300%
stopLossCondition = calculateReturns() <= -0.1  // 仓位亏损达到10%

if (takeProfitCondition)
    strategy.close("Long", comment="Take Profit")
    strategy.close("Short", comment="Take Profit")

if (stopLossCondition)
    strategy.close("Long", comment="Stop Loss")
    strategy.close("Short", comment="Stop Loss")