Estrategia de seguimiento de tendencias basada en la línea MA


Fecha de creación: 2024-02-22 17:24:02 Última modificación: 2024-02-22 17:24:02
Copiar: 0 Número de Visitas: 589
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencias basada en la línea MA

Descripción general

La estrategia determina la dirección de la tendencia del mercado calculando las medias móviles MA de los diferentes períodos, haciendo más cuando la tendencia es al alza, y haciendo un descuento cuando la tendencia es a la baja, para lograr el seguimiento de la tendencia.

Principio de estrategia

  1. Calcular la línea MA de 20 ciclos, 60 ciclos y 120 ciclos
  2. Comparación de la relación entre las magnitudes de MA20, MA60 y MA120 para determinar la dirección de las tendencias actuales
    • Si el MA20>MA60>MA120, se considera una tendencia al alza
    • Si el MA20 es menor que el MA60 y menor que el MA120, entonces se considera que la tendencia es a la baja.
  3. Hacer una entrada de más en el MA20 con el MA60 y una entrada de menos en el MA20 con el MA60
  4. Con el MA60 como línea de referencia para el stop loss
    • Los cables multi-cabeza son 3 veces más resistentes que los MA60
    • El cable de suspensión de la cabeza vacía es 0.9 veces el MA60

Análisis de las ventajas

  1. Utiliza combinaciones de MA de diferentes períodos para juzgar tendencias y evitar whipsaws
  2. En la actualidad, el número de juegos de azar en el mundo se ha reducido en casi todos los países.
  3. Las reglas de stop loss son claras y reducen el riesgo

Análisis de riesgos

  1. En situaciones de crisis, las líneas de MA pueden cruzarse con frecuencia, lo que genera un comercio demasiado frecuente.
  2. Los parámetros de frenado de frenado necesitan ser optimizados, de lo contrario pueden detenerse prematuramente o no ser suficientes.

Dirección de optimización

  1. Aumentar los indicadores para juzgar las situaciones de crisis y evitar el comercio frecuente en mercados de crisis
  2. Optimización de la combinación de parámetros del ciclo MA para encontrar el mejor parámetro
  3. Prueba y optimiza el coeficiente de parada y pérdida para garantizar el equilibrio entre la maximización de los beneficios y la reducción de los riesgos

Resumir

La estrategia es muy clásica en cuanto a la claridad de la idea general, el uso de MA para determinar tendencias, y puede ser una estrategia de seguimiento de tendencias muy práctica después de la optimización de los parámetros y la optimización de los indicadores.

Código Fuente de la Estrategia
/*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")