
A estratégia de superação de RSI de ruptura inversa é uma estratégia de negociação algorítmica que usa o índice de força relativa (RSI) para determinar a situação de superação e entra em uma posição de superação quando o preço se reverte. A estratégia define o limiar RSI de 30 e abre uma posição de superação quando o RSI é inferior a 30, quando a posição de superação é definida. A estratégia bloqueia o lucro com regras rígidas de stop loss e stop loss.
A estratégia de RSI Overbought utiliza um indicador RSI de 14 ciclos. Quando o indicador RSI é inferior a 30, é considerado um estado de sobrevenda. Isso indica que o preço caiu durante um período anterior e está em um estado de sobrevenda.
Especificamente, quando o RSI é <30 e está na janela de tempo de retracção, é acionado um sinal de abertura de posição múltipla. Em seguida, o ponto de parada é definido como 1% abaixo do preço de entrada e o ponto de parada é 7% acima do preço de entrada.
Toda a estratégia consiste em aumentar o capital através da determinação do ponto de inflexão de venda e do estabelecimento de um stop loss para bloquear o lucro.
A estratégia de venda a retracção do RSI tem as seguintes vantagens:
A estratégia de negociação mais confiável é aproveitar as oportunidades de reversão do oversell.
A utilização do RSI para identificar pontos de entrada é muito mais profissional do que a utilização direta de um indicador de preços para estabelecer posições.
A configuração rigorosa de stop loss e de stop-loss permite um controle eficaz do risco e do lucro de uma única transação.
Os dados de retrospectiva mostram que a estratégia tem um alto rendimento e uma alta taxa de vitória.
É fácil de entender e fácil de usar para quem é novo.
A estratégia de venda a retorno do RSI também apresenta alguns riscos, principalmente:
A probabilidade de uma reversão fracassada permanece. Embora o RSI abaixo de 30 aumente a probabilidade de uma reversão, o ambiente de mercado é complexo e variável, e a reversão fracassada também ocorre, e o stop loss é acionado.
O ponto de parada é muito próximo, a probabilidade de ocorrência de colisão de parada é maior. A amplitude de parada pode ser liberada adequadamente.
A configuração incorreta da janela de tempo de retorno pode gerar desvios nos resultados do teste. O ciclo de retorno deve ser ajustado para avaliar a eficácia da estratégia.
A estratégia é mais adequada para moedas com maior volatilidade.
A estratégia de venda a retorno do RSI tem um certo espaço para otimização:
Ajustar os parâmetros do RSI para testar a influência de diferentes parâmetros sobre o rendimento da estratégia.
Teste diferentes pares de moedas e escolha as que apresentam maior volatilidade.
Ajustar os parâmetros de parada de perda para encontrar a combinação de parâmetros ideal. Expandir adequadamente a amplitude de parada de perda também é uma direção.
Adicionar filtros de outros indicadores, como a entrada após a ruptura do preço de uma média móvel.
Teste os diferentes parâmetros do ciclo de tempo para encontrar o melhor momento de entrada.
A estratégia de reviravolta de ruptura de RSI é fácil de entender e fácil de operar, captando oportunidades de reviravolta de reviravolta. A maior vantagem da estratégia é que é fácil de aprender e que os novatos também podem usá-la.
/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-18 19:00:00
period: 3m
basePeriod: 1m
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/
// © brodieCoinrule
//@version=4
strategy(shorttitle='Oversold RSI with tight SL',title='Oversold RSI with tight SL Strategy (by Coinrule)', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 50, commission_type=strategy.commission.percent, commission_value=0.1)
//Backtest dates
fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12)
fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31)
fromYear = input(defval = 2020, title = "From Year", type = input.integer, minval = 1970)
thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12)
thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31)
thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970)
showDate = input(defval = true, title = "Show Date Range", type = input.bool)
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => time >= start and time <= finish ? true : false // create function "within window of time"
perc_change(lkb) =>
overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100
// RSI inputs and calculations
lengthRSI = 14
RSI = rsi(close, lengthRSI)
oversold= input(30)
//Entry
strategy.entry(id="long", long = true, when = RSI< oversold and window())
//Exit
Stop_loss= ((input (1))/100)
Take_profit= ((input (7)/100))
longStopPrice = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)
strategy.close("long", when = close < longStopPrice or close > longTakeProfit and window())