
Esta estratégia é baseada no Relative Strength Index (RSI) design indicador, através do RSI indicador de julgar o caso de sobre-compra sobre-venda, para realizar o acompanhamento da tendência. Quando o RSI está abaixo da linha de sobre-venda mais, quando o RSI está acima da linha de sobre-compra de fechamento, através do acompanhamento da principal tendência do movimento para obter lucro.
Esta estratégia usa o indicador RSI para avaliar a tendência de sobrevenda e sobrevenda no mercado. O indicador RSI é calculado com base nos altos e baixos de um determinado período de tempo. Quando o RSI está abaixo de 30, é considerado como supervenda e quando o RSI está acima de 70, é considerado como supervenda.
Concretamente, esta estratégia define primeiro o parâmetro de cálculo do RSI length=14, overBought=70, overSold=30. Em seguida, com base no preço de fechamento, calcula o valor do RSI vrsi. Julga se o vrsi está acima da linha de overBought ou abaixo da linha de overSell, se houver um cruzamento de ouro, faça um over, se houver um cruzamento de morte, faça um zero.
Dessa forma, a estratégia consegue capturar as principais tendências do mercado, comprando em pontos de superalimento e vendendo em pontos de superalimento, permitindo o rastreamento de tendências.
A solução para o risco:
A estratégia pode ser melhorada em alguns aspectos:
Pode-se testar diferentes comprimentos de ciclo de cálculo do RSI, diferentes limites de overbought e oversold, para encontrar o parâmetro ideal para reduzir os sinais errados.
Indicadores como a linha média, MACD e outros podem ser usados para determinar a direção da tendência, evitando sinais errados no ponto de reversão da tendência.
Pode-se definir um ponto de parada dinâmico com base em indicadores como o ATR, para que a parada fique mais próxima da oscilação do mercado.
Pode-se adicionar outras condições à base do sinal RSI, como a quebra de um determinado nível de preço, aumento do volume de negociação, etc. Como sinal de entrada, para melhorar a precisão de entrada.
Esta estratégia através do indicador RSI julgar sobrecompra sobre venda, para a captura da tendência. Em comparação com a tradicional estratégia de acompanhamento de stop-loss, tem a vantagem de usar o indicador para julgar o mercado de tempo. Mas o indicador RSI há um fenômeno de atraso, não pode julgar a tendência de reversão, que é a direção que a estratégia precisa de otimização.
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("RSI Etoro Strategy", overlay=true, max_bars_back=2000)
// To use:
// Capital = capital * leverage
// Slippage Ticks: 3, 5 ? (Mainly for spread)
// etoroStopTicks: Set it accordingly to the stock (to corresponds to etoro default of 50 % for exemple...)
// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 12, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2018, title = "From Year", minval = 1995)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 1995)
// === FUNCTION EXAMPLE ===
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => time >= start and time <= finish ? true : false // create function "within window of time"
length = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
etoroStopTicks = input( 120 )
// 120 because it is approximatively the number of ticks for default SL of 50% at x5 leverage for copper (no fee)...
price = close
vrsi = rsi(price, length)
if (not na(vrsi))
if (crossover(vrsi, overSold))
strategy.entry("RsiLE", strategy.long, comment="RsiLE", when = window())
if (crossunder(vrsi, overBought))
strategy.entry("RsiSE", strategy.short, comment="RsiSE", when = window())
strategy.exit("exit SE", "RsiSE", loss=etoroStopTicks, when = window())
strategy.exit("exit LE", "RsiLE", loss=etoroStopTicks, when = window())
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)