El día anterior se cierra con la estrategia de seguimiento de tendencias de ATR

El autor:¿ Qué pasa?, Fecha: 2024-01-31 14:39:09
Las etiquetas:

img

Resumen general

Esta estrategia establece niveles de precio de entrada largos y cortos y niveles de precio de stop loss basados en el precio de cierre del día anterior y el indicador ATR para rastrear la tendencia.

Estrategia lógica

Esta estrategia utiliza el precio de cierre, el precio alto, el precio bajo y el indicador ATR del día anterior para calcular los niveles de precio de entrada y los niveles de stop loss.

Nivel de precio de entrada largo TPup = cierre del día anterior s + ATR * 0,8
Nivel de precio de entrada corto TPdown = cierre del día anterior - ATR * 0,8

El nivel de pérdida de parada larga se desploma = cierre del día anterior + ATR * 0.2
El nivel de pérdida de parada corta sldown = cierre del día anterior - ATR * 0,2

Nivel de ganancia de compra largaNivel de ganancia de compra larga = Bajo del día anterior + ATR * 1,7
Nivel de utilidad por compra corta (Short Take Profit Level) Nivel de utilidad por baja (Profit Level Down) = máximo del día anterior - ATR * 1,7

Cuando el precio se rompe a través de TPup, ir largo 10 lotes. Cuando el precio se rompe a través de TPdown, ir corto 10 lotes. A continuación, establecer el stop loss y obtener beneficios.

Análisis de ventajas

Las principales ventajas de esta estrategia son las siguientes:

  1. Utilizando el indicador ATR para establecer niveles dinámicos de precios de entrada y niveles de stop loss basados en la volatilidad del mercado, haciendo que las operaciones sean más adaptables a las condiciones del mercado.

  2. Utilizando los días anteriores de cierre para determinar la dirección y combinándose con el indicador ATR para identificar niveles comerciales específicos, evitando ser engañados por demasiado ruido de precios en tiempo real.

  3. Establecer tanto los mecanismos de stop loss como los de take profit para controlar eficazmente el riesgo de cada operación.

Análisis de riesgos

Los principales riesgos de esta estrategia son:

  1. Los niveles de precios establecidos por ATR pueden ser demasiado idealistas para reflejar verdaderamente las condiciones del mercado, lo que conduce a detonadores de stop loss frecuentes.

  2. El cierre del día anterior no puede determinar las tendencias futuras. Las inversiones drásticas pueden inducir a error las opciones de dirección. Otros indicadores pueden combinarse para confirmar las tendencias.

  3. El stop loss y el take profit pueden ser manipulados para desencadenar, sin lograr realmente detener la pérdida.

Direcciones de optimización

Esta estrategia puede optimizarse en los siguientes aspectos:

  1. Optimizar los parámetros ATR para que los niveles de comercio se adapten mejor a la volatilidad del mercado.

  2. Añadir mecanismos de evaluación de tendencias para evitar inversiones comerciales, por ejemplo, combinarlos con indicadores de MA.

  3. Ajuste el rango de ganancias, manteniendo la rentabilidad al tiempo que reduce la probabilidad de que los factores desencadenantes de la ganancia se produzcan.

  4. Establecer el stop loss y la toma de ganancias para reducir la probabilidad de quedar atrapados o perder.

  5. Añadir un mecanismo de dimensionamiento de posiciones para aumentar las posiciones en las fases de tendencia.

Conclusión

Esta estrategia establece niveles de comercio dinámicos basados en el cierre del día anterior y ATR para rastrear efectivamente las tendencias. También utiliza stop loss y take profit para controlar los riesgos de una sola operación. Las direcciones de optimización incluyen ajuste de parámetros, mejora del mecanismo de juicio, ajuste de ganancias y tamaño de posición, etc. En general, esta estrategia logra buenos efectos de seguimiento de tendencia.


/*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
strategy("PC with ATR Strategy (by Zhipengcfel)", shorttitle="PC_ATR", pyramiding=1, overlay=true)

// Zhipengcfel's Previous day's close with ATR Strategy
//
// Version 1.0
// @copyright Idea by Zhipengcfel on June 29, 2017.

//Previous day's close plus ATR strategy. 
//Buy (if breaking PC+ATR*0.8) or sell (if breaking PC-0.8*ATR). 

//This is just a demo vision and can not be used for real auto trading



///////////// ATR value
ATRlength = input(14, minval=1, title="lookback length of ATR")
//ATR = atr(ATRlength)
ATR = request.security(syminfo.tickerid, 'D', atr(ATRlength))

///////////// Entry levels and target levels
entr = input(0.8, minval=0.1, step = 0.05, title="Entry level for ATR")
tplevel = input(1.7, minval=0.1, step = 0.05, title="Exit level for ATR")
yesterday = request.security(syminfo.tickerid, 'D', close[1])
dl = request.security(syminfo.tickerid, 'D', low[1])
dh = request.security(syminfo.tickerid, 'D', high[1])
TPup = yesterday+entr*ATR
TPdown = yesterday-entr*ATR
profitlevelup = dl+tplevel*ATR
profitleveldown = dh-tplevel*ATR

///////////// Stop loss level
sl = input( 0.2  ,minval=0.01, step = 0.05, title="Stop loss level for ATR") //82 for 2, 83 for 3 and more positions
slup = yesterday+sl*ATR
sldown = yesterday-sl*ATR

///////////// Starting year to backtest
yer = input( 2014  , title="Backtest Starting year")


///////////// strategy: PC + ATR
if (close > TPup) and (close < profitlevelup)
    strategy.entry("LONG", strategy.long, 10, comment="Buy", when = year > yer, oca_name="My oca")
    strategy.exit("Stopped", "LONG",  stop = slup, limit= profitlevelup, oca_name="My oca")
            

if (close < TPdown) and (close > profitleveldown)
    strategy.entry("SHORT", strategy.short, 10, comment="Sell", when = year > yer, oca_name="My oca")
    strategy.exit("Stopped", "SHORT", stop = sldown, limit= profitleveldown, oca_name="My oca")
 

Más.