En la carga de los recursos... Cargando...

Supertrend de doble marco de tiempo con sistema de optimización de RSI

El autor:¿ Qué pasa?, Fecha: 2024-11-25 17:27:21
Las etiquetas:Indicador de riesgoEl ATR

img

Resumen general

Esta estrategia es un sistema de negociación de doble marco de tiempo basado en el indicador SuperTrend y el RSI. Combina indicadores de análisis técnico de marcos de tiempo de 120 minutos y 15 minutos, utilizando SuperTrend para capturar la dirección de la tendencia a mediano plazo mientras utiliza el RSI para obtener ganancias. La estrategia implementa el tamaño de la posición a través de la asignación porcentual e incluye condiciones de toma de ganancias basadas en porcentajes.

Principios de estrategia

La lógica central se basa en varios elementos clave:

  1. Utiliza el indicador SuperTrend de 120 minutos como la principal herramienta de determinación de tendencias, con un período ATR de 14 y un factor de 3,42.
  2. Genera señales comerciales a través de cruces de precios con la línea SuperTrend - cruces ascendentes para entradas largas y cruces descendentes para entradas cortas
  3. Utiliza el indicador RSI de 15 minutos con período 5 como herramienta complementaria para las condiciones de sobrecompra/sobreventa del mercado
  4. Cierra posiciones largas cuando el RSI alcanza la zona de sobrecompra (95) y posiciones cortas en la zona de sobreventa (5)
  5. Establece el nivel de rentabilidad del 30% calculado en relación con el precio medio de entrada

Ventajas estratégicas

  1. La combinación de múltiples marcos de tiempo mejora la fiabilidad de la señal y reduce las señales falsas
  2. Los parámetros de SuperTrend optimizados equilibran la sensibilidad a la tendencia evitando al mismo tiempo el comercio excesivo
  3. Los valores extremos estrictos del RSI (5 y 95) aseguran el cierre de la posición solo en condiciones extremas
  4. El tamaño de las posiciones utiliza un porcentaje fijo de capital propio (35%), controlando eficazmente el riesgo y manteniendo el potencial de ganancia
  5. Cierra automáticamente las posiciones invertidas antes de abrir nuevas, evitando la exposición simultánea larga y corta

Riesgos estratégicos

  1. El enfoque de doble marco de tiempo puede generar retrasos en los mercados variados, lo que requiere la gestión de la utilización
  2. Los valores extremos del RSI pueden causar oportunidades perdidas de obtener beneficios
  3. El nivel de rentabilidad del 30% es agresivo, lo que podría conducir a salidas anticipadas en mercados volátiles
  4. La ausencia de condiciones de stop-loss podría dar lugar a pérdidas significativas durante las inversiones repentinas de tendencia
  5. El tamaño de la posición del 35% es relativamente agresivo, lo que crea un alto riesgo durante la volatilidad extrema

Direcciones de optimización

  1. Recomendar la adición de un mecanismo dinámico de suspensión de pérdidas, teniendo en cuenta las suspensiones posteriores basadas en ATR
  2. Los umbrales de sobrecompra/sobreventa de los índices de variabilidad podrían ajustarse a 10 y 90 para una mejor adaptabilidad
  3. Se podrían añadir indicadores de volumen para la confirmación de la señal
  4. Considerar el dimensionamiento dinámico de las posiciones basado en la volatilidad del mercado utilizando ATR o indicadores de volatilidad
  5. Sugiere añadir filtros de fuerza de tendencia como DMI o ADX para filtrar tendencias débiles

Resumen de las actividades

Es una estrategia bien estructurada de seguimiento de tendencias con lógica clara. Combina diferentes indicadores técnicos de marco de tiempo para capturar tendencias mientras se mantiene el control de riesgos. Si bien hay espacio para la optimización, el diseño general se alinea con los principios de negociación cuantitativos. Los operadores deben hacer pruebas posteriores y optimizar los parámetros antes de negociar en vivo y ajustar el tamaño de la posición de acuerdo con su tolerancia al riesgo.


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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © felipemiransan

//@version=5
strategy("Supertrend Strategy", overlay=true)

// Function for Supertrend
supertrend(_factor, _atrPeriod) =>
    [out, _] = ta.supertrend(_factor, _atrPeriod)
    out

// Supertrend Settings
factor = input.float(3.42, title="Supertrend Factor")
atrPeriod = input.int(14, title="ATR Period")
tf2 = input.timeframe("120", title="Supertrend Timeframe")

// RSI Settings
rsi_tf = input.timeframe("15", title="RSI Timeframe")
rsiLength = input.int(5, title="RSI Length")
rsiUpper = input.int(95, title="RSI Upper Limit")  
rsiLower = input.int(5, title="RSI Lower Limit")   

// RSI Timeframe
rsi_tf_value = request.security(syminfo.tickerid, rsi_tf, ta.rsi(close, rsiLength), lookahead=barmerge.lookahead_off, gaps=barmerge.gaps_off)

// Supertrend Timeframe
supertrend_tf2 = request.security(syminfo.tickerid, tf2, supertrend(factor, atrPeriod), lookahead=barmerge.lookahead_off, gaps=barmerge.gaps_off)

// Take Profit Settings (Percentage in relation to the average price)
takeProfitPercent = input.float(30, title="Take Profit", step=0.1) / 100

// Entry conditions based on price crossover with Supertrend Timeframe
longCondition = ta.crossover(close, supertrend_tf2) and barstate.isconfirmed
shortCondition = ta.crossunder(close, supertrend_tf2) and barstate.isconfirmed

// Execution of reversal orders with closing of previous position
if (longCondition)
    // Close a short position before opening a long position
    if (strategy.position_size < 0)
        strategy.close("Short", comment="Close Short for Long Entry")
    strategy.entry("Long", strategy.long)

if (shortCondition)
    // Close long position before opening short position
    if (strategy.position_size > 0)
        strategy.close("Long", comment="Close Long for Short Entry")
    strategy.entry("Short", strategy.short)

// Calculate take profit levels relative to the average entry price
if (strategy.position_size > 0)
    takeProfitLong = strategy.position_avg_price * (1 + takeProfitPercent)
    strategy.exit("Take Profit Long", "Long", limit=takeProfitLong)

if (strategy.position_size > 0 and (rsi_tf_value >= rsiUpper))
    strategy.close("Long", comment="RSI Take Profit Long")

if (strategy.position_size < 0)
    takeProfitShort = strategy.position_avg_price * (1 - takeProfitPercent)
    strategy.exit("Take Profit Short", "Short", limit=takeProfitShort)

if (strategy.position_size < 0 and (rsi_tf_value <= rsiLower))
    strategy.close("Short", comment="RSI Take Profit Short")

// Plot Supertrend timeframe with commit check to avoid repainting
plot(barstate.isconfirmed ? supertrend_tf2 : na, color=color.blue, title="Supertrend Timeframe (120 min)", linewidth=1)

// Plot RSI for visualization
plot(rsi_tf_value, "RSI", color=color.purple)
hline(rsiUpper, "RSI Upper", color=color.red)
hline(rsiLower, "RSI Lower", color=color.green)




Relacionados

Más.