Stratégie de suivi de tendance basée sur la ligne MA


Date de création: 2024-02-22 17:24:02 Dernière modification: 2024-02-22 17:24:02
Copier: 0 Nombre de clics: 589
1
Suivre
1617
Abonnés

Stratégie de suivi de tendance basée sur la ligne MA

Aperçu

Cette stratégie permet de déterminer la direction de la tendance du marché en calculant les moyennes mobiles des MA de différentes périodes, de faire plus lorsque la tendance est à la hausse et de faire moins lorsque la tendance est à la baisse, et de suivre la tendance.

Principe de stratégie

  1. Calculer une ligne MA de 20 cycles, 60 cycles et 120 cycles
  2. Comparer la relation de taille entre les MA20, MA60 et MA120 pour déterminer la direction de la tendance actuelle
    • Si la MA20 est supérieure à la MA60 et supérieure à la MA120, la tendance est à la hausse.
    • Si la MA20 est inférieure à la MA60 et inférieure à la MA120, la tendance est à la baisse
  3. Une entrée en bourse en plus de MA20 avec MA60 et une entrée en bourse en moins de MA20 avec MA60
  4. Avec MA60 comme ligne de référence pour le stop loss
    • 3 fois plus que le MA60
    • 0,9 fois plus que le MA60

Analyse des avantages

  1. Utilisez des combinaisons de MA de différentes périodes pour juger des tendances, évitez les whipsaws
  2. L’arrivée au point de basculement de la tendance augmente les chances de victoire
  3. Il existe des règles claires de stop-loss pour réduire les risques

Analyse des risques

  1. Dans une situation de choc, le croisement des lignes MA peut être fréquent, ce qui entraîne des transactions trop fréquentes.
  2. Les paramètres de stop-loss doivent être optimisés, sinon il peut y avoir un stop-loss prématuré ou insuffisant

Direction d’optimisation

  1. Augmenter les indicateurs de jugement sur les chocs et éviter les échanges fréquents sur les marchés en choc
  2. Optimiser la combinaison de paramètres de la période MA pour trouver le paramètre optimal
  3. Tester et optimiser le coefficient de stop-loss pour assurer un équilibre entre la maximisation des gains et la réduction des risques

Résumer

La stratégie est très claire dans l’ensemble, elle est très classique dans l’utilisation de l’AM pour juger des tendances, et après l’optimisation des paramètres et l’optimisation des indicateurs, elle peut devenir une stratégie de suivi des tendances très pratique.

Code source de la stratégie
/*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")