Esta estrategia combina los indicadores de media móvil exponencial dual (DEMA) y el filtro de banda (BPF) para implementar el filtro dual de la compra por ruptura y la sobreventa por sobrecompra, formando señales comerciales estables y buscando la máxima rentabilidad.
La estrategia consta de dos subestrategias:
Estrategia de la DEMA
Utiliza las medias móviles exponenciales duales de 2 y 20 días para generar señales de compra de cruz dorada y venta de cruz muerta.
Estrategia de la BPF
El indicador BPF combina transformaciones matemáticas para detectar los componentes cíclicos en los precios y forma zonas de sobrecompra y sobreventa dentro de un cierto período para generar señales comerciales.
La combinación de los dos proporciona una verificación más sólida de la tendencia y los factores cíclicos cuando surgen señales de compra / venta concurrentes.
La mayor ventaja de esta estrategia es el filtrado de indicadores duales que hace que las señales sean más estables y confiables. DEMA suaviza los precios e identifica las direcciones de tendencia; BPF reconoce las características cíclicas y determina las zonas de sobrecompra y sobreventa. La validación cruzada entre los dos puede reducir en gran medida las señales falsas causadas por el ruido de los precios y los ajustes cíclicos.
Además, la estrategia en sí tiene una frecuencia de negociación poco frecuente, evitando costos de capital y comisiones excesivos por sobrenegociación.
El mayor riesgo de esta estrategia es el error de evaluación de los estados del mercado. Es propenso a señales erróneas en mercados variados y podría sufrir grandes pérdidas de parada cuando las tendencias se invierten. Además, los parámetros también podrían afectar considerablemente el rendimiento de la estrategia.
Para abordar estos riesgos, se pueden adoptar métodos como optimizar los parámetros del indicador, establecer stop losses / take profits, combinar otros indicadores, etc. Cuando juzgue que el mercado ha entrado en una etapa variable y agitada, considere suspender la estrategia para evitar la interferencia de las condiciones desfavorables del mercado.
La estrategia se puede optimizar en los siguientes aspectos:
Optimización del ciclo de tiempo: prueba diferentes configuraciones de parámetros DEMA y BPF para determinar las combinaciones óptimas de períodos.
Añadir ajustes de stop loss/take profit. Establecer amplitudes de stop loss razonablemente para evitar el aumento de pérdidas; tomar ganancias apropiadamente para bloquear ganancias parciales.
Añadir otros filtros de indicadores, tales como volumen, MACD, etc. para evitar señales engañosas de alto volumen de desdoblamiento y posición de cambio.
Optimización adaptativa de parámetros: hacer que los parámetros DEMA y BPF sean adaptables en función de las últimas condiciones del mercado para mantener la puntualidad del indicador.
La estrategia integra los puntos fuertes de los indicadores EMA y BPF duales con doble filtrado para mejorar la calidad de la señal y obtener ganancias constantes a medio y largo plazo. Los riesgos provienen principalmente de juicios erróneos de las condiciones del mercado y un ajuste inadecuado de los parámetros. Métodos como la validación de múltiples indicadores y la optimización dinámica de parámetros pueden hacer que la estrategia sea más elástica y adaptable para una mayor rentabilidad.
/*backtest start: 2023-01-10 00:00:00 end: 2024-01-16 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 05/04/2022 // This is combo strategies for get a cumulative signal. // // First strategy // This indicator plots 2/20 exponential moving average. For the Mov // Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met. // // Second strategy // The related article is copyrighted material from // Stocks & Commodities Mar 2010 // // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// EMA20(Length) => pos = 0.0 xPrice = close xXA = ta.ema(xPrice, Length) nHH = math.max(high, high[1]) nLL = math.min(low, low[1]) nXS = nLL > xXA or nHH < xXA ? nLL : nHH iff_1 = nXS < close[1] ? 1 : nz(pos[1], 0) pos := nXS > close[1] ? -1 : iff_1 pos BPF(Length,Delta,SellZone,BuyZone) => pos = 0.0 xPrice = hl2 beta = math.cos(3.14 * (360 / Length) / 180) gamma = 1 / math.cos(3.14 * (720 * Delta / Length) / 180) alpha = gamma - math.sqrt(gamma * gamma - 1) BP = 0.0 BP := 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(BP[1]) - alpha * nz(BP[2]) pos:= BP > SellZone ? 1 : BP <= BuyZone? -1 : nz(pos[1], 0) pos strategy(title='Combo 2/20 EMA & Bandpass Filter', shorttitle='Combo', overlay=true) var I1 = '●═════ 2/20 EMA ═════●' Length = input.int(14, minval=1, group=I1) var I2 = '●═════ Bandpass Filter ═════●' LengthBPF = input.int(20, minval=1, group=I2) Delta = input(0.5, group=I2) SellZone = input.float(5, step = 0.01, group=I2) BuyZone = input.float(-5, step = 0.01, group=I2) var misc = '●═════ MISC ═════●' reverse = input.bool(false, title='Trade reverse', group=misc) var timePeriodHeader = '●═════ Time Start ═════●' d = input.int(1, title='From Day', minval=1, maxval=31, group=timePeriodHeader) m = input.int(1, title='From Month', minval=1, maxval=12, group=timePeriodHeader) y = input.int(2005, title='From Year', minval=0, group=timePeriodHeader) StartTrade = time > timestamp(y, m, d, 00, 00) ? true : false posEMA20 = EMA20(Length) prePosBPF = BPF(LengthBPF,Delta,SellZone,BuyZone) iff_1 = posEMA20 == -1 and prePosBPF == -1 and StartTrade ? -1 : 0 pos = posEMA20 == 1 and prePosBPF == 1 and StartTrade ? 1 : iff_1 iff_2 = reverse and pos == -1 ? 1 : pos possig = reverse and pos == 1 ? -1 : iff_2 if possig == 1 strategy.entry('Long', strategy.long) if possig == -1 strategy.entry('Short', strategy.short) if possig == 0 strategy.close_all() barcolor(possig == -1 ? #b50404 : possig == 1 ? #079605 : #0536b3)