Estrategia de seguimiento de números redondos

El autor:¿ Qué pasa?, Fecha: 2021-09-21 15:24:53
Las etiquetas:

Resumen general

Esta estrategia se basa en la idea de que los niveles de stop loss y take profit a menudo se colocan en números redondos o niveles de precios clave, que actúan como soporte y resistencia.

Estrategia lógica

Las reglas principales de esta estrategia son las siguientes:

  1. Cuando el precio de cierre está por encima de un nivel clave de precios, y no ha tocado ese nivel en los últimos 10 bares, vaya largo.

  2. Utilice una parada de seguimiento con un paso de 20 puntos para seguir el movimiento después de que el precio rompa el nivel clave.

  3. Las señales de venta son lo contrario: cuando el cierre está por debajo del nivel clave y no lo ha tocado en las últimas 10 barras, vaya corto.

  4. Los niveles clave se identifican como:

    • Convertir el precio cerrado a un número entero
    • Calcular el resto de la división por 50 (configurable)
    • Si el resto es > 25, utilizar el siguiente número entero 50 como nivel clave
    • De lo contrario mantener el nivel de clave sin cambios

La estrategia se basa en la psicología de que los números redondos y los niveles clave son a menudo campos de batalla para los toros y los osos, y por lo tanto proporcionan señales comerciales efectivas.

Ventajas

Las ventajas de esta estrategia son:

  1. Señal de comercio y reglas de entrada sencillas e intuitivas.
  2. Utiliza un patrón universal de precios clave en lugar de reglas específicas de los instrumentos.
  3. Las paradas de seguimiento bloquean las ganancias mientras conducen la tendencia.

Los riesgos

Los riesgos a tener en cuenta son:

  1. Los niveles clave no siempre pueden actuar como un fuerte soporte/resistencia.
  2. El retroceso fijo de 10 bares puede no ser adecuado para diferentes instrumentos.
  3. La distancia de parada trasera no debe ser demasiado amplia, de lo contrario puede detenerse prematuramente.

Soluciones posibles:

  1. Añadir más filtros para evaluar la resistencia de los niveles clave, por ejemplo, el volumen.
  2. Optimizar parámetros como el período de recuperación para diferentes instrumentos.
  3. Optimizar el mecanismo de detención para que sea más adaptable.

Oportunidades de mejora

La estrategia puede mejorarse mediante:

  1. Añadir más condiciones para confirmar la importancia de los niveles clave y evitar falsificaciones.

  2. Optimización de parámetros como el rango de nivel clave y el período de recuperación basado en las características del instrumento.

  3. Mejorar el mecanismo de detención de la pista, por ejemplo, utilizando una pista dinámica en lugar de un punto fijo.

  4. Incorporar el aprendizaje automático para juzgar la fuerza de los niveles clave utilizando datos históricos.

  5. Expansión a un sistema de marcos de tiempo múltiples con una tendencia de TF más alta y un seguimiento de TF más bajo.

Conclusión

Esta estrategia ofrece señales simples e intuitivas basadas en los niveles de precios clave y las convenciones comerciales. Tiene abundantes oportunidades, pero necesita una mayor optimización para manejar las falsificaciones. El ajuste de parámetros y el aprendizaje automático pueden mejorar la robustez. Proporciona buenas ideas de negociación diaria y también se puede ampliar a un sistema de seguimiento de tendencias de múltiples marcos de tiempo.


/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//Strategy based on the idea that stop loss and take profit are often placed at full price levels or round numbers, whcih acts as resistance and supports levels
//Buy Rules:
//Actual price (close) is above round number.
//Round number level was not touched in previous ten bars (arbitrary value).
//Place a buy and follow the order with a trail step because price can bounce at round number (support) or can go through it.
//Sell Rules are the same of buy rules but inverted.
//
//Need improvement on conditions' logic and round numbers definitions


strategy("dP magnet", overlay=true, pyramiding=0,default_qty_type=strategy.percent_of_equity,default_qty_value=100,currency=currency.USD)

//Round Levels credit to RKchartest

roundLevel50 = input(500, 'Round Level 1, pips')
//roundLevel100 = input(1000, 'Round Level 2, pips')
deviation = input(1000, 'Max distance, pips', minval=0) 

rDelimeter = 1/syminfo.mintick

intRoundLevel = close[1] * rDelimeter

intRemainder = intRoundLevel % roundLevel50 
toRound = (intRemainder >= roundLevel50/2) ? roundLevel50 : 0
roundLevel = (intRoundLevel - intRemainder + toRound) / rDelimeter
plot(roundLevel, title='Round Level 1', color=black, style=line, transp=0, linewidth=1, trackprice=false)

//intRemainder2 = intRoundLevel % roundLevel100
//toRound2 = (intRemainder2 >= roundLevel100/2) ? roundLevel100 : 0
//roundLevel2 = (intRoundLevel - intRemainder2 + toRound2) / rDelimeter
//plot((abs(roundLevel2 - close) * rDelimeter < deviation) ? roundLevel2 : na, title='Round Level 2', color=black, style=circles, transp=0, linewidth=1, trackprice=true)

// end

//Start of strategy

distToFullNumber=(close-roundLevel) //can be positive or negative number

distPips=input(100,'Distance in pips to full level',minval=10) //user defined: this distance defines when to open an order at market price


TrailS=input(20,'Trail Step points',minval=10) //trail step that follows the order

longCondition = iff(distToFullNumber>0 and abs(distToFullNumber)<=distPips and lowest(low,10)>roundLevel,true,false)

if (longCondition)
    strategy.entry("LongMagnet", strategy.long)
    strategy.exit("ExitMagnet","LongMagnet",trail_points=TrailS)

shortCondition = iff(distToFullNumber<0 and abs(distToFullNumber)<=distPips and highest(high,10)<roundLevel,true,false)

if (shortCondition)
    strategy.entry("ShortMagnet", strategy.short)
    strategy.exit("Exit_Magnet","ShortMagnet",trail_points=TrailS)
    

Más.