Tendencia de los índices de rentabilidad de acuerdo con la estrategia

El autor:¿ Qué pasa?, Fecha: 2023-11-07 16:33:43
Las etiquetas:

img

Resumen general

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.

Estrategia lógica

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.

Ventajas

  • Utilice el RSI para identificar las condiciones de mercado sobrecompradas/sobrevendidas para captar la tendencia
  • Puesta a prueba posterior flexible para diferentes períodos de tiempo
  • Establecimiento razonable de pérdidas de detención para controlar las pérdidas de una sola operación

Los riesgos

  • La divergencia del RSI puede generar señales falsas
  • No se adapta a las fluctuaciones del mercado
  • Difícil de identificar la inversión de tendencia, puede conducir a operaciones invertidas

Soluciones:

  • Añadir indicadores de filtro para evitar entradas erróneas basadas en una señal RSI falsa
  • Stop loss dinámico para rastrear el movimiento del mercado en tiempo real
  • Añadir herramientas de evaluación de tendencias para evitar operaciones inversas

Mejora

La estrategia se puede optimizar en los siguientes aspectos:

  1. Optimizar los parámetros del RSI para obtener el mejor rendimiento

Prueba diferentes períodos de RSI y niveles de sobrecompra/sobreventa para encontrar parámetros óptimos y reducir las señales falsas.

  1. Añadir herramientas de evaluación de tendencias para evitar operaciones contra tendencia

Agregue MA, MACD para juzgar la dirección de la tendencia y evitar señales incorrectas en los puntos de inflexión.

  1. Pérdida de parada dinámica

Utilice ATR para establecer el stop loss adaptativo para un mejor seguimiento de las fluctuaciones del mercado.

  1. Mejorar las normas de entrada

Añadir otras condiciones como la ruptura, aumento de volumen a la señal RSI para mejorar la precisión de entrada.

Conclusión

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)

Más.