Estrategia de captura de tendencia de ruptura horizontal


Fecha de creación: 2024-04-26 15:22:06 Última modificación: 2024-04-26 15:22:06
Copiar: 4 Número de Visitas: 627
1
Seguir
1617
Seguidores

Estrategia de captura de tendencia de ruptura horizontal

Descripción general

La estrategia utiliza la línea horizontal como soporte y resistencia, y genera una señal de negociación cuando el precio rompe la línea horizontal. La idea principal es: primero, trazar la línea horizontal de acuerdo con ciertas condiciones, hacer más cuando el precio rompe la línea horizontal hacia arriba, y cerrar la posición cuando el precio rompe la línea horizontal hacia abajo.

Principio de estrategia

  1. De acuerdo con la condición de que el precio mínimo de la línea K anterior sea mayor que el precio de cierre actual, se dibuja una línea horizontal de longitud 20 en la posición del precio mínimo de la línea K anterior, y siempre se conservan solo las 10 líneas más recientes.
  2. Si el precio actual se eleva por encima de la línea horizontal más reciente, se borran todas las órdenes anteriores y se vuelven a hacer más.
  3. Cuando se traza una nueva línea horizontal, si se tiene una posición en ese momento, primero se baja la posición y luego se hace más.

Ventajas estratégicas

  1. La lógica de la estrategia es simple, clara, fácil de entender y de implementar.
  2. La señal se genera a través de la ruptura de la línea horizontal que sostiene el punto de resistencia, para capturar mejor la tendencia.
  3. Cuando se crea una nueva línea horizontal, primero se borran las posiciones anteriores y luego se abren nuevas posiciones, lo que reduce el riesgo que puede acarrear la apertura de posiciones anteriores.
  4. Se puede optimizar la estrategia ajustando la longitud y el número de líneas horizontales.

Riesgo estratégico

  1. En el caso de las situaciones de crisis, las frecuentes rupturas de la línea horizontal pueden conducir a un exceso de operaciones, lo que genera grandes puntos de deslizamiento y comisiones.
  2. La estrategia es más simple para la definición de la línea horizontal, y la falta de verificación de otros indicadores puede generar algunas señales erróneas.
  3. El hecho de que no se haga nada, no puede aprovecharse de la caída.

Dirección de optimización de la estrategia

  1. Se puede combinar con otros indicadores para confirmar la efectividad de la línea horizontal, como cambios en el volumen de tráfico, para reducir las señales erróneas.
  2. En caso de crisis, se puede reducir la frecuencia de las transacciones aumentando la amplitud de la ruptura de la línea horizontal.
  3. Los inversores que participan en el mecanismo de corto plazo también pueden beneficiarse de la tendencia a la baja.
  4. Se puede considerar la posibilidad de ajustar dinámicamente la longitud y la cantidad de líneas horizontales para adaptarse a diferentes situaciones.

Resumir

La estrategia utiliza la línea horizontal como un importante punto de resistencia de soporte, generando señales de negociación mediante la ruptura de la línea horizontal. La ventaja es que la lógica es simple, fácil de implementar y puede capturar mejor la tendencia. Sin embargo, la desventaja es que es posible comerciar en exceso, generar señales erróneas y solo puede hacer más para no quedarse vacío.

Código Fuente de la Estrategia
/*backtest
start: 2023-04-20 00:00:00
end: 2024-04-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Traderxprox

//@version=5
strategy("Alarm Trader_ALL", overlay=true)

// Yatay çizgi oluşum
yatayc = low[1] > close[0]

if yatayc
    if strategy.opentrades > 0
        strategy.close("AL", comment = "Fiyat:" + str.tostring(low[1], "#.##") + "\n" + timeframe.period +"\n Yatay Direnç Oluştu")
    else
        strategy.entry("AL", strategy.long, comment = "Fiyat:" + str.tostring(low[1], "#.##") + "\n" + timeframe.period +"\n Yatay Direnç Oluştu")


//YATAY ÇİZGİ
int cizgilen = input.int(20, "Çizgi uzunluğu?", group = "Yatay Çizgi Ayarları")
var array<line> lines = array.new<line>()
int numberOfLines = input.int(10, "Son Kaç Çizgi?", 0, group = "Yatay Çizgi Ayarları")
kural22 = low[1] > close[0]
// if kural22
//     newLine = line.new(bar_index-2, low[1], bar_index+cizgilen, low[1] ,color=color.red, width=1, style=line.style_solid)
//     // Push the `newLine` into the `lines` array.
//     lines.push(newLine)
//     // Delete the oldest line when the size of the array exceeds the specified `numberOfLines`.
//     if array.size(lines) > numberOfLines
//         line.delete(lines.shift())
    
// Alarm kırılım için koşul

var float lastLinePrice = na
if not na(close) and array.size(lines) > 0 
    lastLinePrice := line.get_price(array.get(lines, array.size(lines) - 1), bar_index)
if open < lastLinePrice and close > lastLinePrice
    if strategy.opentrades > 0
        strategy.close("AL", comment = "Fiyat:" + str.tostring(lastLinePrice, "#.##") + "\n" + timeframe.period +" \n Yatay çizgi yukarı kırılımı")
    else
        strategy.entry("AL", strategy.long, comment = "Fiyat:" + str.tostring(lastLinePrice, "#.##") + "\n" + timeframe.period +" \n Yatay çizgi yukarı kırılımı")