
A estratégia de negociação de oscilação entre os RSI é baseada na hipótese de que os preços não irão sempre subir ou descer sozinhos, para lucrar com a captura de oportunidades de correção de preços quando o RSI atinge os limites de compra e venda.
A estratégia determina se o preço atingiu o intervalo de sobrevenda ou sobrevenda calculando o indicador RSI. Concretamente, a estratégia primeiro calcula a duração do indicador RSI em 2 ciclos. Em seguida, define a linha de sobrevenda RSI em 91 e a linha de sobrevenda em 11. Quando o RSI atravessa o intervalo de sobrevenda, faça um curto; Quando o RSI atravessa o intervalo de sobrevenda, faça mais.
Para controlar o risco, a estratégia também estabelece técnicas de parada de perda. Concretamente, se o preço se mover para baixo mais de 0,5% do preço de entrada prolongada, a posição de equilíbrio é interrompida após o excesso; se o preço se mover para cima mais de 0,5% após o fechamento, a posição de equilíbrio é interrompida. Isso evita os prejuízos causados por uma forte ruptura unilateral do preço.
Em suma, a lógica central da estratégia é: monitorar o indicador RSI para determinar se o preço está sobrecomprado ou sobrevendido, negociar de forma inversa de acordo com os parâmetros RSI configurados e, ao mesmo tempo, definir um stop loss para controlar o risco.
O indicador RSI é um sinal de negociação mais clássico e confiável para determinar a sobrevenda e a sobrevenda.
A negociação inversa supera compra e supera venda, de acordo com a hipótese de que os preços não subam ou descem sempre de forma unilateral, pode lucrar com oscilações de preços entre os intervalos.
O sistema de stop loss é usado para controlar as perdas de uma única transação.
A estrutura de avaliação de estratégias é simples, clara, fácil de entender e modificar.
Os parâmetros do RSI e o Stop Loss podem ser ajustados de forma flexível para adaptar-se às mudanças do mercado.
O RSI, como um indicador de tendência, pode gerar perdas contínuas se houver uma tendência de preço contínua em vez de uma oscilação.
A configuração incorreta dos parâmetros do RSI pode levar a um aumento nos sinais de negociação, mas a uma baixa taxa de vitória.
A configuração inadequada do stop loss pode levar a um stop loss desencadeado por um preço pequeno ou por uma perda muito grande.
A estratégia é mais adequada para um mercado de rebote de tremores e pode não ser eficaz em mercados de tendência significativa.
O excesso de posicionamento também pode aumentar a perda individual.
Pode-se considerar a combinação de outros indicadores, como o MACD, com o RSI para formar um sinal de combinação, aumentando a precisão das decisões de negociação.
Pode-se estudar as características estatísticas do RSI sob diferentes parâmetros para encontrar a melhor combinação de parâmetros.
Pode-se configurar um mecanismo de ajuste dinâmico da proporção da posição para testar a sua eficácia no feedback.
Pode-se considerar o cálculo da amplitude de stop loss com indicadores como o ATR, para que o stop loss seja mais adaptável.
A busca de combinações de parâmetros ótimas pode ser combinada com métodos como o aprendizado de máquina.
Outras estratégias de negociação de reversão podem ser exploradas em combinação com o RSI para formar um sistema de negociação mais robusto.
A estratégia de negociação de oscilação de RSI é usada para negociar de forma inversa com um simples indicador RSI para determinar os preços de sobrecompra e sobrevenda e definir o risco de controle de perdas. A estratégia é adequada para o mercado onde a oscilação se reverte e captura os movimentos de preços de intervalos.
/*backtest
start: 2022-10-30 00:00:00
end: 2023-11-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Simple RSI Strategy", overlay=true)
var rsiLength = input(2, title = "rsi Length")
var float rsiBuyLevel = input(11, title = "What rsi level triggers a long")
var float rsiShortLevel = input(91, title = "What rsi level triggers a short")
var float maxRisk = input(.05, title="Maximum risk/ trade")
var chartEntryStop = input(.005, title="Max Movment in the opposite direction / trade")
var float longEntryPrice = na
var float shortEntryPrice = na
rsiValue = ta.rsi(close, rsiLength)
var float maxRiskValue = (strategy.equity * maxRisk) / chartEntryStop
var float maxRsi = 0
//Conditions
// Strategy Execution
if( close <= longEntryPrice-(longEntryPrice*chartEntryStop ))
strategy.close("Long")
if( close >= shortEntryPrice+(shortEntryPrice*chartEntryStop ))
strategy.close("Short")
if (rsiValue <= rsiBuyLevel and maxRsi == rsiShortLevel)
maxRsi := rsiBuyLevel
strategy.close("Short")
strategy.entry("Long", strategy.long)
longEntryPrice := close
else if (rsiValue >= rsiShortLevel and maxRsi == rsiBuyLevel)
maxRsi := rsiShortLevel
strategy.close("Long")
strategy.entry("Short", strategy.short)
shortEntryPrice := close
else if (rsiValue >= rsiShortLevel )
maxRsi := rsiShortLevel
strategy.close("Long")
else if (rsiValue <= rsiBuyLevel )
maxRsi := rsiBuyLevel
strategy.close("Short")