
Strategi perdagangan kuantitatif dengan pengesahan volume rata-rata indeks ganda adalah strategi perdagangan frekuensi tinggi yang didasarkan pada EMA (indices moving average) yang digabungkan dengan pengesahan volume. Strategi ini terutama menghasilkan sinyal beli dan jual awal melalui persilangan EMA yang cepat dan lambat, dan melalui pengesahan volume di titik penyesuaian dalam tren yang sudah ada, menghasilkan sinyal masuk kembali. Strategi ini dirancang ringan dan efisien, cocok untuk lingkungan perdagangan yang cepat, terutama cocok untuk pedagang garis pendek di berbagai pasar.
Logika inti dari strategi ini didasarkan pada aplikasi gabungan dari EMA dan penurunan volume transaksi untuk dua periode yang berbeda:
Mekanisme Identifikasi Tren:
Sistem sinyal masuk:
Kerangka Manajemen Risiko:
Konfirmasi volume transaksi:
Strategi ini memiliki keuntungan yang signifikan sebagai berikut:
Tanggapan cepat: Menggunakan EMA dan bukan SMA, lebih sensitif terhadap perubahan harga dan lebih cocok untuk lingkungan perdagangan cepat.
Mengurangi risiko sinyal palsu: Menggabungkan mekanisme konfirmasi volume transaksi, meningkatkan kualitas sinyal masuk kembali, memfilter kebisingan pasar secara efektif.
Manajemen dana yang fleksibelManajemen posisi dengan persentase ekuitas akun, otomatis menyesuaikan skala transaksi, mengurangi risiko manajemen dana.
Pengendalian Risiko Multidimensi: Menggunakan stop loss yang tetap dan stop loss yang dilacak, dengan tujuan untuk mendapatkan keuntungan dan melindungi keuntungan yang telah diperoleh.
Mekanisme masuk kembali dalam trenHal ini memungkinkan trader untuk menemukan titik masuk dengan probabilitas tinggi selama tren berjalan setelah mereka melewatkan sinyal awal.
Sinyal perdagangan visual: Meningkatkan keterbacaan strategi dengan menampilkan berbagai jenis sinyal perdagangan dengan jelas melalui berbagai bentuk dan warna tag.
Dukungan otomatisFitur: Pemberitahuan kondisi dan format pesan internal, akses mudah ke Webhook untuk otomatisasi transaksi.
Meskipun strategi ini dirancang dengan baik, ada beberapa risiko potensial:
Risiko terbalik dengan cepatDalam pasar yang sangat bergejolak, EMA dapat mengalami keterlambatan, yang menyebabkan terlambatnya penarikan atau terlambatnya pemicu stop loss ketika pasar berbalik.
Risiko Terlalu Banyak BerdagangDalam pasar yang bergejolak, EMA dapat sering berselisih dan menghasilkan terlalu banyak sinyal perdagangan.
Risiko kegagalan parameter tetap: Siklus EMA dan stop loss yang tetap mungkin tidak berlaku untuk semua kondisi pasar.
Dampak dari volume transaksi yang tidak normalKonfirmasi tergantung volume mungkin tidak berlaku selama beberapa pasar yang kurang likuiditas atau volume transaksi yang tidak biasa.
Tekanan pada satu indikator teknisTerlalu bergantung pada EMA crossover dapat mengabaikan sinyal pasar penting lainnya.
Berdasarkan analisis kode, strategi ini dapat dioptimalkan dari beberapa arah:
Parameter Adaptif:
Analisis multi-frame waktu:
Sistem Stop Loss Tinggi:
Pengoptimalan masuk:
Klasifikasi kondisi pasar:
Peningkatan analisis volume transaksi:
Strategi perdagangan kuantitatif frekuensi tinggi yang dikonfirmasi oleh volume linier rata-rata indeks ganda adalah sistem EMA silang yang dirancang dengan cermat yang meningkatkan kualitas sinyal melalui konfirmasi volume perdagangan. Strategi ini berkinerja baik dalam pelacakan tren dan sinyal masuk kembali, dan manajemen risiko yang lebih baik dicapai melalui penghentian tetap dan pelacakan stop loss.
Fitur yang paling menonjol dari strategi ini adalah mekanisme ganda yang menggabungkan masuk ke tren awal dan masuk kembali dalam tren, yang memungkinkan pedagang untuk menangkap peluang keuntungan dari tren yang sama di beberapa titik harga. Selain itu, desain ringan dan sistem peringatan built-in membuatnya sangat cocok untuk perdagangan cepat dan integrasi sistem otomatisasi.
Namun, untuk mendapatkan efek yang stabil dan berkelanjutan dalam perdagangan aktual, strategi ini juga memerlukan pengoptimalan parameter untuk lingkungan pasar yang berbeda, dan pertimbangkan untuk menambahkan mekanisme adaptasi dan konfirmasi multi-indikator. Kondisi penyaringan tambahan akan membantu mengurangi risiko sinyal palsu dan overtrading, terutama di pasar yang sangat fluktuatif dan horizontal.
Secara keseluruhan, ini adalah strategi perdagangan short line yang lengkap, logis dan jelas, yang cocok untuk dioptimalkan dan diterapkan lebih lanjut dalam praktik oleh pedagang yang berpengalaman.
/*backtest
start: 2025-01-01 00:00:00
end: 2025-05-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDC"}]
*/
//@version=5
strategy("Crypto Scalping Strategy [Dubic]", overlay=true, default_qty_value=1)
// === Inputs ===
emaFastLength = input.int(14, "Fast EMA Length")
emaSlowLength = input.int(28, "Slow EMA Length")
volThreshold = input.float(1.0, "Volume Threshold (Multiplier of SMA Volume)")
trailStopPerc = input.float(0.01, "Trailing Stop Loss (%)", step=0.001) // 1%
fixedTPPerc = input.float(0.10, "Fixed Take Profit (%)", step=0.01) // 10%
// === Indicator Calculations ===
emaFast = ta.ema(close, emaFastLength)
emaSlow = ta.ema(close, emaSlowLength)
smaVol = ta.sma(volume, emaSlowLength)
// === Trend and Volume Conditions ===
bullishTrend = emaFast > emaSlow
bearishTrend = emaFast < emaSlow
volumeOK = volume > (smaVol * volThreshold)
// === Signal Conditions ===
initialBuy = ta.crossover(emaFast, emaSlow)
initialSell = ta.crossunder(emaFast, emaSlow)
reEntryBuy = bullishTrend and close > emaFast and volumeOK and not initialBuy
reEntrySell = bearishTrend and close < emaFast and volumeOK and not initialSell
// === Trade Entries ===
if (initialBuy)
strategy.entry("Buy", strategy.long)
if (initialSell)
strategy.entry("Sell", strategy.short)
if (reEntryBuy and strategy.opentrades == 0)
strategy.entry("ReBuy", strategy.long)
if (reEntrySell and strategy.opentrades == 0)
strategy.entry("ReSell", strategy.short)
// === Take Profit & Trailing Stop Loss ===
longTP = strategy.position_avg_price * (1 + fixedTPPerc)
shortTP = strategy.position_avg_price * (1 - fixedTPPerc)
if (strategy.position_size > 0)
strategy.exit("Exit Long", from_entry="", limit=longTP, trail_points=close * trailStopPerc / syminfo.mintick)
if (strategy.position_size < 0)
strategy.exit("Exit Short", from_entry="", limit=shortTP, trail_points=close * trailStopPerc / syminfo.mintick)
// === Plots ===
plot(emaFast, title="Fast EMA", color=color.yellow)
plot(emaSlow, title="Slow EMA", color=color.blue)
plotshape(initialBuy, title="Initial Buy", location=location.belowbar, style=shape.triangleup, color=color.green, size=size.small, text="Buy")
plotshape(initialSell, title="Initial Sell", location=location.abovebar, style=shape.triangledown, color=color.red, size=size.small, text="Sell")
plotshape(reEntryBuy, title="Re-Entry Buy", location=location.belowbar, style=shape.circle, color=color.lime, size=size.tiny, text="ReBuy")
plotshape(reEntrySell, title="Re-Entry Sell", location=location.abovebar, style=shape.circle, color=color.orange, size=size.tiny, text="ReSell")
// === Alerts – Webhook Compatible ===
alertcondition(initialBuy, title="Initial Buy Alert", message="BUY_SIGNAL | TYPE: Initial | TIME: {{time}} | PRICE: {{close}}")
alertcondition(initialSell, title="Initial Sell Alert", message="SELL_SIGNAL | TYPE: Initial | TIME: {{time}} | PRICE: {{close}}")
alertcondition(reEntryBuy, title="Re-Entry Buy Alert", message="BUY_SIGNAL | TYPE: ReEntry | TIME: {{time}} | PRICE: {{close}}")
alertcondition(reEntrySell, title="Re-Entry Sell Alert", message="SELL_SIGNAL | TYPE: ReEntry | TIME: {{time}} | PRICE: {{close}}")