Strategi Membalikkan Kesenjangan Nilai Wajar


Tanggal Pembuatan: 2025-07-03 11:29:05 Akhirnya memodifikasi: 2025-07-04 11:38:50
menyalin: 0 Jumlah klik: 290
2
fokus pada
319
Pengikut

Strategi Membalikkan Kesenjangan Nilai Wajar Strategi Membalikkan Kesenjangan Nilai Wajar

Tinjauan Strategi

Strategi ini adalah sistem perdagangan yang didasarkan pada Inverted Fair Value Gap (IFVG) yang menggabungkan pengakuan tren dan mekanisme stop loss pelacakan dinamis. Strategi ini pertama-tama mengidentifikasi Fair Value Gap (FVG) di pasar, kemudian mencari sinyal reversal dari celah-celah ini, sekaligus mengkonfirmasi tren pasar secara keseluruhan dengan menggunakan Simple Moving Average (SMA), dan terakhir dengan setting Stop Loss pelacakan dinamis melalui Average True Rate (ATR) untuk mengoptimalkan manajemen risiko.

Prinsip Strategi

Inti dari strategi ini adalah untuk mengidentifikasi dan memanfaatkan kebocoran nilai wajar (FVG). Prinsip strategi dapat dibagi menjadi beberapa langkah kunci sebagai berikut:

  1. Identifikasi FVGStrategi pertama mendeteksi celah nilai wajar, yaitu area harga yang terbentuk ketika harga terendah pada suatu garis K lebih tinggi dari harga terendah pada garis K sebelumnya (bullish FVG) atau ketika harga terendah pada suatu garis K lebih rendah dari harga terendah pada garis K sebelumnya (bullish FVG). Area ini mewakili tingkat harga yang tidak diperdagangkan ketika pasar bergerak cepat.

  2. Konfirmasi IFVG: Ketika harga kembali ke area FVG dan muncul sinyal reversal, sebuah gap nilai wajar terbalik terbentuk (IFVG). Secara khusus, IFVG dikonfirmasi ketika harga lebih tinggi dari titik tinggi FVG bullish dan harga penutupan lebih tinggi dari harga pembukaan, atau harga lebih rendah dari titik rendah FVG bearish dan harga penutupan lebih rendah dari harga pembukaan.

  3. Konfirmasi tren: Strategi menggunakan rata-rata bergerak sederhana (SMA) 50 siklus dan 200 siklus untuk menentukan tren pasar. Ketika jangka pendek (SMA) 50 siklus lebih tinggi dari jangka panjang (SMA) 200 siklus, konfirmasi tren naik; sebaliknya, konfirmasi tren turun.

  4. Syarat masuk:

    • Kondisi multi: ketika IFVG terbentuk, harga di bawah titik terendah IFVG, dan pasar berada dalam tren naik
    • Kondisi kosong: ketika IFVG terbentuk, harga lebih tinggi dari IFVG dan pasar berada dalam tren menurun
  5. Manajemen Risiko:

    • Stop loss awal ditetapkan sebesar 0,5% dari harga masuk
    • Target stop loss ditetapkan sebesar 1,5% dari harga masuk
    • Ketika keuntungan mencapai setengah dari target stop loss (,75 persen), memulai stop loss tracking secara dinamis
    • Tracking stop loss berdasarkan ATR ((14) perubahan dinamika untuk memastikan harga yang lebih besar sebagai buffer saat volatilitas pasar meningkat

Keunggulan Strategis

  1. Mekanisme multiple confirmationStrategi ini menggabungkan struktur harga (IFVG), arah tren (SMA) dan manajemen risiko dinamis (ATR) untuk membentuk sistem penyaringan berlapis yang secara signifikan mengurangi sinyal palsu.

  2. Struktur Pasar yang MendorongDengan mengidentifikasi FVG dan IFVG, strategi dapat menangkap perubahan struktur mikro pasar, yang biasanya mewakili ketidakseimbangan dan kemungkinan peluang arah dalam kekuatan jual beli jangka pendek.

  3. Konsistensi tren: Strategi hanya berdagang di arah tren, menghindari risiko tinggi dari perdagangan berlawanan arah.

  4. Manajemen risiko dinamisStrategi tidak hanya menetapkan tingkat stop loss dan stop loss tetap, tetapi juga memungkinkan stop loss pelacakan dinamis berbasis ATR yang dapat menyesuaikan tingkat perlindungan sesuai dengan volatilitas pasar.

  5. Mekanisme perlindungan keuntunganKetika perdagangan mencapai setengah dari keuntungan yang ditetapkan, stop loss secara otomatis bergerak ke posisi di atas jaminan, memastikan bahwa perdagangan tidak berubah dari keuntungan menjadi kerugian.

  6. Fleksibilitas waktuMeskipun pengembalian dilakukan pada siklus 1 menit, logika inti dari strategi (FVG, konfirmasi tren, dan stop loss dinamis) dapat diterapkan pada berbagai kerangka waktu.

Risiko Strategis

  1. Masalah keandalan FVGFVG dapat sering muncul di pasar yang sangat berfluktuasi tetapi tidak selalu memiliki nilai perdagangan, yang dapat menyebabkan over-trading. Solusinya adalah menambahkan kondisi penyaringan tambahan, seperti meminta FVG memiliki lebar minimum atau terbentuk di dekat tingkat harga kritis.

  2. Tren Menentukan Keterbatasan: Menggunakan hanya dua SMA untuk mendefinisikan tren dapat menghasilkan sinyal yang salah di pasar yang bergoyang. Solusinya adalah menambahkan indikator konfirmasi tren tambahan, seperti ADX (Indeks Arah Rata-rata) untuk mengukur kekuatan tren.

  3. Stop loss terlalu sempitStop loss tetap 0,5% mungkin terlalu sempit dalam beberapa varietas yang berfluktuasi tinggi, mudah dipicu oleh kebisingan pasar. Solusi adalah menghubungkan pengaturan stop loss dengan ATR, sehingga dapat disesuaikan dengan karakteristik fluktuasi varietas yang berbeda.

  4. Manajemen penarikan kurang baikKetika pasar tiba-tiba berbalik, tracking stop loss mungkin tidak dapat bereaksi dengan cepat, menyebabkan penarikan meluas. Solusinya adalah menetapkan batas penarikan maksimum yang dapat diterima, dan segera keluar jika melebihi.

  5. Parameter SensitivitasKinerja strategi sangat sensitif terhadap parameter seperti siklus SMA, stop loss ratio, dan ATR multiplier. Solusinya adalah menemukan kombinasi parameter yang kuat melalui pengoptimalan feedback dan evaluasi ulang secara berkala.

Arah optimasi strategi

  1. Integrasi analisis multi-frame waktuMengintegrasikan informasi FVG dan tren dari jangka waktu yang lebih tinggi ke dalam proses pengambilan keputusan dapat meningkatkan kualitas sinyal. Misalnya, sinyal pada grafik 1 menit dapat diminta untuk konsisten dengan FVG dan arah tren pada grafik 15 menit atau 1 jam.

  2. Mekanisme penghentian dinamisStrategi saat ini menggunakan stop loss proporsional tetap, yang dapat ditingkatkan menjadi stop loss dinamis berbasis ATR, atau stop loss target yang disesuaikan secara otomatis dengan volatilitas pasar.

  3. Adaptasi Reversi dan Perhitungan Pasar: Menambahkan logika identifikasi lingkungan pasar, menggunakan strategi saat ini pada periode tren yang jelas, dan menggunakan kriteria masuk dan keluar yang berbeda pada periode konsolidasi.

  4. Konfirmasi volume transaksi: Integrasi analisis volume transaksi untuk memverifikasi efektivitas FVG dan IFVG. Gap harga yang benar-benar signifikan biasanya disertai dengan perubahan volume transaksi yang signifikan.

  5. Optimalisasi Pembelajaran Mesin: Menggunakan algoritma pembelajaran mesin untuk mengidentifikasi kombinasi karakteristik FVG yang paling prediktif, seperti ukuran lubang, kecepatan pembentukan, dan hubungan dengan dukungan / resistensi.

  6. Penyesuaian parameter adaptasi: Mengembangkan mekanisme yang memungkinkan strategi untuk secara otomatis menyesuaikan parameternya berdasarkan kinerja pasar baru-baru ini, seperti memperluas stop loss ketika volatilitas meningkat.

  7. Menambahkan manajemen posisiStrategi saat ini menggunakan posisi tetap ((10 unit), yang dapat ditingkatkan menjadi sistem manajemen posisi dinamis berdasarkan volatilitas dan pengukuran risiko, meningkatkan posisi pada sinyal kepastian tinggi, mengurangi eksposur di pasar yang tidak pasti.

Meringkaskan

Trend confirmation type reverse fair value gap strategy with dynamic tracking stop loss adalah sistem perdagangan bertingkat yang secara organik menggabungkan analisis struktur harga (FVG dan IFVG), trend confirmation (SMA) dan dynamic risk management (ATR tracking stop loss). Keunggulan utama dari strategi ini adalah mekanisme multiple confirmation dan manajemen risiko adaptif, yang secara efektif menyaring sinyal berkualitas rendah dan melindungi keuntungan yang telah dicapai.

Namun, strategi ini juga menghadapi tantangan seperti keandalan FVG, keterbatasan definisi tren, dan sensitivitas parameter. Arah optimasi di masa depan meliputi integrasi analisis multi-frame waktu, pengembangan mekanisme penghentian dinamis, peningkatan adaptasi di berbagai lingkungan pasar, dan pengenalan teknologi pembelajaran mesin untuk mengoptimalkan kualitas sinyal dan pilihan parameter.

Dengan perbaikan ini, strategi ini memiliki potensi untuk berkembang menjadi sistem perdagangan yang lebih stabil dan beradaptasi, mampu mempertahankan kinerja yang konsisten di berbagai kondisi pasar. Khususnya, dengan meningkatkan kemampuan responsnya terhadap perubahan struktur pasar dan volatilitas, strategi dapat beradaptasi dengan lebih baik terhadap lingkungan pasar yang terus berubah, meningkatkan profitabilitas jangka panjang dan stabilitas pertumbuhan modal.

Kode Sumber Strategi
/*backtest
start: 2025-05-31 00:00:00
end: 2025-06-30 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BNB_USDT"}]
args: [["RunMode",1,358374]]
*/

//@version=6
strategy("Inverted FVG Strategy with Trend Check and Trailing Stops", default_qty_value = 10, overlay=true)

// Function to detect FVG
fvgDetected(src, high, low) =>
    float prevHigh = na
    float prevLow = na
    float prevClose = na
    float fvgHigh = na
    float fvgLow = na
    bool fvg = false
    if (not na(src[3]))
        prevHigh := high[3]
        prevLow := low[3]
        prevClose := src[3]
        if (src[2] > prevClose and low[2] > prevHigh) or (src[2] < prevClose and high[2] < prevLow)
            fvg := true
            fvgHigh := low[2] > prevHigh ? high[2] : na
            fvgLow := high[2] < prevLow ? low[2] : na
    [fvg, fvgHigh, fvgLow]

// Detect FVG on the chart
[fvg, fvgHigh, fvgLow] = fvgDetected(close, high, low)

// Detect IFVG - Inversion of FVG
bool ifvg = false
float ifvgHigh = na
float ifvgLow = na

if (fvg)    
    if (high[1] > fvgHigh and close[1] > open[1]) or (high[1] < fvgLow and close[1] < open[1])
        ifvg := true
        ifvgHigh := close[1] > open[1] ? high[1] : na
        ifvgLow := close[1] <  open[1] ? low[1] : na

// Plot FVG and IFVG zones for visualization
plot(ifvgHigh, title="IFVG High", color=color.red, linewidth=2, style=plot.style_cross)
plot(ifvgLow, title="IFVG Low", color=color.red, linewidth=2, style=plot.style_cross)

// Trend Check using Simple Moving Averages
smaShort = ta.sma(close, 50)  // Short term SMA
smaLong = ta.sma(close, 200)  // Long term SMA
bool uptrend = false
bool downtrend = false

uptrend := smaShort > smaLong  // Up trend if short SMA is above long SMA
downtrend := smaShort < smaLong  // Down trend if short SMA is below long SMA

// Plot SMAs for visualization
plot(smaShort, title="SMA Short", color=color.blue, linewidth=1)
plot(smaLong, title="SMA Long", color=color.orange, linewidth=1)

// Trading logic with trend confirmation
longCondition = ifvg and close < ifvgLow and uptrend
shortCondition = ifvg and close > ifvgHigh and downtrend

// Risk Definition - 使用百分比
stopLoss = 0.005   // 0.5% 止损
takeProfit = 0.015  // 1.5% 止盈

if (longCondition and strategy.position_size == 0)
    strategy.entry("Long", strategy.long)
    stopPrice = close * (1 - stopLoss)
    limitPrice = close * (1 + takeProfit)
    strategy.exit("Initial Long Exit", "Long", stop=stopPrice, limit=limitPrice)

if (shortCondition and strategy.position_size == 0)
    strategy.entry("Short", strategy.short)
    stopPrice = close * (1 + stopLoss)
    limitPrice = close * (1 - takeProfit)
    strategy.exit("Initial Short Exit", "Short", stop=stopPrice, limit=limitPrice)

// ATR for dynamic trailing stop
atr = ta.atr(14)

// Trailing Stop for Long Position if the trade has moved > 0.5% (half of takeProfit)
if (strategy.position_size > 0)
    profitThreshold = takeProfit * 0.5  // 1.5% profit threshold
    if (close - strategy.position_avg_price >= strategy.position_avg_price * profitThreshold)
        // 将止损移动到盈亏平衡点加上一点利润
        trailingStopLong = math.max(strategy.position_avg_price * (1 + profitThreshold), close - (atr * 2))
        strategy.exit("Trailing Stop Long", "Long", stop=trailingStopLong)

// Trailing Stop for Short Position if the trade has moved > 0.5% (half of takeProfit)
if (strategy.position_size < 0)
    profitThreshold = takeProfit * 0.5  // 1.5% profit threshold
    if (strategy.position_avg_price - close >= strategy.position_avg_price * profitThreshold)
        // 将止损移动到盈亏平衡点加上一点利润
        trailingStopShort = math.min(strategy.position_avg_price * (1 - profitThreshold), close + (atr * 2))
        strategy.exit("Trailing Stop Short", "Short", stop=trailingStopShort)