RSI und Bollinger Bands Quantitative Handelsstrategie


Erstellungsdatum: 2024-01-08 10:16:22 zuletzt geändert: 2024-01-08 10:16:22
Kopie: 0 Klicks: 704
1
konzentrieren Sie sich auf
1617
Anhänger

RSI und Bollinger Bands Quantitative Handelsstrategie

Überblick

Diese Strategie identifiziert Handelschancen durch die Kombination von relativ starken Indikatoren (RSI) und Bollinger-Kanal und gehört zu den Mean-Return-Strategien im Quantifizierungsgeschäft. Kaufen Sie, wenn der RSI unter der eingestellten Schwelle liegt, platten Sie die Position, wenn der Preis in den Bollinger-Kanal übergeht.

Strategieprinzip

  1. Der RSI wird verwendet, um zu bestimmen, ob der Markt überverkauft ist. Wenn der RSI unter 30 liegt, wird dies als Überverkaufssignal angesehen.

  2. Der Brin-Linien-Kanal wird verwendet, um zu bestimmen, ob der Preis eine Aufwärtsreaktion beginnt. Die Mehrspur-Begrenzung endet, wenn der Preis eine Aufwärtsreaktion von der Brin-Linien-Unterbahn durch die Brin-Linien-Mittelbahn durchläuft.

  3. In Kombination mit dem RSI-Überverkaufssignal und dem Bollinger-Cloak-Signal kann ein Kauf-Punkt eingestellt werden. Kaufen Sie, wenn beide Signale gleichzeitig ausgelöst werden, und warten Sie, bis der Preis durch die Bollinger-Linie geht.

Analyse der Stärken

  1. Die Strategie kombiniert den RSI-Mean Reversal Index mit dem Brin Line-Channel-Indikator und ermöglicht eine genauere Ermittlung des Kaufzeitpunkts.

  2. Der RSI-Indikator filtert viele falsche Durchbrüche aus und reduziert unnötige Transaktionen.

  3. Der Brinline-Kanal dient als Stop-Loss-Indikator, um das Risiko eines einzelnen Handels zu kontrollieren.

Risikoanalyse

  1. Der RSI könnte ein falsches Signal geben, was zu einer verpassten Kaufgelegenheit führen könnte.

  2. Eine falsche Einstellung der Brinline-Channel-Parameter kann zu zu lockeren oder zu strengen Stop-Losses führen.

  3. Die Auswahl der Handelsarten ist unzureichend, da das Liquiditätsrisiko beim Handel mit Aktien mit geringem Marktwert höher ist.

Optimierungsrichtung

  1. Verschiedene Parameterkombinationen, wie RSI-Perioden, Brin-Linie-Perioden und Multiplikatoren, können getestet werden, um optimale Parameter zu finden.

  2. Es können andere Indikatoren wie KD, MACD usw. kombiniert werden, um strengere Kaufbedingungen festzulegen, um die Signale zu filtern.

  3. Die Stop-Loss-Grenze kann je nach Handelsart festgelegt werden, z. B. die Stop-Loss-Grenze der Volatilitätsrate.

Zusammenfassen

Diese Strategie ist eine Mittelwert-Return-Trading-Strategie, die zuerst mit einem niedrigen RSI-Kauf und dann mit einem hohen Stop-Loss in der Bolling-Kanal arbeitet. Im Vergleich zu Indikatoren wie dem RSI oder der Bolling-Linie kann diese Strategie einen Punkt kaufen und verkaufen, um eine bessere Strategiewirkung zu erzielen. Der nächste Schritt kann durch Parameter-Optimierung von Signalen, Filtern, Stop-Loss-Strategien usw. weiterentwickelt werden.

Strategiequellcode
/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy(title = "Noro's BB + RSI Strategy v1.0", shorttitle = "BB+RSI str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 5)

//Settings
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
rsiuse = input(true, defval = true, title = "Use RSI")
bbuse = input(true, defval = true, title = "Use BB")
showbb = input(true, defval = true, title = "Show BB Overlay")
bbperiod = input(20, defval = 20, minval = 2, maxval = 1000, title = "BB period")
bbsource = input(ohlc4, title = "BB source")
bbmult = input(2, defval = 2, minval = 1, maxval = 100, title = "BB Mult")
rsiperiod = input(7, defval = 7, minval = 2, maxval = 1000, title = "RSI period")
rsisource = input(close, title = "RSI source")
rsilimit = input(30, defval = 30, minval = 1, maxval = 49, title = "RSI Limit")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From Day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To Day")

//RSI
rsi = rsi(rsisource, rsiperiod)

//BB
basis = sma(bbsource, bbperiod)
dev = bbmult * stdev(bbsource, bbperiod)
upper = basis + dev
lower = basis - dev

//Overlay
col = showbb ? blue : na
plot(upper, color = col)
plot(basis, color = col)
plot(lower, color = col)

//Signals
up = (rsi < rsilimit or rsiuse == false) and (low < lower or bbuse == false)
cl = close > open

//Trading
lot = 0.0 
lot := strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]
if up
    strategy.entry("Long", strategy.long, lot)
if cl
    strategy.entry("Close", strategy.short, 0)
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()