Estrategia de negociación de swing con impulso


Fecha de creación: 2023-11-21 16:57:07 Última modificación: 2023-11-21 16:57:20
Copiar: 1 Número de Visitas: 564
1
Seguir
1617
Seguidores

Estrategia de negociación de swing con impulso

Descripción general

Esta estrategia se basa en el indicador de la banda de Brin, combinado con el indicador de la dinámica, una estrategia de negociación combinada para lograr la regresión de la banda de Brin y la ruptura de la dinámica. Haga más cuando el precio rompa la línea media desde debajo de la banda de Brin, haga un descuento cuando el precio rompa la línea media desde arriba de la banda de Brin, y rastree las paradas de pérdidas y pérdidas, y luego aplanar la posición para alcanzar el objetivo de pérdidas y ganancias.

Principio de estrategia

Esta estrategia utiliza la esma de la banda central de Bryn como indicador de la línea media, y la ancho de banda a través del parámetro mult*stdev ajuste dinámico. Cuando el precio rompe la línea media desde abajo, indica que el precio obtiene un movimiento hacia arriba, y hace más; cuando el precio rompe la línea media desde arriba, indica que el precio obtiene un movimiento hacia abajo, y hace vacío.

Concretamente, el cálculo de la banda de Brin se realiza a través de los dos parámetros length y mult, donde length determina el ciclo de la línea media, y mult determina el tamaño de la banda ancha. EnterLong y enterShort determinan el momento de la ruptura, y exitLong y exitShort calculan el precio de parada de pérdida en función del precio de entrada y la proporción de parada de meta.

Ventajas estratégicas

Esta estrategia combina la regresión de la línea media y el indicador de movimiento, lo que permite capturar una mayor cantidad de movimiento en la fase inicial de la tendencia. En comparación con el simple seguimiento de la línea media, se agrega un juicio de movimiento basado en el ancho de banda de Brin, que puede filtrar algunas falsas rupturas. La configuración de stop loss se basa directamente en el cálculo del precio de entrada, sin intervención humana.

Riesgo estratégico

  • El precio de la cinta de Brin está retrasado y podría haberse perdido parte de la operación
  • La configuración de stop loss demasiado flexible aumenta el riesgo de pérdidas
  • Las señales de vacío en operaciones múltiples pueden ser mal recibidas.

Se puede optimizar mediante la adaptación del ciclo de la línea media de Brin, los parámetros de ancho de banda y el margen de parada para que la estrategia se adapte mejor a las diferentes condiciones del mercado.

Optimización de la estrategia

  • Incluir indicadores de volumen de transacciones o volatilidad para evitar falsas brechas de bajo volumen
  • parámetros de optimización de la longitud del ciclo de Boolean, el coeficiente de anchura y la amplitud de parada
  • Solo hacer más o solo hacer menos en ciertas fases del mercado
  • Un modelo de aprendizaje automático para determinar la dirección de la tendencia

Resumir

Esta estrategia integra las ventajas de la regresión de la banda de Brin y el indicador de la dinámica, puede capturar de manera progresiva parte de la situación cuando comienza la tendencia, puede adaptarse a diferentes etapas del mercado a través de ajustes de parámetros, es un sistema de ruptura más general. La configuración de stop loss directamente desde el cálculo del precio puede reducir la intervención manual.

Código Fuente de la Estrategia
/*backtest
start: 2023-11-13 00:00:00
end: 2023-11-20 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("BURATINO", overlay=true)

// Входные параметры
length = input(20, minval=1, title="Length")
mult = input(2.0, minval=0.1, maxval=5, title="Multiplier")
target_percent = input(0.5, minval=0.1, title="Target Percent")
stop_loss_percent = input(95, minval=0.1, title="Stop Loss Percent")

// Расчет полос Боллинджера
basis = sma(close, length)
dev = mult * stdev(close, length)
upper = basis + dev
lower = basis - dev

// Переворот снизу вверх через среднюю линию Боллинджера для открытия лонга
enterLong = cross(close, basis) and close[1] < basis[1]

// Переворот сверху вниз через среднюю линию Боллинджера для открытия шорта
enterShort = cross(basis, close) and close[1] > basis[1]

// Закрытие лонга после роста цены на указанный процент или падения на указанный процент
exitLong = close >= strategy.position_avg_price * (1 + (target_percent / 100)) or close <= strategy.position_avg_price * (1 - (stop_loss_percent / 100))

// Закрытие шорта после падения цены на указанный процент или роста на указанный процент
exitShort = close <= strategy.position_avg_price * (1 - (target_percent / 100)) or close >= strategy.position_avg_price * (1 + (stop_loss_percent / 100))

// Управление позициями и ограничениями на открытие противоположных позиций
strategy.entry("Long", strategy.long, when = enterLong and strategy.position_size == 0)
strategy.entry("Short", strategy.short, when = enterShort and strategy.position_size == 0)

strategy.close("Long", when = exitLong)
strategy.close("Short", when = exitShort)

// Визуализация полос Боллинджера
plot(basis, color=color.blue, title="Basis")
plot(upper, color=color.red, title="Upper")
plot(lower, color=color.green, title="Lower")