El movimiento rompe la estrategia de contención de pérdidas del cinturón de tren

El autor:¿ Qué pasa?, Fecha: 2023-10-27 16:50:24
Las etiquetas:

动量突破布林带止损策略

Resumen

Esta estrategia se basa en los indicadores de la banda de Bryn para el juicio de señales de comercio, la gestión de posiciones con el uso de un método de stop loss para el bloqueo. La estrategia monitoriza la ruptura de la banda de Bryn en el camino y en el camino, hacer más cuando el precio se rompe la banda de Bryn en el camino, hacer blanco cuando se rompe el camino, y el uso de una sola posición de stop loss en el camino inverso.

Principios estratégicos

La estrategia utiliza la línea media, ascendente y descendente de los indicadores de la banda de Bryn. La línea media es la mediana de precios calculada en un determinado ciclo, la línea ascendente es el doble de la línea media más el desvío estándar, y la línea descendente es el doble de la línea media menos el desvío estándar.

El código primero calcula el trayecto medio, ascendente y descendente de la banda de Bryn; luego, para determinar si el precio se rompe o se desvía, si se rompe el trayecto, más, si se rompe el trayecto, vacío; mientras que, si el precio se rompe o se desvía en sentido inverso, se usa un solo nivel de stop loss.

En concreto, la lógica estratégica es la siguiente:

  1. Calculación de trayectoria media, alta y baja del cinturón de Bryn
  2. Si el precio rompe la línea, abre más.
  3. Si el precio rompe la trayectoria baja, abrir una posición.
  4. Si hay más posiciones, el precio se rompe la trayectoria baja, el uso de la liquidación de pérdida única
  5. Si hay posiciones vacías, el precio rompe el rumbo y se usa el equilibrio de pérdida única.

De esta manera, se puede capturar la tendencia cuando los precios de las acciones producen grandes fluctuaciones, mientras que también se puede limitar las pérdidas mediante el stop loss.

Análisis de ventajas

  • El uso de los indicadores de la correa para determinar el momento de entrada es eficaz para capturar el mercado de tendencia después de que el precio se rompa.
  • Hacer más señales de vuelo claras, reglas de operación simples y claras
  • Usar una estrategia de stop loss para limitar las pérdidas máximas en una sola operación
  • El ParameterHandler puede ajustar los parámetros del bracket para optimizar la política

Análisis de riesgos

  • Las transacciones en la franja son propensas a generar pérdidas múltiples de un solo stop, lo que daña las ganancias y pérdidas en general.
  • La configuración incorrecta de los parámetros de la banda de blindaje puede causar una frecuencia de transacción demasiado alta o una falta de señal
  • El precio es el único factor que se toma en cuenta para evaluar el mercado sin combinar otros indicadores.
  • Sin tener en cuenta el ajuste de la línea de stop loss cerca del punto de ruptura, puede ampliar las pérdidas.

Se puede optimizar mediante combinaciones de indicadores Combine, ajustes apropiados de unidades de stop loss, etc.

Dirección de optimización

  • Se puede considerar la combinación de otros indicadores, como el volumen de operaciones, la media móvil, etc., para confirmar la señal de ruptura.
  • Los parámetros de la cinta de browning se pueden ajustar para optimizar la combinación de parámetros según los diferentes mercados.
  • Se puede ajustar la distancia de detención cercana según el punto de ruptura, evitando la sobre-sensibilidad
  • Se puede considerar la combinación de reglas de comercio de playa para negociar solo después de que se forme una tendencia.
  • Puede combinarse con algoritmos de aprendizaje automático para optimizar los parámetros de la cinta de Bryn.

Resumen

Esta estrategia está basada en un indicador de la banda de Bryn; puede formar posiciones rápidamente cuando el precio se rompe, mientras que se utiliza el stop loss para controlar el riesgo. Pero sólo tener en cuenta los factores de precio puede causar errores, y los stop los más sensibles también pueden aumentar la frecuencia de las transacciones. Podemos perfeccionar aún más la estrategia mediante la optimización de parámetros, combinación de indicadores, ajuste de stop loss, etc. En general, esta estrategia nos ofrece una idea de negociación cuantificada relativamente simple y confiable.


/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 1h
basePeriod: 15m
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/
// © ROBO_Trading

//@version=5
strategy(title = "Bollinger Stop Strategy", shorttitle = "BBStop", overlay = true, default_qty_type = strategy.percent_of_equity, initial_capital = 10000, default_qty_value = 100, commission_value = 0.1)

//Settings
long = input(true)
short = input(true)
length = input.int(20, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)
source = input(close)
showbb = input(true, title = "Show Bollinger Bands")
showof = input(true, title = "Show Offset")
startTime = input(defval = timestamp("01 Jan 2000 00:00 +0000"), title = "Start Time", inline = "time1")
finalTime = input(defval = timestamp("31 Dec 2099 23:59 +0000"), title = "Final Time", inline = "time1")

//Bollinger Bands
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev

//Show indicator
offset = showof ? 1 : 0
colorBasis = showbb ? color.gray : na
colorUpper = showbb ? color.blue : na
colorLower = showbb ? color.blue : na
colorBands = showbb ? color.blue : na
p0 = plot(basis, "Basis", color = colorBasis, offset = offset)
p1 = plot(upper, "Upper", color = colorUpper, offset = offset)
p2 = plot(lower, "Lower", color = colorLower, offset = offset)
fill(p1, p2, title = "Background", color = colorBands, transp = 90)

//Trading
truetime = true
if basis > 0 and truetime
    if long
        strategy.entry("Long", strategy.long, stop = upper, when = truetime)
    if short
        strategy.entry("Short", strategy.short, stop = lower, when = truetime)
    if long == false
        strategy.exit("Exit", "Short", stop = upper)
    if short == false
        strategy.exit("Exit", "Long", stop = lower)
if time > finalTime
    strategy.close_all()

Más contenido