Стратегия прорыва в диапазоне RSI является типичной стратегией отслеживания тенденции. Она использует относительно сильный индекс ((RSI) в качестве основного технического показателя, чтобы создать позицию, чтобы найти возможность прорыва в диапазоне, когда RSI находится в состоянии перекупа или перепродажи, с целью отслеживания тенденции.
Эта стратегия основана на RSI, который определяет состояние перепродажи на рынке. Формула расчета RSI: RSI = ((средний показатель роста / средний показатель роста + средний показатель падения) × 100). Средний показатель роста - это простая скользящая средняя за последние N дней, а средний показатель падения - это простая скользящая средняя за последние N дней.
Когда RSI выше установленной линейки перекупа (по умолчанию 80), значит, что рынок находится в состоянии перекупа; когда RSI меньше установленного диапазона перепродажи (по умолчанию 35), значит, что рынок находится в диапазоне перепродажи.
В частности, стратегия определяет тенденцию RSI через две средние линии SMA. Когда быстрая линия сверху пробивает медленную линию, а RSI пробивает сверхпроданную зону, делайте больше; когда быстрая линия сверху вниз пробивает медленную линию, а RSI пробивает сверхпокупаемую линию, делайте пробел.
RSI-диапазонная стратегия является типичной стратегией для отслеживания тенденций. Она определяет точки покупки и продажи с помощью показателя RSI, фильтрует сигналы двойных средних средних марок и устанавливает стоп-стоп для контроля риска. Однако RSI имеет проблемы с отсталостью, кроме того, неправильная параметровая настройка также может повлиять на эффективность стратегии.
/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//strategy("Strategy RSI | Fadior", shorttitle="Strategy RSI", pyramiding=10, calc_on_order_fills=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, currency="USD", default_qty_value=100, overlay=false)
len = input(3, minval=1, title="RSI Length")
threshLow = input(title="Treshold Low", defval=35)
threshHigh = input(title="Treshold High", defval=80)
rsiLength1 = input(title="RSI Smoothing 1", defval=3)
rsiLength2 = input(title="RSI Smoothing 2", defval=5)
SL = input(title="Stop loss %", type=float, defval=.026, step=.001)
TP = input( defval=300)
// 3 40 70 2
// 14 40 70 2 16 0.05 50
src = close
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(sma(rsi,rsiLength2), color=orange)
plot(sma(rsi,rsiLength1), color=green)
band1 = hline(threshHigh)
band0 = hline(threshLow)
fill(band1, band0, color=purple, transp=90)
strategy = input(type=bool, title="Long only ?", defval=true)
strategy.risk.allow_entry_in(strategy ? strategy.direction.long : strategy.direction.all)
longCondition = sma(rsi,rsiLength1) < threshLow and sma(rsi,rsiLength2) > sma(rsi,rsiLength2)[1]
if (longCondition)
strategy.entry("Long", strategy.long) //, qty=10)
strategy.exit("Close Long", "Long", stop=src-close*SL, profit=TP)
shortCondition = sma(rsi,rsiLength1) > threshHigh and sma(rsi,rsiLength2) < sma(rsi,rsiLength2)[1]
if (shortCondition)
strategy.entry("Short", strategy.short) //, qty=10)
strategy.exit("Close Short", "Short") //, stop=src-close*SL, profit=TP)