
La estrategia es un sistema de comercio cuantitativo avanzado basado en múltiples promedios móviles y indicadores de las bandas de browning. El núcleo de la estrategia utiliza señales cruzadas de promedios móviles de 5 y 11 períodos como base de entrada principal, mientras que se combina con promedios móviles de 55 períodos y bandas de browning para filtrar señales y controlar el riesgo. La estrategia es especialmente adecuada para el comercio de opciones, especialmente para operar opciones de paridad en períodos de tiempo de 3 y 5 minutos.
La lógica central para el funcionamiento de la estrategia incluye los siguientes elementos clave:
La estrategia construye un sistema de negociación relativamente completo mediante la combinación de múltiples indicadores técnicos. Su principal ventaja reside en el mecanismo de confirmación de señales multicapa y el programa de gestión de riesgos dinámico. Si bien existe cierto espacio para la optimización, el marco básico de la estrategia es sólido y especialmente adecuado para el uso de los operadores de opciones.
/*backtest
start: 2025-02-12 00:00:00
end: 2025-02-18 08:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MA5 MA11 Bollinger Bands 22 Strategy", overlay=true)
// Define indicators
ma5 = ta.sma(close, 5)
ma11 = ta.sma(close, 11)
ma55 = ta.sma(close, 55)
basis = ta.sma(close, 22)
dev = 1.5
upperBB = basis + dev * ta.stdev(close, 22)
lowerBB = basis - dev * ta.stdev(close, 22)
// Plot the indicators
plot(ma5, color=color.blue, linewidth=2, title="MA5")
plot(ma11, color=color.red, linewidth=2, title="MA11")
plot(ma55, color=color.green, linewidth=2, title="MA55")
plot(upperBB, color=color.orange, linewidth=1, title="Upper Bollinger Band")
plot(lowerBB, color=color.orange, linewidth=1, title="Lower Bollinger Band")
// Entry conditions
longCondition = ta.crossover(ma5, ma11) and close > ma55 and close < lowerBB
shortCondition = ta.crossunder(ma5, ma11) and close < ma55 and close > upperBB
// Exit conditions
closeLongCondition = ta.crossunder(close, ma5) or close < ma55
closeShortCondition = ta.crossover(close, ma5) or close > ma55
// Execute trades
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
if (closeLongCondition)
strategy.close("Long")
if (closeShortCondition)
strategy.close("Short")
// Optional: Add Stop Loss and Take Profit (e.g., ATR-based)
atrValue = ta.atr(14)
stopLoss = atrValue * 1.5
takeProfit = atrValue * 3
strategy.exit("Exit Long", "Long", stop=close - stopLoss, limit=close + takeProfit)
strategy.exit("Exit Short", "Short", stop=close + stopLoss, limit=close - takeProfit)