La estrategia de seguimiento de la media móvil dual es una estrategia de seguimiento de tendencia basada en medias móviles. Determina la dirección de la tendencia calculando medias móviles de diferentes períodos y genera señales comerciales en consecuencia.
La estrategia de seguimiento de promedios móviles dobles juzga la dirección de la tendencia calculando los promedios móviles simples (SMA) de 14 períodos y 28 períodos del precio de cierre. Específicamente, calcula el SMA de 14 períodos y el SMA de 28 períodos del precio de cierre al final de cada período. Cuando el SMA de 14 períodos cruza el SMA de 28 períodos, envía una señal larga y abre una posición larga. Cuando el SMA de 14 períodos cruza por debajo del SMA de 28 períodos, envía una señal corta y abre una posición corta.
Después de ingresar posiciones, gestiona los riesgos estableciendo los niveles de toma de ganancias y stop loss. Los puntos de toma de ganancias y stop loss se convierten en precios basados en los parámetros de entrada. También traza la línea de toma de ganancias, línea de stop loss y línea de precio promedio de entrada en el gráfico para el juicio visual de ganancias y riesgo.
La doble media móvil que sigue la estrategia tiene las siguientes ventajas:
La estrategia de media móvil dual que sigue también tiene algunos riesgos:
Los riesgos se pueden gestionar desde los siguientes aspectos:
La doble media móvil de la siguiente estrategia se puede optimizar de las siguientes maneras:
Añadir indicadores de volatilidad para el punto de stop loss dinámico. Por ejemplo, combinar con ATR para ampliar la stop loss cuando la volatilidad aumenta para evitar una salida prematura.
Optimizar los parámetros del ciclo de la media móvil probando más combinaciones y seleccionando los períodos adecuados con la frecuencia adecuada de las señales comerciales.
Añadir un indicador de filtro de tendencia, como MACD, DMI para evitar señales falsas cerca de los puntos de inflexión de la tendencia, reduciendo las operaciones innecesarias.
Aumentar los modelos de aprendizaje automático para predecir la tendencia de los precios y reemplazar las reglas tradicionales.
Diversificar las variedades de comercio utilizando una baja correlación para reducir el consumo general.
En conclusión, la estrategia de seguimiento de la media móvil dual es un sistema de seguimiento de tendencias simple y práctico. Se mueve a lo largo de la tendencia, por lo que tiene menores riesgos de retirada, y es fácil de implementar. Podemos optimizarla ajustando los parámetros del ciclo, estableciendo stop loss y take profit, agregando indicadores de juicio de tendencias, para adaptarse a más entornos de mercado y obtener rendimientos más constantes.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © coinilandBot // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © adolgov // @description // //@version=4 strategy("coiniland copy trading platform", overlay=true) // random entry condition longCondition = crossover(sma(close, 14), sma(close, 28)) if (longCondition) strategy.entry("My Long Entry Id", strategy.long) shortCondition = crossunder(sma(close, 14), sma(close, 28)) if (shortCondition) strategy.entry("My Short Entry Id", strategy.short) moneyToSLPoints(money) => strategy.position_size !=0 ? (money / syminfo.pointvalue / abs(strategy.position_size)) / syminfo.mintick : na p = moneyToSLPoints(input(200, title = "Take Profit $$")) l = moneyToSLPoints(input(100, title = "Stop Loss $$")) strategy.exit("x", profit = p, loss = l) // debug plots for visualize SL & TP levels pointsToPrice(pp) => na(pp) ? na : strategy.position_avg_price + pp * sign(strategy.position_size) * syminfo.mintick pp = plot(pointsToPrice(p), style = plot.style_linebr ) lp = plot(pointsToPrice(-l), style = plot.style_linebr ) avg = plot( strategy.position_avg_price, style = plot.style_linebr ) fill(pp, avg, color = color.green) fill(avg, lp, color = color.red)