Стратегия прорыва диапазона RSI - это типичная стратегия следования тренду. Она использует индекс относительной силы (RSI) в качестве основного технического индикатора для поиска возможностей прорыва, когда RSI находится на уровне перекупленности или перепроданности, с целью следования тренду.
Стратегия в основном опирается на индикатор RSI для определения уровней перекупленности и перепроданности на рынке. Формула расчета RSI: RSI = (средняя стоимость / (средняя стоимость + средняя стоимость)) x 100. Средняя стоимость - это простая скользящая средняя амплитудных амплитуд за последние N дней. Средняя стоимость - это простая скользящая средняя амплитудных амплитуд за последние N дней.
Когда RSI выше линии перекупленности (по умолчанию 80), это указывает на то, что рынок находится в состоянии перекупленности. Когда RSI ниже зоны перепроданности (по умолчанию 35), это указывает на то, что рынок находится в состоянии перепроданности. Стратегия ищет короткие возможности, когда RSI разрушает линию перекупленности, и длинные возможности, когда RSI разрушает зону перепроданности.
В частности, стратегия использует две линии SMA для определения тренда индикатора RSI. Когда более быстрая линия SMA разрушает более медленную линию SMA, в то время как RSI прорывается через зону перепродажи, идите в длинную. Когда более быстрая линия SMA разрушает более медленную линию SMA, в то время как RSI разрушает линию перекупки, идите в короткую. Стратегия также устанавливает стоп-лосс и линии получения прибыли для контроля рисков.
Стратегия прорыва диапазона RSI является типичным трендом, следующим за стратегией в целом. Она определяет торговые сигналы через индикатор RSI, фильтрует сигналы с двойными линиями SMA и устанавливает стоп-лосс и прибыль для контроля рисков.
/*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)