
La estrategia es un sistema de seguimiento de tendencias que combina un promedio móvil de múltiples períodos con el precio promedio ponderado por volumen (VWAP). La estrategia identifica la dirección de la tendencia a través del cruce de tres promedios móviles simples (SMA) de 9 períodos, 50 períodos y 200 períodos, y combina VWAP como un indicador de confirmación de la fortaleza del precio para implementar un mecanismo de confirmación de señal comercial multidimensional. Esta estrategia es adecuada tanto para el trading intradiario (gráfico de 1 minuto) como para el trading a corto plazo (gráfico de 1 hora).
La lógica central de la estrategia se basa en los siguientes elementos clave:
Las condiciones de entrada largas deben cumplirse al mismo tiempo:
Las condiciones de entrada cortas deben cumplirse al mismo tiempo:
Sugerencias para el control de riesgos:
Este es un sistema de trading completo que combina promedios móviles de múltiples períodos y VWAP, proporcionando señales de trading más confiables a través de un mecanismo de confirmación múltiple. Las ventajas de la estrategia son una lógica clara, facilidad de ejecución y buenas capacidades de control de riesgos. Si bien existen ciertos riesgos de histéresis y sensibilidad de los parámetros, la estabilidad y adaptabilidad de la estrategia se pueden mejorar aún más mediante las direcciones de optimización recomendadas. Esta estrategia es adecuada como marco básico y los traders pueden personalizarla según su estilo comercial y el entorno del mercado.
/*backtest
start: 2024-12-06 00:00:00
end: 2025-01-05 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("SMA Crossover Strategy with VWAP", overlay=true)
// Input lengths for SMAs
sma9Length = 9
sma50Length = 50
sma200Length = 200
// Calculate SMAs
sma9 = ta.sma(close, sma9Length) // 9-period SMA
sma50 = ta.sma(close, sma50Length) // 50-period SMA
sma200 = ta.sma(close, sma200Length) // 200-period SMA
// Calculate VWAP
vwapValue = ta.vwap(close)
// Long entry condition: SMA 9 crosses above SMA 50 and SMA 200 is less than SMA 50, and close is above VWAP
longCondition = ta.crossover(sma9, sma50) and (sma200 < sma50) and (close > vwapValue)
if (longCondition)
strategy.entry("Long", strategy.long)
// Exit condition for long: SMA 9 crosses below SMA 50
longExitCondition = ta.crossunder(sma9, sma50)
if (longExitCondition)
strategy.close("Long")
// Short entry condition: SMA 9 crosses below SMA 50 and SMA 200 is greater than SMA 50, and close is below VWAP
shortCondition = ta.crossunder(sma9, sma50) and (sma200 > sma50) and (close < vwapValue)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Exit condition for short: SMA 9 crosses above SMA 50
shortExitCondition = ta.crossover(sma9, sma50)
if (shortExitCondition)
strategy.close("Short")
// Plotting the indicators on the chart
plot(sma9, color=color.blue, title="SMA 9")
plot(sma50, color=color.orange, title="SMA 50")
plot(sma200, color=color.red, title="SMA 200")
plot(vwapValue, color=color.green, title="VWAP")