
Die Strategie ist ein auf dem RSI basierendes, dynamisches Intervall-Umkehrhandelssystem, das die Wendepunkte des Marktes erfasst, indem ein einstellbares Überkauf-Überverkauf-Intervall in Kombination mit einem Konjunktur-/Differenz-Sensitivitäts-Parameter festgelegt wird. Die Strategie handelt mit einer festen Anzahl von Kontrakten und läuft innerhalb einer bestimmten Rückmesszeit.
Die Strategie verwendet den RSI-Indikator mit 14 Zyklen als Kernindikator und setzt 80 und 30 als Basislevel für Überkauf-Überverkauf. Durch die Einführung des Konvergenz-/Spreadsensitivitäts-Parameters (setzt auf 3.0) wird die dynamische Regulierungsfähigkeit auf der Grundlage der herkömmlichen RSI-Strategie erhöht.
Dies ist eine auf dem RSI basierende Dynamic Range Reversal Strategie, die durch flexible Parameter-Sets und klare Handelsregeln ein relativ vollständiges Handelssystem ermöglicht. Die Hauptvorteile der Strategie liegen in ihrer dynamischen Regulierungsfähigkeit und der klaren Risikokontrolle, aber auch in der Notwendigkeit, auf potenzielle Risiken in schwankenden Märkten und Trendmärkten zu achten.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-11 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("RSI Options Strategy", overlay=true)
// RSI settings
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(80, title="Overbought Level")
rsiOversold = input(30, title="Oversold Level")
rsiSource = input(close, title="RSI Source")
rsi = ta.rsi(rsiSource, rsiLength)
// Convergence/Divergence Input
convergenceLevel = input(3.0, title="Convergence/Divergence Sensitivity")
// Order size (5 contracts)
contracts = 10
// Date Range for Backtesting
startDate = timestamp("2024-09-10 00:00")
endDate = timestamp("2024-11-09 23:59")
// Limit trades to the backtesting period
inDateRange = true
// RSI buy/sell conditions with convergence/divergence sensitivity
buySignalOverbought = ta.crossover(rsi, rsiOverbought - convergenceLevel)
sellSignalOversold = ta.crossunder(rsi, rsiOversold + convergenceLevel)
buySignalOversold = ta.crossunder(rsi, rsiOversold - convergenceLevel)
sellSignalOverbought = ta.crossover(rsi, rsiOverbought + convergenceLevel)
// Execute trades only within the specified date range
if (inDateRange)
// Buy when RSI crosses above 80 (overbought)
if (buySignalOverbought)
strategy.entry("Buy Overbought", strategy.long, qty=contracts)
// Sell when RSI crosses below 30 (oversold)
if (sellSignalOversold)
strategy.close("Buy Overbought")
// Buy when RSI crosses below 30 (oversold)
if (buySignalOversold)
strategy.entry("Buy Oversold", strategy.long, qty=contracts)
// Sell when RSI crosses above 80 (overbought)
if (sellSignalOverbought)
strategy.close("Buy Oversold")
// Plot the RSI for visualization
plot(rsi, color=color.blue, title="RSI")
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.green)