Esta estrategia está diseñada basándose en el indicador del índice de fuerza relativa (RSI) para identificar situaciones de sobrecompra y sobreventa y seguir la tendencia.
Esta estrategia utiliza el indicador RSI para identificar las condiciones de sobrecompra y sobreventa en el mercado. El RSI se calcula en función de los cambios de precios durante un cierto período de tiempo. Un RSI por debajo de 30 se considera sobreventa mientras que un RSI por encima de 70 se considera sobrecomprado.
Específicamente, esta estrategia primero define los parámetros del RSI length=14, overbought=70, oversold=30. Luego calcula el valor del RSI vrsi basado en el precio de cierre. Cuando vrsi cruza por encima de la línea de sobrecompra o por debajo de la línea de sobreventa, desencadena un comercio largo o corto en consecuencia. Después de ingresar al comercio, se establece un stop loss de los ticks etoroStopTicks. Las posiciones se cerrarán cuando se desencadene el stop loss dentro de la ventana de negociación.
De esta manera, la estrategia puede seguir la tendencia principal del mercado: ir largo en situaciones de sobreventa y ir corto en situaciones de sobrecompra.
Soluciones:
La estrategia se puede optimizar en los siguientes aspectos:
Prueba diferentes períodos de RSI y niveles de sobrecompra/sobreventa para encontrar parámetros óptimos y reducir las señales falsas.
Agregue MA, MACD para juzgar la dirección de la tendencia y evitar señales incorrectas en los puntos de inflexión.
Utilice ATR para establecer el stop loss adaptativo para un mejor seguimiento de las fluctuaciones del mercado.
Añadir otras condiciones como la ruptura, aumento de volumen a la señal RSI para mejorar la precisión de entrada.
La estrategia captura la tendencia mediante la identificación de situaciones de sobrecompra y sobreventa utilizando el RSI. En comparación con las estrategias tradicionales de seguimiento de stop, tiene la ventaja de sincronizar el mercado con indicadores. Sin embargo, se deben abordar problemas como la divergencia del RSI y la incapacidad de detectar la inversión de tendencia.
/*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)