En la carga de los recursos... Cargando...

Sistema de negociación de tendencias de ruptura del nivel de precios de varios períodos basado en los niveles de precios clave

El autor:¿ Qué pasa?, Fecha: 2025-01-06 16:06:30
Las etiquetas:Cuidado de la velocidadDomicilioHMPLMPPDHPDL- ¿Qué es?Indicador de riesgoEl ATRADX

img

Resumen general

Esta estrategia es un sistema de negociación de ruptura basado en múltiples niveles clave de precios. Principalmente rastrea seis niveles críticos de precios: High of Day (HOD), Low of Day (LOD), Premarket High (PMH), Premarket Low (PML), Previous Day High (PDH), y Previous Day Low (PDL). El sistema genera señales comerciales a través de las rupturas de precios de estos niveles y ejecuta operaciones automáticamente basadas en cruces de precios.

Principios de estrategia

La lógica central incluye varios componentes clave:

  1. Cálculo del nivel de precios clave: utiliza la función request.security para obtener datos de precios de diferentes períodos de tiempo para calcular seis niveles de precios clave.
  2. Condiciones de entrada: abre posiciones largas cuando el precio se rompe por encima de PMH o PDH; abre posiciones cortas cuando el precio se rompe por debajo de PML o PDL.
  3. Condiciones de salida: Cierra posiciones largas cuando el precio alcanza el HOD; cierra posiciones cortas cuando el precio alcanza el LOD.
  4. Representación visual: Marca los niveles de precios con líneas horizontales de diferentes colores: blanco para HOD, púrpura para LOD, naranja para PDH, azul para PDL, verde para PMH y rojo para PML.

Ventajas estratégicas

  1. Referencia de precios multidimensional: supervisa los niveles clave de precios a lo largo de varios períodos de tiempo para un análisis exhaustivo del mercado.
  2. Lógico de ruptura claro: genera señales de negociación basadas en rupturas de precios con reglas de negociación explícitas.
  3. Alta automatización: Calcula automáticamente los niveles de precios y ejecuta las operaciones, reduciendo la intervención manual.
  4. Visualización fuerte: muestra los niveles de precios a través de líneas horizontales de diferentes colores para un análisis intuitivo.
  5. Alta adaptabilidad: aplicable a diversos instrumentos de negociación y períodos de tiempo.

Riesgos estratégicos

  1. Riesgo de ruptura falsa: el mercado puede generar rupturas falsas que conducen a señales incorrectas.
  2. Dependencia de la volatilidad: La estrategia puede tener un rendimiento inferior en entornos de baja volatilidad.
  3. Control de riesgos insuficiente: carece de mecanismos dinámicos de stop-loss y de obtención de beneficios.
  4. Dependencia del entorno del mercado: puede generar operaciones frecuentes en mercados diversos.
  5. Impacto del deslizamiento: puede sufrir un deslizamiento significativo en mercados menos líquidos.

Direcciones para la optimización de la estrategia

  1. Añadir filtros de indicadores técnicos:
  • Indicador de riesgo de pérdida de valor
  • Utilizar ATR para la colocación dinámica de stop-loss
  • Integrar el ADX para confirmar la fuerza de la tendencia
  1. Mejorar la gestión de riesgos:
  • Implementar mecanismos dinámicos de stop-loss
  • Añadir funcionalidad de parada de seguimiento
  • Establecer un sistema de obtención de beneficios a escala
  1. Optimiza la confirmación de la señal:
  • Añadir confirmación de volumen
  • Incluir la confirmación de tendencias de varios marcos temporales
  • Configurar el mecanismo de confirmación del retraso de la señal

Resumen de las actividades

Esta estrategia captura oportunidades de mercado mediante el monitoreo y la utilización de múltiples niveles clave de precios, con lógica clara y alta automatización. Sin embargo, también conlleva ciertos riesgos que deben abordarse a través de filtros de indicadores técnicos y mecanismos de gestión de riesgos mejorados.


/*backtest
start: 2024-12-06 00:00:00
end: 2025-01-04 08:00:00
period: 1h
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/
// © tradingbauhaus

//@version=6
strategy("HOD/LOD/PMH/PML/PDH/PDL Strategy by tradingbauhaus ", shorttitle="HOD/LOD Strategy", overlay=true)

// Daily high and low
dailyhigh = request.security(syminfo.tickerid, 'D', high)
dailylow = request.security(syminfo.tickerid, 'D', low)

// Previous day high and low
var float previousdayhigh = na
var float previousdaylow = na
high1 = request.security(syminfo.tickerid, 'D', high[1])
low1 = request.security(syminfo.tickerid, 'D', low[1])
high0 = request.security(syminfo.tickerid, 'D', high[0])
low0 = request.security(syminfo.tickerid, 'D', low[0])

// Yesterday high and low
if (hour == 9 and minute > 30) or hour > 10
    previousdayhigh := high1
    previousdaylow := low1
else
    previousdayhigh := high0
    previousdaylow := low0

// Premarket high and low
t = time("1440", "0000-0930") // 1440 is the number of minutes in a whole day.
is_first = na(t[1]) and not na(t) or t[1] < t
ending_hour = 9
ending_minute = 30

var float pm_high = na
var float pm_low = na

if is_first and barstate.isnew and ((hour < ending_hour or hour >= 16) or (hour == ending_hour and minute < ending_minute))
    pm_high := high
    pm_low := low
else 
    pm_high := pm_high[1]
    pm_low := pm_low[1]

if high > pm_high and ((hour < ending_hour or hour >= 16) or (hour == ending_hour and minute < ending_minute))
    pm_high := high
    
if low < pm_low and ((hour < ending_hour or hour >= 16) or (hour == ending_hour and minute < ending_minute))
    pm_low := low

// Plotting levels
plot(dailyhigh, style=plot.style_line, title="Daily high", color=color.white, linewidth=1, trackprice=true)
plot(dailylow, style=plot.style_line, title="Daily low", color=color.purple, linewidth=1, trackprice=true)
plot(previousdayhigh, style=plot.style_line, title="Previous Day high", color=color.orange, linewidth=1, trackprice=true)
plot(previousdaylow, style=plot.style_line, title="Previous Day low", color=color.blue, linewidth=1, trackprice=true)
plot(pm_high, style=plot.style_line, title="Premarket high", color=color.green, linewidth=1, trackprice=true)
plot(pm_low, style=plot.style_line, title="Premarket low", color=color.red, linewidth=1, trackprice=true)

// Strategy logic
// Long entry: Price crosses above PMH or PDH
if (ta.crossover(close, pm_high) or ta.crossover(close, previousdayhigh)) and strategy.opentrades == 0
    strategy.entry("Long", strategy.long)

// Short entry: Price crosses below PML or PDL
if (ta.crossunder(close, pm_low) or ta.crossunder(close, previousdaylow)) and strategy.opentrades == 0
    strategy.entry("Short", strategy.short)

// Exit long: Price reaches HOD
if strategy.position_size > 0 and ta.crossover(close, dailyhigh)
    strategy.close("Long")

// Exit short: Price reaches LOD
if strategy.position_size < 0 and ta.crossunder(close, dailylow)
    strategy.close("Short")

Relacionados

Más.