Estratégia de negociação de melhoria do indicador RSI

Autora:ChaoZhang, Data: 2023-12-29 16:23:48
Tags:

img

1. Visão geral da estratégia

Esta estratégia melhora o indicador RSI clássico, definindo linhas de alerta de compra e venda. Quando o indicador RSI atravessa as linhas de alerta, as operações de compra ou venda correspondentes são realizadas. Ao mesmo tempo, a estratégia também fornece capacidade de troca de posição longa e curta.

2. Detalhes da estratégia

1. Nome da estratégia: Estratégia de alerta de histograma RSI

Esta estratégia desencadeia sinais de compra e venda através do histograma do indicador RSI.

2. Princípio da estratégia

(1) Calcular o valor do indicador RSI:

RSIMain = (rsi(xPrice, RSIPeriod) - 50) * RSIHistoModify

onde xPrice é a série de preços, RSIPeriod é o parâmetro para o cálculo do RSI e RSIHistoModify é um fator de escala para o valor do RSI.

(2) Definir a linha de alerta de compra BuyAlertLevel e a linha de alerta de venda SellAlertLevel. Quando o indicador RSI está acima da linha de alerta de compra, é um sinal de compra. Quando está abaixo da linha de alerta de venda, é um sinal de venda.

(3) Traçar o histograma do indicador RSI para visualizar os sinais de compra e venda.

Quando um sinal é acionado, defina a posição para 1 (longo) ou -1 (curto).

(5) Determinar a direcção de entrada e o preço com base no valor de pos.

3. Vantagens da Estratégia

(1) Melhora a utilização do indicador RSI e mostra mais claramente os sinais de compra e venda.

(2) Parâmetros personalizáveis para ajustar o indicador RSI e as linhas de alerta para os diferentes mercados.

(3) Visualização intuitiva dos sinais de compra e venda Histograma.

(4) Capacidade de escolher a negociação positiva ou inversa.

(5) A ideia estratégica é simples e clara, fácil de compreender e de modificar.

4. Riscos da estratégia

(1) Tendência a gerar sinais falsos.

(2) Nenhuma consideração de stop loss, com o risco de perdas enormes.

(3) A configuração inadequada dos parâmetros também pode conduzir a falhas.

5. Orientações para a otimização da estratégia

(1) Combinar com outros indicadores para filtrar os falsos sinais, por exemplo, considerando os breakouts do volume de negociação.

(2) Configurar mecanismos de stop loss.

(3) Optimização de parâmetros para encontrar parâmetros ótimos.

(4) Considere a combinação com o aprendizado de máquina para encontrar automaticamente parâmetros ideais usando algoritmos.

3. Resumo

Esta estratégia expressa os sinais de compra e venda de forma mais clara e intuitiva, melhorando o uso do indicador RSI e definindo linhas de alerta de compra e venda. Tem uma praticidade mais forte em comparação com o indicador RSI original. Mas também há certos riscos. São necessárias outras otimizações, por exemplo, combinando outros indicadores técnicos e stop loss para reduzir riscos. A ideia da estratégia é simples, adequada para iniciantes em negociação quantitativa aprenderem e praticarem.


/*backtest
start: 2022-12-22 00:00:00
end: 2023-12-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 22/12/2016
// This simple indicator modified RSI
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="RSI HistoAlert Strategy")
RSIPeriod = input(13, minval=1)
BuyAlertLevel = input(-10)
SellAlertLevel = input(10)
RSIHistoModify = input(1.5)
reverse = input(false, title="Trade reverse")
hline(0, color=purple, linestyle=line)
hline(BuyAlertLevel, color=green)
hline(SellAlertLevel, color=red)
xPrice = close
RSIMain = (rsi(xPrice, RSIPeriod) - 50) * RSIHistoModify
rsiHcolor =  iff(RSIMain >= 0 , green,
              iff(RSIMain < 0, red, black))
pos = iff(RSIMain > BuyAlertLevel, 1,
	     iff(RSIMain < SellAlertLevel, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(RSIMain, color=blue, title="RSI HistoAlert")
plot(RSIMain, color=rsiHcolor, title="Histogram", style = histogram, linewidth  = 1)

Mais.