
Die Strategie ist ein Trend-Tracking-Trading-System, das auf einem relativ starken Indikator (RSI) und einem zufällig starken Indikator (Stochastic RSI) basiert. Die Strategie überwacht den RSI und den Stochastic RSI über den Überkauf und über den Verkauf, um zu handeln, wenn ein Überkauf- oder Überverkaufsignal auf dem Markt vorliegt. Die Strategie unterstützt den Betrieb über die Tages- und Wochenzeiten und bietet den Händlern eine flexible Handelswahl.
Die Strategie basiert hauptsächlich auf zwei technischen Indikatoren: RSI und Stochastic RSI. RSI wird verwendet, um die Geschwindigkeit und Breite der Preisänderungen zu messen, während Stochastic RSI durch die Berechnung von RSI-Werten auf Zufallsschlüssel ein empfindlicheres Marktüberkauf-Überverkaufssignal liefert. Ein Kaufsignal wird bei einem RSI unter 35 und einem K-Wert des Stochastic RSI unter 20 ausgelöst, was bedeutet, dass der Markt überverkauft ist.
Die Strategie baut ein relativ zuverlässiges Handelssystem auf, indem sie die Vorteile des RSI und des stochastischen RSI kombiniert. Obwohl es einige Einschränkungen gibt, hat die Strategie durch vernünftiges Risikomanagement und kontinuierliche Optimierung einen guten praktischen Wert.
/*backtest
start: 2023-12-20 00:00:00
end: 2024-12-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("BTC Buy & Sell Strategy (RSI & Stoch RSI)", overlay=true)
// Input Parameters
rsi_length = input.int(14, title="RSI Length")
stoch_length = input.int(14, title="Stochastic Length")
stoch_smooth_k = input.int(3, title="Stochastic %K Smoothing")
stoch_smooth_d = input.int(3, title="Stochastic %D Smoothing")
// Threshold Inputs
rsi_buy_threshold = input.float(35, title="RSI Buy Threshold")
stoch_buy_threshold = input.float(20, title="Stochastic RSI Buy Threshold")
rsi_sell_threshold = input.float(70, title="RSI Sell Threshold")
stoch_sell_threshold = input.float(80, title="Stochastic RSI Sell Threshold")
use_weekly_data = input.bool(false, title="Use Weekly Data", tooltip="Enable to use weekly timeframe for calculations.")
// Timeframe Configuration
timeframe = use_weekly_data ? "W" : timeframe.period
// Calculate RSI and Stochastic RSI
rsi_value = request.security(syminfo.tickerid, timeframe, ta.rsi(close, rsi_length))
stoch_rsi_k_raw = request.security(syminfo.tickerid, timeframe, ta.stoch(close, high, low, stoch_length))
stoch_rsi_k = ta.sma(stoch_rsi_k_raw, stoch_smooth_k)
stoch_rsi_d = ta.sma(stoch_rsi_k, stoch_smooth_d)
// Define Buy and Sell Conditions
buy_signal = (rsi_value < rsi_buy_threshold) and (stoch_rsi_k < stoch_buy_threshold)
sell_signal = (rsi_value > rsi_sell_threshold) and (stoch_rsi_k > stoch_sell_threshold)
// Strategy Execution
if buy_signal
strategy.entry("Long", strategy.long, comment="Buy Signal")
if sell_signal
strategy.close("Long", comment="Sell Signal")
// Plot Buy and Sell Signals
plotshape(buy_signal, style=shape.labelup, location=location.belowbar, color=color.green, title="Buy Signal", size=size.small, text="BUY")
plotshape(sell_signal, style=shape.labeldown, location=location.abovebar, color=color.red, title="Sell Signal", size=size.small, text="SELL")
// Plot RSI and Stochastic RSI for Visualization
hline(rsi_buy_threshold, "RSI Buy Threshold", color=color.green)
hline(rsi_sell_threshold, "RSI Sell Threshold", color=color.red)
plot(rsi_value, color=color.blue, linewidth=2, title="RSI Value")
plot(stoch_rsi_k, color=color.purple, linewidth=2, title="Stochastic RSI K")
plot(stoch_rsi_d, color=color.orange, linewidth=1, title="Stochastic RSI D")