RSI Momentum Estratégia curta longa

Autora:ChaoZhang, Data: 2023-10-26 17:05:40
Tags:

img

Resumo

A estratégia RSI Momentum Long Short é uma estratégia típica de impulso baseada no indicador RSI de Larry Connors, usando os sinais de sobrecompra e sobrevenda do RSI para determinar entradas e saídas.

Estratégia lógica

A estratégia constrói o indicador RSI calculando o impulso ascendente e o impulso descendente dos preços durante um período de retrospectiva. O RSI abaixo da linha de supervenda 10 é considerado supervendido, enquanto o RSI acima da linha de supercompra 90 é considerado supercomprado. A estratégia gera sinais longos quando o RSI cruza a linha de supervenda de baixo e gera sinais curtos quando o RSI cruza a linha de supercompra de cima.

Filtros adicionais de média móvel são adicionados - permitindo apenas sinais longos quando o MA de 5 dias está acima do MA de 200 dias e sinais curtos quando o MA de 5 dias está abaixo do MA de 200 dias. Isso ajuda a filtrar sinais falsos de rebotes de curto prazo.

Os mecanismos de captação de lucro também são introduzidos. As posições longas existentes serão fechadas quando o RSI cruzar acima da linha de sobrecompra 90. As posições curtas existentes serão fechadas quando o RSI cruzar abaixo da linha de sobrevenda 10.

Vantagens da estratégia

  1. Usando o RSI para identificar os níveis de sobrecompra / sobrevenda capta momentos de reversão de preços.

  2. A adição de filtros MA reduz os falsos sinais de ruído de curta duração.

  3. Os mecanismos de lucro ajudam a controlar riscos e limitar perdas.

  4. Regras simples e claras, fáceis de compreender e de aplicar.

  5. O RSI é um indicador amplamente utilizado e prático, adequado para muitos instrumentos.

Riscos da Estratégia

  1. O RSI sobrecomprado/sobrevendido pode nem sempre resultar em reversão.

  2. Os filtros de MA também poderiam filtrar boas oportunidades comerciais.

  3. Configurações inadequadas de lucro deixam as tendências muito cedo.

  4. Parâmetros como RSI lookback, níveis de sobrecompra / sobrevenda, configurações MA precisam de ajuste.

Os riscos podem ser reduzidos através da otimização dos parâmetros, da combinação de outros indicadores, da obtenção de lucros flexíveis, etc.

Oportunidades de melhoria

  1. Teste o RSI com diferentes períodos de retrospecção.

  2. Adicione outros indicadores como KDJ, MACD para complementar o RSI.

  3. Ajustar os níveis de sobrecompra/supervenda com base nos regimes de mercado.

  4. Níveis de RSI de lucro ajustados com base no período de detenção.

  5. Incorporar estratégias de stop loss baseadas na percentagem máxima de perdas.

  6. Otimize o sistema MA, use stop loss dinâmico.

Conclusão

A estratégia RSI Momentum Long Short capta oportunidades de reversão de curto prazo usando o RSI para identificar níveis de sobrecompra / sobrevenda, filtrados por MAs e regras de captação de lucro. A estratégia é simples e prática, vale a pena testar e melhorar para se adaptar a diversos mercados.


/*backtest
start: 2023-09-25 00:00:00
end: 2023-10-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//authour: SudeepBisht
//@version=3
//Based on Larry Connors RSI-2 Strategy - Lower RSI
strategy("SB_CM_RSI_2_Strategy_Version 2.0", overlay=true)

src = close
entry= input(defval=0,title="Entry area")
entry:=nz(entry[1])
overBought=input(90)
overSold=input(10)
//RSI CODE
up = rma(max(change(src), 0), 2)
down = rma(-min(change(src), 0), 2)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
//Criteria for Moving Avg rules
ma5 = sma(close,5)
ma200= sma(close, 200)

//Rule for RSI Color
col = close > ma200 and close < ma5 and rsi < 10 ? lime : close < ma200 and close > ma5 and rsi > 90 ? red : silver
chk= col==red?-1:col==lime?1:0

if (not na(rsi))
    if (crossover(rsi, overSold))
        if(chk[1]==1)
            strategy.entry("RsiLE", strategy.long, comment="RsiLE")
            entry:=1
    if (crossunder(rsi, overBought))
        if(chk[1]==-1)
            strategy.entry("RsiSE", strategy.short, comment="RsiSE")
            entry:=-1
        
if (not na(rsi))
    if (crossover(rsi, overSold) and entry==-1)
        strategy.close_all()
        //strategy.entry("RsiLE", strategy.long, comment="RsiLE")
        entry:=0
    if (crossunder(rsi, overBought) and entry==1)
        strategy.close_all()
        //strategy.entry("RsiSE", strategy.short, comment="RsiSE")
        entry:=0
        


Mais.