A estratégia de negociação CMARSI é uma estratégia de seguimento de tendências que combina o indicador RSI e médias móveis. Ele usa um indicador RSI melhorado para identificar tendências e médias móveis como sinais para entradas e saídas.
A estratégia CMARSI usa um indicador RSI aprimorado chamado Connors RSI. O Connors RSI incorpora três indicadores - RSI clássico, linhas RSI para cima / para baixo e percentil ROC. Sua fórmula de cálculo é:
Connors RSI = (RSI + RSI para cima/para baixo + ROC percentil) / 3
Quando o RSI usa um período de 3 dias, o RSI para cima/para baixo usa 2 dias e o percentil ROC usa 100 dias.
A vantagem do RSI Connors é que ele combina vários indicadores e pode identificar com mais precisão as mudanças de tendência.
A estratégia CMARSI introduz ainda um fator média móvel em cima do RSI de Connors. Ele calcula uma média móvel de 2 dias e usa cruzamento do RSI de Connors e do MA como sinais de negociação. As regras específicas são:
Entre em longo quando o RSI de Connors cruzar acima de 40 e tiver uma cruz de ouro de MA de 2 dias.
Saia quando o RSI do Connors cruzar abaixo de 70 e tiver uma cruz de morte de 2 dias de MA.
Usar o filtro MA pode evitar alguns falsos sinais do RSI de Connors e melhorar a estabilidade da estratégia.
A maior vantagem da estratégia CMARSI é a combinação de múltiplos indicadores para identificar tendências, evitando as limitações de indicadores individuais de RSI.
O RSI Connors é mais estável do que o RSI clássico para identificar pontos de virada da tendência.
A introdução de médias móveis efetivamente filtra algum ruído e impede a perseguição de máximos e vendas mínimas.
A combinação de múltiplos indicadores pode melhorar a taxa de vitória seguindo tendências.
As regras comerciais são simples e fáceis de aplicar.
Como uma estratégia que segue tendências, pode captar plenamente os lucros das tendências a médio e longo prazo.
Os principais riscos da estratégia CMARSI derivam de um julgamento incorreto da tendência e da colocação de stop loss.
Connors RSI dá sinais incorretos, causando entradas desnecessárias.
A colocação de stop loss é irracional, o que pode causar stop out prematuro ou um stop loss muito grande.
Os filtros de média móvel podem não funcionar bem em mercados variáveis.
A utilização prolongada pode conduzir a um sobreajuste, sendo necessários testes de retrospectiva regulares e ajustes de parâmetros com base nas condições do mercado.
A estratégia CMARSI pode ser otimizada nos seguintes aspectos:
Otimizar os parâmetros do RSI da Connors para diferentes períodos e produtos.
Tente diferentes tipos de médias móveis para melhorar ainda mais o efeito de filtragem.
Adicione outros indicadores como MACD, Bollinger Bands para confirmação de negociação.
Otimizar as estratégias de stop loss, tais como stop loss atrasado ou stop loss escalonado.
Seleccionar produtos que se adequem melhor à estratégia através de triagem.
Utilize a Análise Walk Forward para otimizar regularmente os parâmetros e evitar o sobreajuste.
A estratégia CMARSI combina o Connors RSI e médias móveis para seguir as tendências para negociação de médio a longo prazo. É estável, fácil de implementar e pode capturar efetivamente os lucros da tendência. Devemos otimizar continuamente os parâmetros com base nas condições do mercado, gerenciar riscos e gerar boa lucratividade.
/*backtest start: 2022-09-19 00:00:00 end: 2023-09-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 src = close, lenrsi = 3, lenupdown = 2, lenroc = 100, malengt = 2, low = 40, high = 70, a = 1 updown(s) => isEqual = s == s[1] isGrowing = s > s[1] ud = 0.0 ud := isEqual ? 0 : isGrowing ? (nz(ud[1]) <= 0 ? 1 : nz(ud[1])+1) : (nz(ud[1]) >= 0 ? -1 : nz(ud[1])-1) ud rsi = rsi(src, lenrsi) updownrsi = rsi(updown(src), lenupdown) percentrank = percentrank(roc(src, 1), lenroc) crsi = avg(rsi, updownrsi, percentrank) MA = sma(crsi, malengt) band1 = 70 band0 = 40 ColorMA = MA>=band0 ? lime : red p1 = plot(MA, title="BuyNiggers", style=line, linewidth=4, color=ColorMA) p2 = plot(low, title="idk", style=line, linewidth=2, color=blue) p3 = plot(high, title="idk2", style=line, linewidth=2, color=orange) //@version=2 strategy("CMARSI") if crossover(MA,band0) strategy.entry("buy", strategy.long, when=strategy.position_size <= 0) if crossunder(MA,band1) strategy.exit("sell", "buy", profit=1000000, stop=10000000) plot(strategy.equity)