Cette stratégie est un système de négociation qui combine l'indice directionnel moyen (ADX) avec l'indicateur d'arrêt et d'inversion parabolique (SAR). Le système mesure la force de la tendance en utilisant ADX et confirme la direction de la tendance en utilisant SAR pour saisir les opportunités de négociation sur les marchés à forte tendance.
La logique de base repose sur les éléments clés suivants:
Les déclencheurs des signaux commerciaux sont les suivants:
Suggestions de contrôle des risques:
Introduction d'indicateurs de volatilité pour les ajustements de paramètres
Optimiser le mécanisme de sortie
Ajouter des filtres d'environnement de marché
Améliorer la gestion des positions
Cette stratégie construit un système de suivi de tendance robuste en combinant les indicateurs ADX et SAR. Ses principaux avantages résident dans le mécanisme de confirmation double et les paramètres de stop-loss dynamiques, bien que les performances puissent être sous-optimales sur les marchés oscillants.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-10 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © traderhub //@version=5 strategy("Trend Following ADX + Parabolic SAR", overlay=true) // Strategy parameters adxLength = input(14, title="ADX Period") adxThreshold = input(25, title="ADX Threshold") adxSmoothing = input(14, title="ADX Smoothing") sarStart = input(0.02, title="Parabolic SAR Start") // Starting acceleration factor sarIncrement = input(0.02, title="Parabolic SAR Increment") // Increment step sarMax = input(0.2, title="Parabolic SAR Max") // Maximum acceleration factor // Calculate ADX, DI+, and DI- [diPlus, diMinus, adx] = ta.dmi(adxLength, adxSmoothing) // Parabolic SAR calculation sar = ta.sar(sarStart, sarIncrement, sarMax) // Conditions for a long position longCondition = adx > adxThreshold and diPlus > diMinus and close > sar // Conditions for a short position shortCondition = adx > adxThreshold and diMinus > diPlus and close < sar // Enter a long position if (longCondition) strategy.entry("Long", strategy.long) // Enter a short position if (shortCondition) strategy.entry("Short", strategy.short) // Close position on reverse signal if (strategy.position_size > 0 and shortCondition) strategy.close("Long") if (strategy.position_size < 0 and longCondition) strategy.close("Short") // Plot indicators on the chart plot(sar, color=color.blue, style=plot.style_circles, linewidth=2, title="Parabolic SAR") plot(adx, color=color.red, title="ADX") hline(adxThreshold, "ADX Threshold", color=color.green)