
Die Strategie ist ein Trend-Tracking-Trading-System, das die SuperTrend-Indikatoren und den Stochastic Oscillator kombiniert. Die Strategie identifiziert die Richtung der Markttrend durch die SuperTrend-Indikatoren und nutzt die Überkauf-Überverkauf-Signale der Zufallsindikatoren als Bestätigungssignale für den Handel. Die Strategie verwendet die Dynamik-Cross-Methode, um die besten Einstiegs- und Ausstiegsmomente in der Trendrichtung zu finden, um die perfekte Kombination von Trend-Tracking und Dynamik-Analyse zu erreichen.
Die Kernlogik der Strategie basiert auf der Kombination zweier Hauptindikatoren:
Die Regeln für den Handel lauten:
Die Strategie kombiniert Trend-Tracking und Dynamik-Analyse, um ein relativ vollständiges Handelssystem zu bauen. Sie bietet nicht nur klare Ein- und Ausstiegssignale, sondern enthält auch ein Rahmenwerk für Risikomanagement und Parameteroptimierung. Obwohl einige inhärente Risiken bestehen, können die Stabilität und Anpassungsfähigkeit der Strategie durch die Bereitstellung von Optimierungsempfehlungen weiter verbessert werden.
/*backtest
start: 2024-02-21 00:00:00
end: 2024-10-01 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("SuperTrend + Stochastic Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// SuperTrend Settings
superTrendFactor = input.float(3.0, title="SuperTrend Factor", step=0.1)
superTrendATRLength = input.int(10, title="SuperTrend ATR Length")
// Calculate SuperTrend
[superTrend, direction] = ta.supertrend(superTrendFactor, superTrendATRLength)
// Plot SuperTrend
plot(superTrend, color=direction == 1 ? color.green : color.red, title="SuperTrend")
bgcolor(direction == 1 ? color.new(color.green, 90) : color.new(color.red, 90), transp=90)
// Stochastic Settings
stochKLength = input.int(14, title="Stochastic %K Length")
stochDLength = input.int(3, title="Stochastic %D Length")
stochSmoothK = input.int(3, title="Stochastic %K Smoothing")
stochOverbought = input.int(80, title="Stochastic Overbought Level")
stochOversold = input.int(20, title="Stochastic Oversold Level")
// Calculate Stochastic
k = ta.sma(ta.stoch(close, high, low, stochKLength), stochSmoothK)
d = ta.sma(k, stochDLength)
// Plot Stochastic in separate pane
hline(stochOverbought, "Overbought", color=color.red)
hline(stochOversold, "Oversold", color=color.green)
plot(k, color=color.blue, title="%K", linewidth=2)
plot(d, color=color.orange, title="%D", linewidth=2)
// Long Condition: SuperTrend is up and Stochastic %K crosses above oversold
longCondition = direction == 1 and ta.crossover(k, stochOversold)
if (longCondition)
strategy.entry("Long", strategy.long)
// Short Condition: SuperTrend is down and Stochastic %K crosses below overbought
shortCondition = direction == -1 and ta.crossunder(k, stochOverbought)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Exit Long: SuperTrend turns down or Stochastic %K crosses below overbought
exitLong = direction == -1 or ta.crossunder(k, stochOverbought)
if (exitLong)
strategy.close("Long")
// Exit Short: SuperTrend turns up or Stochastic %K crosses above oversold
exitShort = direction == 1 or ta.crossover(k, stochOversold)
if (exitShort)
strategy.close("Short")