Il s'agit d'une stratégie de trading quantitative qui suit les tendances en jugeant la tendance globale sur la base des moyennes mobiles et en déterminant les points de rupture à l'aide de l'indicateur de dynamique HA.
La logique de base de cette stratégie consiste à utiliser des moyennes mobiles et l'indicateur de dynamique HA pour suivre les tendances.
Juge de la tendance globale: les moyennes mobiles simples de 20 jours et de 200 jours sont calculées, lorsque la moyenne mobile de 20 jours est au-dessus (en dessous) de la ligne de 200 jours, une tendance à la hausse (à la baisse) est déterminée.
Décider du moment d'entrée: L'indicateur de momentum HA est calculé en comparant la taille des ouvertures du corps de la bougie, les valeurs supérieures au paramètre HA_Candle_strength impliquent une dynamique plus forte où les positions peuvent être entrées.
Définition des sorties Stop Loss/Take Profit: Les sorties stratégiques sont définies sur la base des montants de profit/perte.
Grâce à ce processus, la stratégie est en mesure de saisir les parties intermédiaires des tendances établies et de les suivre.
Les avantages de cette stratégie sont les suivants:
Une logique simple et claire, facile à comprendre/optimiser.
Les moyennes mobiles filtrent le bruit et capturent la tendance principale.
Le momentum HA évite les fausses éruptions en mesurant la force de l'éruption.
La précision du moment d'entrée est améliorée grâce à une combinaison de direction de tendance et de dynamique.
L'établissement doit être en mesure de contrôler les risques liés à l'échange unique.
Principaux risques auxquels cette stratégie est confrontée:
Les signaux croisés fréquents peuvent entraîner de mauvaises transactions sur des marchés variés.
Des paramètres mal réglés pourraient entraîner des transactions manquées ou de faux signaux.
Incapable de s'adapter à tous les types de régimes de marché, il pourrait faire face à des pertes plus importantes sur des marchés à la dérive.
L'absence d'identification en temps opportun des points de renversement de tendance pourrait entraîner des pertes accrues.
Solution correspondante:
Filtres supplémentaires pour éliminer les signaux non valides.
Test d'optimisation des paramètres pour trouver des combinaisons idéales de paramètres.
Incorporer des indicateurs de volatilité pour éviter les erreurs sur les marchés instables.
Utilisez des ordres de stop loss adaptatifs pour verrouiller les bénéfices.
D'autres améliorations de cette stratégie:
Utiliser des périodes de moyenne mobile adaptative au lieu de valeurs fixes pour améliorer la robustesse.
Ajoutez un filtre de volume pour éviter les signaux lorsque la conviction du marché est faible.
Optimisez automatiquement les paramètres via l'apprentissage automatique pour une plus grande stabilité.
Stop-loss dynamique au lieu de stop-loss statique pour capturer les profits.
Incorporer davantage d'indicateurs permettant de juger de la qualité et des conditions du marché.
En résumé, il s'agit d'une stratégie de suivi de tendance basée sur la détermination de la direction de la tendance prédominante avec des moyennes mobiles et l'utilisation de l'élan HA pour les signaux d'entrée de temps. La logique est simple et claire, fournissant une génération de signal précise pendant la progression de la tendance.
/*backtest start: 2023-12-03 00:00:00 end: 2023-12-10 00:00:00 period: 45m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("HA Trend Following", overlay=false, default_qty_type = strategy.percent_of_equity, default_qty_value = 2) //parameters input Trend_DIR_MA = input(defval = 200, title = "MA for trend direction") HA_Candle_strength = input(defval = 2, title = "HA candle strength") Rng = abs(open - close) // HA_Momentum - size of break out body HA_Momentum = sma(Rng, 1) / sma(Rng, 5) plot(HA_Momentum, color=green, linewidth=1, style=line) plot(HA_Candle_strength, color= blue) // open position longCondition = close > sma(close, 20) and (sma(close, 20) > sma(close, Trend_DIR_MA) )and HA_Momentum > HA_Candle_strength and close - open > 0 if (longCondition) strategy.entry(id = "Lng", long = true) ShortCondition = close < sma(close, 20) and (sma(close, 20) < sma(close, Trend_DIR_MA) ) and HA_Momentum > HA_Candle_strength and close - open < 0 if (ShortCondition) strategy.entry(id = "Shrt", long = false) // close position strategy.exit("ExL", from_entry = "Lng", loss = 500 , profit = 1500) strategy.exit("ExS", from_entry = "Shrt", loss = 500 , profit = 1500)