A estratégia RSI Tracking ADX é uma estratégia de seguimento de tendências que combina o indicador RSI e o indicador ADX. Ele usa o indicador RSI para determinar condições de sobrecompra e sobrevenda, e o indicador ADX para medir a força da tendência, permitindo entradas durante tendências de alta quando não são sobrecompradas e saídas quando as tendências enfraquecem ou se tornam sobrecompradas.
A estratégia utiliza principalmente uma combinação do indicador RSI e do indicador ADX para determinar entradas e saídas.
Condições de entrada:
Aumento da SMA de 20 dias;
ADX aumentando mais de 0,2 em relação ao dia anterior, indicando tendência de fortalecimento;
RSI abaixo de 85 para evitar sobrecompra;
Ou:
Aumento da SMA de 20 dias;
ADX em ascensão, mas inferior a 0,2, indicando uma tendência moderada;
RSI abaixo de 50, espaço para rebote.
Condições de saída:
RSI acima de 75, estado de sobrecompra;
ADX ligeira subida, tendência fraca;
Ou:
RSI acima de 75, estado de sobrecompra;
ADX alta acentuada, tendência forte;
Ou:
SMA de 20 dias a diminuir.
A estratégia usa o RSI para sobrecompra/supervenda e o ADX para entrar na tendência durante tendências de alta quando não é sobrecomprada e sair quando é sobrecomprada ou a tendência enfraquece.
As principais vantagens desta estratégia são:
A combinação do RSI e do ADX permite uma tendência mais precisa e leituras de sobrecompra/supervenda para melhores entradas e saídas.
O ADX mede a força da tendência para evitar saídas durante a consolidação.
O RSI utiliza parâmetros flexíveis para acompanhar as tendências de médio a longo prazo e reduzir o excesso de negociação.
Lógica simples e implementação fácil, adequada para explorações a longo prazo.
Os parâmetros configuráveis permitem flexibilidade.
Os principais riscos são:
O atraso do ADX pode perder pontos de virada da tendência, levando a perdas maiores.
O stop loss pode desencadear-se tardia durante quedas de preço como um penhasco, aumentando as perdas.
Os parâmetros do RSI demasiado flexíveis podem causar uma sobrecompra das participações por muito tempo.
Os parâmetros ADX demasiado sensíveis podem desencadear erroneamente saídas durante tendências fracas.
As existências podem comportar-se de forma anormal durante as mudanças do regime de mercado.
Gestão de riscos:
Usar períodos ADX mais curtos para sensibilidade.
Stop loss mais apertado para limitar as perdas.
A redução dos períodos de RSI para evitar a sobrecompra prolongada das participações.
Evitar que os parâmetros do ADX sejam demasiado sensíveis.
Desfazer manualmente durante mudanças significativas no mercado.
A estratégia pode ser otimizada por:
Testando períodos de RSI para melhores parâmetros.
Otimizar os períodos ADX para a capacidade de captura de tendências.
Adicionando outros indicadores como o MACD para confirmação.
Testando combinações de médias móveis para melhorar as entradas.
Adicionar lucro e parar perdas para melhorar a relação risco-recompensa.
Julgar os regimes de mercado para anular manualmente em pontos de virada.
A estratégia RSI Tracking ADX é uma estratégia eficaz, mas simples, de acompanhamento de tendências. Ela sinergiza os pontos fortes do RSI e do ADX para uma análise precisa da tendência e da sobrecompra / sobrevenda. A lógica é direta e fácil de implementar com flexibilidade de otimização.
/*backtest start: 2022-10-03 00:00:00 end: 2023-10-09 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Copyright by Reed Asset Management registered in Shanghai, China //该策略为上海蘆田资产管理有限公司制 //@version=2 strategy("[蘆田策略]ADX+RSI", overlay=true) //ADX adxlen = input(14, title="ADX Smoothing") dilen = input(14, title="DI Length") dirmov(len) => up = change(high) down = -change(low) truerange = rma(tr, len) plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, len) / truerange) minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, len) / truerange) [plus, minus] adx(dilen, adxlen) => [plus, minus] = dirmov(dilen) sum = plus + minus adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen) sig = adx(dilen, adxlen) plot(sig, color=red, title="ADX") //ADX+RSI Strategy Long Entry longEntry1 = sma(close, 20) > sma(close, 20)[1] //check if the ADX is rising longEntry2 = (adx(14, 14) - adx(14, 14)[1]) > 0.2 longEntry3 = rsi(close, 14) < 85 longEntry4 = (adx(14, 14) - adx(14, 14)[1]) > 0 longEntry5 = (adx(14, 14) - adx(14, 14)[1] ) < 0.2 longEntry6 = rsi(close, 14) < 50 longCondition1 = longEntry1 and longEntry2 and longEntry3 longCondition2 = longEntry1 and longEntry4 and longEntry5 and longEntry6 if(longCondition1 or longCondition2) strategy.entry("long", strategy.long) //ADX+RSI Strategy Long Exit longExit1 = rsi(close, 9) > 75 longExit2 = (adx(14, 14) - adx(14, 14)[1]) > 0 longExit3 = (adx(14, 14) - adx(14, 14)[1] ) < 0.2 longExit4 = (adx(14, 14) - adx(14, 14)[1]) > 0.2 longExit5 = sma(close, 20) < sma(close,20)[1] longExitCondition1 = longExit1 and longExit2 and longExit3 longExitCondition2 = longExit1 and longExit4 longStop1 = strategy.position_avg_price + 4 * tr longExitCondition3 = longExit5 longStop2 = sma(close, 20) strategy.close_all(when = longExitCondition1) if (longExitCondition2) strategy.exit("exit", "long", stop = longStop1) if (longExitCondition3) strategy.exit("exit", "long", stop = longStop2) //Strategy