Estrategia de ruptura del rango de media móvil


Fecha de creación: 2023-12-12 17:38:19 Última modificación: 2023-12-12 17:38:19
Copiar: 0 Número de Visitas: 715
1
Seguir
1621
Seguidores

Estrategia de ruptura del rango de media móvil

Descripción general

La estrategia es una estrategia de ruptura de rango basada en una media móvil. Se trata de una operación de compra y venta basada en una media móvil de un determinado período y una línea ascendente y descendente establecida para determinar la ruptura de precio.

Principio de estrategia

La estrategia se basa en los siguientes principios:

  1. Establezca un promedio móvil de un período determinado como eje central.

  2. El rango de intervalo se establece en el eje central y se obtiene multiplicando el eje central por un porcentaje determinado. La línea de trayecto superior se multiplica por el eje central por ((100% + porcentaje establecido) y la línea de trayecto inferior por el eje central por ((100% - porcentaje establecido))

  3. Cuando el precio sube y rompe la línea de la vía superior, haga falta; cuando el precio baja y rompe la línea de la vía inferior, haga más.

  4. El precio del pedido se establece como el correspondiente precio de la línea ascendente y descendente.

  5. Cuando el precio vuelve a la línea central, la posición se apaga.

De esta manera, la estrategia de negociación se realiza capturando las rupturas de precios a través de las medias móviles y sus rangos intermedios.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. El concepto es simple, claro, fácil de entender y de implementar.

  2. Se puede ajustar con parámetros para adaptarse a diferentes entornos de mercado.

  3. El eje central y el rango de intervalos pueden filtrar el ruido del mercado y capturar las tendencias.

  4. El precio de compra limitado permite controlar el riesgo.

  5. El regreso a la línea media evita pérdidas excesivas.

Análisis de riesgos

La estrategia también tiene sus riesgos:

  1. La configuración incorrecta de los parámetros de intervalo puede causar transacciones frecuentes o insuficientes.

  2. La probabilidad de que se produzca una falsa ruptura es mayor, y es posible que se produzca un deterioro.

  3. Cuando la situación fluctúa fuertemente, el eje central y el rango de intervalo no funcionan.

  4. El regreso a la línea central puede causar pérdidas forzadas y un abandono prematuro.

Resolución de las mismas:

  1. Optimización de los parámetros, selección de las medias móviles apropiadas y porcentaje de intervalos.

  2. En combinación con otros indicadores, evitar falsas brechas.

  3. Aumentar las intervenciones humanas.

  4. El promedio móvil está configurado para tener un ciclo más largo, con un rango de amplificación apropiado.

Dirección de optimización

La estrategia se puede optimizar principalmente en las siguientes direcciones:

  1. Aumentar las condiciones de parada, como el seguimiento de la parada y evitar pérdidas excesivas.

  2. Se añaden filtros de indicadores como MACD, KD, etc., para reducir las falsas brechas.

  3. Se ha añadido la función de optimización automática de parámetros para que los parámetros se ajusten en tiempo real según los cambios en el mercado.

  4. Aumentar las condiciones de apertura de posiciones para evitar la mera dependencia de brechas.

  5. Optimización de la configuración de los parámetros de la media móvil en períodos y intervalos.

Resumir

La estrategia en su conjunto es una estrategia de ruptura de un rango de medias móviles bastante práctica. Su concepto es simple, fácil de entender y implementar, y funciona mejor en mercados con una tendencia más evidente a través de un rango de filtración de ruido. Pero también hay algunos riesgos, que requieren atención para la optimización de los parámetros y su uso en combinación con otros indicadores.

Código Fuente de la Estrategia
/*backtest
start: 2023-01-01 00:00:00
end: 2023-08-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy(title = "Robot WhiteBox ShiftMA", shorttitle = "Robot WhiteBox ShiftMA", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
per = input(3, title = "Length")
src = input(ohlc4, title = "Source")
shortlevel = input(10.0, title = "Short line (red)")
longlevel = input(-5.0, title = "Long line (lime)")
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")

//SMAs
sma = sma(src, per) 
shortline = sma * ((100 + shortlevel) / 100)
longline = sma * ((100 + longlevel) / 100)
plot(shortline, linewidth = 2, color = red, title = "Short line")
plot(sma, linewidth = 2, color = blue, title = "SMA line")
plot(longline, linewidth = 2, color = lime, title = "Long line")

//Trading
size = strategy.position_size
lot = 0.0
lot := size == 0 ? strategy.equity / close * capital / 100 : lot[1]

if (not na(close[per])) and size == 0 and needlong
    strategy.entry("L", strategy.long, lot, limit = longline)
    
if (not na(close[per])) and size == 0 and needshort
    strategy.entry("S", strategy.short, lot, limit = shortline)
    
if (not na(close[per])) and size > 0 
    strategy.entry("Close", strategy.short, 0, limit = sma)
    
if (not na(close[per])) and size < 0 
    strategy.entry("Close", strategy.long, 0, limit = sma)

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()