Tendencia de ruptura alta-baja siguiendo la estrategia

El autor:¿ Qué pasa?, Fecha: 2023-09-13 15:50:50
Las etiquetas:

Esta estrategia se llama High-Low Breakout Trend Following Strategy. Identifica nuevos máximos y mínimos de precios para determinar la dirección de la tendencia, y negocia las rupturas de los últimos puntos altos / bajos para seguir las tendencias.

La lógica específica es:

  1. Calcular el máximo máximo y el mínimo mínimo durante un determinado período (por ejemplo, 22 días).

  2. Cuando el precio se rompe por encima del último máximo de un día, se genera una señal de compra, señalando una tendencia alcista.

  3. Cuando el precio se rompe por debajo del último mínimo de un día, se genera una señal de venta, señalando una tendencia bajista.

  4. La dirección de la tendencia se comprueba para filtrar señales falsas. Por ejemplo, el nuevo precio alto con divergencia bajista se ignora para comprar.

  5. Sólo cuando los indicadores se alineen con la tendencia de los precios se realizarán operaciones en los breakouts de los últimos puntos altos/bajos.

La ventaja es capturar el momento de ruptura pivotal, que a menudo acompaña al inicio o aceleración de la tendencia.

En resumen, observar las rupturas de las áreas clave de precios es esencial en el seguimiento de la tendencia.


/*backtest
start: 2023-08-13 00:00:00
end: 2023-09-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=1
strategy(title="HIGHER HIGH LOWER LOW STRATEGY", shorttitle="HH LL STRATEGY", overlay=true, calc_on_order_fills=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, currency="USD", default_qty_value=100)

////


//Higher High or Lower Low Entry Inputs
price = input(hlc3)
LookBack = input(22)
Highest = highest(LookBack)
Lowest = lowest(LookBack)

long = price > Highest[1] 
short = price < Lowest[1]




//Divergence Check Inputs
length = input(14)
High_Guard = highest(length)
Low_Guard = lowest(length)

length2 = input(2)

long1 = long == 1 and Highest[1] > High_Guard[length2]
short1 = short == 1 and Lowest[1] < Low_Guard[length2]


plot(long and long[1], color=green, style=line)
plot(short and short[1], color=red, style=line)

strategy.entry("Long", strategy.long, when=long1)
strategy.entry("Short", strategy.short, when=short1)


Más.