
Die Strategie ist eine quantitative Trading-Strategie, die auf mehreren Moving Averages und randomisierten Schwankungsindikatoren basiert. Die Strategie nutzt eine Kombination aus kurz-, mittel- und langfristigen Moving Averages und kombiniert die Überkauf-Überverkauf-Eigenschaften der randomisierten Schwankungsindikatoren, um Markttrend-Wechselpunkte und Handelsmöglichkeiten durch mehrere Signalbestätigungen zu erfassen. Die Kernstrategie besteht darin, die Reliabilität der Handelssignale durch die Kreuzbestätigung mehrerer technischer Indikatoren zu erhöhen.
Die Strategie verwendet fünf Moving Averages an den Tagen 3, 5, 6, 10 und 80 sowie einen Stochastic Oscillator. Der Trigger des Handelssignals basiert auf folgenden Bedingungen:
Die Strategie baut durch die Kombination von mehreren Moving Averages und randomisierten Schwingungsindikatoren ein relativ gutes Handelssystem auf. Der Vorteil der Strategie liegt in der Zuverlässigkeit der Signale und der Stabilität des Systems, aber auch in der Kontrolle der Handelskosten und der Anpassung an die Marktumgebung. Durch kontinuierliche Optimierung und Verbesserung wird die Strategie zu stabilen Erträgen im tatsächlichen Handel führen.
/*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"}]
*/
//@version=5
strategy(title="Moving Average and Stochastic Crossover Strategy", overlay=true)
// Calculate the moving averages
ma3 = ta.sma(close, 3)
ma5 = ta.sma(close, 5)
ma6 = ta.sma(close, 6)
ma10 = ta.sma(close, 10)
ma80 = ta.sma(close, 80)
// Stochastic Oscillator with settings %K(15), %D(9), and slowing 9
k = ta.stoch(close, high, low, 15)
d = ta.sma(k, 9)
slow_d = ta.sma(d, 9)
// Buy signal confirmation: MA10 crosses above MA5, MA6, and K line crosses above D line
buySignalConfirmation = ta.crossover(ma10, ma5) and ta.crossover(ma10, ma6) and ta.crossover(k, d)
// Sell signal confirmation: MA5 crosses above MA10, MA6, and D line crosses above K line
sellSignalConfirmation = ta.crossunder(ma5, ma10) and ta.crossunder(ma5, ma6) and ta.crossunder(d, k)
// Strategy logic
if (buySignalConfirmation)
strategy.entry("Buy", strategy.long)
if (sellSignalConfirmation)
strategy.entry("Sell", strategy.short)
// Plot the moving averages and Stochastic Oscillator for visualization
plot(ma3, color=color.orange, title="MA3", linewidth=2)
plot(ma5, color=color.blue, title="MA5", linewidth=2)
plot(ma6, color=color.purple, title="MA6", linewidth=2)
plot(ma10, color=color.green, title="MA10", linewidth=2)
plot(ma80, color=color.red, title="MA80", linewidth=2)
plot(k, color=color.blue, title="%K", linewidth=2)
plot(d, color=color.red, title="%D", linewidth=2)
plot(slow_d, color=color.purple, title="Slow %D", linewidth=2)