Esta estrategia utiliza el principio de cruce de línea de promedio móvil de varios niveles para capturar tendencias a mediano y largo plazo y lograr ganancias constantes. Emplea tres conjuntos de promedios móviles rápidos, medios y lentos con diferentes parámetros y toma decisiones comerciales basadas en sus cruces.
La estrategia utiliza tres conjuntos de promedios móviles: el promedio móvil rápido MAshort, el promedio móvil de velocidad media MAmid y el promedio móvil lento MAlong. MAshort tiene un parámetro de 9, responde más rápido y se utiliza para capturar señales a corto plazo; MAmid tiene un parámetro de 50, tiene una velocidad media y se utiliza para confirmar la tendencia; MAlong tiene un parámetro de 100, responde más lentamente y se utiliza para determinar la dirección de la tendencia a largo plazo.
La lógica de negociación específica de la estrategia es: cuando la línea de media velocidad MAmid cruza por encima de la línea de media lenta MAlong, indica que se está formando el impulso al alza del precio de la acción. En este momento, la estrategia es larga; cuando la media rápida MAshort cruza por debajo de la media rápida MAmid, indica que se ha producido una inversión de tendencia a corto plazo y la estrategia sale de su posición en este momento.
La mayor ventaja de esta estrategia es que al combinar múltiples medias móviles, puede filtrar eficazmente las señales falsas y solo elegir breakouts relativamente fuertes durante una tendencia alcista a mediano y largo plazo para abrir posiciones largas.
Las ventajas de esta estrategia son:
Esta estrategia también tiene los siguientes riesgos:
Para hacer frente a estos riesgos, ampliaremos aún más la aplicabilidad de la estrategia, controlando al mismo tiempo el descenso máximo con técnicas de stop loss.
Esta estrategia también puede optimizarse de las siguientes maneras:
Esta estrategia pertenece a una estrategia cuantitativa típica a mediano y largo plazo que, con la premisa de controlar los riesgos comerciales, obtiene ganancias continuas al hacer coincidir los promedios móviles de varios niveles con las tendencias a mediano y largo plazo. En comparación con un solo indicador, esta estrategia incorpora múltiples parámetros y puede identificar eficazmente señales de tendencia fuertes a mediano y largo plazo. A través de una optimización adicional, esta estrategia puede aplicarse a más variedades y desempeñar un papel importante en el comercio cuantitativo.
/*backtest start: 2023-12-12 00:00:00 end: 2024-01-11 00:00:00 period: 1h 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/ // © Coinrule //@version=4 strategy(shorttitle='Multi Moving Average Crossing',title='Multi Moving Average Crossing (by Coinrule)', overlay=true, initial_capital=1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1) //Backtest dates fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12) fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31) fromYear = input(defval = 2020, title = "From Year", type = input.integer, minval = 1970) thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12) thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31) thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970) showDate = input(defval = true, title = "Show Date Range", type = input.bool) start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => true // create function "within window of time" //MA inputs and calculations inlong=input(100, title='MAlong') inmid=input(50, title='MAmid') inshort=input(9, title='MAfast') MAlong = sma(close, inlong) MAshort= sma(close, inshort) MAmid= sma(close, inmid) //Entry bullish = crossover(MAmid, MAlong) strategy.entry(id="long", long = true, when = bullish and window()) //Exit bearish = crossunder(MAshort, MAmid) strategy.close("long", when = bearish and window()) plot(MAshort, color=color.orange, linewidth=2) plot(MAmid, color=color.red, linewidth=2) plot(MAlong, color=color.blue, linewidth=2)