La stratégie de croisement de la moyenne mobile double est une stratégie de trading quantitative commune. Elle utilise le croisement des moyennes mobiles rapides et lentes comme signaux d'achat et de vente. Lorsque la moyenne mobile rapide traverse au-dessus de la moyenne mobile lente du bas, un signal d'achat est généré. Lorsque la moyenne mobile rapide traverse en dessous de la moyenne mobile lente du haut, un signal de vente est généré.
La logique de base de cette stratégie est de calculer deux groupes de moyennes mobiles, l'un est la moyenne mobile rapide avec un paramètre de période de 10 jours, et l'autre est la moyenne mobile lente avec un paramètre de période de 30 jours.
Lorsque la moyenne mobile rapide dépasse la moyenne lente, cela signifie que le prix à court terme commence à briser la tendance à long terme, ce qui est un signal de croix dorée pour aller long. Lorsque la moyenne mobile rapide dépasse la moyenne lente, cela signifie que le prix à court terme commence à tomber en dessous de la tendance à long terme, ce qui est un signal de croix de mort pour aller court.
La stratégie définit également des mécanismes de stop loss et de take profit. Le stop loss est déclenché lorsque le prix tombe en dessous d'un certain pourcentage du prix d'entrée. Le take profit est déclenché lorsque le prix dépasse un certain pourcentage du prix d'entrée.
La double stratégie de croisement des moyennes mobiles présente les avantages suivants:
La logique est simple et facile à comprendre et à mettre en œuvre;
Les paramètres des moyennes mobiles rapides et lentes sont personnalisables pour s'adapter à différents marchés;
Il contient à la fois des paramètres de stop loss et de prise de profit pour limiter les pertes;
Il peut bien fonctionner sur les marchés à tendance et à fourchette.
La double stratégie de croisement des moyennes mobiles comporte également les risques suivants:
Le signal provenant du croisement peut être une fausse rupture, entraînant des pertes;
Les paramètres incorrects de stop loss et de take profit peuvent entraîner d' énormes pertes ou réduire les bénéfices attendus;
Il s'appuie uniquement sur des indicateurs techniques sans tenir compte des fondamentaux.
Solution correspondante:
Ajouter d'autres indicateurs techniques pour filtrer les faux signaux;
Tester et optimiser les paramètres de stop loss et de prise de profit;
Incorporer une analyse fondamentale.
La stratégie peut être optimisée par les aspects suivants:
Tester différentes combinaisons de paramètres des moyennes mobiles pour en trouver la meilleure;
Ajouter des indicateurs de confirmation prix-volume pour éviter les fausses ruptures;
Ajustez dynamiquement le stop loss et les pourcentages de prise de profit pour une meilleure prise de profit;
Incorporer d'autres indicateurs tels que le volume des transactions, le taux de chiffre d'affaires, etc.
En résumé, la stratégie de croisement des moyennes mobiles doubles est une stratégie de trading quantitative simple et pratique. Elle est facile à comprendre et à mettre en œuvre et peut générer des profits stables dans la plupart des environnements de marché. En optimisant les paramètres, en ajoutant des filtres de signal et des mécanismes dynamiques de prise de profit, la stratégie peut devenir plus fiable et rentable.
/*backtest start: 2023-01-12 00:00:00 end: 2024-01-18 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Moving Average Crossover", overlay=true) // Define input parameters fast_length = input(10, title="Fast MA Length") slow_length = input(30, title="Slow MA Length") stop_loss_percent = input(1.0, title="Stop Loss (%)", minval=0.1, maxval=10, step=0.1) take_profit_percent = input(2.0, title="Take Profit (%)", minval=0.1, maxval=10, step=0.1) // Calculate moving averages fast_ma = sma(close, fast_length) slow_ma = sma(close, slow_length) // Entry conditions long_condition = crossover(fast_ma, slow_ma) short_condition = crossunder(fast_ma, slow_ma) // Plot moving averages on the chart plot(fast_ma, title="Fast MA", color=color.blue) plot(slow_ma, title="Slow MA", color=color.red) // Strategy orders strategy.entry("Long", strategy.long, when=long_condition) strategy.entry("Short", strategy.short, when=short_condition) // Set stop loss and take profit levels stop_loss_price = close * (1 - stop_loss_percent / 100) take_profit_price = close * (1 + take_profit_percent / 100) strategy.exit("Take Profit/Stop Loss", from_entry="Long", stop=stop_loss_price, limit=take_profit_price) strategy.exit("Take Profit/Stop Loss", from_entry="Short", stop=take_profit_price, limit=stop_loss_price)