
Эта стратегия является торговой стратегией, использующей индикатор RSI для выявления шокирующих ситуаций и захвата возможностей для изменения тренда в процессе шокирования. Стратегия определяет, вошла ли цена в шокирующую зону с помощью индикатора RSI, и объединяет K-линейные объекты и многомерный сигнал RSI для определения времени входа.
Эта стратегия основана на следующих принципах:
В частности, стратегия применяет двухциклический RSI для определения того, входит ли цена в установленный 30-70-ти шок-диапазон. При этом требуется, чтобы K-линейная субстанция прорвала среднюю линию на 1⁄4 или 1⁄2 для создания торгового сигнала. Таким образом, благодаря двойной условной оценке, можно эффективно отфильтровать ложные сигналы шокового поведения, чтобы гарантировать, что они будут введены только во время истинного шока.
Эта стратегия имеет следующие значительные преимущества:
В этой стратегии есть некоторые риски, о которых следует помнить:
Для управления рисками рекомендуется соответствующая корректировка комбинации параметров, проверка в реальном времени и установка механизмов остановки убытков
В этой стратегии есть место для дальнейшей оптимизации:
Подобные методы, такие как интеграция с несколькими показателями, адаптивное регулирование параметров и алгоритмическая торговля, могут способствовать дальнейшему повышению стабильности и доходности стратегии.
Стратегия торговли RSI с быстрым колебанием, использующая быстрый индикатор RSI для отслеживания колебаний цены и двойной фильтрации, является эффективной стратегией, которую стоит глубоко изучить и применить. На практике необходимо обращать внимание на риск и оптимизировать корректировки в нескольких измерениях, чтобы еще больше повысить эффективность стратегии.
/*backtest
start: 2023-01-07 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title = "Noro's FRSI Strategy v1.22", shorttitle = "FRSI str 1.22", overlay = true )
//Settings
uprsiperiod = input(2, defval = 2, minval = 2, maxval = 50, title = "RSI UP Period")
dnrsiperiod = input(9, defval = 9, minval = 2, maxval = 50, title = "RSI DN Period")
limit = input(30, defval = 30, minval = 1, maxval = 100, title = "RSI limit")
rsisrc = input(close, defval = close, title = "RSI Price")
rb = input(1, defval = 1, minval = 1, maxval = 5, title = "RSI Bars")
sps = 0
fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2018, defval = 2018, 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(rsisrc), 0), uprsiperiod)
fastdown = rma(-min(change(rsisrc), 0), dnrsiperiod)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))
//Limits
bar = close > open ? 1 : close < open ? -1 : 0
uplimit = 100 - limit
dnlimit = limit
//RSI Bars
ur = fastrsi > uplimit
dr = fastrsi < dnlimit
uprsi = rb == 1 and ur ? 1 : rb == 2 and ur and ur[1] ? 1 : rb == 3 and ur and ur[1] and ur[2] ? 1 : rb == 4 and ur and ur[1] and ur[2] and ur[3] ? 1 : rb == 5 and ur and ur[1] and ur[2] and ur[3] and ur[4] ? 1 : 0
dnrsi = rb == 1 and dr ? 1 : rb == 2 and dr and dr[1] ? 1 : rb == 3 and dr and dr[1] and dr[2] ? 1 : rb == 4 and dr and dr[1] and dr[2] and dr[3] ? 1 : rb == 5 and dr and dr[1] and dr[2] and dr[3] and dr[4] ? 1 : 0
//Body
body = abs(close - open)
emabody = ema(body, 30)
//Signals
up = bar == -1 and sps == 0 and dnrsi and body > emabody / 4
dn = bar == 1 and sps == 0 and uprsi and body > emabody / 4
exit = bar == 1 and fastrsi > dnlimit and body > emabody / 2
//Trading
if up
strategy.entry("Long", strategy.long)
sps := 1
if exit
strategy.close_all()
sps := 0