
Strategi ini adalah sistem perdagangan kuantitatif canggih yang menggabungkan osilator dinamika Chandra (CMO) dan pita Bollinger (Bollinger Bands). Ini mengidentifikasi kondisi overbought dan oversold di pasar dengan menganalisis volatilitas harga dan indikator dinamika, sehingga menghasilkan sinyal perdagangan yang akurat. Strategi ini memanfaatkan mekanisme double verification dari reversal dinamika dan terobosan saluran harga, yang secara efektif meningkatkan keandalan perdagangan.
Logika inti dari strategi ini didasarkan pada komponen-komponen kunci berikut:
Strategi ini membangun sistem transaksi yang lengkap melalui kerja sama antara Brinbelt dan CMO. Strategi ini meningkatkan keandalan transaksi melalui mekanisme multiple confirmation dengan tetap mempertahankan objektivitas operasional. Strategi ini menunjukkan kepraktisan dan skalabilitas yang baik melalui pengaturan parameter yang masuk akal dan pengendalian risiko.
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Chande Momentum Oscillator + Bollinger Bands Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// Bollinger Bands Parameters
bbLength = input.int(20, title="Bollinger Bands Length")
bbStdDev = input.float(2.0, title="Bollinger Bands Std Dev")
basis = ta.sma(close, bbLength)
upper = basis + bbStdDev * ta.stdev(close, bbLength)
lower = basis - bbStdDev * ta.stdev(close, bbLength)
// Chande Momentum Oscillator Parameters
cmoLength = input.int(14, title="CMO Length")
cmoOverbought = input.float(50, title="CMO Overbought Level")
cmoOversold = input.float(-50, title="CMO Oversold Level")
cmo = ta.cmo(close, cmoLength)
// Plot Bollinger Bands
plot(basis, color=color.orange, title="Bollinger Basis")
p1 = plot(upper, color=color.blue, title="Bollinger Upper")
p2 = plot(lower, color=color.blue, title="Bollinger Lower")
fill(p1, p2, color=color.blue, transp=90, title="Bollinger Fill")
// Plot CMO
hline(cmoOverbought, "Overbought", color=color.red)
hline(cmoOversold, "Oversold", color=color.green)
plot(cmo, color=color.purple, title="CMO")
// Buy Condition: Price crosses below lower Bollinger Band and CMO is oversold
longCondition = ta.crossunder(close, lower) and cmo < cmoOversold
if (longCondition)
strategy.entry("Long", strategy.long)
// Sell Condition: Price crosses above upper Bollinger Band and CMO is overbought
shortCondition = ta.crossover(close, upper) and cmo > cmoOverbought
if (shortCondition)
strategy.entry("Short", strategy.short)
// Exit Long: Price crosses above basis or CMO is overbought
exitLong = ta.crossover(close, basis) or cmo > cmoOverbought
if (exitLong)
strategy.close("Long")
// Exit Short: Price crosses below basis or CMO is oversold
exitShort = ta.crossunder(close, basis) or cmo < cmoOversold
if (exitShort)
strategy.close("Short")