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

Detención de seguimiento dinámico avanzado con estrategia de orientación riesgo-recompensa

El autor:¿ Qué pasa?, fecha: 2024-12-11 14:57:09
Las etiquetas:Indicador de riesgoEl ATRLa SMA

img

Resumen general

Esta estrategia es un sistema de negociación avanzado que combina paradas dinámicas, ratios de riesgo-recompensa y salidas extremas de RSI. Identifica patrones específicos (patrones de barra paralela y patrones de barra de pin) para la entrada en el comercio, mientras utiliza ATR y mínimos recientes para la colocación dinámica de stop loss, y determina objetivos de ganancia basados en ratios de riesgo-recompensa preseleccionados. El sistema también incorpora un mecanismo de salida de mercado sobrecomprado / sobrevendido basado en RSI.

Principios de estrategia

La lógica central incluye varios componentes clave:

  1. Las señales de entrada se basan en dos patrones: patrón de barra paralela (barra alcista grande que sigue una barra bajista grande) y patrón de barra de doble pin.
  2. Las operaciones de suspensión de pérdidas se realizarán en el momento en que se produzca la suspensión de pérdida.
  3. Objetivos de ganancia establecidos sobre la base de ratios fijos de riesgo-recompensación, calculados utilizando el valor de riesgo ® para cada operación.
  4. En el caso de las entidades de crédito, el valor de las posiciones se calcula dinámicamente en función del importe del riesgo fijo y del valor del riesgo por operación.
  5. El mecanismo de salida extrema del RSI activa el cierre de la posición en los extremos del mercado.

Ventajas estratégicas

  1. Gestión dinámica del riesgo: los niveles de suspensión de pérdidas se ajustan dinámicamente a la volatilidad del mercado mediante una combinación de ATR y mínimos recientes.
  2. Control preciso de las posiciones: el tamaño de las posiciones basado en el importe del riesgo fijo garantiza un riesgo constante por operación.
  3. Mecanismo de salida multidimensional: Combina paradas finales, objetivos de ganancias fijos y extremos del RSI.
  4. En el caso de los instrumentos financieros, el valor de los activos financieros de la entidad es el valor de los activos financieros de la entidad.
  5. Configuración clara de riesgo-recompensación: Las relaciones riesgo-recompensación predeterminadas definen objetivos de ganancia claros para cada operación.

Riesgos estratégicos

  1. Riesgo de exactitud del reconocimiento de patrones: posible identificación falsa de barras paralelas y barras de pines.
  2. El riesgo de deslizamiento en el punto de pérdida: puede sufrir un deslizamiento significativo en mercados volátiles.
  3. Salida prematura del RSI: podría conducir a salidas tempranas en mercados de fuerte tendencia.
  4. Limitaciones fijas de la relación riesgo-beneficio: las relaciones riesgo-beneficio óptimas pueden variar según las condiciones del mercado.
  5. Optimización de parámetros Riesgo de sobreajuste: las combinaciones de múltiples parámetros pueden conducir a una sobreoptimización.

Direcciones para la optimización de la estrategia

  1. Mejora de la señal de entrada: agregue más indicadores de confirmación de patrones como indicadores de volumen y tendencia.
  2. Relación dinámica riesgo-recompensa: ajustar las relaciones riesgo-recompensa basadas en la volatilidad del mercado.
  3. Adaptación inteligente de parámetros: introducir algoritmos de aprendizaje automático para la optimización de parámetros dinámicos.
  4. Confirmación de marcos de tiempo múltiples: agregar mecanismos de confirmación de señal en múltiples marcos de tiempo.
  5. Clasificación del entorno del mercado: aplicar diferentes conjuntos de parámetros para diferentes condiciones del mercado.

Resumen de las actividades

Esta es una estrategia de trading bien diseñada que combina múltiples conceptos de análisis técnico maduros para construir un sistema de trading completo. Las fortalezas de la estrategia se encuentran en su sistema integral de gestión de riesgos y reglas de trading flexibles, mientras que se necesita prestar atención a la optimización de parámetros y adaptabilidad del mercado. A través de las direcciones de optimización sugeridas, hay espacio para una mayor mejora de la estrategia.


/*backtest
start: 2024-11-10 00:00:00
end: 2024-12-09 08:00:00
period: 2h
basePeriod: 2h
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/
// © ZenAndTheArtOfTrading | www.TheArtOfTrading.com
// @version=5
strategy("Trailing stop 1", overlay=true)

// Get user input 
int     BAR_LOOKBACK    = input.int(10, "Bar Lookback")
int     ATR_LENGTH      = input.int(14, "ATR Length")
float   ATR_MULTIPLIER  = input.float(1.0, "ATR Multiplier")
rr                      = input.float(title="Risk:Reward", defval=3)

// Basic definition
var float shares=na
risk = 1000
var float R=na
E = strategy.position_avg_price

// Input option to choose long, short, or both
side = input.string("Long", title="Side", options=["Long", "Short", "Both"])

// RSI exit option
RSIexit = input.string("Yes", title="Exit at RSI extreme?", options=["Yes", "No"])
RSIup = input(75)
RSIdown = input(25)

// Get indicator values 
float atrValue = ta.atr(ATR_LENGTH)

// Calculate stop loss values
var float trailingStopLoss = na 
float longStop  = ta.lowest(low, BAR_LOOKBACK) - (atrValue * ATR_MULTIPLIER)
float shortStop = ta.highest(high, BAR_LOOKBACK) + (atrValue * ATR_MULTIPLIER)

// Check if we can take trades 
bool canTakeTrades = not na(atrValue)
bgcolor(canTakeTrades ? na : color.red)

//Long pattern
    //Two pin bar
onepinbar = (math.min(close,open)-low)/(high-low)>0.6 and math.min(close,open)-low>ta.sma(high-low,14)
twopinbar = onepinbar and onepinbar[1]
notatbottom = low>ta.lowest(low[1],10)
    // Parallel
bigred = (open-close)/(high-low)>0.8 and high-low>ta.sma(high-low,14)
biggreen = (close-open)/(high-low)>0.8 and high-low>ta.sma(high-low,14)
parallel = bigred[1] and biggreen  
atbottom = low==ta.lowest(low,10)

// Enter long trades (replace this entry condition)
longCondition = parallel 
if (longCondition and canTakeTrades and  strategy.position_size == 0 and (side == "Long" or side == "Both"))
    R:= close-longStop
    shares:= risk/R
    strategy.entry("Long", strategy.long,qty=shares)

// Enter short trades (replace this entry condition)
shortCondition = parallel
if (shortCondition and canTakeTrades and strategy.position_size == 0 and (side == "Short" or side == "Both"))
    R:= shortStop - close
    shares:= risk/R
    strategy.entry("Short", strategy.short,qty=shares)

// Update trailing stop
if (strategy.position_size > 0)
    if (na(trailingStopLoss) or longStop > trailingStopLoss)
        trailingStopLoss := longStop
else if (strategy.position_size < 0)
    if (na(trailingStopLoss) or shortStop < trailingStopLoss)
        trailingStopLoss := shortStop
else
    trailingStopLoss := na

// Exit trades with trailing stop
strategy.exit("Long Exit",  "Long",  stop=trailingStopLoss, limit = E + rr*R )
strategy.exit("Short Exit", "Short", stop=trailingStopLoss, limit = E - rr*R)

//Close trades at RSI extreme
if ta.rsi(high,14)>RSIup and RSIexit == "Yes"
    strategy.close("Long")
if ta.rsi(low,14)<RSIdown and RSIexit == "Yes"
    strategy.close("Short")

// Draw stop loss 
plot(trailingStopLoss, "Stop Loss", color.red, 1, plot.style_linebr)

Relacionados

Más.