
A estratégia é uma estratégia de negociação que usa o indicador RSI para identificar situações de choque e capturar oportunidades de reversão de tendência durante o choque. A estratégia usa o indicador RSI rápido para determinar se o preço entrou na zona de choque e combina a entidade K-line com o sinal de espaço múltiplo do RSI rápido para determinar o momento de entrada.
A estratégia baseia-se principalmente nos seguintes princípios:
Especificamente, a estratégia usa o RSI de dois períodos para determinar se o preço está entrando na faixa de choque de 30-70. Ao mesmo tempo, exige que a entidade da linha K quebre a linha média em 1⁄4 ou 1⁄2 para produzir um sinal de negociação. Assim, através do julgamento de duplas condições, pode filtrar efetivamente os falsos sinais de uma situação de choque, garantindo que só entre quando há um verdadeiro choque.
A estratégia tem as seguintes vantagens significativas:
A estratégia também apresenta alguns riscos que devem ser lembrados:
Para controlar o risco, recomenda-se ajustar adequadamente o conjunto de parâmetros, a verificação em tempo real e a configuração de mecanismos de parada de perdas.
A estratégia ainda tem espaço para ser melhorada:
A integração de vários indicadores, o ajuste de parâmetros adaptáveis e a negociação de algoritmos, entre outros, podem aumentar ainda mais a estabilidade e a taxa de retorno das estratégias.
A estratégia de negociação RSI de rápida oscilação, que capta oscilações de preço e o mecanismo de dupla filtragem através do indicador RSI rápido para determinar o momento de entrada, é uma estratégia eficaz que vale a pena estudar e aplicar. Na prática, é necessário prestar atenção ao risco e realizar ajustes de otimização em várias dimensões para aumentar ainda mais a eficácia da estratégia.
/*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