Estrategia de soporte y resistencia para pruebas retrospectivas de ruptura de impulso


Fecha de creación: 2024-02-22 16:07:14 Última modificación: 2024-02-22 16:07:14
Copiar: 0 Número de Visitas: 619
1
Seguir
1617
Seguidores

Estrategia de soporte y resistencia para pruebas retrospectivas de ruptura de impulso

Descripción general

Esta estrategia utiliza principalmente los precios más altos, más bajos y los precios de cierre del día de negociación anterior como soporte y resistencia del día, y hace más cuando se rompe el nivel de resistencia, y hace un vacío cuando se vuelve a probar el soporte, es una estrategia de ruptura típica.

Principio de estrategia

El código primero define una función para calcular el nivel de resistencia de soporte, calculateSupportResistance, que extrae el precio más alto, el precio más bajo y el precio de cierre del día de negociación anterior como el nivel de resistencia de soporte del día.

Luego se llama a esta función en la lógica principal para obtener los tres bits de precio y el gráfico se muestra.

En la lógica de retracción, si el precio de cierre es inferior al mínimo del día anterior y el precio actual es superior a ese mínimo constituye una ruptura, se hace más; si el precio de cierre es superior al máximo del día anterior y el precio actual es inferior a ese máximo constituye una ruptura, se hace falta.

A través de este modelo de ruptura se puede juzgar la tendencia y generar señales de negociación.

Ventajas estratégicas

  1. Utiliza los datos del día anterior para construir el soporte y la resistencia del día, evitando el problema de la optimización de parámetros
  2. El nivel de resistencia de soporte proviene de datos reales de operaciones en el mercado y tiene un cierto valor de referencia
  3. El modelo de retroalimentación es simple, directo y fácil de entender
  4. Visualización de soportes y resistencias para formar la percepción del precio
  5. Monitoreo de brechas en tiempo real para capturar oportunidades de transacción en tiempo real

Riesgo estratégico

  1. La resistencia de soporte cambia con el tiempo y no se puede determinar su eficacia
  2. La incapacidad de predecir la dirección de la tendencia, el riesgo de perder la reversión
  3. Suscripción a las brechas falsas y riesgo de ingreso prematuro
  4. No se puede determinar la continuidad de la ruptura y existe la posibilidad de una parada prematura.
  5. Las acciones tienen más probabilidades de perder la resistencia de soporte cuando los mercados están muy fluctuantes.

Respuesta:

  1. La eficacia de los avances se puede evaluar con más factores
  2. Aumentar el margen de pérdidas apropiadamente para asegurarse de capturar la tendencia
  3. Construir posiciones por lotes para reducir el impacto de las fluctuaciones de las acciones

Optimización de la estrategia

  1. Añadir más datos históricos para determinar puntos de resistencia, como precios de la línea de 5 días y 10 días
  2. Indicadores como el volumen de transacciones para determinar la efectividad de la ruptura
  3. Establecimiento de un Stop Loss basado en la fluctuación real
  4. Optimización de la gestión de fondos y control de pérdidas individuales

Resumir

La estrategia en su conjunto es una estrategia de ruptura típica, simple e intuitiva, que construye la resistencia de soporte del día a través de los datos del día de negociación anterior y analiza la ruptura para hacer más de la brecha. La ventaja es que es fácil de entender la implementación y se puede ver directamente la resistencia de soporte; La desventaja es que existe un riesgo de falsa ruptura y no se puede determinar la continuidad de la tendencia.

Código Fuente de la Estrategia
/*backtest
start: 2024-01-22 00:00:00
end: 2024-02-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Support and Resistance with Backtesting", overlay=true)

// Function to calculate support and resistance levels
calculateSupportResistance() =>
    highPrevDay = request.security(syminfo.tickerid, "D", high[1], lookahead=barmerge.lookahead_on)
    lowPrevDay = request.security(syminfo.tickerid, "D", low[1], lookahead=barmerge.lookahead_on)
    closePrevDay = request.security(syminfo.tickerid, "D", close[1], lookahead=barmerge.lookahead_on)
    [highPrevDay, lowPrevDay, closePrevDay]

// Call the function to get support and resistance levels
[supResHigh, supResLow, supResClose] = calculateSupportResistance()

// Plotting support and resistance levels
plot(supResHigh, color=color.red, linewidth=2, title="Previous Day High")
plot(supResLow, color=color.green, linewidth=2, title="Previous Day Low")
plot(supResClose, color=color.blue, linewidth=2, title="Previous Day Close")

// Backtesting logic
backtestCondition = close[1] < supResLow and close > supResLow
strategy.entry("Long", strategy.long, when=backtestCondition)

// Plotting buy/sell arrows for backtesting
plotarrow(backtestCondition ? 1 : na, colorup=color.green, offset=-1, transp=0)