
Strategi perdagangan intraday adalah sistem perdagangan kuantitatif yang didasarkan pada teori struktur pasar yang berfokus pada identifikasi dan perdagangan kesenjangan nilai wajar dalam harga (Fair Value Gap, atau FVG). Strategi ini menggunakan tiga bentuk garis untuk mendeteksi ketidakseimbangan penawaran dan permintaan dalam perilaku harga, dan melakukan perdagangan masuk ketika harga kembali ke daerah-daerah tersebut. Strategi ini menggunakan perbandingan risiko dan pengembalian risiko yang ditetapkan untuk mengelola risiko, dan mengatur mekanisme posisi yang ketat untuk waktu tertentu setiap hari untuk menghindari risiko malam.
Prinsip-prinsip inti dari strategi perdagangan gap nilai wajar didasarkan pada “area yang belum ditransfer” atau “gap” yang ditinggalkan saat harga bergerak cepat. Area-area ini mewakili ketidakseimbangan pasokan dan permintaan yang serius, yang biasanya akan “diisi” atau “diuji ulang” di masa depan. Secara khusus, strategi bekerja dengan cara berikut:
Mekanisme deteksi celahStrategi: Menggunakan tiga model filter untuk mengidentifikasi dua jenis FVG:
Logika inputStrategi tidak masuk langsung saat FVG terbentuk, tetapi menunggu harga kembali ke daerah-daerah berikut:
Manajemen Risiko:
Posisi imbang di akhir hariStrategi: Setiap hari pada pukul 3:15 pm (waktu India) secara otomatis menghapus semua posisi dan menghapus semua array FVG untuk mempersiapkan hari perdagangan berikutnya.
Transaksi yang ditumpukStrategi ini memungkinkan maksimal 5 kali perdagangan berlapis (pyramiding), yang berarti Anda dapat memegang beberapa posisi di arah yang sama, sehingga meningkatkan keuntungan Anda di pasar yang sedang tren.
Metode ini memanfaatkan ketidakkonsistenan dalam struktur pasar dan teori perilaku harga untuk mencoba menangkap perilaku harga yang dapat diprediksi saat mengisi area yang tidak seimbang.
Setelah menganalisis kode secara mendalam, strategi ini menunjukkan beberapa keuntungan:
Kriteria transaksi yang objektifStrategi menggunakan persyaratan matematika yang jelas untuk mengidentifikasi FVG dan titik masuk, menghilangkan penilaian subjektif dan meningkatkan disiplin dan konsistensi transaksi.
Transaksi berdasarkan struktur pasarStrategi ini berfokus pada area di mana ada ketidakseimbangan penawaran dan permintaan yang sebenarnya di pasar, bukan mengandalkan sinyal dari indikator tradisional, yang sering tertinggal dari tindakan harga.
Mekanisme pengendalian risiko:
Potensi pendapatan kompositStrategi ini memungkinkan untuk meningkatkan keuntungan secara signifikan di pasar tren yang kuat, sambil mengendalikan risiko setiap posisi dengan stop loss.
AdaptasiStrategi tidak bergantung pada tingkat harga tetap, tetapi secara dinamis mengidentifikasi area-area kunci dalam kondisi pasar saat ini, sehingga dapat beradaptasi dalam berbagai lingkungan dan instrumen pasar.
Efisiensi pemrograman: Kode menggunakan Array untuk menyimpan informasi FVG dan secara efektif mengelola beberapa peluang perdagangan potensial, memastikan bahwa sistem dapat melacak dan menanggapi beberapa tingkat harga.
Bantuan visualStrategi: menampilkan area FVG secara intuitif di grafik (hijau untuk FVG bullish, merah untuk FVG bearish), membantu pedagang memahami proses pengambilan keputusan sistem.
Meskipun strategi ini memiliki dasar teoritis yang kuat dan banyak keuntungan, ada beberapa faktor risiko yang perlu diperhatikan:
Risiko Penembusan PalsuDalam pasar penataan, harga mungkin beberapa kali menyentuh batas FVG tanpa membentuk tren berkelanjutan, menyebabkan beberapa stop loss. Solusi dapat mencakup penambahan filter lingkungan pasar tambahan atau indikator pengakuan tren.
Risiko transaksi tumpang tindih: Memungkinkan maksimal 5 posisi arah yang sama dapat menyebabkan eksposur berlebihan ke arah yang salah, terutama ketika tren tiba-tiba berbalik. Disarankan untuk menerapkan batasan risiko keseluruhan, seperti tidak melebihi persentase tertentu dari risiko maksimum untuk semua posisi.
Keterbatasan RR yang tetap: Menggunakan rasio risiko / keuntungan 1: 2 yang tetap mungkin tidak cocok untuk semua kondisi pasar. Di pasar yang kurang volatil, tujuan seperti itu mungkin sulit untuk dicapai; Di pasar yang berfluktuasi tinggi, mungkin untuk keluar dari perdagangan yang menguntungkan terlalu dini. Pertimbangkan tujuan keuntungan yang disesuaikan berdasarkan volatilitas pasar.
Kurangnya penyaringan pasarStrategi menghasilkan sinyal di semua kondisi pasar, tanpa mempertimbangkan tren atau fluktuasi keseluruhan. Dalam lingkungan tren yang kuat, negosiasi negatif FVG dapat menyebabkan kerugian berkelanjutan. Penambahan filter tren dapat meningkatkan kinerja secara signifikan.
Kurangnya konfirmasi volume transaksiStrategi ini hanya didasarkan pada perilaku harga tanpa mempertimbangkan konfirmasi volume, yang dapat menyebabkan sinyal palsu di area volume rendah. Integrasi analisis volume dapat meningkatkan kualitas sinyal.
Potensi masalah untuk keluar pada waktu yang tetap: Keluar pada waktu tertentu setiap hari dapat menyebabkan keluar prematur di posisi menguntungkan atau kehilangan kesempatan keluar yang lebih baik di posisi yang kurang menguntungkan. Pertimbangkan kondisi keluar yang dikombinasikan dengan tindakan harga.
Bergantung pada hipotesis retrospeksi sejarahStrategi: Asumsi bahwa FVG di masa depan akan berperilaku mirip dengan pola yang diamati di masa lalu. Dinamika pasar dapat berubah dan mengurangi efektivitas pola tersebut. Penting untuk secara teratur mengoptimalkan kembali parameter dan memverifikasi asumsi.
Berdasarkan analisis mendalam dari kode, berikut adalah beberapa kemungkinan optimasi:
Filter struktur pasar:
Adaptasi volatilitas:
Konfirmasi volume transaksi:
Beradaptasi dengan ukuran posisi:
Analisis multi-frame waktu:
Transaksi Smart Overlay:
Pembelajaran Mesin:
Kerangka Pemantauan Statistik:
Strategi perdagangan intraday Dynamic Fair Value Gap memberikan metode sistematis untuk mengidentifikasi dan memperdagangkan area ketidakseimbangan penawaran dan permintaan di pasar. Dengan memanfaatkan tiga pilar FVG dan aturan masuk yang jelas, strategi ini memiliki keandalan teoritis dan kepraktisan praktis. Kerangka kerja manajemen risiko yang kuat, termasuk stop loss yang telah ditentukan, rasio pengembalian risiko tetap, dan mekanisme posisi akhir hari, memberikan dasar yang kuat untuk disiplin perdagangan.
Keuntungan utama dari strategi ini adalah bahwa metodenya yang bersifat obyektif dan berbasis struktur pasar memungkinkan untuk tetap relevan dalam berbagai lingkungan pasar. Namun, efektivitas strategi dapat ditingkatkan secara signifikan dengan menerapkan arah optimasi yang disarankan, khususnya dengan menambahkan filter lingkungan pasar, penyesuaian berdasarkan volatilitas, dan konfirmasi volume transaksi.
Perlu dicatat bahwa tidak ada strategi perdagangan, tidak peduli seberapa sempurna, yang dapat menjamin kesuksesan. Perdagangan yang sukses membutuhkan tidak hanya strategi yang solid, tetapi juga disiplin pelaksanaan yang ketat, manajemen dana yang tepat, dan pemahaman yang mendalam tentang pasar.
/*backtest
start: 2024-03-26 00:00:00
end: 2025-03-25 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("Intraday FVG", overlay=true, pyramiding=5, max_bars_back=500, default_qty_type=strategy.percent_of_equity, commission_type=strategy.commission.percent)
// 2. FVG Detection (Three-Candle Pattern)
var bullFVGHigh = array.new_float()
var bullFVGLow = array.new_float()
var bullFVGIndex = array.new_int()
var bearFVGHigh = array.new_float()
var bearFVGLow = array.new_float()
var bearFVGIndex = array.new_int()
detectFVG() =>
// Bullish FVG: Current low > prior high AND next high < current low
bullCondition = low > high[2] and close[1] > high[2]
// Bearish FVG: Current high < prior low AND next low > current high
bearCondition = high < low[2] and close[1] < low[2]
if bullCondition
// log.info("bull condition met: {0} {0} {0}", high[2], close[1], low)
array.push(bullFVGHigh, low)
array.push(bullFVGLow, low[2])
array.push(bullFVGIndex, bar_index)
if bearCondition
// log.info("bear condition met: {0} {0} {0}", low[2], close[1], high)
array.push(bearFVGHigh, high[2])
array.push(bearFVGLow, high)
array.push(bearFVGIndex, bar_index)
detectFVG()
// 3. Retest Execution Logic
checkRetests(arrayHigh, arrayLow, barIndex, direction) =>
// log.info("{0} : {1}", bar_index, time)
i = array.size(arrayHigh) - 1
while i >= 0
// log.info("barIndex : {0}" , array.get(barIndex, i))
// log.info("bar_index : {0}" , bar_index)
if array.get(barIndex, i) < bar_index
fvgHigh = array.get(arrayHigh, i)
fvgLow = array.get(arrayLow, i)
// log.info("visting : {0} : {1} : {2} : {3} ", array.get(barIndex, i), bar_index, fvgHigh, fvgLow)
if direction == "long" and low <= fvgHigh
// log.info("entering long")
sl = array.get(arrayLow, i) // Previous candle's low
entry = close
tp = entry + (entry - sl)*2
strategy.entry("L"+str.tostring(array.get(barIndex, i)), strategy.long)
strategy.exit("XL"+str.tostring(array.get(barIndex, i)), "L"+str.tostring(array.get(barIndex, i)), stop=sl, limit=tp)
array.remove(arrayHigh, i)
array.remove(arrayLow, i)
array.remove(barIndex, i)
if direction == "short" and high >= fvgLow
// log.info("entering short")
sl = array.get(arrayHigh, i) // Previous candle's low
entry = close
tp = entry - (sl - entry)*2
strategy.entry("S"+str.tostring(array.get(barIndex, i)), strategy.short)
strategy.exit("XS"+str.tostring(array.get(barIndex, i)), "S"+str.tostring(array.get(barIndex, i)), stop=sl, limit=tp)
array.remove(arrayHigh, i)
array.remove(arrayLow, i)
array.remove(barIndex, i)
i := i - 1
checkRetests(bullFVGHigh, bullFVGLow, bullFVGIndex, "long")
checkRetests(bearFVGHigh, bearFVGLow, bearFVGIndex,"short")
// 5. Daily Exit at 3:15 PM IST
exitTime = hour == 15 and minute >= 15
if exitTime
strategy.close_all()
array.clear(bullFVGHigh)
array.clear(bullFVGLow)
array.clear(bearFVGHigh)
array.clear(bearFVGLow)
array.clear(bullFVGIndex)
array.clear(bearFVGIndex)