
La estrategia de doble ruptura es una estrategia de comercio cuantitativa basada en la forma técnica. La estrategia se basa en la identificación de la formación de la doble ruptura de la parte inferior y la doble ruptura de la parte superior, y emite señales de compra y venta cuando el precio rompe estas rupturas.
La idea central de esta estrategia se basa en la teoría de la fractura. Cuando se presentan puntos de inflexión de corto plazo similares a los tipos M o W, esto indica que la tendencia actual puede revertirse. En concreto, cuando 5 líneas K consecutivas forman una combinación específica de mayor altitud o menor profundidad, se forman fracturas de fondo o fracturas superiores. Por ejemplo, en un gráfico de líneas K, se forman fracturas superiores si los precios máximos de las 2 primeras líneas K son más altos que los precios máximos de las 3 líneas K posteriores.
Cuando el precio cae por debajo de la brecha inferior o se rompe por encima de la brecha superior, esto indica una mayor probabilidad de reversión, por lo que la estrategia genera señales de compra y venta, respectivamente.
La principal ventaja de esta estrategia es la capacidad de identificar posibles reveses de tendencia, lo que es muy útil para las estrategias de negociación que siguen el tipo de tendencia. Además, la identificación de doble fracción hace que las señales de negociación sean más confiables en comparación con las estrategias que solo dependen de una sola forma de línea K.
El principal riesgo de esta estrategia es que la identificación de fracciones no garantiza un cambio de precio al cien por cien. A veces, los precios pueden ser solo una corrección a corto plazo y no se produce un cambio de tendencia. En este caso, si la estrategia genera una señal errónea, se producen pérdidas innecesarias. Para reducir este riesgo, se puede combinar con otros indicadores como el volumen de operaciones para verificar la posibilidad de una reversión de precios.
Esta estrategia se puede optimizar aún más de la siguiente manera:
Añadir condiciones de filtrado, como indicadores de volumen de transacciones, para evitar ser engañados por la falsa inversión.
Ajuste los parámetros para identificar las fracciones dobles de períodos de tiempo más grandes para capturar la reversión de las grandes tendencias.
Combinado con una estrategia de stop loss móvil, para reducir la pérdida de la cuenta de pérdidas.
La estrategia de ruptura de doble fractura para juzgar la inversión potencial de precios mediante la identificación de una determinada forma de la línea K es una estrategia común de tipo impulsada por indicadores técnicos. Puede seguir de manera efectiva las tendencias a corto y medio plazo del mercado y tiene una alta relación ganancia-pérdida, una estrategia de negociación confiable y práctica.
/*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=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ceyhun
strategy("Fractal Breakout Strategy", overlay=true)
FUp = high[4] < high[2] and high[3] < high[2] and high[1] < high[2] and high < high[2] or
high[5] < high[2] and high[4] < high[2] and high[3] <= high[2] and
high[1] < high[2] and high < high[2] or
high[6] < high[2] and high[5] < high[2] and high[4] <= high[2] and
high[3] <= high[2] and high[1] < high[2] and high < high[2] or
high[7] < high[2] and high[6] < high[2] and high[5] <= high[2] and
high[4] <= high[2] and high[3] <= high[2] and high[1] < high[2] and
high < high[2] or
high[8] < high[2] and high[7] < high[2] and high[6] <= high[2] and
high[5] <= high[2] and high[4] <= high[2] and high[3] <= high[2] and
high[1] < high[2] and high < high[2]
FractalUp = valuewhen(FUp, high[2], 1)
plot(FractalUp, color=#0000FF,title="FractalUp")
FDown = low[4] > low[2] and low[3] > low[2] and low[1] > low[2] and low > low[2] or
low[5] > low[2] and low[4] > low[2] and low[3] >= low[2] and low[1] > low[2] and
low > low[2] or
low[6] > low[2] and low[5] > low[2] and low[4] >= low[2] and low[3] >= low[2] and
low[1] > low[2] and low > low[2] or
low[7] > low[2] and low[6] > low[2] and low[5] >= low[2] and low[4] >= low[2] and
low[3] >= low[2] and low[1] > low[2] and low > low[2] or
low[8] > low[2] and low[7] > low[2] and low[6] >= low[2] and low[5] >= low[2] and
low[4] >= low[2] and low[3] >= low[2] and low[1] > low[2] and low > low[2]
FractalDown = valuewhen(FDown, low[2], 1)
plot(FractalDown, color=#FF0000,title="FractalDown")
if crossover(close, FractalUp)
strategy.entry("Long", strategy.long, comment="Long")
if crossunder(close, FractalDown)
strategy.entry("Short", strategy.short, comment="Short")