Estrategia de seguimiento basada en puntos de precio clave


Fecha de creación: 2023-09-21 15:24:53 Última modificación: 2023-09-21 15:24:53
Copiar: 0 Número de Visitas: 684
1
Seguir
1617
Seguidores

Descripción general

La estrategia se basa en la idea de que los puntos de precio de parada y parada a menudo se establecen en precios enteros o niveles de precios clave, que a menudo actúan como puntos de soporte y resistencia. La estrategia identifica estos niveles de precios clave para realizar operaciones de compra o venta cuando los precios se acercan.

Principio de estrategia

La estrategia incluye principalmente las siguientes reglas:

  1. Cuando el precio de cierre está por encima del nivel de precio clave y no ha tocado ese precio en las últimas 10 líneas K, se realiza una operación de compra.

  2. Luego se usa el seguimiento de la escalada para seguir el movimiento de los precios que superan los precios clave. La escalada es de 20 pasos.

  3. La operación de venta es lo contrario a la compra, cuando el precio de cierre está por debajo del nivel de precio clave y no ha tocado ese precio en las últimas 10 líneas K.

  4. La identificación de los niveles clave de precios se hace de la siguiente manera:

    • Convierte el precio de cierre en un número entero
    • Calcula el resto con 50 puntos enteros (configurables)
    • Si el saldo es mayor que 25, toma los 50 puntos enteros más cercanos como precio clave.
    • Los precios clave se mantienen

La estrategia se basa en la psicología de los precios, donde los precios enteros o los niveles clave suelen ser las posiciones más importantes para las partes que compiten por el espacio, lo que tiene un efecto como señal de negociación. Al mismo tiempo, el seguimiento de la escalada puede seguir la tendencia después de la ruptura de los precios.

Ventajas estratégicas

La estrategia tiene las siguientes ventajas:

  1. Las señales de intercambio y las reglas de entrada son simples e intuitivas.
  2. El uso de puntos clave de precio, como regla general, no depende de una variedad en particular.
  3. El seguimiento de las pérdidas puede bloquear las ganancias y mantenerse al día con las tendencias.

Riesgo estratégico

La estrategia también tiene los siguientes riesgos:

  1. Los puntos clave no son necesariamente fuertes soportes o resistencias. Si se rompen falsamente, pueden causar el fracaso de la operación.
  2. Las reglas fijas de 10 líneas K pueden no ser adecuadas para diferentes variedades.
  3. La distancia de seguimiento de la parada no debe ser demasiado grande, de lo contrario, la parada prematura puede ocurrir.

Resolución de las mismas:

  1. La fortaleza de los puntos clave de precios, junto con otros indicadores.
  2. Para optimizar los parámetros de las diferentes variedades, busque la combinación óptima de parámetros.
  3. Optimización de los parámetros de seguimiento de pérdidas para acercarlos al mercado.

Dirección de optimización de la estrategia

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Aumentar los criterios para determinar la importancia de los puntos clave y evitar el riesgo de falsas rupturas. Indicadores como el volumen de transacciones.

  2. Parámetros de optimización, en particular, para determinar la longitud de los pasos en las áreas clave de precios, el ciclo de la línea K y otros parámetros. Para que se ajusten mejor a las características de las diferentes variedades.

  3. Optimización de los mecanismos de seguimiento de las pérdidas, como el uso de pérdidas de seguimiento dinámico en lugar de pérdidas de escalada fijas.

  4. El aumento de algoritmos de aprendizaje automático que utilizan datos históricos para determinar la fortaleza y la debilidad de las áreas de precios clave para mejorar la calidad de la señal.

  5. Ampliar la estrategia a través de períodos de tiempo, al mismo tiempo que se evalúa la tendencia en períodos de tiempo más altos y se realiza el seguimiento en períodos de tiempo más bajos.

Resumir

Esta estrategia se basa en la idea de que los puntos clave de los precios son simples e intuitivos, que utilizan los hábitos de negociación generalizados para formar señales de negociación. Las oportunidades de la estrategia son abundantes, pero se requiere una optimización adicional para tratar las falsas brechas.

Código Fuente de la Estrategia
/*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)