En la carga de los recursos... Cargando...

Estrategia de inversión de la media móvil doble

El autor:¿ Qué pasa?, Fecha: 2023-10-24 10:56:08
Las etiquetas:

双重移动平均线反转策略

Resumen

La estrategia utiliza principalmente dos medias móviles como señales de compra y venta para obtener ganancias en caso de reversión de tendencia. Es una estrategia común de seguimiento de pérdidas cuando se pasa por medias móviles largas cuando se pasa por medias móviles largas y cuando se pasa por medias móviles largas cuando se pasa por medias móviles largas cuando se sale por debajo de medias móviles cortas.

Principios estratégicos

La estrategia establece dos medias móviles, una mediana de 20 días más corta y una mediana de 60 días más larga. Luego, se decide la entrada considerando el cruce de la mediana corta y la mediana larga.

En concreto, cuando la línea media corta atraviesa la línea media larga, significa que está en una tendencia al alza; cuando la línea media corta atraviesa la línea media larga, significa que está en una tendencia a la baja, significa que está en una tendencia a la baja.

El modo de hacer un stop-loss después de haber hecho más es el stop-loss de seguimiento, basado en el precio más alto y el precio más bajo para hacer un stop de seguimiento, para bloquear el máximo beneficio.

La lógica principal del código es la siguiente:

  1. Calcula el EMA del día 20 y el EMA del día 60
  2. Para determinar si la EMA del día 20 está por encima de la EMA del día 60, si es así, más.
  3. Para determinar si la EMA del día 20 baja a través de la EMA del día 60, si es así, no haga nada.
  4. Después de entrar a hacer varias posiciones, el 3% del precio más alto como línea de stop loss
  5. Después de entrar en una posición vacía, se usa como línea de stop loss al 3% del precio más bajo
  6. Adjustación continua de la línea de stop loss cuando se mantiene

Análisis de ventajas

La estrategia tiene las siguientes ventajas:

  1. La idea es simple, fácil de entender y fácil de hacer.
  2. El uso de dos líneas homogéneas puede filtrar eficazmente el falso avance.
  3. El uso de seguimiento de pérdidas y paradas permite bloquear el máximo beneficio.
  4. En la actualidad, la mayoría de los usuarios de Twitter están utilizando el sistema de mensajería móvil para registrar sus señales de tendencia.
  5. La retirada está controlada y es relativamente estable.

Análisis de riesgos

La estrategia también tiene algunos riesgos:

  1. Cuando la tendencia no es clara, las líneas de doble media pueden cruzarse con frecuencia, lo que conduce a pérdidas comerciales frecuentes.
  2. El mal ajuste del rango de deterioro puede llevar al deterioro demasiado amplio o demasiado radical.
  3. Los parámetros se establecen si la longitud del ciclo es incorrecta, lo que puede causar un punto de señal clave perdido.
  4. Los costos de transacción son más altos, lo que afecta el espacio de ganancia.

Para optimizar el riesgo, se puede hacer lo siguiente:

  1. Cuando la tendencia no es clara, se utiliza un sistema de filtrado para evitar el comercio a ciegas.
  2. Optimización de la prueba del rango de deterioro y configuración del rango de deterioro adecuado.
  3. Encontrar la mejor configuración de parámetros mediante retrospección y ajuste de parámetros.
  4. La reducción adecuada del número de operaciones iniciales y la reducción de los costos de transacción.

Optimizar el pensamiento

La estrategia puede ser optimizada aún más en los siguientes aspectos:

  1. Añadir filtros para otros indicadores, formar un mecanismo de entrada multiconditional y evitar falsos breaks. Por ejemplo, puede incorporarse a la determinación del indicador RSI.

  2. Optimiza los parámetros de ciclo de la línea recta móvil para encontrar la mejor combinación de parámetros. Se pueden probar diferentes parámetros de ciclo de forma paso a paso.

  3. Optimización del rango de stop. Se puede calcular el rango de stop óptimo con datos de retroevaluación. También se puede establecer un rango de stop dinámico.

  4. Configurar un mecanismo de reingreso. Después de una salida de stop loss, se puede establecer una lógica de reingreso razonable para reducir el número de transacciones.

  5. En combinación con indicadores de tendencia, se puede suspender el comercio cuando la tendencia no es clara, evitando transacciones no válidas.

  6. Unirse a un mecanismo de gestión de posiciones para ajustar dinámicamente las posiciones y el rango de pérdidas según la situación del mercado.

Resumen

La estrategia de doble media móvil inversa es un método común y eficaz para determinar el punto de inflexión de la tendencia a través de la doble media móvil. Sin embargo, existe un cierto riesgo, que requiere una prueba optimizada de la configuración de parámetros y el rango de pérdidas y se usa en combinación con otros indicadores de filtro para maximizar la eficacia de la estrategia.


/*backtest
start: 2023-09-23 00:00:00
end: 2023-10-15 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=2
strategy("Noro's Bands Scalper Strategy v1.4", shorttitle = "Scalper str 1.4", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
takepercent = input(0, defval = 0, minval = 0, maxval = 1000, title = "take, %")
needbe = input(true, defval = true, title = "Bands Entry")
needct = input(false, defval = false, title = "Counter-trend entry")
needdb = input(true, defval = true, title = "Double Body")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
needbb = input(true, defval = true, title = "Show Bands")
needbg = input(true, defval = true, title = "Show Background")
src = close

//PriceChannel 1
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2

//Distance
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma
hd2 = center + distsma * 2
ld2 = center - distsma * 2

//Trend
trend = close < ld and high < center ? -1 : close > hd and low > center ? 1 : trend[1]

//Lines
colo = needbb == false ? na : black
plot(hd2, color = colo, linewidth = 1, transp = 0, title = "High band 2")
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band 1")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band 1")
plot(ld2, color = colo, linewidth = 1, transp = 0, title = "Low band 2")

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)

//Body
body = abs(close - open)
smabody = needdb == false ? ema(body, 30) : ema(body, 30) * 2
candle = high - low

//Signals
bar = close > open ? 1 : close < open ? -1 : 0
up7 = trend == 1 and ((bar == -1 and bar[1] == -1) or (body > smabody and bar == -1)) ? 1 : 0
dn7 = trend == 1 and ((bar == 1 and bar[1] == 1) or (close > hd and needbe == true)) and close > strategy.position_avg_price * (100 + takepercent) / 100 ? 1 : 0
up8 = trend == -1 and ((bar == -1 and bar[1] == -1) or (close < ld2 and needbe == true)) and close < strategy.position_avg_price * (100 - takepercent) / 100 ? 1 : 0
dn8 = trend == -1 and ((bar == 1 and bar[1] == 1) or (body > smabody and bar == 1)) ? 1 : 0

if up7 == 1 or up8 == 1 
    strategy.entry("Long", strategy.long, needlong == false ? 0 : trend == -1 and needct == false ? 0 : na)

if dn7 == 1 or dn8 == 1
    strategy.entry("Short", strategy.short, needshort == false ? 0 : trend == 1 and needct == false ? 0 : na)

Más contenido