
Las estrategias de breakout trading tienen como objetivo capturar los precios de breakout provocados por el aumento de la volatilidad del mercado. La estrategia utiliza el rango de fluctuación real promedio (ATR) para medir la volatilidad de los activos en un período determinado. Se generan señales de venta y venta baja cuando el precio rompe las dos líneas de breakout anteriores determinadas por el ATR.
La estrategia primero calcula el ATR dentro del ciclo especificado. Luego calcula el ascenso y el descenso en función del ATR. Cuando el precio de cierre se acerca a la cima, se genera una señal de más; cuando el precio de cierre se acerca a la baja, se genera una señal de menos. Para confirmar aún más la señal, se necesita que la parte de la entidad de forma de línea K actual se cierre.
Cuando los precios de cierre de mercado se abren en trayectoria ascendente y descendente, en la dirección de la ruptura se rellena con el color de la brecha. Esta característica ayuda a identificar rápidamente la dirección de la tendencia actual.
Cuando se produce una señal de más y no se tiene una posición en ese momento, la estrategia abre una posición más. Cuando se produce una señal de menos y no se tiene una posición en ese momento, la estrategia abre una posición más.
Los parámetros de longitud determinan la longitud de los períodos que miden la volatilidad. Un valor de longitud más alto significa que se debe prestar atención a las fluctuaciones de precios más largas. Por ejemplo, cuando la longitud es 20, cada transacción cruza aproximadamente 100 líneas K, que contienen varias fluctuaciones.
Reducir el valor de Length puede centrarse en las fluctuaciones de precios más cortas, aumentando la frecuencia de las transacciones. No hay una correspondencia estricta entre el valor de Length y la duración media de las transacciones, y se necesita probar y error para encontrar el valor de Length óptimo.
La estrategia utiliza el principio de la ruptura para capturar la mayor parte de las fluctuaciones del mercado. El indicador ATR calcula dinámicamente los puntos de ruptura, evitando el uso de parámetros fijos.
El uso de la línea K real para confirmar la señal, puede filtrar falsos brechas. Rellenar los huecos de las brechas de color para mostrar la dirección de la tendencia.
Los parámetros de longitud ofrecen flexibilidad para ajustar las estrategias y se pueden optimizar en función de los ajustes específicos del mercado.
Hay riesgo de arbitraje en las operaciones de ruptura. Se puede establecer un stop loss para controlar la pérdida individual.
Las señales de ruptura pueden generar errores que conduzcan a operaciones de línea demasiado corta. Se puede ajustar el parámetro Length de manera adecuada para eliminar errores.
La optimización de parámetros requiere la acumulación de suficiente soporte de datos de transacciones. La elección incorrecta de los parámetros iniciales puede causar un mal desempeño de las transacciones.
Se puede introducir la banda de Brin dentro del ciclo ATR como una nueva forma de calcular el punto de ruptura. La ruptura de la banda de Brin reduce la tasa de errores.
Se puede seguir la tendencia después de la ruptura, sin detenerse inmediatamente. Por ejemplo, se puede agregar una tendencia con una parada.
Se puede considerar el uso de diferentes parámetros en mercados convulsivos o no comerciar en absoluto para evitar ser estafado.
La estrategia de ruptura utiliza la volatilidad del mercado para entrar en una tendencia cuando los precios producen una gran ruptura. El índice ATR determina dinámicamente el punto de ruptura, y la línea K de la entidad filtra las rupturas falsas. El parámetro Length ofrece flexibilidad para ajustar el ciclo de la estrategia.
/*backtest
start: 2023-09-29 00:00:00
end: 2023-10-29 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
//@version=5
strategy("Volatility Breakout Strategy [Angel Algo]", overlay = true)
// Inputs
length = input(title="Length", defval=20)
// Calculate the average true range (ATR)
atr = ta.atr(length)
// Plot the ATR on the chart
plot(atr, color=color.blue, linewidth=2, title="ATR")
// Calculate the upper and lower breakouts
upper_breakout = high + atr
lower_breakout = low - atr
// Plot the upper and lower breakouts on the chart
ul = plot(upper_breakout[1], color = color.new(color.green, 100), linewidth=2, title="Upper Breakout Level")
ll = plot(lower_breakout[1], color = color.new(color.red, 100), linewidth=2, title="Lower Breakout Level")
// Create the signals
long_entry = ta.crossover(close, upper_breakout[1]) and barstate.isconfirmed
short_entry = ta.crossunder(close, lower_breakout[1]) and barstate.isconfirmed
active_signal_color =ta.barssince(long_entry) < ta.barssince(short_entry) ?
color.new(color.green,85) : color.new(color.red,85)
// Plot the signals on the chart
plotshape(long_entry and ta.barssince(long_entry[1]) > ta.barssince(short_entry[1]), location=location.belowbar, style=shape.triangleup,
color=color.green, size=size.normal, text = "Bullish breakout", textcolor = color.green)
plotshape(short_entry and ta.barssince(long_entry[1]) < ta.barssince(short_entry[1]), location=location.abovebar, style=shape.triangledown,
color=color.red, size=size.normal,text = "Bearish breakout", textcolor = color.red)
// Fill the space between the upper and lower levels with the color that indicates the latest signal direction
fill(ul,ll, color=active_signal_color)
long_condition = long_entry and strategy.position_size <= 0 and barstate.isconfirmed
short_condition = short_entry and strategy.position_size >= 0 and barstate.isconfirmed
if long_condition
strategy.entry("Volatility Breakout Long", strategy.long)
if short_condition
strategy.entry("Volatility Breakout Short", strategy.short)