Stratégie de croisement des moyennes mobiles doubles

Auteur:ChaoZhang est là., Date: 2024-01-31 11h29h45
Les étiquettes:

img

Résumé

Il s'agit d'une stratégie de trading basée sur le double croisement des moyennes mobiles. Il génère des signaux d'achat et de vente lorsque deux moyennes mobiles de longueurs différentes se croisent. Plus précisément, il va long lorsque le MA plus rapide traverse au-dessus du MA plus lent, et court lorsque le MA plus rapide traverse au-dessous du MA plus lent.

La logique de la stratégie

La logique de base de cette stratégie réside dans les principes de croisement entre deux moyennes mobiles. Une moyenne mobile est le prix moyen arithmétique sur une période de temps spécifique.

Dans cette stratégie, l'AM à court terme capte les tendances à court terme tandis que l'AM à long terme capte les tendances à long terme.

Plus précisément, la stratégie calcule les MA en utilisant ta.sma sur la longue_période et la courte_période définies par les utilisateurs. Elle utilise ensuite ta.crossover et ta.crossunder pour détecter le croisement doré et le croisement mortel entre les deux MA. Lorsque le court MA traverse au-dessus de la longue MA, passez long. Lorsque le court MA traverse en dessous, passez court.

Les avantages

Les principaux avantages de cette stratégie sont les suivants:

  1. Une logique simple, facile à suivre.
  2. Paramètres personnalisables, adaptés à différents marchés.
  3. Le croisement MA filtre le bruit, capturant l'inversion de tendance.
  4. Haute sensibilité à la capture des points d'inflexion des prix.

Les risques

Il existe également plusieurs risques:

  1. Un écart trop petit entre les MAs provoque de faux signaux.
  2. Des périodes de MA erronées manquent des tendances majeures.
  3. Les retours en arrière n'impliquent pas toujours des changements de tendance.
  4. Les paramètres doivent être ajustés pour éviter un surajustement.

Pour atténuer les risques, des paramètres peuvent être ajustés, des mesures de stop loss et de prise de bénéfices peuvent être intégrées ou d'autres indicateurs techniques peuvent être ajoutés.

Optimisation

Il est possible d'optimiser davantage:

  1. Optimiser les périodes d'AM adaptatives.
  2. Ajoutez un filtre de volume pour éviter une fausse fuite.
  3. Incorporer d'autres indicateurs comme le MACD, le KDJ.
  4. L'exposition au risque est calculée sur la base de l'exposition au risque.
  5. Améliorer la structure du code pour une meilleure évolutivité.

Conclusion

En conclusion, il s'agit d'une stratégie de démarrage idéale pour le trading algorithmique, grâce à sa simplicité de logique et de paramètres tout en étant capable de capturer efficacement les renversements du marché.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Cross 2 Moving Average Strategy", shorttitle="2MA Cross", overlay=true)

// User-defined input for moving averages
long_period = input(20, title="Long Period")
short_period = input(5, title="Short Period")
type_ma = input.string("SMA", title = "MA type", options = ["SMA", "EMA"])

// Calculating moving averages
long_ma = ta.sma(close, long_period)
short_ma = ta.sma(close, short_period)

// Plot moving averages
plot(long_ma, title="Long Moving Average", color=color.red)
plot(short_ma, title="Short Moving Average", color=color.green)

// Strategy logic for crossing of moving averages
longCondition = ta.crossover(short_ma, long_ma)
shortCondition = ta.crossunder(short_ma, long_ma)

// Entry orders
if (longCondition)
    strategy.entry("Long", strategy.long)

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

// Optional: Add stop loss and take profit
stop_loss_perc = input(1, title="Stop Loss (%)") / 100
take_profit_perc = input(2, title="Take Profit (%)") / 100

strategy.exit("Exit Long", from_entry="Long", stop=close*(1-stop_loss_perc), limit=close*(1+take_profit_perc))
strategy.exit("Exit Short", from_entry="Short", stop=close*(1+stop_loss_perc), limit=close*(1-take_profit_perc))


Plus de