
La estrategia utiliza el principio de cruce de múltiples medias móviles para capturar tendencias de medias y longitudes y obtener ganancias estables. La estrategia utiliza tres grupos de medias móviles rápidas, medias y lentas con diferentes parámetros para tomar decisiones comerciales en función de su cruce. Esta estrategia de cruce de medias móviles de múltiples niveles, en comparación con la estrategia tradicional de solo dos grupos de medias móviles, puede filtrar más señales falsas y mejorar la probabilidad de victoria de la estrategia.
Esta estrategia utiliza tres grupos de medias móviles: medias móviles rápidas MAshort, medias móviles MAmid y medias móviles lentas MAlong. De ellas, el parámetro MAshort es de 9, la respuesta más rápida, para capturar señales de tendencia en líneas cortas; el parámetro MAmid es de 50, la velocidad es adecuada, para confirmar tendencias; y el parámetro MAlong es de 100, la respuesta más lenta, para determinar la dirección de tendencias en líneas largas.
La lógica de negociación específica de la estrategia es: cuando la media móvil MAmid cruza la media móvil lenta MAlong, indicando que se está formando un impulso ascendente en el precio de las acciones, la estrategia hace más; cuando la media móvil rápida MAshort cruza la media móvil MAmid, indicando que se produce un giro de la tendencia de la línea corta, la estrategia se estabiliza.
La mayor ventaja de esta estrategia es que se puede filtrar eficazmente las falsas señales mediante la combinación de múltiples grupos de medias móviles, seleccionando solo las brechas más fuertes de las tendencias de tendencia de la línea media y larga para hacer más posiciones.
La estrategia tiene las siguientes ventajas:
También existe el riesgo de que:
Para los riesgos mencionados, ampliaremos aún más el alcance de la estrategia, junto con la máxima retirada del control de la técnica de parada. Cuando la tendencia de la línea media-larga se invierta, responderemos reduciendo la posición.
La estrategia también puede ser optimizada en los siguientes aspectos:
Esta estrategia es una estrategia típica de cuantificación de líneas medias y largas, que se mantiene rentable bajo la premisa de controlar el riesgo de las transacciones mediante el uso de múltiples promedios móviles que se corresponden con WebDriverWait == long term trend. Esta estrategia combina varios grupos de parámetros que permiten identificar de manera efectiva las señales de tendencia de líneas medias y largas más fuertes que un solo indicador.
/*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)