
Esta estratégia tem o objetivo de comprar ou vender quando o RSI está em baixa e vender quando o RSI está em alta, de modo a fazer uma operação de reversão quando o RSI está em alta.
Configurar o RSI para 14 ciclos
Configure o intervalo de RSI do sinal de compra:
Configure o intervalo RSI para o sinal de venda:
Quando o RSI entra no intervalo de compra, faça uma entrada adicional:
Quando o RSI entra na faixa de venda, a entrada de curto prazo:
Cada posição aberta tem um stop-loss fixo de 2500 e um stop-loss de 5000
RSI sai do intervalo de sinais e compensa as posições relevantes
A configuração de duplo intervalo permite que a estratégia seja mais clara sobre o excesso de compra e venda, evitando perder oportunidades de reversão
A fixação do ponto de parada fixa o ponto de parada de perda, não é demasiado para travar a queda
O RSI é um indicador de overbought e oversold mais avançado do que outros
Os parâmetros desta estratégia, quando configurados de forma razoável, são capazes de capturar efetivamente os pontos de reversão da tendência e obter ganhos extras
O RSI pode apresentar uma falha de mercado, o que pode levar a uma perda de mercado contínua.
A configuração do ponto de parada de parada fixa pode não coincidir com a amplitude de flutuação do mercado, impossibilitando a obtenção de lucro ou a parada prematura
A configuração irracional do intervalo pode levar a oportunidades de negociação perdidas ou a perdas de negociação frequentes.
Esta estratégia é mais dependente de otimização de parâmetros, com atenção ao ciclo de teste e controle de ponto de deslizamento
Pode testar o efeito do indicador RSI em diferentes períodos de comprimento
Os valores podem ser otimizados para os intervalos de compra e venda, de modo a serem mais adequados às características de diferentes variedades
A pesquisa pode ser feita em métodos dinâmicos de parada de perda para tornar a parada mais eficaz e racional.
Pode considerar-se a negociação de portfólios em combinação com outros indicadores para melhorar a estabilidade do sistema
Explorar maneiras de aprendizagem de máquina para otimizar automaticamente os parâmetros de intervalos e tornar as estratégias mais robustas
Esta estratégia baseia-se no princípio de julgamento de sobrevenda e sobrevenda do indicador RSI. Ao definir um intervalo de compra e venda, exercendo a eficácia do indicador RSI, e mantendo uma certa estabilidade, pode efetivamente capturar o fenômeno de sobrevenda e sobrevenda do mercado. Mas a estratégia também existe uma certa dependência de parâmetros, que requer testes de otimização para diferentes variedades.
/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 1h
basePeriod: 15m
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/
// © Rawadabdo
// Ramy's Algorithm
//@version=5
strategy("BTC/USD - RSI", overlay=false, initial_capital = 5000)
// User input
length = input(title = "Length", defval=14, tooltip="RSI period")
first_buy_level = input(title = "Buy Level 1", defval=27, tooltip="Level where 1st buy triggers")
second_buy_level = input(title = "Buy Level 2", defval=18, tooltip="Level where 2nd buy triggers")
first_sell_level = input(title = "Sell Level 1", defval=68, tooltip="Level where 1st sell triggers")
second_sell_level = input(title = "Sell Level 2", defval=80, tooltip="Level where 2nd sell triggers")
takeProfit= input(title="target Pips", defval=2500, tooltip="Fixed pip stop loss distance")
stopLoss = input(title="Stop Pips", defval=5000, tooltip="Fixed pip stop loss distance")
lot = input(title = "Lot Size", defval = 1, tooltip="Trading Lot size")
// Get RSI
vrsi = ta.rsi(close, length)
// Entry Conditions
long1 = (vrsi <= first_buy_level and vrsi>second_buy_level)
long2 = (vrsi <= second_buy_level)
short1= (vrsi >= first_sell_level and vrsi<second_sell_level)
short2= (vrsi >= second_sell_level)
// Entry Orders
// Buy Orders
if (long1 and strategy.position_size == 0)
strategy.entry("Long", strategy.long, qty=lot, comment="Buy")
if (long2 and strategy.position_size == 0)
strategy.entry("Long", strategy.long, qty=lot, comment="Buy")
// Short Orders
if (short1 and strategy.position_size == 0)
strategy.entry("Short", strategy.short,qty=lot, comment="Sell")
if (short2 and strategy.position_size == 0)
strategy.entry("Short", strategy.short,qty=lot, comment="Sell")
// Exit our trade if our stop loss or take profit is hit
strategy.exit(id="Long Exit", from_entry="Long",qty = lot, profit=takeProfit, loss=stopLoss)
strategy.exit(id="Short Exit", from_entry="Short", qty = lot, profit=takeProfit, loss=stopLoss)
// plot data to the chart
hline(first_sell_level, "Overbought Zone", color=color.red, linestyle=hline.style_dashed, linewidth = 2)
hline(second_sell_level, "Overbought Zone", color=color.green, linestyle=hline.style_dashed, linewidth = 2)
hline(first_buy_level, "Oversold Zone", color=color.red, linestyle=hline.style_dashed, linewidth = 2)
hline(second_buy_level, "Oversold Zone", color=color.green, linestyle=hline.style_dashed, linewidth = 2)
plot (vrsi, title = "RSI", color = color.blue, linewidth=2)