A estratégia de RSI tracking ADX é uma estratégia de acompanhamento de tendências de longa linha que combina o indicador RSI e o indicador ADX. A estratégia usa o indicador RSI para determinar se a situação está superando ou superando, combinada com o indicador ADX para determinar a força da tendência atual.
A estratégia usa principalmente uma combinação de indicadores RSI e ADX para determinar o momento de entrada e saída.
Condições de entrada:
Ou:
Condições de saída:
Ou:
Ou:
O SMA de 20 foi para baixo.
A estratégia usa o RSI para determinar sobrecompra e sobrevenda, combinada com o ADX para determinar a tendência, permitindo a compra quando a tendência ascendente não ultrapassa a compra, e a retirada quando a tendência é superada ou enfraquecida, o que, em geral, traz o efeito de seguir a tendência ascendente da linha média.
A estratégia tem as seguintes vantagens:
A combinação dos dois indicadores RSI e ADX permite uma avaliação mais precisa da tendência e da sobrevenda e sobrevenda, e a entrada e saída são mais precisas.
O ADX pode ser usado para avaliar a tendência forte e fraca, reduzindo a participação devido à fraqueza do mercado de turbulência.
O RSI define parâmetros mais flexíveis, seguindo tendências de linha média-longa e reduzindo a frequência de negociação.
A estratégia é simples, fácil de implementar e é adequada para a manutenção de posições de longo prazo.
Parâmetros configuráveis flexíveis, com grande espaço para ajuste.
A estratégia também tem riscos:
O indicador ADX está atrasado e pode ter perdido um ponto de mudança de tendência, o que pode ter aumentado os prejuízos.
Quando o preço das ações cai de forma acentuada, o stop loss pode ser acionado mais tarde, ampliando os prejuízos.
O RSI foi muito relaxado na entrada, o que pode ter levado a um excesso de compras e um prolongado período de posse.
Os parâmetros do ADX são muito sensíveis e podem causar erros quando a tendência é mais fraca.
Quando a bolsa é anormal, as ações individuais também podem ter um comportamento inverso.
Gestão de Riscos:
O ADX deve ser apropriadamente abreviado para que seja mais sensível.
Estabeleça uma linha de stop loss mais rígida para evitar a expansão dos prejuízos.
Tensione adequada dos parâmetros do RSI para evitar a sobrecompra e a manutenção de posições por um período de tempo excessivo.
Os parâmetros ADX não devem ser sensíveis para evitar erros.
Quando ocorrem grandes voltas, a estratégia de suspensão apropriada, intervenção manual.
A estratégia pode ser melhorada em vários aspectos:
Optimizar as configurações dos parâmetros do RSI e testar o efeito de diferentes parâmetros de ciclo na eficácia da estratégia.
Otimizar a combinação de parâmetros do ADX, testar a influência dos parâmetros do DI e do ciclo do ADX na capacidade da estratégia de capturar tendências.
Os testes incluem outros indicadores, como o MACD, como julgamento auxiliar.
Teste diferentes combinações de equilíbrio para otimizar o tempo de entrada.
Testar a inclusão de estratégias de stop loss e stop loss para aumentar a estratégia de ganhos e riscos.
Para avaliar o estado do índice de grandes posições, suspender manualmente a estratégia quando a grande posição é girada.
A estratégia de RSI tracking ADX é uma estratégia de seguimento de tendências de linha longa mais simples e prática. Combina os benefícios dos dois indicadores RSI e ADX ao mesmo tempo, e é mais precisa no julgamento de tendências e no julgamento de sobrevenda e sobrevenda. A estratégia é simples de operar, fácil de implementar e também tem um certo espaço para otimização de parâmetros.
/*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