Die Dual RSI Breakthrough Strategy ist eine quantitative Handelsstrategie, die Handelssignale generiert, indem sowohl schnelle als auch langsame RSI-Indikatoren verwendet werden.
Die Strategie verwendet zwei RSI-Indikatoren gleichzeitig, einen schnellen RSI-Indikator mit einer Periode von 2 und einen langsamen RSI-Indikator mit einer Periode von 14.
Wenn der langsame RSI größer als 50 und der schnelle RSI kleiner als 50 ist, wird ein langes Signal generiert. Wenn der langsame RSI kleiner als 50 und der schnelle RSI größer als 50 ist, wird ein kurzes Signal generiert. Wenn nach dem Long- oder Short-Gehen ein Stop-Loss-Signal auftritt (eine rote K-Line-Spalte erscheint, wenn die Long-Position Geld verliert, und eine grüne K-Line-Spalte erscheint, wenn die Short-Position Geld verliert), wird die Position geschlossen.
Die Strategie kann auch in folgenden Aspekten optimiert werden:
Die doppelte RSI-Breakthrough-Strategie verwendet schnelle und langsame RSI-Indikatoren, um Markttrendveränderungen zu verfolgen und Handelssignale in überkauften und überverkauften Bereichen zu bilden, die effektiv vermeiden können, Spitzen zu jagen und Tiefststände zu töten. Gleichzeitig wird ein Stop-Loss-Mechanismus eingerichtet, um Risiken zu kontrollieren. Die Strategie ist einfach zu bedienen und einfach umzusetzen, geeignet für den quantitativen Handel. Der Gewinnfaktor kann durch Parameteroptimierung, Kombinationsindikatoren usw. weiter verbessert werden.
/*backtest start: 2024-01-10 00:00:00 end: 2024-01-17 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=2 strategy(title = "Noro's Double RSI Strategy 1.0", shorttitle = "2RSI str 1.0", overlay=true ) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") leverage = input(1, defval = 1, minval = 1, maxval = 100, title = "leverage") fast = input(2, defval = 2, minval = 2, maxval = 100, title = "Fast RSI Period") slow = input(14, defval = 14, minval = 2, maxval = 100, title = "Slow RSI Period") fromyear = input(2018, defval = 2018, 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") //Fast RSI fastup = rma(max(change(close), 0), fast) fastdown = rma(-min(change(close), 0), fast) fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown)) //Slow RSI slowup = rma(max(change(close), 0), slow) slowdown = rma(-min(change(close), 0), slow) slowrsi = slowdown == 0 ? 100 : slowup == 0 ? 0 : 100 - (100 / (1 + slowup / slowdown)) //Signals up = slowrsi > 50 and fastrsi < 50 dn = slowrsi < 50 and fastrsi > 50 exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open) lot = strategy.position_size == 0 ? strategy.equity / close * leverage : lot[1] //Trading if up if strategy.position_size < 0 strategy.close_all() strategy.entry("Long", strategy.long, needlong == false ? 0 : lot ) if dn if strategy.position_size > 0 strategy.close_all() strategy.entry("Short", strategy.short, needshort == false ? 0 : lot ) if exit strategy.close_all()