
Die Strategie ist ein Trend-Tracking-Trading-System, das die durchschnittliche Trend-Indikator ((ADX) und die Parallax-Stop-Loss-Switch-Indikator ((SAR)) kombiniert. Das System misst die Trendstärke über die ADX und verwendet die SAR, um die Trendrichtung zu bestätigen, wodurch Handelschancen in stark trendigen Märkten erfasst werden. Das System verwendet eine doppelte Bestätigungsmechanismus, um die Existenz von Trends zu gewährleisten und die Zuverlässigkeit von Trends zu überprüfen.
Die Kernlogik der Strategie basiert auf folgenden wichtigen Komponenten:
Die Auslösebedingungen für Handelssignale sind wie folgt:
Vorschläge zur Risikokontrolle:
Einführung der Parameter für die Anpassung der Volatilitätsindikatoren
Optimierung der Ausspielungsmechanismen
Mehr Filter für die Marktumgebung
Verbesserung der Positionsverwaltung
Die Strategie baut durch die Kombination von ADX- und SAR-Indikatoren ein robustes Trend-Tracking-System auf. Die Hauptvorteile der Strategie liegen in ihrer doppelten Bestätigungsmechanik und ihren dynamischen Stop-Loss-Einstellungen, die jedoch in einem wackligen Markt schlecht abschneiden können. Durch eine vernünftige Parameteroptimierung und Risikokontrolle kann die Strategie in einem Marktumfeld mit deutlichem Trend gut abschneiden.
/*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)