Estrategia de brecha de media móvil rezagada


Fecha de creación: 2023-10-26 16:05:01 Última modificación: 2023-10-26 16:05:01
Copiar: 0 Número de Visitas: 700
1
Seguir
1617
Seguidores

Estrategia de brecha de media móvil rezagada

Este artículo analiza en detalle la estrategia de seguimiento de promedios móviles de saltos que Noro ha elaborado. La estrategia calcula la distancia entre el precio de cierre y el promedio móvil simple para determinar el momento en que se produce un cambio de tendencia en el mercado y lograr una venta baja.

Principio de estrategia

La estrategia primero calcula el promedio móvil simple de 3 días sma. Luego calcula el ratio de precio de cierre close con sma, y luego resta 1, obteniendo un indicador ind. Cuando el ind sobrepasa el límite de los parámetros predeterminados, indica que el precio de cierre ha superado claramente el sma, considera hacer más; cuando el ind debajo del límite, indica que el precio de cierre ha estado muy por debajo del sma, considera hacer menos.

La estrategia también traza el eje 0, el eje límite y el eje límite. Cuando el indicador ind está en diferentes áreas, se colorea con diferentes colores para ayudar a juzgar. Cuando el indicador ind cruza el límite o el límite, se muestra una señal de exceso o falta.

Cuando la estrategia genera una señal de hacer más o hacer menos, primero se borra la posición en la dirección opuesta a la actual, y luego se abre una posición de hacer más o hacer menos. Cuando el indicador ind regresa entre el eje 0 se borran todas las posiciones.

Ventajas estratégicas

  1. Utilizando el principio de salto alto, cuando los precios se alejan claramente de la media móvil, se toma una operación de reversión, lo que es diferente al seguimiento de la tendencia, la estrategia de salto alto busca capturar los puntos de inflexión.

  2. Dibujar el eje del indicador, intuir la posición y el paso del indicador.

  3. Optimización de la lógica de la posición cerrada, para abrir una nueva posición de forma inversa después de la posición actual, evitando la innecesaria posición inversa.

  4. Establezca un rango de tiempo de negociación para evitar posiciones innecesarias durante la noche.

  5. Permite la configuración de un interruptor de transacción que accede a los dos lados de la zona de la barra, que puede hacer solo más o solo vacío.

Riesgo estratégico

  1. Las estrategias de seguimiento de medias móviles son propensas a generar múltiples operaciones perdedoras y son adecuadas para mantener posiciones pacientes.

  2. El promedio móvil es un indicador de falta de flexibilidad que no refleja los cambios en los precios.

  3. El límite de parámetros predeterminados es más estático y requiere ajustes para diferentes variedades y entornos de mercado.

  4. El seguimiento de las medias móviles no puede identificar fluctuaciones dentro de la tendencia, por lo que debe utilizarse en combinación con indicadores de fluctuación.

  5. Necesidad de optimizar las reglas de mantenimiento de la posición, como la configuración de stop loss, stop-loss; o para capturar saltos sólo en el inicio de la tendencia.

Dirección de optimización de la estrategia

  1. Se pueden probar diferentes configuraciones de parámetros, como el ciclo de sma; o el uso de promedios móviles adaptativos, como el promedio móvil de índices.

  2. Se puede agregar una media móvil para determinar la dirección, el ángulo, etc., evitando que la plataforma se convierta en una operación inútil.

  3. Se puede considerar la posibilidad de combinar con un indicador de volatilidad, como la banda de Brin, para suspender la negociación cuando la volatilidad aumenta.

  4. Se pueden establecer reglas de administración de posiciones, como la apertura de posiciones de cantidad fija, el aumento gradual de las posiciones y la administración de fondos.

  5. Se puede establecer un límite de stop loss, o suspender los nuevos pedidos cuando se detienen en una proporción fija, para controlar el riesgo individual.

Resumir

Este artículo analiza en detalle la estrategia de seguimiento de promedios móviles de saltos elaborada por Noro. La estrategia utiliza las características de los promedios móviles de saltos de precios, diseña la línea de referencia y el dibujo de colores para determinar el momento de entrada. Al mismo tiempo, optimiza la lógica de orden de posición plana y establece un rango de tiempo de negociación.

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

//Noro
//2018

//@version=3
strategy(title = "Noro's Shift Close Strategy v1.0", shorttitle = "Shift Close 1.0", default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 5)

//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, %")
limit = input(10)
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")

//Shift MA
sma = sma(ohlc4, 3)
ind = ((close / sma) - 1) * 100

//Oscilator
plot(3 * limit, color = na, transp = 0)
plot(limit, color = black, transp = 0)
plot(0, color = black, transp = 0)
plot(-1 * limit, color = black, transp = 0)
plot(-3 * limit, color = na, transp = 0)
plot(ind, linewidth = 3, transp = 0)
col = ind > limit ? red : ind < -1 * limit ? lime : na
bgcolor(col, transp = 0)

//Signals
size = strategy.position_size
up = ind < -1 * limit
dn = ind > limit
exit = ind > -1 * limit and ind < limit

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

if up
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if dn
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if exit
    strategy.close_all()