Estrategia de caja blanca del robot del canal de precios

El autor:¿ Qué pasa?, Fecha: 2024-02-28 17:51:14
Las etiquetas:

img

Resumen general

La estrategia de caja blanca del robot de canal de precios es una estrategia de trading mecánica simple basada en el indicador del canal de precios. Utiliza los límites superior e inferior del canal de precios para determinar los puntos de entrada y salida.

Estrategia lógica

La lógica central de la estrategia de la caja blanca del robot del canal de precios es:

  1. Utilizar las funciones más alta y más baja para calcular el máximo más alto y el mínimo más bajo de las barras len recientes, definidas como límites superiores e inferiores del canal de precios
  2. Calcular el precio medio del canal de precios: (más alto + más bajo) / 2
  3. Ir largo cuando el precio se rompe por encima del límite superior del canal de precios
  4. Ir corto cuando el precio se rompe por debajo del límite inferior del canal de precios
  5. Posición cerrada cuando el precio retrocede al precio medio del canal de precios

La estrategia también tiene algunos parámetros configurables:

  • longitud del canal de precios len: 50 bares por defecto
  • Dirección del comercio: largo, corto puede configurarse por separado
  • Importe de la operación: por defecto 100% del capital de la cuenta
  • Opción de uso del precio medio como stop loss
  • Horario de negociación: solo negociación dentro del intervalo de fechas configurado

Al ajustar estos parámetros, la estrategia puede adaptarse mejor a los diferentes productos y entornos de mercado.

Análisis de ventajas

La estrategia de la caja blanca del robot del canal de precios tiene las siguientes ventajas:

  1. Lógica sencilla, fácil de entender e implementar
  2. Hacer pleno uso del indicador del canal de precios para determinar la tendencia y la inversión
  3. Parámetros altamente configurables para una mejor adaptabilidad
  4. Mecanismo integrado de stop loss para limitar las pérdidas
  5. Filtro de tiempo de soporte para evitar los impactos de eventos importantes

En resumen, es una estrategia de tendencia simple pero práctica, que puede lograr resultados decentes después de ajustar los parámetros.

Análisis de riesgos

La estrategia de la caja blanca del robot del canal de precios también tiene algunos riesgos:

  1. El indicador de canal de precios es sensible a los parámetros len, pruebas independientes y optimización necesarias para diferentes plazos y productos
  2. El seguimiento del stop loss corre el riesgo de que se detenga prematuramente, la distancia de stop loss debe ajustarse en función de la volatilidad del mercado
  3. Excesivas operaciones sin sentido durante los mercados de rango y laterales, aumentando los costes de transacción y el deslizamiento

Para reducir estos riesgos, es necesario optimizar los siguientes aspectos:

  1. Utilice el análisis de avanzada para optimizar automáticamente los parámetros
  2. Añadir zona de amortiguamiento para detener el precio de pérdida para evitar ser detenido
  3. Añadir filtro de tendencia para evitar la negociación en el mercado lateral

Direcciones de optimización

Hay espacio para una mayor optimización de la estrategia de caja blanca del robot del canal de precios:

  1. Añadir el juicio de tendencia de mayor plazo para evitar la negociación contra tendencia
  2. Utilizar el diferencial de precios entre productos correlacionados para establecer parámetros y utilizar oportunidades de arbitraje
  3. Añadir un amortiguador aleatorio para detener el precio de pérdida para reducir la posibilidad de detenerse
  4. Ajuste dinámico del parámetro del canal de precios len basado en la volatilidad del mercado
  5. Entrenar agentes con métodos de aprendizaje profundo para optimizar la estrategia de productos específicos

Estas técnicas de optimización podrían contribuir a mejorar aún más la estabilidad y la rentabilidad de la estrategia.

Resumen de las actividades

La estrategia de caja blanca del robot de canal de precios es una estrategia simple pero práctica de seguimiento de tendencias. Identifica la dirección de la tendencia y los puntos de reversión utilizando el indicador del canal de precios para tomar decisiones comerciales. La estrategia es fácil de entender e implementar, y puede lograr retornos decentes después de ajustar los parámetros. También hay ciertos riesgos que deben mitigarse mediante la optimización de parámetros y stop loss.


/*backtest
start: 2023-02-21 00:00:00
end: 2024-02-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro

//@version=4
strategy(title = "Robot WhiteBox Channel", shorttitle = "Robot WhiteBox Channel", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_value = 0.1)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
needstop = input(true, defval = true, title = "Stop-loss")
lotsize = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
len = input(50, minval = 1, title = "Price Channel Length")
showll = input(true, defval = true, title = "Show lines")
showbg = input(false, defval = false, title = "Show Background")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Price Channel
h = highest(high, len)
l = lowest(low, len)
center = (h + l) / 2

//Lines
pccol = showll ? color.black : na
slcol = showll ? color.red : na
plot(h, offset = 1, color = pccol)
plot(center, offset = 1, color = slcol)
plot(l, offset = 1, color = pccol)

//Background
size = strategy.position_size
bgcol = showbg == false ? na : size > 0 ? color.lime : size < 0 ? color.red : na
bgcolor(bgcol, transp = 70)

//Trading
truetime = time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)
lot = 0.0
lot := size != size[1] ? strategy.equity / close * lotsize / 100 : lot[1]
if h > 0
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = h, when = strategy.position_size <= 0 and truetime)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = l, when = strategy.position_size >= 0 and truetime)
    strategy.entry("S Stop", strategy.long, 0, stop = center, when = strategy.position_size[1] <= 0 and needstop)
    strategy.entry("L Stop", strategy.short, 0, stop = center, when = strategy.position_size[1] >= 0 and needstop)
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()
    strategy.cancel("Long")
    strategy.cancel("Short")

Más.