Estrategia de negociación de cruce de indicadores MACD de múltiples líneas temporales


Fecha de creación: 2024-02-19 11:03:54 Última modificación: 2024-02-19 11:03:54
Copiar: 0 Número de Visitas: 697
1
Seguir
1617
Seguidores

Estrategia de negociación de cruce de indicadores MACD de múltiples líneas temporales

Descripción general

La estrategia de comercio cruzado de indicadores MACD de múltiples ejes de tiempo es una estrategia de seguimiento de tendencias. Se utiliza para calcular indicadores MACD con diferentes parámetros, generando una señal de negociación cuando el precio supera ese indicador, lo que permite la negociación automática de productos financieros como acciones, índices y divisas.

Principio de estrategia

La estrategia calcula 3 medias móviles al mismo tiempo: una media móvil ponderada WMA y dos medias móviles indexadas EMA. Las configuraciones de los parámetros de las tres medias móviles son diferentes: 25 días, 50 días y 100 días, respectivamente. Esto permite que las medias móviles cubran diferentes períodos de movimiento de precios.

Después de calcular las medias móviles, la estrategia monitorea si el precio supera o supera una media móvil. Si el precio supera o supera todas las tres medias móviles al mismo tiempo, se genera una señal de negociación.

Por ejemplo, una señal de compra se genera cuando el precio está a la vez por encima de las tres medias móviles; una señal de venta se genera cuando el precio está a la vez por debajo de las tres medias móviles. La relación entre el precio y la media móvil puede ser un punto de inflexión en el movimiento del precio.

El análisis cruzado de indicadores de múltiples ejes temporales puede filtrar algunas señales falsas y hacer que las señales de negociación sean más confiables.

Análisis de las ventajas

  • Utiliza análisis de tendencias de precios en múltiples ejes temporales para filtrar falsas señales
  • Los parámetros son fáciles de optimizar y pueden adaptarse a diferentes ciclos
  • Se puede utilizar en varias variedades, como acciones, índices y divisas, con una amplia aplicación

Análisis de riesgos

  • Los índices de grandes ciclos están rezagados y pueden haber perdido oportunidades de corta línea
  • El riesgo de pérdidas en caso de fracasos
  • PARAMETERS Ajuste de un poco de tiempo para optimizar la parada de pérdidas

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Optimización de los parámetros periódicos de las medias móviles para adaptarse a más períodos de mercado
  2. Añadir filtros para otros indicadores técnicos, como el RSI para determinar sobrecompra y sobreventa
  3. Mecanismos adicionales para detener los pérdidas, con referencia al indicador ATR para establecer la distancia de detener los pérdidas
  4. Extensible a otras variedades como los futuros, parámetros de optimización

Resumir

La estrategia de comercio cruzado de indicadores MACD de múltiples ejes temporales tiene una idea general clara, determina la tendencia de los precios a través de promedios móviles de varios ciclos y genera una señal de negociación cuando se produce un giro significativo en los precios. La estrategia tiene un amplio espacio de optimización y puede ajustar los parámetros para diferentes variedades y ciclos de mercado para obtener una buena eficacia comercial. La estrategia es adecuada para el comercio programado de acciones, índices y divisas de tendencia.

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

//@version=2
strategy("TC - MACDoscillator v2", overlay=true)
// ___________      .__                   _________               .__  __         .__   
// \__    ___/____  |  |    ____   ____   \_   ___ \_____  ______ |__|/  |______  |  |  
//   |    |  \__  \ |  |   / ___\ /  _ \  /    \  \/\__  \ \____ \|  \   __\__  \ |  |  
//   |    |   / __ \|  |__/ /_/  >  <_> ) \     \____/ __ \|  |_> >  ||  |  / __ \|  |__
//   |____|  (____  /____/\___  / \____/   \______  (____  /   __/|__||__| (____  /____/
//                \/     /_____/                  \/     \/|__|                 \/      
//
// MACDoscillator Strategy v2
// Josh Breitfeld 2016
//

/// INPUTS START ///

//tradeSize = input(title="Shares Per Trade",  defval=2500, step=1)
WMALength = input(title="WMA Length",  defval=25, step=1)
EMA1Length = input(title="EMA1 Length",  defval=50, step=1)
EMA2Length = input(title="EMA2 Length",  defval=100, step=1)
//security = input(title="Alternate Security", type=string, defval="SPX500")
//inverse = input(title="Inverse Signals", type=bool, defval=true)

/// INPUTS END ///

/// ALGORITHM START ///

/// Define calculations
WMA = wma(close,WMALength)
EMA1 = ema(close,EMA1Length)
EMA2 = ema(close,EMA2Length)

/// Grab values from alternate security
dWMA = WMA
dEMA1 = EMA1
dEMA2 = EMA2

aClose = close

/// Crossover signal system

/// Long crosses
lc1 = aClose > dWMA ? true : false
lc2 = aClose > dEMA1 ? true : false
lc3 = aClose > dEMA2 ? true: false

/// Short crosses
sc1 = aClose < dWMA ? true : false
sc2 = aClose < dEMA1 ? true : false
sc3 = aClose < dEMA2 ? true : false

//plot(lc1,color=green)
//plot(lc2,color=green)
//plot(lc3,color=green)
//plot(sc1,color=red)
//plot(sc2,color=red)
//plot(sc3,color=red)


/// ALGO ORDER CONDITIONS START ///

pBuyToOpen = (lc1 and lc2 and lc3 ? true : false)
pSellToOpen = (sc1 and sc2 and sc3 ?  true : false)
pSellToClose = (lc1 ? true : false) and not pBuyToOpen
pBuyToClose = (sc1 ? true : false) and not pSellToOpen

//plot(pBuyToOpen,color=lime)
//plot(pBuyToClose,color=lime)
//plot(pSellToOpen,color=red)
//plot(pSellToClose,color=red)
/// INVERT SIGNALS

//buyToOpen = inverse ? -pBuyToOpen : pBuyToOpen
//sellToOpen = inverse ? -pBuyToOpen : pSellToOpen
//sellToClose = inverse ? -pSellToClose : pSellToClose
//buyToClose = inverse ? -pBuyToClose : pBuyToClose

/// ALGO ORDER CONDITIONS END ///

/// ALGORITHM END ///

/// DEFINE PLOTS ///

plot(dWMA,"WMA",lime,1,line)
plot(dEMA1,"EMA1",blue,2,line)
plot(dEMA2,"EMA2",red,3,line)
//plot(aClose,"Close",orange,4,line)

/// PLOTS END ///

/// ORDER BLOCK ///

    //strategy.entry("My Long Entry Id", strategy.long)

/// OPENING ORDERS START ///
if(pBuyToOpen) 
    strategy.entry("BTO", strategy.long, comment="BTO")
if(pSellToOpen) 
    strategy.entry("STO", strategy.short, comment="STO")

/// OPENING ORDERS END ///

/// CLOSING ORDERS START ///
strategy.close("BTO", pBuyToClose)
strategy.close("STO", pSellToClose)
/// CLOSING ORDERS END ///

/// END ORDER BLOCK ///

// Josh Breitfeld - Talgo Capital 2016
/// STRATEGY END ///