Эта торговая стратегия объединяет RSI, коэффициент изменения ROC и скользящую среднюю MA, чтобы сформировать интегрированный механизм для выявления сигналов входа.
В частности, он рассчитывает 3-периодический RSI, 2-периодический коэффициент изменения RSI и 100-периодический коэффициент изменения цен, принимая среднее значение этих 3 как составный индикатор RSI. Сигналы покупки генерируются, когда составный RSI пересекает 40, и сигналы продажи, когда он пересекает 70.
Преимущество этой стратегии заключается в том, что она сочетает в себе сильные стороны нескольких индикаторов - RSI для перекупленного / перепроданного, коэффициент изменения RSI для импульса и ROC для коэффициента изменения цен.
В целом, эта стратегия RSI сочетает в себе сильные стороны нескольких индикаторов для улучшения точности суждений.
/*backtest start: 2023-01-01 00:00:00 end: 2023-03-10 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 src = close, lenrsi = 3, lenupdown = 2, lenroc = 100, malengt = 2, low = 40, high = 70, a = 1, vlow = 20 updown(s) => isEqual = s == s[1] isGrowing = s > s[1] ud = 0.0 ud := isEqual ? 0 : isGrowing ? (nz(ud[1]) <= 0 ? 1 : nz(ud[1])+1) : (nz(ud[1]) >= 0 ? -1 : nz(ud[1])-1) ud rsi = rsi(src, lenrsi) updownrsi = rsi(updown(src), lenupdown) percentrank = percentrank(roc(src, 1), lenroc) crsi = avg(rsi, updownrsi, percentrank) MA = sma(crsi, malengt) band1 = 70 band0 = 40 band2 = 20 ColorMA = MA>=band0 ? lime : red p1 = plot(MA, title="BuyNiggers", style=line, linewidth=4, color=ColorMA) p2 = plot(low, title="idk", style=line, linewidth=2, color=blue) p3 = plot(high, title="idk2", style=line, linewidth=2, color=orange) p4 = plot(vlow, title="idk3", style=line, linewidth=1, color=red) //@version=2 strategy("CMARSI") if crossover(MA, band0) strategy.entry("buy", strategy.long, when=strategy.position_size <= 0) if crossunder(MA, band1) strategy.exit("close", "buy") plot(strategy.equity)