Esta estrategia de negociación hace pleno uso de las ventajas de la reversión de promedio móvil y los indicadores técnicos flash triple fondo para la aplicación combinada. Captura oportunidades de reversión mientras sigue la tendencia, filtrando algunas señales falsas de ruptura y puede mejorar efectivamente la tasa de ganancia de los sistemas de negociación.
La estrategia consta de dos partes:
Combinación de medias móviles de 2 días y 20 días. Las señales de compra y venta se generan cuando la media móvil de 2 días difiere de la media móvil de 20 días.
El patrón de flash de triple fondo. La aparición de este patrón es una señal para la reversión a corto plazo. La condición de formación es: el precio más bajo del día medio es más bajo que el anterior y el día siguiente, y el precio de cierre del día siguiente es más alto que el más alto del día anterior.
Cuando los promedios móviles de 2 y 20 días muestren simultáneamente señales de reversión y sean consistentes con la dirección de la señal del patrón flash triple de fondo, tome acciones de compra o venta.
Cuando el promedio móvil de 2 días rompe el promedio móvil de 20 días hacia arriba o hacia abajo, se generan señales de compra / venta.
Cuando se detecta el patrón de flash triple inferior, la señal de dirección del patrón se establece en 1 o -1.
Por lo tanto, al filtrar con la combinación de medias móviles y patrones, se pueden filtrar algunas señales falsas, lo que hace que la estrategia comercial sea más confiable.
La combinación de múltiples indicadores técnicos puede complementarse y verificarse entre sí y mejorar la fiabilidad de la señal.
La inversión de la media móvil puede capturar los puntos de inversión de las tendencias de manera oportuna y aprovechar las reversiones.
El promedio móvil de 20 días sigue las tendencias a medio y largo plazo, y el promedio móvil de 2 días captura los puntos de entrada después de los ajustes a corto plazo.
La estrategia no es sensible a los parámetros y es fácil de implementar y optimizar.
Los patrones de inversión son propensos a errores de juicio y se necesita experiencia para juzgar su fiabilidad.
Las señales de marcha atrás pueden retrasarse, lo que requiere la observación de las características del patrón y el ajuste de posición apropiado.
Las pruebas y la optimización son necesarias para las diferentes variedades comerciales, y es posible que sea necesario ajustar algunos parámetros.
El control de pérdidas debe introducir un mecanismo de detención de pérdidas para evitar perder puntos de reversión importantes.
Prueba diferentes combinaciones de medias móviles para seleccionar los mejores parámetros para la variedad.
Introducir otros indicadores auxiliares como el volumen, las bandas de Bollinger, etc. para la verificación de múltiples indicadores.
Añadir un módulo de stop loss para controlar las reducciones y los riesgos.
Optimice el tiempo de entrada para evitar problemas prematuros o tardíos.
Realizar una optimización de parámetros para variedades específicas para mejorar la adaptabilidad.
La estrategia hace pleno uso de las ventajas de la inversión media móvil y los patrones a corto plazo para lograr una combinación efectiva de ambos, lo que puede mejorar la estabilidad y la tasa de ganancia de los sistemas de negociación.
/*backtest start: 2022-10-19 00:00:00 end: 2023-10-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 25/12/2021 // 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 // This startegy based on 3-day pattern reversal described in "Are Three-Bar // Patterns Reliable For Stocks" article by Thomas Bulkowski, presented in // January,2000 issue of Stocks&Commodities magazine. // That pattern conforms to the following rules: // - It uses daily prices, not intraday or weekly prices; // - The middle day of the three-day pattern has the lowest low of the three days, with no ties allowed; // - The last day must have a close above the prior day's high, with no ties allowed; // - Each day must have a nonzero trading range. // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// EMA20(Length ) => pos = 0.0 xPrice = close xXA = ema(xPrice, Length) nHH = max(high, high[1]) nLL = min(low, low[1]) nXS = iff((nLL > xXA)or(nHH < xXA), nLL, nHH) pos := iff(nXS > close[1] , -1, iff(nXS < close[1] , 1, nz(pos[1], 0))) pos BarR()=> pos = 0.0 pos := iff(open[2] > close[2] and high[1] < high[2] and low[1] < low[2] and low[0] > low[1] and high[0] > high[1], 1, iff(open[2] < close[2] and high[1] > high[2] and low[1] > low[2] and high[0] < high[1] and low[0] < low[1], -1, nz(pos[1], 0))) pos strategy(title="Combo 2/20 EMA & 3 Day Pattern", shorttitle="Combo", overlay = true) var I1 = "●═════ 2/20 EMA ═════●" Length = input(14, minval=1, group = I1) //var I2 = "●═════ 3-Bar-Reversal-Pattern ═════●" var misc = "●═════ MISC ═════●" reverse = input(false, title="Trade reverse", group = misc) var timePeriodHeader = "●═════ Time Start ═════●" d = input(1, title="From Day", minval=1, maxval=31, group=timePeriodHeader) m = input(1, title="From Month", minval=1, maxval=12, group=timePeriodHeader) y = input(2005, title="From Year", minval=0, group=timePeriodHeader) StartTrade = true prePos3Bar = BarR() posEMA20 = EMA20(Length) pos3BarR = security(syminfo.tickerid, "D", prePos3Bar[1], barmerge.gaps_off, barmerge.lookahead_on) pos = iff(posEMA20 == 1 and pos3BarR == 1 and StartTrade , 1, iff(posEMA20 == -1 and pos3BarR == -1 and StartTrade, -1, 0)) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1 , 1, pos)) 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 )