Strategi ini adalah sistem dagangan kuantitatif yang tinggi berdasarkan pelbagai purata bergerak dan indikator Brinband. Inti strategi menggunakan sinyal silang purata bergerak 5 dan 11 sebagai asas masuk utama, sambil menggabungkan purata bergerak 55 dan Brinband untuk penapisan isyarat dan kawalan risiko. Strategi ini sangat sesuai untuk perdagangan opsyen, terutamanya untuk mengoperasikan opsyen paras pada kitaran masa 3 dan 5 minit.
Logik teras untuk operasi strategi ini merangkumi beberapa elemen utama:
Strategi ini membina sistem perdagangan yang agak lengkap dengan menggabungkan pelbagai petunjuk teknikal. Kelebihan utamanya terletak pada mekanisme pengesahan isyarat bertingkat dan program pengurusan risiko yang dinamik. Walaupun terdapat ruang untuk pengoptimuman, kerangka asas strategi ini stabil dan sangat sesuai untuk digunakan oleh peniaga pilihan.
/*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)