Stratégie de croisement des moyennes mobiles

Auteur:ChaoZhang est là., Date: 2023-12-06 16h58 et 20h
Les étiquettes:

img

Résumé

Il s'agit d'une stratégie de suivi de tendance basée sur le croisement des moyennes mobiles. Il utilise deux moyennes mobiles avec des périodes différentes. Lorsque la moyenne mobile de la période la plus courte franchit la moyenne mobile de la période la plus longue, elle devient longue. Lorsque la moyenne mobile de la période la plus courte franchit la moyenne mobile de la période la plus longue, elle devient courte. Il s'agit d'une stratégie de suivi de tendance typique.

La logique de la stratégie

La stratégie utilise des moyennes mobiles de 20 périodes et de 50 périodes. Elle calcule d'abord ces deux moyennes mobiles, puis identifie les points de croisement entre eux pour générer des signaux de trading. Lorsque la moyenne mobile de 20 périodes dépasse la moyenne mobile de 50 périodes, elle génère un signal d'achat. Lorsque la moyenne mobile de 20 périodes dépasse la moyenne mobile de 50 périodes, elle génère un signal de vente.

Après avoir généré des signaux de trading, la stratégie va passer des ordres avec un stop loss fixe et prendre des marges de profit. Par exemple, après avoir acheté, elle va définir un stop loss de 0,4% et un profit de 0,7%. En définissant un stop loss et un profit, elle contrôle le risque et la récompense des transactions individuelles.

Les avantages de la stratégie

La stratégie présente les avantages suivants:

  1. Logique de fonctionnement simple et claire, facile à comprendre et à mettre en œuvre
  2. Capter de manière fiable les points tournants de la tendance du marché
  3. Définir un stop-loss et un profit pour bien contrôler le risque de transaction unique

Risques liés à la stratégie

Cette stratégie comporte également certains risques:

  1. Plus de faux signaux lorsque le marché n'a pas de tendance claire
  2. Ne pas filtrer efficacement le bruit du marché, susceptible d'être piégé
  3. Le stop loss et les marges bénéficiaires peuvent ne pas convenir à tous les produits, nécessitent une optimisation

Les contre-mesures:

  1. Optimiser les périodes de moyenne mobile pour filtrer les faux signaux
  2. Ajouter d'autres indicateurs pour la filtration
  3. Tester et optimiser les paramètres de stop loss et de prise de profit

Directions d'optimisation

La stratégie peut être optimisée dans les aspects suivants:

  1. Optimiser les périodes moyennes mobiles pour trouver la meilleure combinaison de paramètres
  2. Ajouter des indicateurs tels que le volume des transactions pour filtrer les signaux
  3. Testez et optimisez le stop loss et les marges bénéficiaires sur des produits spécifiques
  4. Modifier le stop loss fixe et le profit à celui dynamique
  5. Ajouter des algorithmes d'apprentissage automatique pour trouver automatiquement les paramètres optimaux

Résumé

Dans l'ensemble, il s'agit d'une stratégie de suivi de tendance simple et efficace. Il capte les points tournants de la tendance en utilisant le croisement de la moyenne mobile et contrôle le risque via le stop loss et le take profit. La stratégie convient aux investisseurs qui n'ont pas d'exigences élevées sur le jugement de tendance. Une optimisation supplémentaire des paramètres et des modèles peut conduire à de meilleures performances de la stratégie.

]


/*backtest
start: 2022-11-29 00:00:00
end: 2023-12-05 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/
// © danielfepardo

//@version=5

strategy("QUANT", overlay=true)
lenght1 = input(20)
lenght2 = input(50)


ema1 = ta.ema(close, lenght1)
ema2 = ta.ema(close, lenght2)
plot(ema1, color=color.black)
plot(ema2, color=color.red)

long = ta.crossover(ema1, ema2)

SL = 0.004
TP = 0.007

if long == true
    strategy.entry("Compra Call", strategy.long)
longstop=strategy.position_avg_price*(1-SL)
longprofit=strategy.position_avg_price*(1+TP)
strategy.exit("Venta Call", stop=longstop, limit=longprofit)

short = ta.crossover(ema2, ema1)

if short == true
    strategy.entry("Compra Put", strategy.short)
shortstop=strategy.position_avg_price*(1+SL)
shortprofit=strategy.position_avg_price*(1-TP)
strategy.exit("Venta Put", stop=shortstop, limit=shortprofit)






Plus de