Estrategia de tendencia del RSI

El autor:¿ Qué pasa?, Fecha: 2024-01-29 14:40:07
Las etiquetas:

img

Resumen general

La estrategia de tendencia del caimán del RSI se basa en la combinación del indicador del RSI y el indicador del caimán para determinar la entrada y salida de las tendencias. Utiliza tres líneas promedio móviles: la línea de la mandíbula del caimán, la línea del diente y la línea del labio, construidas por RSI de diferentes períodos. Se hace larga cuando la línea del diente cruza por encima de la línea del labio y la línea de la mandíbula del RSI es más alta que la línea del diente; se hace corta cuando la línea del diente cruza por debajo de la línea del labio y la línea de la mandíbula del RSI es más baja que la línea del diente. La estrategia también establece condiciones de stop loss y take profit.

Estrategia lógica

La estrategia de tendencia del RSI Alligator construye las tres líneas del indicador Alligator utilizando el indicador RSI.

  • Línea de la mandíbula: línea del RSI de 5 períodos
  • Línea de los dientes: línea del RSI de 13 períodos
  • Línea de los labios: línea del RSI de 34 períodos

La lógica de la señal de entrada es:

Señales largas: cuando la línea del diente cruza por encima de la línea del labio y la línea de la mandíbula es más alta que la línea del diente, vaya largo.

Cuando la línea del diente se cruza por debajo de la línea del labio y la línea de la mandíbula es inferior a la línea del diente, corta.

La estrategia también establece las condiciones de stop loss y take profit:

  • Se establece un stop loss del 10% por debajo del precio de entrada
  • El beneficio de compra se fija en un 90% por encima del precio de entrada

Análisis de la fuerza

La estrategia de tendencia del RSI Alligator tiene las siguientes fortalezas:

  1. El uso de las líneas de cocodrilo para determinar la tendencia puede filtrar eficazmente el ruido del mercado y bloquear la tendencia principal
  2. La combinación de RSI de varios períodos evita las falsas rupturas y mejora la fiabilidad de la señal
  3. El establecimiento de condiciones razonables de stop loss y take profit contribuye a estabilizar las operaciones estratégicas
  4. La idea de la estrategia es clara y fácil de entender, los parámetros de configuración son simples, y es fácil de implementar para el comercio en vivo
  5. Puede ir tanto largo como corto, teniendo en cuenta ambas direcciones de la tendencia y tiene una gran flexibilidad

Análisis de riesgos

La estrategia RSI Alligator Trend también tiene los siguientes riesgos:

  1. Los parámetros del ciclo pueden ajustarse para reducir la probabilidad de fallas.

  2. La configuración de stop loss puede ser demasiado agresiva, con una alta probabilidad de stop loss innecesario.

  3. Si el mercado se mueve violentamente, el stop loss puede no desempeñar su función adecuada de proteger el margen.

  4. Cuando las posiciones largas y cortas cambian con frecuencia, la presión de los costes de negociación es mayor.

Direcciones de optimización

La estrategia de tendencia del RSI Alligator se puede optimizar en los siguientes aspectos:

  1. Optimice la configuración de parámetros de línea de Alligator para encontrar la mejor combinación de parámetros

  2. Optimice la lógica de la condición de entrada, como la adición de indicadores como el volumen de negociación para filtrar las señales

  3. Optimizar las estrategias de toma de ganancias y stop loss para adaptarlas mejor a las condiciones del mercado y a los niveles de margen

  4. Añadir mecanismos para hacer frente a eventos extremos y evitar la exposición a condiciones anormales de mercado

  5. Añadir algoritmos de posición abierta para controlar la proporción de capital invertido en una operación única para mitigar los riesgos

Conclusión

En general, la estrategia de tendencia del RSI Alligator es una estrategia de seguimiento de tendencia confiable y fácil de usar. Utiliza el indicador Alligator para determinar la dirección de la tendencia, combinado con el indicador RSI para establecer umbrales de referencia, que pueden bloquear efectivamente la tendencia y establecer puntos de salida razonables. Al mismo tiempo, la estrategia en sí también tiene una fuerte flexibilidad y extensibilidad, lo que la hace útil para el comercio en vivo y la optimización posterior.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// @version=3
// RSI Alligator
// Forked from Author: Reza Akhavan
// Updated by Khalid Salomão

strategy("RSI Alligator Strategy", overlay=false, pyramiding=0, default_qty_type=strategy.cash, default_qty_value=25000, initial_capital=25000, commission_type=strategy.commission.percent, commission_value=0.15, slippage=3)

// === TA LOGIC ===
overBought = input(70, minval=0, maxval=100, title="Over bought")
overSold = input(30, minval=0, maxval=100, title="Over sold")
jawPeriods = input(5, minval=1, title="Jaw Periods")
jawOffset = input(0, minval=0, title="Jaw Offset")
teethPeriods = input(13, minval=1, title="Teeth Periods")
teethOffset = input(0, minval=0, title="Teeth Offset")
lipsPeriods = input(34, minval=1, title="Lips Periods")
lipsOffset = input(0, minval=0, title="Lips Offset")

jaws = rsi(close, jawPeriods)
teeth = rsi(close, teethPeriods)
lips = rsi(close, lipsPeriods)
plot(jaws, color=green, offset=jawOffset, title="Jaw")
plot(teeth, color=red, offset=teethOffset, title="Teeth")
plot(lips, color=blue, offset=lipsOffset, title="Lips")

//
// === Signal logic ===
// 
LONG_SIGNAL_BOOLEAN  = crossover(teeth, lips) and jaws > teeth
SHORT_SIGNAL_BOOLEAN = crossunder(teeth, lips) and jaws < teeth

// === INPUT BACKTEST DATE RANGE ===
strategyType = input(defval="Long Only", options=["Long & Short", "Long Only", "Short Only"])

FromMonth = input(defval = 7, 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 = 2017)
ToMonth   = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 2020, title = "To Year", minval = 2017)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        
window()  => true

// === STRATEGY BUY / SELL ENTRIES ===

// TODO: update the placeholder LONG_SIGNAL_BOOLEAN and SHORT_SIGNAL_BOOLEAN to signal
// long and short entries
buy()  => window() and LONG_SIGNAL_BOOLEAN
sell() => window() and SHORT_SIGNAL_BOOLEAN

if buy()
    if (strategyType == "Short Only")
        strategy.close("Short")
    else
        strategy.entry("Long", strategy.long, comment="Long")

if sell()
    if (strategyType == "Long Only")
        strategy.close("Long")
    else
        strategy.entry("Short", strategy.short, comment="Short")
        

// === BACKTESTING: EXIT strategy ===
sl_inp = input(10, title='Stop Loss %', type=float)/100
tp_inp = input(90, title='Take Profit %', type=float)/100

stop_level = strategy.position_avg_price * (1 - sl_inp)
take_level = strategy.position_avg_price * (1 + tp_inp)

strategy.exit("Stop Loss/Profit", "Long", stop=stop_level, limit=take_level)

Más.