
A estratégia é um sistema de negociação de alta quantidade baseado em múltiplos indicadores de médias móveis e bandas de browning. O núcleo da estratégia usa o sinal cruzado de médias móveis de 5 e 11 períodos como base principal de entrada, enquanto a combinação de médias móveis de 55 períodos e bandas de browning é usada para filtragem de sinais e controle de risco. A estratégia é especialmente adequada para negociação de opções, especialmente para operar opções de paridade em períodos de 3 e 5 minutos.
A lógica central para a operação da estratégia inclui os seguintes elementos-chave:
A estratégia, através da combinação de múltiplos indicadores técnicos, constrói um sistema de negociação relativamente completo. Sua vantagem central reside no mecanismo de confirmação de sinal em vários níveis e no programa de gerenciamento de risco dinâmico. Embora haja algum espaço para otimização, a estrutura básica da estratégia é robusta e especialmente adequada para o uso de comerciantes de opções.
/*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)