
Strategi ini adalah sistem perdagangan kuantitatif tingkat tinggi yang didasarkan pada multiple moving averages dan Bollinger Bands. Inti dari strategi ini adalah menggunakan sinyal silang dari 5-periode dan 11-periode moving averages sebagai dasar utama masuk, sementara dalam kombinasi dengan 55-periode moving averages dan Bollinger Bands untuk pemfilteran sinyal dan pengendalian risiko. Strategi ini sangat cocok untuk perdagangan opsi, terutama untuk mengoperasikan opsi nilai rata-rata pada 3 menit dan 5 menit.
Logika inti dari operasi strategi mencakup beberapa elemen kunci berikut:
Strategi ini membangun sistem perdagangan yang relatif lengkap dengan menggabungkan beberapa indikator teknis. Keunggulan utamanya adalah mekanisme pengesahan sinyal bertingkat dan program manajemen risiko yang dinamis. Meskipun ada ruang untuk optimasi, kerangka dasar strategi ini solid dan sangat cocok untuk digunakan oleh pedagang opsi.
/*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)