Estratégia de negociação extrema do Triple RSI


Data de criação: 2023-11-02 14:34:21 última modificação: 2023-11-02 14:34:21
cópia: 0 Cliques: 1089
1
focar em
1617
Seguidores

Estratégia de negociação extrema do Triple RSI

Visão geral

A estratégia é baseada na observação simultânea de três indicadores RSI de diferentes períodos, para determinar se o mercado atingiu a zona de limite de sobrecompra e sobrevenda, emitindo assim sinais de compra e venda. A principal determinação da tendência do mercado é realizada pela observação de uma combinação de diferentes indicadores de períodos.

Princípio da estratégia

A estratégia utiliza os indicadores RSI de 2 ciclos, 7 ciclos e 14 ciclos ao mesmo tempo. Quando três indicadores RSI exibem sinais de sobrevenda ou sobrevenda ao mesmo tempo, um sinal de negociação é emitido.

Especificamente, quando o RSI de 2 ciclos é menor que 10, o RSI de 7 ciclos é menor que 20, o RSI de 14 ciclos é menor que 30, o mercado é considerado um estado de sobrevenda e emite um sinal de compra. Quando o RSI de 2 ciclos é maior que 90, o RSI de 7 ciclos é maior que 80, o RSI de 14 ciclos é maior que 70, o mercado é considerado um estado de sobrevenda e emite um sinal de venda.

O código usa um parâmetro de precisão para ajustar os limites de arbitragem do RSI, assumindo que, quanto menor o valor 3, mais rigoroso será o julgamento de arbitragem. A estratégia.long e a estratégia.short são usadas para controlar se a negociação é feita na direção correspondente.

Quando um sinal de compra ou venda é emitido, se o preço se inverter e ultrapassar o preço de abertura do dia, a posição atual é liquidada e um stop loss de acompanhamento de tendência é executado.

Análise de vantagens

  • A combinação de indicadores de RSI com períodos múltiplos permite uma avaliação mais precisa da situação de sobrecompra e sobrevenda do mercado, filtrando os sinais falsos.

  • A estratégia pode ser ajustada de acordo com a sensibilidade do mercado.

  • Implementação de tracking de stop loss para o preço de abertura, que permite a parada de perdas em tempo hábil e o bloqueio de lucros.

Análise de Riscos

  • O indicador RSI é propenso a desvios e não é muito eficaz para avaliar a inversão de tendências no mercado.

  • A configuração do RSI precisa ser ajustada para situações de alta volatilidade, caso contrário, a perda ocorre com frequência.

  • O RSI triplo é menos frequentemente desencadeado simultaneamente, podendo perder melhores oportunidades de negociação.

  • Os parâmetros para o julgamento de sobrecompra e sobrevenda devem ser adequadamente ajustados, e é recomendado testar a eficácia dos dados em diferentes mercados.

Direção de otimização

  • Pode-se considerar a inclusão de outros indicadores para confirmação, como linha de Brin, KDJ, etc., para evitar que o RSI se desvie.

  • Os parâmetros do RSI podem ser automaticamente otimizados para diferentes tipos de situações.

  • Outras condições de saída de parada de perda podem ser testadas, como parada de ATR, etc.

  • Pode-se adicionar condições de filtragem de períodos de negociação para evitar períodos de tempo inadequados.

Resumir

A estratégia utiliza a combinação de indicadores RSI de vários períodos para determinar as áreas de sobrevenda e sobrevenda, implementando o rastreamento de tendências. A vantagem é que a precisão do julgamento pode ser melhorada e os prejuízos podem ser interrompidos em tempo; A desvantagem é que é fácil perder o formulário e os indicadores RSI são fáceis de errar.

Código-fonte da estratégia
/*backtest
start: 2023-10-25 00:00:00
end: 2023-10-28 10:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title = "Noro's Triple RSI Top/Bottom", shorttitle = "3RSI Top/Bottom", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
accuracy = input(3, defval = 3, minval = 1, maxval = 10, title = "accuracy")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, 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")


//RSI-2
fastup = rma(max(change(close), 0), 2)
fastdown = rma(-min(change(close), 0), 2)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//RSI-7
middleup = rma(max(change(close), 0), 7)
middledown = rma(-min(change(close), 0), 7)
middlersi = middledown == 0 ? 100 : middleup == 0 ? 0 : 100 - (100 / (1 + middleup / middledown))

//RSI-14
slowup = rma(max(change(close), 0), 14)
slowdown = rma(-min(change(close), 0), 14)
slowrsi = slowdown == 0 ? 100 : slowup == 0 ? 0 : 100 - (100 / (1 + slowup / slowdown))

//Signals
acc = 10 - accuracy
up = fastrsi < (5 + acc) and middlersi < (10 + acc * 2) and slowrsi < (15 + acc * 3)
dn = fastrsi > (95 - acc) and middlersi > (90 - acc * 2) and slowrsi > (85 - acc * 3)
exit = (strategy.position_size > 0 and close > open) or (strategy.position_size > 0 and close > open)

//Trading
if up
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Bottom", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if dn
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Top", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
    strategy.close_all()