Stratégie de négociation croisée à double moyenne mobile

Auteur:ChaoZhang est là., Date: 2024-01-24 15h24 et 13h
Les étiquettes:

img

Résumé

L'idée de base de cette stratégie est d'utiliser la croix d'or et la croix de la mort des lignes moyennes mobiles rapides et lentes pour juger de la tendance du marché et mettre en œuvre un trading à faible risque.

Principe de stratégie

Cette stratégie utilise la moyenne mobile exponentielle des prix. La moyenne mobile est un indicateur d'analyse de tendance qui facilite les données de prix pour juger des tendances des prix. La moyenne mobile rapide a un paramètre plus petit et peut répondre aux changements de prix plus rapidement; la moyenne mobile lente a un paramètre plus grand et répond aux changements de prix plus lentement. Lorsque la moyenne mobile rapide dépasse la moyenne mobile lente, cela indique que le marché peut entrer dans un marché haussier et une position longue doit être établie; lorsque la moyenne mobile rapide dépasse la moyenne mobile lente, cela indique que le marché peut entrer dans un marché baissier et une position courte doit être établie.

Plus précisément, cette stratégie définit deux moyennes mobiles exponentielles, avec des périodes de 21 et 55 pour la moyenne mobile rapide et lente respectivement. La stratégie détermine l'entrée et la sortie en fonction de la croix dorée et de la croix de la mort des deux lignes de moyenne mobile.

En outre, cette stratégie utilise également l'indicateur de volatilité ATR pour définir le stop loss et le take profit. ATR peut évaluer efficacement le degré de volatilité du marché. Le stop loss est défini à 1,5 fois la distance ATR du prix; le take profit est défini près de 1 fois la distance ATR du prix.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. L'idée est claire et facile à comprendre et à mettre en œuvre.
  2. Utiliser l'indicateur de moyenne mobile pour déterminer l'évolution des prix et mettre en œuvre des opérations à faible risque.
  3. La combinaison de moyennes mobiles rapides et lentes permet de filtrer efficacement le bruit du marché et d'identifier les tendances des prix.
  4. Utiliser l'indicateur ATR pour définir dynamiquement le stop loss et le profit selon le degré de volatilité du marché.
  5. Aucun ajustement fréquent des paramètres n'est nécessaire et la stratégie est très stable.

Analyse des risques

Cette stratégie comporte également des risques:

  1. Lorsque les prix fluctuent violemment, la moyenne mobile peut donner de faux signaux, ce qui peut entraîner des pertes inutiles.
  2. Cette stratégie est basée uniquement sur des indicateurs techniques sans tenir compte des fondamentaux et peut subir des pertes plus importantes face à des nouvelles négatives majeures.
  3. L'indicateur ATR indique que les prix de vente et les prix d'achat sont les mêmes que pour tous les autres indicateurs.
  4. La définition des moyennes mobiles périodiques n'est pas le seul schéma optimal, et différentes combinaisons de paramètres périodiques produiront des effets différents.

Pour faire face aux risques susmentionnés, nous pouvons optimiser les aspects suivants:

  1. Combinez d'autres indicateurs tels que le MACD et le RSI pour confirmer les signaux de négociation et éviter une mauvaise entrée.
  2. Réduire légèrement la plage de stop loss pour réduire la perte par transaction.
  3. Optimiser dynamiquement les paramètres des moyennes mobiles de période pour mieux les adapter aux différentes étapes du marché.

Directions d'optimisation

Cette stratégie peut être encore optimisée dans les domaines suivants:

  1. Utiliser des méthodes d'apprentissage automatique pour optimiser automatiquement les paramètres de moyenne mobile pour une meilleure adaptabilité.

  2. Ajoutez des fondamentaux comme conditions de filtrage pour éviter de faire une position longue ou courte à l'aveuglette lorsque des nouvelles négatives importantes arrivent, telles que les décisions de la Fed sur les taux et les communiqués de données macro importantes.

  3. Définir les limites supérieures et inférieures de la volatilité, mettre en pause les transactions lorsque l'ATR devient trop élevé ou trop bas pour éviter les pertes dans des environnements de marché extrêmes.

  4. Incorporer les fondamentaux des actions tels que le ratio P/E et l'expansion du volume des transactions pour définir des plages de stop loss et de profit dynamiques.

  5. Ajouter des mécanismes de dimensionnement des positions, réduire progressivement les positions lorsque le taux de profit atteint un niveau, suspendre les transactions pendant une période lorsque les pertes sont relativement importantes, etc.

Conclusion

La logique générale de cette stratégie est claire et simple, en utilisant des croisements doubles de moyennes mobiles pour déterminer les tendances du marché, une tendance typique de la stratégie suivante. Pendant ce temps, la stratégie contrôle également très bien les risques en utilisant l'indicateur ATR pour définir dynamiquement le stop loss et le profit. Avec une optimisation supplémentaire, la stratégie peut être améliorée en termes de contrôle du retrait et de conduite de tendance, conduisant ainsi à une performance d'investissement plus stable.


/*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=3
strategy(title="No-Nonsense Strategy Template [WM]", overlay = true)

price = close

//
// ATR stuff
//

atrLength = input(14, "ATR Length")
slMultiplier = input(1.5, "SL")
tpMultiplier = input(1, "TP1")

atr = atr(atrLength)

//
// Strategy under test. MA crossover
// 

fastInput = input(21)
slowInput = input(55)

fast = ema(price, fastInput)
slow = ema(price, slowInput)

plot(fast, color = red)
plot(slow, color = blue)

goLong = crossover(fast, slow)
goShort = crossunder(fast, slow)

if (goLong)
    sl = price - atr * slMultiplier
    tp = price + atr * tpMultiplier
    strategy.entry("Long", strategy.long)
    strategy.exit("Long Exit", "Long", stop = sl, limit = tp)
    
if (goShort)
    sl = price + atr * slMultiplier
    tp = price - atr * tpMultiplier
    strategy.entry("Short", strategy.short)	 
    strategy.exit("Short Exit", "Short", stop = sl, limit = tp)



Plus de