La stratégie TrendSurfing est une stratégie de suivi des tendances basée principalement sur les signaux de croisement de la moyenne mobile double. Elle intègre également des indicateurs visuels triangulaires, une EMA de 200 jours, un indicateur ROC et un indicateur RSI pour filtrer le bruit et capturer avec précision les renversements de tendance.
La stratégie de TrendSurfing repose principalement sur la croix d'or et la croix de la mort formées par la moyenne mobile rapide et la moyenne mobile lente pour générer des signaux d'achat et de vente.
En outre, la stratégie intègre plusieurs indicateurs auxiliaires pour filtrer les faux signaux ou déterminer la qualité de la tendance, notamment:
En évaluant de manière exhaustive divers indicateurs, la stratégie TrendSurfing permet de localiser avec précision les points de basculement de la tendance et de suivre des tendances précises à moyen et long terme sans être induite en erreur par le bruit du marché ou les corrections à court terme.
1. Détecter la tendance à moyen et long terme
La stratégie évalue essentiellement l'inversion de tendance sur la base des croisements de l'EMA et utilise des indicateurs tels que l'EMA de 200 jours pour filtrer le bruit à court terme, en mettant l'accent sur la capture de la tendance à moyen et long terme.
2. Des indicateurs multiples assurent une entrée de haute qualité
En plus du croisement MA lui-même, l'incorporation de ROC, RSI et d'autres indicateurs permet d'éviter les zones de consolidation sur les points d'inversion et assure une entrée de qualité.
Indicateurs visuels triangulaires intuitifs
Les triangles verts vers le bas indiquent des entrées longues, les triangles rouges vers le haut indiquent des entrées courtes.
Paramètres personnalisables pour les différents besoins
Les utilisateurs peuvent librement ajuster les paramètres tels que les périodes de MA, la longueur du ROC, la longueur du RSI, etc. en fonction de leur propre style de trading.
5. Arrêtez les pertes et maîtrisez les profits
La stratégie définit un stop loss et un profit sur la base de la valeur ATR multipliée par le pourcentage de risque, ce qui permet de contrôler le risque par transaction.
1. Risque de manquer une transaction
Toute stratégie basée sur le croisement des MA comporte un risque inhérent de manquer des transactions ou d'être arrêtée lorsque l'AM oscille.
2. sur-optimisation à partir de paramètres incorrectsLes utilisateurs devraient éviter de poursuivre des valeurs de paramètres hypothétiquement idéales.
3. Incapacité de filtrer complètement les événements du cygne noir
Dans des conditions de marché extrêmes, les stratégies pourraient encore faire face à des pertes importantes dues aux risques systémiques du marché.
1. Tester et optimiser les valeurs des paramètres
Les périodes d'AM, la durée du ROC, les valeurs du RSI, etc., devraient faire l'objet de tests et d'optimisations rigoureux afin de s'adapter aux caractéristiques des différents produits de négociation.
2. Tester et intégrer d'autres indicateurs auxiliaires
Continuer à tester des combinaisons d'autres indicateurs tels que BOLL, KDJ, etc. avec des croisements MA pour une meilleure performance.
3. Coordonner avec le trading algorithmique pour un meilleur contrôle des risquesIntroduire des algorithmes d'apprentissage automatique pour permettre un stop loss et un profit plus intelligents, en s'adaptant à des environnements de marché dynamiques.
4. Explorez les combinaisons avec d'autres stratégies ou modèles
La combinaison avec des stratégies de sélection d'actions basées sur les fondamentaux, des stratégies d'arbitrage statistique, des modèles d'optimisation de portefeuille, etc., pourrait encore améliorer le contrôle des risques et le rendement.
La stratégie TrendSurfing est une stratégie simple et directe de suivi des tendances avec un risque contrôlable. Les signaux de trading sont générés à partir de croisements de MA et filtrés par plusieurs indicateurs auxiliaires. Elle convient à la détention à moyen et long terme pour suivre régulièrement les tendances du marché haussier. Nous continuerons à optimiser cette stratégie grâce à des tests de paramètres, à l'expansion des indicateurs, au contrôle des risques, etc. pour obtenir des performances plus fiables sur divers marchés.
Je ne sais pas.
/*backtest start: 2023-12-27 00:00:00 end: 2024-01-03 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Moving Average Crossover with Triangles, 200 EMA, ROC, and RSI", overlay=true) // Define input parameters fast_length = input(9, title="Fast MA Length") slow_length = input(21, title="Slow MA Length") roc_length = input(14, title="ROC Length") rsi_length = input(14, title="RSI Length") // Calculate moving averages fast_ma = sma(close, fast_length) slow_ma = sma(close, slow_length) // Plot moving averages plot(fast_ma, color=color.green, title="Fast MA") plot(slow_ma, color=color.red, title="Slow MA") // Plot 200 EMA ema_200 = ema(close, 200) plot(ema_200, color=color.white, title="200 EMA", linewidth=2) // Calculate Rate of Change (ROC) roc = roc(close, roc_length) // Calculate RSI rsi = rsi(close, rsi_length) // Define strategy entry and exit conditions long_condition = crossover(fast_ma, slow_ma) and roc > 0 and close > ema_200 and rsi > 55 short_condition = crossunder(fast_ma, slow_ma) and roc < 0 and close < ema_200 and rsi < 45 // Execute strategy strategy.entry("Long", strategy.long, when=long_condition) strategy.entry("Short", strategy.short, when=short_condition) // Define stop loss and take profit levels risk_percent = input(1, title="Risk Percentage", minval=0.1, maxval=5, step=0.1) / 100 atr_value = atr(14) stop_loss = close - atr_value * risk_percent take_profit = close + atr_value * risk_percent strategy.exit("Take Profit/Stop Loss", from_entry="Long", loss=stop_loss, profit=take_profit) strategy.exit("Take Profit/Stop Loss", from_entry="Short", loss=stop_loss, profit=take_profit) // Plot larger triangles on crossover and crossunder plotshape(series=long_condition, title="Long Entry", color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small) plotshape(series=short_condition, title="Short Entry", color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small)