Estratégia de compra e venda de pontos com base em KDJ e RSI


Data de criação: 2023-11-27 10:57:16 última modificação: 2023-11-27 10:57:16
cópia: 0 Cliques: 2432
1
focar em
1617
Seguidores

Estratégia de compra e venda de pontos com base em KDJ e RSI

Visão geral

Esta estratégia combina o indicador KDJ com o indicador RSI para determinar quando comprar e vender. Ele emite um sinal de negociação quando o indicador KDJ e o indicador RSI emitem sinais de compra/venda.

Princípio da estratégia

A estratégia usa um cruzamento do indicador KDJ com o indicador RSI para determinar o momento de compra e venda.

Especificamente, quando a linha J do KDJ atravessa a linha K do lado de baixo, é considerado um sinal de compra, e quando a linha J atravessa a linha K do lado de cima, é considerado um sinal de venda. Isso significa que o estoque é comprado quando passa de um estado de sobrevenda para um estado de sobrecompra e vendido quando passa de um estado de sobrecompra para um estado de sobrevenda.

Ao mesmo tempo, a estratégia combina o indicador RSI para avaliar sinais de força e fraqueza. RSI menor que 30 é um excesso de venda, RSI maior que 70 é um excesso de compra. Quando o KDJ emite um sinal de compra, a credibilidade do sinal de compra é reforçada se o indicador RSI também é exibido como um excesso de venda.

Em suma, a estratégia emite sinais de negociação quando:

Sinais de compra:

  1. A linha J de KDJ atravessa a linha K para cima e o RSI (em 6o) < RSI (em 12o)
  2. A linha J do KDJ atravessa a linha K para cima e o RSI (em 6o) atravessa o RSI (em 24o)
  3. RSI (periodo 6) atravessa RSI (periodo 24) e RSI (periodo 6) < 40

A venda de sinais:

  1. A linha J de KDJ passa para baixo pela linha K e o RSI (em 6o) > RSI (em 12o)
  2. A linha J de KDJ passa para baixo pela linha K e o RSI (em 6o) passa pelo RSI (em 24o)
  3. O RSI (periodo 6) atravessa o RSI (periodo 24) e o RSI (periodo 6) é > 60

Vantagens estratégicas

  1. A combinação do indicador KDJ com o indicador RSI torna os sinais de negociação mais confiáveis.

  2. O KDJ é usado para avaliar a tendência de sobrevenda e o RSI é usado para avaliar a tendência de fraqueza.

  3. Combinação de várias condições de compra/venda para evitar a perda de oportunidades por causa de um único indicador.

  4. Os parâmetros do RSI são configurados em três grupos de parâmetros de 6, 12 e 24 períodos, que se aplicam a diferentes níveis de período, o que torna a estratégia mais abrangente.

Análise de Riscos

  1. Tanto o KDJ quanto o RSI podem apresentar falsos sinais, o que pode levar a negociações desnecessárias.

  2. As condições de transação múltiplos aumentam a complexidade das operações estratégicas e requerem uma verificação cuidadosa.

  3. A estratégia também precisa ser testada e otimizada em diferentes mercados, e os parâmetros precisam ser ajustados.

Otimização de Estratégia

  1. Pode-se testar a adição de outros indicadores, como linhas de Brin, para reforçar os sinais de negociação.

  2. Os parâmetros do indicador KDJ e do indicador RSI podem ser otimizados para que sejam mais adequados a diferentes níveis de ciclo.

  3. O risco pode ser controlado por padrões mais altos de suspensão de perdas.

  4. Pode ser adicionado um mecanismo de parada automática.

Resumir

A estratégia combina os benefícios do indicador KDJ e do indicador RSI, aumentando a precisão do sinal de negociação através do cruzamento de indicadores duplos para determinar a hora de compra e venda. Ao mesmo tempo, o indicador RSI combinado com diferentes parâmetros determina o estado de hiato, tornando a estratégia mais abrangente. A estratégia evita efetivamente o risco de falso sinal que um único indicador pode trazer.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © innocentChart76064

//@version=5
strategy(title = "buy/sell KDJ RSI", overlay=true)

//Define KDJ parameter
kdj_length = input(9, title = "KDJ length")
signal = input(3,title="signal")

// Calculate KDJ values
bcwsma(s,l,m) => 
    _bcwsma = float(na)
    _s = s
    _l = l
    _m = m
    _bcwsma := (_m*_s+(_l-_m)*nz(_bcwsma[1]))/_l
    _bcwsma

c = close
h = ta.highest(high, kdj_length)
l = ta.lowest(low,kdj_length)
RSV = 100*((c-l)/(h-l))
kdj_k = bcwsma(RSV, signal, 1)
kdj_d = bcwsma(kdj_k, signal, 1)
kdj_j = 3 * kdj_k-2 * kdj_d

//Define RSI parameter 
rsi_length_1 = input(6)
rsi_length_2 = input(12)
rsi_length_3 = input(24)
price = close 

//Calculate RSI values
rsi_1 = ta.rsi(price, rsi_length_1)
rsi_2 = ta.rsi(price, rsi_length_2)
rsi_3 = ta.rsi(price, rsi_length_3)

// Trading conditions
longCondition = ta.crossover(kdj_j,kdj_k) and rsi_1 > rsi_2 or ta.crossover(kdj_j,kdj_k) and ta.crossover(rsi_1,rsi_3) or ta.crossover(rsi_1,rsi_3) and rsi_1<40
shortCondition = ta.crossunder(kdj_j,kdj_k) and rsi_1 < rsi_2 or ta.crossunder(kdj_j,kdj_k) and ta.crossunder(rsi_1,rsi_3) or ta.crossunder(rsi_1,rsi_3) and rsi_1>60
// Enter long trade
strategy.entry("Long", strategy.long, when=longCondition)

// Enter short trade
strategy.entry("Short", strategy.short, when=shortCondition)