Die RSI-Doppel-Kreuz-Oszillationsstrategie ist eine quantitative Handelsstrategie, die sowohl die Crossovers des RSI-Indikators als auch die gleitenden Durchschnitte verwendet, um Ein- und Ausstiege zu bestimmen.
Die Strategie basiert hauptsächlich auf der kombinierten Verwendung des RSI-Indikators und der gleitenden Durchschnitte. Erstens berechnen Sie den RSI-Wert über einen bestimmten Zeitraum und setzen Sie Überkauf/Überverkaufslinien fest. Zweitens berechnen Sie schnelle und langsame gleitende Durchschnitte. Wenn der RSI über den langsamen gleitenden Durchschnitt überschreitet, während der RSI-Wert unterhalb der Überverkaufslinie und des unteren Bandes liegt, wird ein Kaufsignal generiert; Wenn der RSI unterhalb des langsamen gleitenden Durchschnitts überschreitet, während der RSI über der überkauften Linie und dem oberen Band liegt, wird ein Verkaufssignal generiert.
Der größte Vorteil dieser Strategie besteht darin, dass sowohl der RSI-Indikator zur Beurteilung von überkauften/überverkauften Konditionen als auch gleitende Durchschnitte zur Bestimmung der Trendrichtung verwendet werden, was falsche Ausbrüche effektiv vermeiden kann.
Zu den Hauptrisiken dieser Strategie gehören: hohe Handelsfrequenz, die zu einem Überhandel führt; unsachgemäße Parameter-Einstellungen können die Signalgenauigkeit verringern.
Überlegen Sie, ob Sie die RSI- oder gleitenden Durchschnittsperiodenparameter an verschiedene Zyklen anpassen; kombinieren Sie sie mit anderen Indikatoren, um Signale zu filtern; setzen Sie Stop Loss und Take Profit ein, um Risiken zu kontrollieren; optimieren Sie die Positionsgröße bei jedem Trade.
Im Allgemeinen ist die RSI-Doppel-Kreuz-Oszillationsstrategie eine relativ stabile und zuverlässige kurzfristige Handelsstrategie. Mit der richtigen Parameter-Ausrichtung und Risikokontrolle kann sie eine gute Rendite erzielen. Die Strategie ist leicht zu verstehen und umzusetzen, sehr geeignet für Anfänger, um quantitativen Handel zu lernen und anzuwenden.
/*backtest start: 2024-01-23 00:00:00 end: 2024-02-22 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI slowma Ismael", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // Definir la longitud del RSI rsi_length = input(title='RSI Length', defval=14) //media Fast = input(title='Fast', defval=7) slow = input(title='Slow', defval=2) // Definir los niveles de sobrecompra y sobreventa del RSI rsi_overbought = input(title='RSI Overbought Level', defval=72) rsi_oversold = input(title='RSI Oversold Level', defval=29) // Definir la longitud y la desviación estándar de las Bandas de Bollinger bb_length = input(title="Bollinger Bands Length", defval=14) bb_stddev = input(title="Bollinger Bands StdDev", defval=2) // Calcular RSI rsi_value = ta.rsi(close, rsi_length) // Calcular Bandas de Bollinger bb_upper = ta.sma(rsi_value, bb_length) + bb_stddev* ta.stdev(rsi_value, bb_length) bb_lower = ta.sma(rsi_value, bb_length) - bb_stddev * ta.stdev(rsi_value, bb_length) //media movil adelantada fastMA = ta.sma(rsi_value, Fast) slowMA = ta.sma(rsi_value, slow) // Definir la señal de compra y venta buy_signal = (ta.crossover(rsi_value, slowMA) and rsi_value < bb_lower and rsi_value < rsi_oversold) or (rsi_value < bb_lower and rsi_value < rsi_oversold) sell_signal = (ta.crossunder(rsi_value, slowMA) and rsi_value > bb_upper and rsi_value > rsi_overbought) or (rsi_value > bb_upper and rsi_value > rsi_overbought) // Configurar las condiciones de entrada y salida del mercado if buy_signal strategy.entry("Buy", strategy.long) if sell_signal strategy.close("Buy") // Configurar el stop loss y el take profit stop_loss = input.float(title='Stop Loss (%)', step=0.01, defval=3) take_profit = input.float(title='Take Profit (%)', step=0.01, defval=8) strategy.exit("Exit Long", "Buy", stop=close - close * stop_loss / 100, limit=close + close * take_profit / 100) // Configurar la visualización del gráfico plot(slowMA, title='RSISMA', color=color.rgb(75, 243, 33), linewidth=1) plot(fastMA, title='RSIFMA', color=color.rgb(75, 243, 33), linewidth=1) plot(rsi_value, title='RSI', color=color.purple, linewidth=1) // Marcar las zonas de sobrecompra y sobreventa en el grafico del RSI hl= hline(rsi_overbought, title='Overbought', color=color.purple, linestyle=hline.style_dotted, linewidth=1) hll= hline(rsi_oversold, title='Oversold', color=color.purple, linestyle=hline.style_dotted, linewidth=1) fill(hl,hll, color= color.new(color.purple, 91)) bbfill = plot(bb_upper, title='Bollinger Bands up', color=color.blue, linewidth=1) bbfill1= plot(bb_lower, title='Bollinger Bands down', color=color.blue, linewidth=1) fill(bbfill,bbfill1, color= color.new(#2bb5ec, 91))