Estrategia de trading cuantitativo basada en la operación de promedio móvil mensual


Fecha de creación: 2023-12-15 11:49:06 Última modificación: 2023-12-15 11:49:06
Copiar: 2 Número de Visitas: 654
1
Seguir
1621
Seguidores

Estrategia de trading cuantitativo basada en la operación de promedio móvil mensual

Descripción general

Esta estrategia se basa principalmente en la línea media de la línea lunar y la línea cuatrimestral para operar, concretamente, la línea 20 como línea lunar, la línea 60 como línea cuatrimestral, la fuente de la señal de la estrategia es el tenedor dorado de dos líneas medias. Cuando la línea lunar atraviesa la línea cuatrimestral, se forma una señal de múltiples cabezas; cuando la línea lunar atraviesa la línea cuatrimestral, se realiza una liquidación de liquidación.

Principio de estrategia

Esta estrategia utiliza la media móvil simple de 20 días como indicador de la línea lunar y la media móvil simple de 60 días como indicador de la línea cuatrimestral. La lógica de generación de señales de negociación específicas es la siguiente:

  1. Cuando la línea 20 atraviesa la línea 60, es decir, cuando se produce el tenedor de oro, se hace la entrada adicional.
  2. La posición se detiene cuando el precio de las acciones retrocede más del 10% desde su punto más alto en 10 días.
  3. Cuando la línea de 20 días cruza la línea de 60 días, es decir, cuando se produce un tenedor muerto, se liquida la posición.
  4. Cuando la pérdida alcanza el 10%, se detiene la partida.

El cruce de la línea media de la línea media de la línea media y la línea media de la línea media para juzgar la tendencia de la línea media de la línea media, la horquilla de oro hace más significa entrar en la línea media de la línea media del toro, la horquilla muerta hace menos significa entrar en la línea media de la línea media del oso. Al mismo tiempo, junto con la estrategia de control de riesgo de parada de pérdidas.

Ventajas estratégicas

  1. El uso de líneas medias trimestrales para filtrar el ruido del mercado y capturar tendencias de líneas medias y largas
  2. Los parámetros de la estrategia son sencillos y fáciles de implementar.
  3. Se pueden configurar parámetros de stop loss para controlar el riesgo.

Análisis de riesgos

  1. No se puede determinar el punto de reversión de la tendencia, existe el riesgo de pérdidas.
  2. La línea lunar y la línea cuadrada están retrasadas, y es posible que se pierda la oportunidad de una línea corta.
  3. Es necesario elegir el punto de parada adecuado para no ser demasiado radical.

La solución:

  1. El uso de un rastreo móvil para detener el daño en el tiempo.
  2. En combinación con otros indicadores, las señales de filtración determinan la tendencia.
  3. Ajuste de los parámetros de la línea media y optimización de la estrategia.

Dirección de optimización de la estrategia

  1. Se añaden filtros para otros indicadores, como el indicador KD, para evitar falsas rupturas.
  2. Optimización de los parámetros de la línea media para encontrar la combinación óptima de períodos de la línea media.
  3. Aumentar las estrategias de parada, como la parada móvil, para obtener más ganancias.

Resumir

Esta estrategia Overall XXXXX Systematically utiliza la ventaja de la línea media de la línea lunar, para determinar la dirección de la tendencia de la línea media a través de la línea media de la línea media. Al mismo tiempo, configure un mecanismo de control de riesgo de parada y pérdida razonable. La estrategia tiene un gran espacio para la optimización y vale la pena realizar más pruebas y optimizaciones.

Código Fuente de la Estrategia
/*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%強迫停損")