Estrategia comercial de ruptura de soporte y resistencia dinámica combinada con filtrado de tendencias y sistema de gestión de riesgos

SMA MA RR RATIO risk management
Fecha de creación: 2025-02-20 15:51:23 Última modificación: 2025-02-27 17:33:24
Copiar: 1 Número de Visitas: 347
2
Seguir
319
Seguidores

Estrategia comercial de ruptura de soporte y resistencia dinámica combinada con filtrado de tendencias y sistema de gestión de riesgos Estrategia comercial de ruptura de soporte y resistencia dinámica combinada con filtrado de tendencias y sistema de gestión de riesgos

Descripción general

Esta es una estrategia de negociación basada en la ruptura de la zona de resistencia de soporte, combinada con un filtro de tendencia y un sistema de gestión de riesgos. La estrategia identifica oportunidades de negociación potenciales mediante la identificación dinámica de los niveles de precios clave y utiliza medias móviles para confirmar la dirección de la tendencia del mercado.

Principio de estrategia

La lógica central de la estrategia incluye los siguientes componentes clave:

  1. Utiliza los puntos altos y bajos del eje para identificar las áreas de resistencia potencial de soporte
  2. Crear un rango de resistencia de soporte mediante el establecimiento de un porcentaje de desviación de precio
  3. El uso de medias móviles de 200 días como filtro de tendencias
  4. Confirmación de la efectividad de la brecha mediante el formato de la barra
  5. Implementar reglas estrictas de gestión de fondos y controlar el riesgo de cada transacción El sistema abre posiciones de más cabeza cuando el precio se rompe la zona de resistencia y la tendencia hacia arriba; cuando el precio se rompe la zona de soporte y la tendencia hacia abajo, el sistema abre una posición de cabeza vacía.

Ventajas estratégicas

  1. Estructura de mercado de identificación dinámica - estrategias capaces de identificar y actualizar automáticamente los niveles de precios importantes para adaptarse a los cambios en el mercado
  2. Mecanismo de confirmación múltiple - combinación de filtración de tendencias y confirmación de filtros para reducir el riesgo de falsos avances
  3. Una buena gestión de riesgos: reglas de riesgo fijas para proteger los fondos de las cuentas
  4. Objetivo de ganancias claro - riesgo de ganancias de 2: 1 en comparación con el establecimiento de una posición de parada
  5. Señales de negociación visuales - muestran claramente las áreas de resistencia de soporte y las líneas de stop loss en el gráfico

Riesgo estratégico

  1. Riesgo de fluctuaciones en el mercado - Puntos de deslizamiento que pueden ocurrir durante períodos de alta volatilidad y afectar la efectividad de las operaciones reales
  2. Riesgo de reversión de la tendencia - el mercado puede revertir rápidamente después de la ruptura, lo que lleva a una salida de pérdidas
  3. Riesgo de optimización de parámetros - la optimización excesiva de los parámetros puede conducir a una sobreajuste
  4. Riesgo de gestión de fondos: los pérdidas continuas pueden afectar el crecimiento de la cuenta Se recomienda que se administren estos riesgos mediante la evaluación de diferentes entornos del mercado y la adaptación de los parámetros establecidos.

Dirección de optimización de la estrategia

  1. Amplitud de la zona de resistencia de soporte de ajuste dinámico - ajuste automático del rango de la zona en función de las fluctuaciones del mercado
  2. Aumento de la confirmación de la transacción - Añadir la condición de filtro de la transacción en la señal de ruptura
  3. Optimización de filtros de tendencias - Considere el uso de confirmación de tendencias de varios ciclos
  4. Mejorar las estrategias de stop loss - lograr un stop loss dinámico y ajustar los objetivos de ganancias según las condiciones del mercado
  5. Añadir filtro de tiempo - evitar el comercio en períodos de mayor volatilidad del mercado

Resumir

Se trata de una estrategia de negociación bien estructurada, que ofrece un método de negociación sistematizado mediante la combinación de análisis técnico y principios de gestión de riesgos. La ventaja de la estrategia radica en sus normas de negociación completas y un control estricto de los riesgos, pero también requiere que el comerciante entienda sus limitaciones y realice la optimización y ajuste adecuados en función de las condiciones reales de negociación.

Código Fuente de la Estrategia
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/

//@version=5
strategy("支撑/阻力区域突破策略(2倍止盈 + 蜡烛确认 + 趋势过滤)", overlay=true, initial_capital=10000, currency=currency.USD, pyramiding=0, calc_on_order_fills=true, calc_on_every_tick=true)

// 用户输入设置
pivotLen = input.int(title="枢轴识别窗口长度", defval=5, minval=1)
zoneOffsetPercent = input.float(title="区域偏移百分比 (%)", defval=0.1, step=0.1)
maLength = input.int(200, title="移动平均线周期")

// 趋势指标: 简单移动平均线(SMA)
trendMA = ta.sma(close, maLength)

// 识别高点和低点(枢轴高点/低点)
ph = ta.pivothigh(high, pivotLen, pivotLen)
pl = ta.pivotlow(low, pivotLen, pivotLen)

// 存储最近的阻力位和支撑位
var float resistanceLevel = na
var int resistanceBar = na
if not na(ph)
    resistanceLevel := ph
    resistanceBar := bar_index - pivotLen

var float supportLevel = na
var int supportBar = na
if not na(pl)
    supportLevel := pl
    supportBar := bar_index - pivotLen

// 将阻力和支撑区域绘制为区域框
if not na(resistanceLevel)
    resOffset = resistanceLevel * (zoneOffsetPercent / 100)
    resTop = resistanceLevel + resOffset
    resBottom = resistanceLevel - resOffset


if not na(supportLevel)
    supOffset = supportLevel * (zoneOffsetPercent / 100)
    supTop = supportLevel + supOffset
    supBottom = supportLevel - supOffset


// 风险管理: 定义资金、风险百分比和计算风险金额
riskCapital = 10000.0
riskPercent = 0.01
riskAmount = riskCapital * riskPercent   // 1% of $10,000 = $100

// activeStop变量用于显示止损位
var float activeStop = na
if strategy.position_size == 0
    activeStop := na

// 确定趋势方向
isUptrend = close > trendMA   // 上升趋势(价格在MA之上)
isDowntrend = close < trendMA  // 下降趋势(价格在MA之下)

// 定义突破蜡烛和确认蜡烛
var bool breakoutUp = false
var bool breakoutDown = false

if not na(resistanceLevel) and close[1] > resistanceLevel and open[1] < resistanceLevel
    breakoutUp := true
else
    breakoutUp := false

if not na(supportLevel) and close[1] < supportLevel and open[1] > supportLevel
    breakoutDown := true
else
    breakoutDown := false

// 突破确认: 下一根蜡烛必须在突破方向收盘
confirmLong = breakoutUp and close > close[1] and strategy.position_size == 0 and isUptrend
confirmShort = breakoutDown and close < close[1] and strategy.position_size == 0 and isDowntrend

// 做多入场: 确认蜡烛 + 在突破蜡烛低点设置止损
if confirmLong
    entryPrice = close
    stopLevelLong = low[1]
    riskPerUnit = entryPrice - stopLevelLong
    if riskPerUnit > 0
        qty = riskAmount / riskPerUnit
        activeStop := stopLevelLong
        takeProfitLong = entryPrice + (riskPerUnit * 2)  // 止盈设为止损的2倍
        strategy.entry("Long", strategy.long, qty=qty)
        strategy.exit("Exit Long", from_entry="Long", stop=stopLevelLong, limit=takeProfitLong)

// 做空入场: 确认蜡烛 + 在突破蜡烛高点设置止损
if confirmShort
    entryPrice = close
    stopLevelShort = high[1]
    riskPerUnit = stopLevelShort - entryPrice
    if riskPerUnit > 0
        qty = riskAmount / riskPerUnit
        activeStop := stopLevelShort
        takeProfitShort = entryPrice - (riskPerUnit * 2)  // 止盈设为止损的2倍
        strategy.entry("Short", strategy.short, qty=qty)
        strategy.exit("Exit Short", from_entry="Short", stop=stopLevelShort, limit=takeProfitShort)

// 当有持仓时在图表上显示止损线(水平线)
plot(strategy.position_size != 0 ? activeStop : na, title="止损线", color=color.red, linewidth=2, style=plot.style_line)

// 在图表上显示移动平均线
plot(trendMA, title="趋势MA", color=color.blue, linewidth=2)