Strategi Kesenjangan Nilai Wajar Lanjutan: Sistem Penangkapan Ketidakseimbangan Mikro Berbasis Algoritma Kuantitatif

FVG SMC TP/SL 量化交易 价格不平衡 趋势过滤器
Tanggal Pembuatan: 2025-07-09 09:44:04 Akhirnya memodifikasi: 2025-07-09 09:44:04
menyalin: 1 Jumlah klik: 371
2
fokus pada
319
Pengikut

Strategi Kesenjangan Nilai Wajar Lanjutan: Sistem Penangkapan Ketidakseimbangan Mikro Berbasis Algoritma Kuantitatif Strategi Kesenjangan Nilai Wajar Lanjutan: Sistem Penangkapan Ketidakseimbangan Mikro Berbasis Algoritma Kuantitatif

Ringkasan

Ini adalah strategi perdagangan kuantitatif yang didasarkan pada kesenjangan nilai wajar (Fair Value Gaps, FVG), yang terinspirasi dari konsep Smart Money Concepts (SMC) dan teori ketidakseimbangan harga dalam perdagangan institusional. Strategi ini memicu perdagangan sinyal dengan mengidentifikasi ketidakseimbangan mikro di pasar dan ketika harga memasuki kembali wilayah tersebut. Strategi ini menggunakan pengaturan stop loss dan stop loss yang ditetapkan sebesar 0,10%, dirancang khusus untuk pedagang garis pendek dan pedagang algoritmik, yang bertujuan untuk menangkap pergerakan mikro pasar dengan kontrol risiko yang ketat.

Prinsip Strategi

Inti dari strategi ini adalah untuk mengidentifikasi dan memanfaatkan kebocoran nilai wajar (FVG). FVG adalah area di mana harga melompat dalam waktu singkat, yang mewakili tingkat harga di mana pasar tidak sepenuhnya diperdagangkan, dan biasanya dianggap sebagai area di mana harga mungkin akan kembali di masa depan.

Strategi ini didasarkan pada dua jenis FVG:

  1. Pengamat FVG: terbentuk ketika titik rendah dari garis K saat ini lebih tinggi dari titik tinggi sebelum dua garis K, dan harga penutupan garis K tengah lebih tinggi dari titik tinggi sebelum dua garis K.
  2. FVG bearish: terbentuk ketika titik tinggi garis K saat ini lebih rendah dari titik rendah dua garis K sebelumnya, dan harga penutupan garis K tengah lebih rendah dari titik rendah dua garis K sebelumnya.

Logika transaksi adalah sebagai berikut:

  • Ketika harga kembali memasuki area FVG yang lebih baik, memicu sinyal multiply.
  • Ketika harga kembali masuk ke daerah turun FVG, memicu sinyal shorting.
  • Stop loss dan stop-loss level yang ditetapkan 0,10% untuk setiap transaksi.

Strategi ini juga menyertakan filter penarikan untuk memfilter celah yang cukup besar untuk menghindari kebisingan pasar yang kecil. Pengguna dapat mengatur persentase penarikan secara manual, atau memilih mode otomatis untuk membuat strategi menyesuaikan penarikan berdasarkan dinamika historis yang berfluktuasi.

Keunggulan Strategis

  1. Identifikasi struktur pasar mikroStrategi dapat menangkap struktur pasar mikro dan ketidakseimbangan yang mungkin diabaikan oleh analisis teknis konvensional, yang sering mewakili jejak aktivitas dana institusional.

  2. Titik Masuk yang TepatStrategi ini memberikan sinyal masuk yang objektif dan akurat, mengurangi kesalahan penilaian subjektif, melalui kondisi FVG yang jelas.

  3. Kontrol risiko yang ketatPengaturan Stop Loss tetap 0,10% memastikan bahwa risiko pada setiap transaksi dapat dikontrol secara ketat dan cocok untuk pedagang yang memiliki manajemen dana yang ketat.

  4. Skalasi yang kuatDesain kerangka kebijakan fleksibel, dapat disesuaikan dengan kondisi pasar yang berbeda dengan menambahkan filter tambahan atau menyesuaikan parameter.

  5. Tidak ada masalah pencitraan ulangImplementasi kode menghindari masalah pemetaan ulang dan memastikan hasil retesting historis konsisten dengan kinerja hard drive.

  6. Adaptasi multi-frame time: Pengguna dapat menyesuaikan parameter time frame, sehingga kebijakan dapat beradaptasi dengan lingkungan perdagangan yang berbeda dari 1 menit ke periode waktu yang lebih tinggi.

Risiko Strategis

  1. Frekuensi transaksi singkatDengan strategi yang ditargetkan pada ketidakseimbangan mikro, mungkin akan menghasilkan banyak sinyal perdagangan, meningkatkan biaya perdagangan, terutama dalam lingkungan perdagangan frekuensi tinggi.

  2. Gangguan kebisinganDalam pasar yang kurang volatil atau horizontal, sinyal FVG mungkin mengandung lebih banyak noise, sehingga menimbulkan lebih banyak sinyal palsu.

  3. Stop loss tetapStop loss tetap 0,10% meskipun memberikan kontrol risiko yang ketat, tetapi mungkin terlalu ketat di pasar yang sangat fluktuatif sehingga sering dipicu.

  4. Risiko perubahan trenDalam pasar tren yang kuat, sinyal FVG terbalik dapat menyebabkan perdagangan yang bertentangan dengan tren utama, meningkatkan probabilitas kerugian.

  5. Parameter SensitivitasPengaturan parameter threshold memiliki dampak yang signifikan terhadap kinerja strategi, parameter yang tidak tepat dapat menyebabkan overoptimisasi atau kehilangan sinyal yang efektif.

Cara untuk mengurangi risiko meliputi:

  • Filter arah tren yang menggabungkan kerangka waktu yang lebih tinggi
  • Tingkatkan persyaratan nilai tambah dalam pasar yang rendah fluktuasi
  • Stop loss dan stop loss level disesuaikan dengan dinamika volatilitas pasar
  • Menerapkan filter volume transaksi untuk menghindari transaksi dalam lingkungan likuiditas rendah

Arah optimasi strategi

  1. Adaptive Thresholding System (ADPS)Strategi saat ini sudah menyertakan opsi penurunan nilai otomatis, tetapi dapat dioptimalkan lebih lanjut sebagai sistem adaptasi berdasarkan indikator volatilitas pasar (seperti ATR), yang memungkinkan FVG untuk mengidentifikasi dengan lebih tepat kondisi pasar saat ini.

  2. Konfirmasi multi-frame waktuIntroduksi analisis multi-frame waktu, melakukan perdagangan hanya jika arah tren frame waktu yang lebih tinggi sesuai dengan sinyal FVG, meningkatkan tingkat kemenangan.

  3. Dinamika Stop Loss / Stop Stop: Mengganti Stop / Stop Stop yang tetap 0,10% dengan pengaturan dinamis berdasarkan volatilitas pasar, secara otomatis memperluas jangkauan Stop jika volatilitas meningkat, dan mempersempit jangkauan jika volatilitas menurun.

  4. Konfirmasi volume transaksi: Menambahkan analisis volume transaksi dalam proses pembentukan FVG dan masuk kembali harga, melakukan transaksi hanya jika ada dukungan volume transaksi yang cukup, mengurangi sinyal palsu.

  5. Klasifikasi kondisi pasarSistem identifikasi otomatis kondisi pasar (trend, interval, volatilitas tinggi / rendah), menyesuaikan parameter strategi atau menghentikan perdagangan sesuai dengan kondisi pasar yang berbeda.

  6. Pembelajaran Mesin: Analisis keberhasilan model FVG historis melalui algoritma pembelajaran mesin, membangun model prediktif untuk menilai probabilitas keberhasilan potensial dari sinyal FVG saat ini.

Perbaikan ini tidak hanya meningkatkan kehandalan strategi, tetapi juga meningkatkan kemampuannya untuk beradaptasi dengan kondisi pasar yang berbeda, yang berpotensi meningkatkan tingkat pengembalian secara keseluruhan dan mengurangi penarikan.

Meringkaskan

Strategi Fair Value Gap adalah sistem perdagangan kuantitatif yang canggih yang berfokus pada menangkap ketidakseimbangan harga dalam struktur mikro pasar. Dengan identifikasi dan pelaksanaan FVG yang akurat, strategi ini memberikan kerangka perdagangan yang memiliki aturan yang jelas dan kontrol risiko yang ketat bagi pedagang garis pendek dan pedagang algoritmik.

Meskipun strategi dalam versi dasar telah menunjukkan kemampuan untuk menangkap ketidakseimbangan harga mikro, kinerja strategi dapat ditingkatkan lebih lanjut dengan menerapkan arah optimasi yang diusulkan, terutama sistem parameter adaptif dan konfirmasi multi-frame waktu. Ini adalah metode yang layak dipertimbangkan untuk pedagang yang mencari strategi perdagangan kuantitatif yang disiplin untuk dilakukan dalam jangka waktu singkat.

Pada akhirnya, keberhasilan strategi ini tergantung pada pemahaman mendalam pedagang tentang konsep FVG dan kemampuan untuk menyesuaikan parameter sesuai dengan kondisi pasar yang berbeda. Dikombinasikan dengan manajemen risiko yang tepat dan pengoptimalan berkelanjutan, strategi gap nilai wajar dapat menjadi alat yang efektif dalam portofolio perdagangan kuantitatif.

Kode Sumber Strategi
/*backtest
start: 2024-07-09 00:00:00
end: 2025-07-04 08:00:00
period: 4d
basePeriod: 4d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("FVG Strategy [algo ] - 0.10% TP/SL", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === INPUTS ===
thresholdPer = input.float(0, "Threshold %", minval = 0, maxval = 100, step = .1, inline = 'threshold')
auto = input(false, "Auto", inline = 'threshold')
tf = input.timeframe("", "Timeframe")

// SL/TP settings (0.10% each)
sl_pct = 0.10
tp_pct = 0.10

// === TYPE ===
type fvg
    float max
    float min
    bool isbull
    int t = time

// === DETECTION FUNCTION ===
detect() =>
    var new_fvg = fvg.new(na, na, na, na)
    threshold = auto ? ta.cum((high - low) / low) / bar_index : thresholdPer / 100

    bull_fvg = low > high[2] and close[1] > high[2] and (low - high[2]) / high[2] > threshold
    bear_fvg = high < low[2] and close[1] < low[2] and (low[2] - high) / high > threshold

    if bull_fvg
        new_fvg := fvg.new(low, high[2], true)
    else if bear_fvg
        new_fvg := fvg.new(low[2], high, false)

    [bull_fvg, bear_fvg, new_fvg]

// === FVG Detection ===
[bull_fvg, bear_fvg, new_fvg] = request.security(syminfo.tickerid, tf, detect())

var fvg_records = array.new<fvg>(0)
var t = 0

if (bull_fvg or bear_fvg) and new_fvg.t != t
    array.unshift(fvg_records, new_fvg)
    t := new_fvg.t

// === ENTRY STRATEGY ===
if array.size(fvg_records) > 0
    latest = array.get(fvg_records, 0)
    
    // BUY Logic
    if latest.isbull and close <= latest.max and close >= latest.min and strategy.position_size <= 0
        sl = close * (1 - sl_pct / 100)
        tp = close * (1 + tp_pct / 100)
        strategy.entry("Buy FVG", strategy.long)
        strategy.exit("TP/SL Long", from_entry="Buy FVG", stop=sl, limit=tp)
    
    // SELL Logic
    if not latest.isbull and close >= latest.min and close <= latest.max and strategy.position_size >= 0
        sl = close * (1 + sl_pct / 100)
        tp = close * (1 - tp_pct / 100)
        strategy.entry("Sell FVG", strategy.short)
        strategy.exit("TP/SL Short", from_entry="Sell FVG", stop=sl, limit=tp)

// === VISUALIZE FVG ZONES ===
plotshape(bull_fvg, title="Bullish FVG", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(bear_fvg, title="Bearish FVG", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)