Эта стратегия называется
Показатель RSI отражает уровни перекупленности/перепроданности в ценах. Показатель RSI выше 70 предполагает перекупленность, а ниже 30 - перепроданность.
Логика торговли такова:
Когда RSI пересекает линию перекупленности, определяемую пользователем, это сигнализирует о перекупленных условиях для рассмотрения коротких сделок.
Когда RSI опускается ниже установленной пользователем линии перепродажи, он обозначает условия перепродажи для рассмотрения длинных сделок.
Между тем, Stoch RSI также должен показывать сигналы перекупа или перепродажи, чтобы подтвердить соответствующие сигналы входа.
Это двойное условие сочетается для фильтрации более неоднозначных сигналов и предотвращения ложных прорывов.
Преимущество этой стратегии заключается в использовании различных производных индикаторов RSI для более точного суждения о перекупленном/перепроданном диапазоне.
В целом, комбинации индикаторов нуждаются в тщательном балансировании. Разумное использование может улучшить результаты, но также может привести к рискам чрезмерной оптимизации.
/*backtest start: 2023-01-01 00:00:00 end: 2023-09-12 00:00:00 period: 4d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("test1","t1",overlay=true, default_qty_type = strategy.percent_of_equity,default_qty_value=100,initial_capital=200, currency=currency.USD) //user input k_param = input(title = "k length", type = input.integer, defval = 14) d_param = input(title = "d length", type = input.integer, defval = 3) rsi_param = input(title = "RSI", type = input.integer, defval = 5) upper = input(title = "over brought", type = input.integer, defval = 80) lower = input(title = "over sold", type = input.integer, defval = 20) //calculation rsi = rsi(close,rsi_param) stochastic = 100*(rsi - lowest(rsi,k_param))/(highest(rsi,k_param)-lowest(rsi,k_param)) SMA = sma(stochastic,d_param) //DRAW plot(upper,color = color.blue,linewidth = 2, title ="超买") plot(lower,color = color.blue,linewidth = 2, title ="超卖") plot(rsi,color = rsi>upper ?color.red:rsi<lower? color.green:color.black, linewidth=2,title ="ris超买超卖") plot(stochastic,color = color.purple,title="震荡指数") plot(SMA, color = color.orange,title="移动平均") //trading shortposition = crossover(rsi,upper) longposition = crossunder(rsi,lower) strategy.entry("卖",false,when =(shortposition)) strategy.entry("买",true,when = (longposition)) strategy.exit("止盈",profit = close*0.013/syminfo.mintick)