Esta estratégia é projetada com base no indicador Relative Strength Index (RSI) para identificar situações de sobrecompra e sobrevenda e seguir a tendência.
Esta estratégia usa o indicador RSI para identificar condições de sobrecompra e sobrevenda no mercado. O RSI é calculado com base nas mudanças de preço durante um determinado período de tempo. Um RSI abaixo de 30 é considerado sobrevendido, enquanto um RSI acima de 70 é considerado sobrecomprado.
Especificamente, esta estratégia define primeiro os parâmetros do RSI length=14, overbought=70, oversold=30. Ele então calcula o valor do RSI vrsi com base no preço de fechamento. Quando o vrsi cruza acima da linha de overbought ou abaixo da linha de oversold, ele desencadeia uma negociação longa ou curta, em conformidade. Após entrar no comércio, um stop loss de ticks etoroStopTicks é definido. As posições serão fechadas quando o stop loss for desencadeado dentro da janela de negociação.
Deste modo, a estratégia é capaz de seguir a tendência principal do mercado - ir longo em situações de sobrevenda e ir curto em situações de sobrecompra.
Soluções:
A estratégia pode ser otimizada nos seguintes aspectos:
Teste diferentes períodos de RSI e níveis de sobrecompra/supervenda para encontrar parâmetros ideais e reduzir os falsos sinais.
Adicione MA, MACD para julgar a direção da tendência e evitar sinais errados em pontos de virada.
Utilize o ATR para definir o stop loss adaptativo para melhor acompanhamento das flutuações do mercado.
Adicione outras condições como ruptura, aumento de volume ao sinal RSI para melhorar a precisão de entrada.
A estratégia capta a tendência identificando situações de sobrecompra e sobrevenda usando o RSI. Em comparação com as estratégias tradicionais de rastreamento stop, tem a vantagem de sincronizar o mercado com indicadores. No entanto, problemas como a divergência do RSI e a incapacidade de detectar a reversão da tendência precisam ser abordados.
/*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)