
La estrategia es un sistema de comercio cuantitativo basado en cruces de medias y indicadores MACD, que combina varios indicadores técnicos para optimizar el tiempo de entrada y salida. La estrategia utiliza principalmente la cruz de EMA9 con WMA30 como señal de entrada, mientras que la combinación con el indicador MACD es confirmada. Las condiciones de salida son más complejas, ya que se considera integralmente la relación de los precios con las medias y los cambios en el indicador MACD.
Condiciones de entrada:
Condiciones de salida (cumplir cualquiera de las siguientes):
Indicadores auxiliares:
La idea central de la estrategia es utilizar el cruce de la media corta (EMA9) con la media media media (WMA30) para capturar una potencial tendencia alcista, mientras que el indicador MACD se utiliza para filtrar falsas señales. Las condiciones de salida están diseñadas para detener o bloquear los beneficios a tiempo y evitar retiros causados por una posición excesiva.
Análisis integrado de múltiples indicadores: combina varios indicadores técnicos, como la línea media, el MACD y el VWAP, para proporcionar una perspectiva más completa del análisis del mercado y ayudar a mejorar la precisión de las decisiones comerciales.
Mecanismo de entrada flexible: Confirmación MACD a través de la combinación cruzada de EMA y WMA, que puede capturar las etapas tempranas de la tendencia y filtrar eficazmente algunas señales falsas.
Estricto control de riesgos: el uso de múltiples condiciones de salida, incluida la consecutiva caída de la línea media corta y la señal de inversión MACD, ayuda a detener los pérdidas a tiempo y controlar el riesgo.
Considerar diferentes períodos de tiempo: La introducción de la SMA de 200 días y la EMA de 21 días permite que la estrategia se analice en diferentes marcos de tiempo, lo que mejora la adaptabilidad de la estrategia.
Referencia de precios basada en el volumen de transacciones: con el indicador VWAP, se considera el factor volumen de transacciones y se proporciona una referencia más representativa para el movimiento de los precios.
Riesgo de transacciones frecuentes: Las estrategias de cruce de líneas medias pueden conducir a transacciones frecuentes, aumentar los costos de transacción y afectar los beneficios generales.
Riesgo de atraso: Las medias móviles son, en esencia, un indicador de atraso, que puede no ser capaz de capturar los puntos de inflexión a tiempo en un mercado muy volátil.
Riesgo de falsa ruptura: Durante la fase de ordenamiento horizontal, puede haber frecuentes señales de falsa ruptura, lo que puede conducir a pérdidas continuas.
Dependencia de la tendencia: Esta estrategia funciona mejor en mercados con una tendencia evidente, pero puede no funcionar en mercados convulsionados.
Sensibilidad de parámetros: los efectos de la estrategia pueden ser altamente sensibles a los ajustes de parámetros (como el ciclo de la línea media, los parámetros MACD, etc.) y necesitan ajustes frecuentes.
Introducción de indicadores de volatilidad: Considere la adición de indicadores de ATR (Average True Rate) para ajustar las posiciones de pérdidas en función de las fluctuaciones del mercado y aumentar la flexibilidad de la gestión del riesgo.
Mecanismo de salida optimizado: Se puede considerar la adición de trailing stop o stop loss dinámico basado en la volatilidad para un mejor bloqueo de ganancias.
Adición de filtro de tráfico: En la confirmación de la señal de entrada, se combina el análisis de tráfico para reducir el riesgo de falsos avances.
Clasificación de los estados del mercado: Desarrollar un modelo de clasificación de los estados del mercado que utilice diferentes parámetros o estrategias de negociación en diferentes estados del mercado (trend, oscilación).
Análisis de múltiples marcos de tiempo: Extensión de la estrategia a múltiples marcos de tiempo para mejorar la precisión de la admisión mediante la confirmación de señales en diferentes períodos.
Optimización de aprendizaje automático: optimización dinámica de los parámetros de la estrategia con algoritmos de aprendizaje automático para mejorar la adaptabilidad de la estrategia a los cambios en el mercado.
La estrategia de cruce EMA/WMA con condiciones de salida integradas es un sistema de negociación cuantitativa que combina varios indicadores técnicos para capturar tendencias de mercado a través de cruces equiláteros y indicadores MACD y controlar el riesgo utilizando múltiples condiciones. La estrategia tiene la ventaja de su perspectiva de análisis de mercado integral y su mecanismo de gestión de riesgos riguroso, pero también enfrenta desafíos como la retraso y la sensibilidad a los parámetros.
/*backtest
start: 2023-07-25 00:00:00
end: 2024-07-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
//X version 11
strategy("EMA9/WMA30 Crossover Strategy with Enhanced Exit Conditions", shorttitle="EMA9/WMA30 Enhanced Exit", overlay=true)
// Inputs
lengthEma = input.int(9, title="Length for EMA")
lengthWma = input.int(30, title="Length for WMA")
fastLength = input.int(12, title="Fast Length for MACD")
slowLength = input.int(26, title="Slow Length for MACD")
macdLength = input.int(9, title="Signal Smoothing for MACD")
pointsGainGoal = input.float(33.00, title="Points Gain Goal")
pointsLossGoal = input.float(-50.00, title="Points Loss Goal")
// Calculating EMA, WMA, and MACD
EMA9 = ta.ema(close, lengthEma)
WMA30 = ta.wma(close, lengthWma)
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, macdLength)
// Adding 200 SMA, 21 EMA, and VWAP
SMA200 = ta.sma(close, 200)
EMA21 = ta.ema(close, 21)
VWAPValue = ta.vwap(close)
// Buy Signal based on EMA/WMA Crossover and MACD confirmation
crossover = ta.crossover(EMA9, WMA30)
buySignal = crossover and macdLine > signalLine
// Entry
var float entryPrice = na
if (buySignal)
strategy.entry("Buy", strategy.long)
entryPrice := close
// Counters for consecutive closes below EMA9 and WMA30
var int belowEMA9Count = 0
var int belowWMA30Count = 0
belowEMA9Count := close < EMA9 ? belowEMA9Count + 1 : 0
belowWMA30Count := close < WMA30 ? belowWMA30Count + 1 : 0
// Exit Conditions
MACDBearishCross = ta.crossunder(macdLine, signalLine)
exitCondition1 = belowEMA9Count >= 2 and belowWMA30Count >= 1
exitCondition2 = MACDBearishCross
// Exit
if (strategy.position_size > 0)
if (exitCondition1 or exitCondition2)
strategy.close("Buy")
entryPrice := na
belowEMA9Count := 0
belowWMA30Count := 0
// Visualization
plot(EMA9, title="EMA 9", color=color.blue)
plot(WMA30, title="WMA 30", color=color.red)
plot(SMA200, title="SMA 200", color=color.orange)
plot(EMA21, title="EMA 21", color=color.purple)
plot(VWAPValue, title="VWAP", color=color.green)