Estrategia de trading cuantitativo con ruptura de media móvil doble


Fecha de creación: 2024-02-04 16:06:46 Última modificación: 2024-02-04 16:06:46
Copiar: 0 Número de Visitas: 606
1
Seguir
1617
Seguidores

Estrategia de trading cuantitativo con ruptura de media móvil doble

Descripción general

La estrategia de ruptura de la línea de paridad doble es una estrategia de negociación cuantitativa más típica de seguimiento de tendencias. La estrategia juzga la posición mediante el cálculo de un promedio móvil simple de diferentes períodos y la configuración de la señal de negociación como una media móvil de ruptura de precios. La estrategia utiliza la línea de 20 y la línea de 60 días como señales de negociación.

Principio de estrategia

La lógica central de la estrategia de brecha de doble línea es:El uso de medias móviles de diferentes períodos para capturar la tendencia de los precios y emitir señales de negociación cuando los precios superan las medias móviles

En concreto, la estrategia utiliza una media móvil simple de 20 días y una media móvil simple de 60 días. Estas dos medias móviles se pueden ver como herramientas para capturar tendencias a corto plazo y tendencias a medio plazo, respectivamente.

Aprobado en el códigota.crossoveryta.crossunderPara determinar si el precio se encuentra por encima o por debajo de una media móvil. Cuando se produce una ruptura, se emite una instrucción para hacer más o menos.

Ventajas estratégicas

La estrategia de la brecha de doble línea de equilibrio tiene las siguientes ventajas:

  1. El concepto es simple, fácil de entender y de implementar.
  2. El objetivo de este proyecto es ayudar a las personas a seguir las tendencias del mercado y evitar el ruido.
  3. La estrategia tiene menos parámetros y es fácil de optimizar.
  4. La flexibilidad para elegir el ciclo de la media móvil y ajustar la sensibilidad al mercado.

Riesgo estratégico

La estrategia de la brecha en dos líneas equitativas también tiene algunos riesgos:

  1. Cuando el mercado está en una tendencia de agitación, se producen varias señales erróneas. Se puede mitigar aumentando el período de tenencia.
  2. Los indicadores pueden ser combinados con otros indicadores como filtros.
  3. Las medias móviles son inherentemente rezagadas y no pueden reaccionar anticipadamente a los cambios en los precios.

Dirección de optimización de la estrategia

Las estrategias de penetración en dos líneas equiláteras se pueden optimizar en las siguientes dimensiones:

  1. Optimización de los parámetros periódicos de las medias móviles para encontrar la combinación óptima de parámetros.
  2. Añadir otros indicadores de juicio para evitar señales erróneas. Por ejemplo, MACD, KD, etc.
  3. Aumento de la lógica de detención de pérdidas
  4. La combinación de más análisis de ciclo de tiempo para lograr un marco de tiempo múltiple.

Resumir

La estrategia de breakout de doble línea es una estrategia de seguimiento de tendencias sencilla y práctica. Puede capturar de manera efectiva las tendencias a medio y largo plazo, evitando la interferencia del ruido del mercado a corto plazo. A la vez, la estrategia es fácil de entender y implementar, los parámetros son cuantificables, y es muy adecuada para los requisitos de la negociación cuantitativa. Por supuesto, la estrategia también tiene cierto espacio de mejora, que se puede mejorar en aspectos como la optimización de los parámetros, el aumento de la filtración de señales y la lógica de parada, lo que hace que la estrategia sea más estable y rentable.

Código Fuente de la Estrategia
/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Astorhsu

//@version=5
strategy("Astor SMA20/60", overlay=true)
backtest_year = input(2018, title='backtest_year') //回測開始年分
backtest_month = input.int(01, title='backtest_month', minval=1, maxval=12) //回測開始月份
backtest_day = input.int(01, title='backtest_day', minval=1, maxval=31)  //回測開始日期
start_time = timestamp(backtest_year, backtest_month, backtest_day, 00, 00)  //回測開始的時間函數

//Indicators
sma10 = ta.sma(close,10)
sma20 = ta.sma(close,20)
sma60 = ta.sma(close,60)
plot(sma20, color=color.green, title="sma(20)")
plot(sma60, color=color.red, title="sma(60)")

//進場條件
// trend1 = sma60 > sma20 //假設目前趨勢為60>20
longCondition = ta.crossover(close, ta.sma(close, 20))
if (longCondition) 
    strategy.entry("open long20", strategy.long, qty=1, comment="站上m20做多")


shortCondition = ta.crossunder(close, ta.sma(close, 20))
if (shortCondition) 
    strategy.close("open long20",comment="跌破m20平倉", qty=1)     
    
longCondition1 = ta.crossover(close, ta.sma(close, 60))
if (longCondition1) 
    strategy.entry("open long60", strategy.long, qty=1, comment="站上m60做多")


shortCondition1 = ta.crossunder(close, ta.sma(close, 60))
if (shortCondition1) 
    strategy.close("open long60",comment="跌破m60平倉", qty=1)     
    
// longCondition2 = ta.crossover(close, ta.sma(close, 10))
// if (longCondition2) 
//     strategy.entry("open long10", strategy.long, qty=1, comment="站上m10做多")


// shortCondition2 = ta.crossunder(close, ta.sma(close, 10))
// if (shortCondition2)
//     strategy.close("open long10",comment="跌破m10平倉", qty=1)