Estrategia de ruptura automática de S/R

El autor:¿ Qué pasa?, Fecha: 2023-12-06 16:51:30
Las etiquetas:

img

Resumen general

La estrategia Auto S/R es una estrategia de seguimiento de tendencias. Calcula los precios más altos y más bajos durante ciertos períodos para determinar los niveles clave de soporte y resistencia. Cuando el precio rompe estos niveles clave, se ejecutan órdenes de compra o venta.

Estrategia lógica

La estrategia primero calcula los precios más altos y más bajos en un número de barras en los lados izquierdo y derecho para identificar los principales niveles de soporte y resistencia. Luego calcula los precios más altos y más bajos en un número menor de barras para determinar los niveles de soporte y resistencia a corto plazo. Cuando el precio se rompe por encima del nivel de soporte a corto plazo, se activa una orden de compra. Cuando el precio se rompe por debajo del nivel de resistencia a corto plazo, se activa una orden de venta.

La lógica clave detrás de la estrategia es que si el precio rompe los niveles de soporte o resistencia formados en ambos lados durante ciertos períodos, es probable que indique el comienzo de una nueva tendencia.

Análisis de ventajas

La mayor ventaja de esta estrategia es que puede identificar automáticamente los niveles clave de soporte y resistencia, eliminando la necesidad de identificar manualmente los niveles de precios.

Además, las reglas de entrada y salida son simples y sencillas, solo requieren una ruptura de los niveles S/R a corto plazo.

Análisis de riesgos

El mayor riesgo es que los niveles de S/R calculados automáticamente puedan no ser confiables, y el precio podría romper sin iniciar una tendencia.

Además, si el período de S/R a corto plazo es demasiado corto, puede generar señales falsas excesivas, lo que conduce a altas pérdidas en el comercio en vivo.

Para reducir los riesgos, considere agregar condiciones de filtro utilizando otros indicadores como volumen y promedios móviles para confirmar la direccionalidad de la tendencia antes de las entradas.

Direcciones de optimización

Hay dos aspectos principales en los que se puede optimizar esta estrategia:

  1. Optimizar los parámetros de entrada para encontrar las combinaciones de períodos óptimas para la mayor tasa de éxito de ruptura.

  2. Añadir filtros adicionales como indicadores de volumen/momentum y medias móviles para evitar falsos breakouts. Combinar con la inspección manual de los niveles S/R también podría mejorar el rendimiento.

Resumen de las actividades

En general, este es un marco sólido para identificar automáticamente los niveles de soporte y resistencia. La implementación es sencilla gracias a la detección automatizada de S / R, lo que lo hace adecuado para las estrategias de seguimiento de tendencias.


/*backtest
start: 2023-01-01 00:00:00
end: 2023-12-05 00:00:00
period: 1d
basePeriod: 1h
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/
// © lukaRT

//@version=5
strategy("Auto S/R Strategy", shorttitle="Auto S/R", overlay=true)

// Ваши входные параметры
leftBars = input.int(50, title="Left Bars")
rightBars = input.int(25, title="Right Bars")
quickRightBars = input.int(5, title="Quick Right Bars")
src = input(close, title="Source")

pivotHigh = ta.pivothigh(src, leftBars, rightBars)
pivotLow = ta.pivotlow(src, leftBars, rightBars)

quickPivotHigh = ta.pivothigh(src, leftBars, quickRightBars)
quickPivotLow = ta.pivotlow(src, leftBars, quickRightBars)

// Ваши уровни сопротивления и поддержки
resistanceLevel1 = ta.valuewhen(quickPivotHigh, high[quickRightBars], 0)
supportLevel1 = ta.valuewhen(quickPivotLow, low[quickRightBars], 0)

// Пересечение ценой уровней
longCondition = ta.crossover(close, supportLevel1)
shortCondition = ta.crossunder(close, resistanceLevel1)

strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)

// Отображение линий сопротивления и поддержки на графике
plot(resistanceLevel1, color=color.red, title="Resistance Level 1")
plot(supportLevel1, color=color.green, title="Support Level 1")


Más.