Estrategia de negociación cuantitativa basada en la operación de la media móvil mensual y trimestral

El autor:¿ Qué pasa?, Fecha: 2023-12-15 11:49:06
Las etiquetas:

img

Resumen general

Esta estrategia se basa principalmente en los promedios móviles de las líneas mensuales y trimestrales para la operación. Específicamente, la línea de 20 días se utiliza como la línea mensual y la línea de 60 días como la línea trimestral. Las señales de estrategia provienen de la cruz de oro y la cruz de la muerte de los dos promedios móviles. Cuando la línea mensual cruza por encima de la línea trimestral, vaya largo; cuando la línea mensual cae por debajo de la línea trimestral, cierre posiciones. Esta estrategia es adecuada para operaciones a medio y largo plazo para capturar oportunidades de consolidación y divergencia.

Estrategia lógica

Esta estrategia utiliza la media móvil simple de 20 días como indicador de línea mensual y la media móvil simple de 60 días como indicador de línea trimestral.

  1. Cuando la línea de 20 días cruza por encima de la línea de 60 días, es decir, se produce una cruz de oro, ir largo.
  2. Cuando el precio retroceda más del 10% desde el punto más alto en los últimos 10 días, cierre posiciones largas para obtener ganancias.
  3. Cuando la línea de 20 días cruce por debajo de la línea de 60 días, es decir, se produce una cruz de muerte, cierre todas las posiciones.
  4. Cuando la pérdida alcanza el 10%, stop loss.

Utilice los cruces medios móviles de líneas mensuales y trimestrales para determinar las tendencias a mediano y largo plazo. La cruz de oro para ir largo indica el comienzo de un mercado alcista a mediano y largo plazo, mientras que la cruz de la muerte para ir corto indica el comienzo de un mercado bajista a mediano y largo plazo. Al mismo tiempo, use estrategias de stop profit y stop loss para controlar los riesgos.

Ventajas de la estrategia

  1. El uso de medias móviles mensuales y trimestrales filtra el ruido del mercado y capta las tendencias a medio y largo plazo.
  2. Los parámetros de la estrategia son sencillos y fáciles de aplicar.
  3. Los parámetros de toma de ganancias y stop loss para controlar los riesgos son personalizables.

Análisis de riesgos

  1. Incapaz de determinar los puntos de inversión de tendencia, con riesgo de pérdidas.
  2. Los promedios móviles mensuales y trimestrales tienen efectos retardantes, lo que podría suponer la pérdida de oportunidades a corto plazo.
  3. Necesidad de seleccionar los puntos de parada de pérdida apropiados para evitar ser detenido fuera demasiado rápido.

Soluciones:

  1. Adopte el stop loss para detenerse a tiempo.
  2. Incorporar otros indicadores para filtrar señales y determinar tendencias.
  3. Ajuste los parámetros de la media móvil para optimizar la estrategia.

Direcciones para la optimización de la estrategia

  1. Añadir otros indicadores de filtración, como el indicador KD, etc., para evitar errores.
  2. Optimizar los parámetros de la media móvil para encontrar la mejor combinación de parámetros.
  3. Incorporar estrategias adicionales de toma de ganancias, como el seguimiento de las ganancias para capturar más ganancias.

Resumen de las actividades

Esta estrategia utiliza sistemáticamente las ventajas de los promedios móviles mensuales y trimestrales al juzgar las direcciones de tendencia a medio y largo plazo a través de la cruz de oro y la cruz de muerte de los promedios móviles. Al mismo tiempo, se configuran mecanismos razonables de stop loss y take profit para controlar los riesgos. Todavía hay mucho espacio para optimizar esta estrategia, vale la pena probar y optimizar más.


/*backtest
start: 2022-12-08 00:00:00
end: 2023-12-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("均線操作-月季", overlay=true, initial_capital = 100000, default_qty_type = strategy.percent_of_equity, default_qty_value = 30)
sma20 = sma(close, 20)
sma60 = sma(close, 60)

plot(sma20, title="月線", color=color.purple,linewidth=2)
plot(sma60, title="季線", color=color.yellow,linewidth=2)

backtest_year = input(title="backtest_year",type=input.integer,defval=2020)
backtest_month = input(title="backtest_month",type=input.integer,defval=10)
backtest_date = input(title="backtest_date",type=input.integer,defval=1)
backtest_start_time = timestamp(backtest_year,backtest_month,backtest_date,0,0,0)

to_long = sma20 > sma60  and close > highest(10)*0.9 // 黃金交叉
to_close = sma20 < sma60 // 死亡交叉
to_exit = close < highest(10)*0.9 //股價嚴重回檔
to_stop = close < 0.9*strategy.position_avg_price 

// to_long = crossover(sma20, sma60)   // 黃金交叉
// to_close = crossunder(sma20, sma60) // 死亡交叉

//plotchar(to_long, char="B", text="買", color=color.red, location=location.belowbar)
//plotchar(to_close, char="S", text="賣", color=color.green, location=location.abovebar)
//strategy.close("open long",when = tslide, comment="多單滑價7%出場")
if true
    strategy.entry("golden", strategy.long,  when=to_long,comment="多單入場")
    strategy.close("golden",  when=to_exit,comment="多單滑價7%出場")
    strategy.close("golden",  when=to_close,comment="月線季線死亡交叉")
    strategy.close("golden",  when=to_stop,comment="虧損10%強迫停損")


Más.