Estratégia de negociação de criptomoedas baseada no RSI estocástico


Data de criação: 2023-12-15 10:08:14 última modificação: 2023-12-15 10:08:14
cópia: 2 Cliques: 982
1
focar em
1621
Seguidores

Estratégia de negociação de criptomoedas baseada no RSI estocástico

Uma visão geral da estratégia

Esta estratégia é conhecida como estratégia de negociação de moedas digitais baseada no Stochastic RSI. A estratégia combina o índice de força relativa (RSI) e o índice aleatório de média móvel suave (RSI) para identificar os sinais de compra e venda de moedas digitais.

O principal conceito da estratégia é: primeiro, calcular o valor do RSI, em seguida, com base no RSI, construir o indicador Stochastic RSI, ou seja, os valores K e D. Quando o valor de K passa pelo valor de D, gera um sinal de compra, quando o valor de K passa pelo valor de D, gera um sinal de venda. Para filtrar os sinais falsos, a estratégia também introduz o índice de taxa de variação (RVI) e sua média móvel de deslizamento para confirmação.

II. Detalhes da estratégia

  1. O RSI de 14 é calculado como a duração.

  2. O RSI é construído com base no indicador Stochastic RSI de comprimento 14, obtendo valores de K e D (D é a média móvel de 3 períodos de K).

  3. RVI com comprimento de cálculo de 5 e sua linha de sinal (ou seja, a média móvel lisa do RVI).

  4. Quando K atravessa D, se RVI > linha de sinalização e um ciclo anterior RVI < linha de sinalização, um sinal de compra é gerado; quando K atravessa D abaixo, se RVI < linha de sinalização e um ciclo anterior RVI > linha de sinalização, um sinal de venda é gerado.

  5. A operação de compra ou venda é realizada de acordo com o sinal gerado.

Terceiro, análise de estratégia.

  1. Combinando a dupla confirmação Stochastic RSI e RVI, é possível filtrar eficazmente os falsos sinais.

  2. O indicador RVI pode refletir sobrecompra e sobrevenda em curto prazo, evitando posições em pontos extremos.

  3. O indicador Stochastic RSI pode identificar áreas de sobrevenda e sobrecompra, usando a forma do KDJ para determinar o ponto de compra e venda.

  4. Os resultados do teste mostraram que a estratégia teve um bom efeito em alguns pares de moedas digitais (como FCT/BTC).

Quatro, análise de risco estratégico

  1. A estratégia de rastreamento de stop-loss é semelhante, e um stop-loss mal configurado pode levar à prisão.

  2. A frequência de geração de sinais pode ser excessiva, e os custos de transação são fatores a serem considerados.

  3. Os indicadores KDJ e RVI podem produzir falsos sinais, resultando em perdas desnecessárias.

  4. Os parâmetros de estratégia precisam ser otimizados para diferentes pares de negociação, sendo necessário considerar a universalidade.

Cinco, estratégias de otimização

  1. Aumentar o Stop Loss móvel para bloquear o lucro, pode consultar o ATR para definir o Stop Loss.

  2. Optimizar os parâmetros RVI e Stochastic RSI para tornar o sinal mais claro.

  3. Aumentar o controle do volume de transações para evitar pedidos excessivos.

  4. Aumentar o mecanismo de filtragem para evitar a abertura de posições altas. Pode ser introduzido um indicador de taxa de flutuação para avaliar se a posição está em um estado de agitação.

  5. Teste diferentes pares de moedas digitais para encontrar a melhor variedade.

Seis, um resumo da estratégia

A estratégia utiliza o RSI para construir o RSI estocástico e, em seguida, combina o RVI para confirmar o sinal, para detectar a tendência de sobrecompra e sobrevenda no curto prazo, abrindo uma posição no ponto de reversão. A vantagem é que a dupla confirmação pode filtrar os falsos sinais, a desvantagem é que pode haver um risco de parâmetros de sobre-configuração.

Código-fonte da estratégia
/*backtest
start: 2022-12-08 00:00:00
end: 2023-12-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Stochastic RSI", shorttitle="Stoch RSI", overlay = true)
Per = input(5, title="Length", minval=1)
smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")

rsi1 = rsi(src, lengthRSI)
K = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
D = sma(K, smoothD)


rvi = sum(swma(close-open), Per)/sum(swma(high-low),Per)
sig = swma(rvi)
//plot(rvi, color=green, title="RVI")
//plot(sig, color=red, title="Signal")

//plot(K,  title="K")
//plot(D,  title="D")
Dn = K <= D  and K > 70 and rvi <= sig  and rvi[1] >= sig[1]
Up= K >= D  and K < 30 and rvi >= sig  and rvi[1] <= sig[1]
ARROW =  Up - Dn
plotarrow(ARROW, title="Down Arrow",  colordown=red, transp=0, maxheight=10, minheight=10)
plotarrow(ARROW, title="Up Arrow", colorup=lime,  transp=0, maxheight=10, minheight=10)
long = crossover(Up, Dn)
short = crossunder(Up, Dn)
last_long = long ? time : nz(last_long[1])
last_short = short ? time : nz(last_short[1])
long_signal = crossover(last_long, last_short)
short_signal = crossover(last_short, last_long)

//plot(long_signal, "BUY", color=green)
//plot(short_signal, "SELL", color=red)
strategy.entry("BUY", strategy.long, when=long_signal)
strategy.entry("SELL", strategy.short, when=short_signal)