Stratégies d'optimisation croisée des moyennes mobiles

Auteur:ChaoZhang est là., Date: 2024-02-04 10h31h45
Les étiquettes:

移动平均交叉优化策略

Résumé

Cette stratégie est basée sur la formation de signaux de vente basés sur des croisements de moyennes mobiles conventionnelles, mais avec quelques modifications pour produire des signaux de trading plus précis. Cette stratégie, qui combine l'intersection des moyennes mobiles rapides et des moyennes mobiles lentes pour déterminer la tendance, appartient à la stratégie de suivi de tendance.

Les principes stratégiques

Lorsque la moyenne mobile rapide dépasse la moyenne mobile lente en descendant, elle est considérée comme un signal d'achat; lorsque la moyenne mobile rapide descend et dépasse la moyenne mobile lente en remontant, elle est considérée comme un signal de vente.

La clé de cette stratégie est la sélection d'une moyenne rapide. Cette stratégie utilise des moyennes mobiles indicielles de 50 et 100 de longueur comme ligne rapide et lente. L'effet de la stratégie peut être optimisé en ajustant les paramètres de la moyenne.

Analyse des avantages

Cette stratégie, combinée à une direction de tendance à deux horizons, permet de filtrer efficacement le bruit du marché et d'identifier les tendances. Elle augmente la probabilité de profit par rapport à une stratégie à un seul horizon. De plus, la position de stop-loss peut limiter les pertes des transactions individuelles.

La stratégie utilise le principe du croisement pour déterminer les points tournants de la tendance et capter les opportunités de tendance en temps opportun. La stratégie est facile à comprendre et à mettre en œuvre par rapport à une stratégie contenant une logique conditionnelle complexe.

L'analyse des risques

La stratégie peut présenter trois risques: le risque de paramètres de ligne droite inappropriés, le risque de temps de détention inapproprié et le risque de position de stop-loss inapproprié.

  • Si les paramètres de l'uniforme sont mal choisis, cela entraînera la production de faux signaux. Si la longueur de l'uniforme est trop courte ou trop longue, le marché sera mal jugé et doit être ajusté en fonction des caractéristiques de la variété.

  • Les détenteurs de titres ont une durée de détention trop longue ou trop courte pour maximiser les bénéfices ou contrôler les risques. Il est nécessaire de tester différentes sorties pour déterminer le cycle de détention optimal.

  • Si la position de l'arrêt n'est pas réglée correctement, elle entraînera un arrêt trop large ou trop tendu. Le point d'arrêt approprié doit être déterminé en fonction du taux de variation de la variété.

Optimisation

La stratégie peut être optimisée pour les domaines suivants:

  • Testez plus de combinaisons de paramètres pour trouver les meilleurs

  • Déterminer la position d'arrêt dynamique basée sur les fluctuations de prix N-days les plus récentes ou ATR

  • Il s'agit d'un outil qui permet de déterminer le moment de l'entrée, en combinant plusieurs indicateurs tels que MACD, KD, etc.

  • Il a ajouté une règle de filtrage des tendances pour éviter les opérations de liquidation.

  • Il est possible d'envisager d'appliquer la stratégie à plus de variétés, ou d'améliorer la stratégie pour les variétés.

Résumé

Cette stratégie d'optimisation croisée des moyennes mobiles, qui intègre les avantages d'une détermination rapide de la direction de la tendance et d'un contrôle des risques par la mise en place d'un stop-loss, est une stratégie de suivi de tendance facile à mettre en œuvre. Cette stratégie peut améliorer encore la stabilité et l'efficacité par des moyens tels que l'optimisation des paramètres, l'optimisation des stop-loss et le filtrage des signaux.


/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-03 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ashishchauhan
strategy(title="MA CO Strategy Test", overlay=true, pyramiding=0, initial_capital=100000)

fastEMALen = input(title="Fast EMA Length", type=input.integer, defval=50)
slowEMALen = input(title="Slow EMA Length", type=input.integer, defval=100)

fastEMA = ema(close, fastEMALen)
slowEMA = ema(close, slowEMALen)

enterLong = crossover(fastEMA, slowEMA)
enterShort = crossunder(fastEMA, slowEMA)

longStop = 0.0
longStop := enterShort ? close : longStop[1]

shortStop = 0.0
shortStop := enterLong ? close : shortStop[1]

plot(series=fastEMA, color=color.orange, title="Fast EMA")
plot(series=slowEMA, color=color.teal, linewidth=3, title="Slow EMA")

if enterLong
    strategy.entry(id="GoLong", long=true)

if enterShort
    strategy.entry(id="GoShort", long=false)

if strategy.position_size > 0
    strategy.exit(id="ExLong", from_entry="GoLong", stop=longStop)

if strategy.position_size < 0
    strategy.exit(id="ExShort", from_entry="GoShort", stop=shortStop)

strategy.close_all()


En savoir plus