Indicador RSI para melhorar estratégias de negociação


Data de criação: 2023-12-29 16:23:48 última modificação: 2023-12-29 16:23:48
cópia: 0 Cliques: 682
1
focar em
1621
Seguidores

Indicador RSI para melhorar estratégias de negociação

Uma visão geral da estratégia

Esta estratégia é uma melhoria do indicador RSI clássico, que define uma linha de alerta de compra e venda, e executa uma compra ou venda correspondente quando o indicador RSI quebra a linha de alerta. Além disso, a estratégia também oferece uma função de troca de posição curta e longa.

Detalhes da estratégia

1. Nome da estratégia: RSI Histogram Alert Strategy

A estratégia utiliza o histograma do indicador RSI para desencadear um sinal de compra ou venda.

2. Princípios estratégicos

(1) Calcule o valor do RSI com a fórmula:

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

Entre eles, xPrice é a sequência de preços, RSIPeriod é o parâmetro para calcular o RSI, e RSIHistoModify é um fator de escala para o valor do RSI.

(2) Configurar BuyAlertLevel e 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) Histograma do RSI, visualização de sinais de compra e venda.

(4) Configurar posições pos, quando o sinal é acionado, configurar as posições pos como 1 (fazer mais) ou - 1 (fazer menos) e pode optar por negociar para a frente ou para trás.

(5) Direção e preço de entrada, de acordo com o valor dos pos.

3. Vantagens estratégicas

(1) Melhorias na utilização do RSI para mostrar mais claramente os sinais de compra e venda.

(2) Parâmetros personalizáveis, ajustando o indicador RSI e a linha de alerta para adaptar-se a diferentes mercados.

(3) Histogramas que mostram os sinais de compra e venda.

(4) Opção de negociação para a frente ou para trás.

(5) A estratégia é simples e clara, fácil de entender e modificar.

4. Riscos estratégicos

(1) É fácil de produzir sinais errôneos, o indicador RSI em si é fácil de produzir sinais errôneos.

(2) Não considerar o stop loss, pode haver um risco de perda maior.

(3) A configuração incorreta dos parâmetros também pode causar falhas.

5. Direção de otimização da estratégia

(1) Combinação com outros indicadores de filtragem de sinais para evitar sinais errados. Por exemplo, considerar a ruptura de volume de transação.

(2) Configurar um mecanismo de parada.

(3) Optimização de parâmetros para encontrar o melhor parâmetro.

(4) Considere a possibilidade de combinar com a aprendizagem de máquina, usando algoritmos para encontrar automaticamente o melhor parâmetro.

Terceiro, resumo

Esta estratégia tem uma maior praticidade em comparação com o indicador RSI original. Mas também existe um certo risco, que precisa de melhorias de otimização, em combinação com outros indicadores técnicos e de parada para reduzir o risco. A estratégia é simples e adequada para os iniciantes em quantificar o aprendizado e a prática de negociação.

Código-fonte da estratégia
/*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)