
Strategi liquidity hunting and reversal trading adalah sistem trading kuantitatif tingkat tinggi yang berfokus pada menangkap perilaku liquidity hunting di pasar dan kemudian bermain di tengah-tengah reversal yang kuat. Gagasan inti dari strategi ini adalah untuk mengidentifikasi situasi di mana titik tinggi atau rendah bersejarah telah ditembus (liquidity hunting) dan kemudian menunggu pasar untuk muncul dalam bentuk reversal yang signifikan yang menunjukkan kemungkinan terbaliknya arah. Strategi ini tidak hanya menangkap reversal, tetapi mencari reversal yang benar-benar reaktif, sehingga memberikan sinyal perdagangan yang lebih sedikit tetapi lebih bermakna.
Strategi ini didasarkan pada dua langkah penting: pertama, mengidentifikasi perilaku berburu yang bergerak, dan kemudian mengkonfirmasi sinyal pembalikan.
Identifikasi perburuan yang bergerakStrategi menggunakan periode pengembalian berparameter (default 20 cycle) untuk menentukan titik tinggi dan rendah historis. Jika harga saat ini menembus titik tertinggi sebelumnya (liqUp) atau jatuh ke titik terendah sebelumnya (liqDown), ini dianggap sebagai potensi perburuan likuiditas.
Konfirmasi BalikStrategi mencari reversal yang kuat setelah terjadi perburuan likuiditas, yang amplitudo harus lebih dari 1,2 kali dari 14 siklus ATR (Average True Range). Untuk sinyal multitasking, dibutuhkan bullish yang kuat; untuk sinyal short, dibutuhkan bearish yang kuat.
Pembuatan sinyalStrategi hanya akan menghasilkan sinyal perdagangan jika kedua kondisi, yaitu perburuan likuiditas dan konfirmasi reversal, terpenuhi secara bersamaan:
Mekanisme KeluarStrategi ini menerapkan mekanisme double opt-out:
Analisis kode dari strategi trading kuantitatif dapat disimpulkan sebagai keuntungan yang signifikan:
Menangkap perilaku institusionalStrategi ini berfokus pada identifikasi lembaga-lembaga yang sering melakukan aksi “mengambil” likuiditas, yang biasanya merupakan operasi pasar yang didominasi oleh uang besar, yang dapat mengikuti pergerakan “uang pintar”.
Sinyal berkualitas tinggiStrategi ini secara efektif memfilter sinyal-sinyal lemah, hanya menghasilkan peluang perdagangan dengan probabilitas tinggi, “fewer but more meaningful signals” (signal yang lebih sedikit tetapi lebih berarti).
Sangat mudah beradaptasiStrategi menggunakan ATR untuk secara dinamis menyesuaikan permintaan amplitudo reversal sehingga dapat beradaptasi dengan berbagai kondisi pasar yang bergejolak.
Peningkatan manajemen risikoTerintegrasi dengan mekanisme perlindungan ganda dari Stop Loss dan Time Out, yang secara efektif mengontrol risiko setiap transaksi.
Transaksi dua arahStrategi: Mendukung melakukan lebih banyak dan melakukan lebih sedikit, dapat mencari peluang di berbagai lingkungan pasar, tidak terbatas pada satu arah.
Parameter yang dapat disesuaikanParameter kunci seperti periode pengembalian, ATR, persentase TP / SL, waktu memegang, dan lain-lain dapat disesuaikan, sehingga strategi memiliki fleksibilitas yang tinggi.
Meskipun strategi ini dirancang dengan baik, ada beberapa risiko potensial:
Risiko Penembusan Palsu: Pasar mungkin mengalami penurunan segera setelah penembusan singkat dari titik tertinggi dan terendah bersejarah, menyebabkan sinyal yang salah. Solusi adalah dapat mempertimbangkan untuk menambahkan kondisi penyaringan tambahan, seperti konfirmasi volume transaksi atau penembusan persyaratan durasi.
Batas dari persentase tetap TP/SLPenggunaan stop loss dengan persentase tetap mungkin tidak cocok untuk semua kondisi pasar, terutama pada periode perubahan volatilitas yang signifikan. Disarankan untuk mempertimbangkan pengaturan stop loss dinamis berdasarkan ATR.
Blind spot dari waktu keluar: Keluar dari siklus tetap dapat menyebabkan keluar dari posisi yang menguntungkan terlalu dini ketika tren baru saja dimulai. Anda dapat mempertimbangkan waktu keluar yang disesuaikan dengan dinamika indikator tren.
Parameter SensitivitasKinerja strategi sangat sensitif terhadap pilihan parameter, terutama panjang periode regresi dan ATR. Optimasi dan pengujian parameter yang memadai diperlukan untuk menghindari over-fit.
Kemampuan beradaptasi terhadap lingkungan pasarStrategi ini mungkin bekerja paling baik di pasar yang bergejolak, tetapi dapat menghasilkan terlalu banyak sinyal salah di pasar yang sedang tren. Disarankan untuk memasukkan mekanisme identifikasi lingkungan pasar.
Berdasarkan analisis mendalam dari kode tersebut, berikut adalah arah optimasi yang mungkin:
Dinamika ATRStrategi saat ini menggunakan ATR 1,2 kali lipat yang tetap sebagai kriteria untuk membalikkan putaran, dapat dipertimbangkan untuk menyesuaikan kelipatan ini sesuai dengan dinamika volatilitas pasar, menurunkan kelipatan pada periode fluktuasi tinggi, meningkatkan kelipatan pada periode fluktuasi rendah.
Konfirmasi pengiriman: Menambahkan analisis volume transaksi sebagai faktor konfirmasi tambahan, misalnya meminta volume transaksi meningkat saat berburu dengan mobilitas, dan volume transaksi lebih besar saat berbalik.
Konfirmasi multi-periode: mencari zona support/resistance pada periode waktu yang lebih tinggi, hanya menghasilkan sinyal pada peristiwa perburuan yang bergerak di dekat zona-zona penting tersebut.
Sistem penghentian cerdas: Mampu melacak stop-loss atau stop-loss dinamis berdasarkan struktur pasar, bukan persentase tetap sederhana.
Filter tren: Menambahkan komponen pengenalan tren, mengurangi perdagangan mundur pada tren kuat, menerima sinyal atau menyesuaikan parameter hanya dalam arah tren.
Optimalkan periode retroaksi: Saat ini menggunakan periode pengembalian tetap ((20 siklus) mungkin tidak berlaku untuk semua pasar, pertimbangkan untuk menerapkan periode pengembalian adaptif, menyesuaikan otomatis sesuai dengan volatilitas pasar.
Menambah pengenalan pola reversalSelain reversal yang sederhana, reversal yang lebih kompleks dapat dikenali, seperti reversal yang menelan, reversal yang lebih cepat, dan reversal yang lebih akurat.
Strategi liquidity hunting dan reversal trading adalah sistem trading kuantitatif yang dirancang dengan baik yang menangkap peluang perdagangan dengan probabilitas tinggi dengan mengidentifikasi perilaku liquidity hunting di pasar dan kemudian reversal yang kuat. Strategi ini menggabungkan analisis teknis dan teori struktur mikro pasar, dengan fokus khusus pada saat-saat penting manipulasi dan reversal pasar.
Strategi ini secara efektif menyaring kebisingan pasar dengan menerapkan mekanisme double confirmation yang ketat (liquidity hunt + force reversal) dan hanya memberi sinyal jika ada pengaturan yang benar-benar berkualitas. Selain itu, sistem manajemen risiko yang baik (double exit mechanism) memastikan keamanan dana.
Meskipun strategi ini sudah cukup sempurna, masih ada beberapa arah optimasi yang bisa dieksplorasi, terutama dalam hal penyesuaian parameter dinamis, mekanisme konfirmasi ganda, dan manajemen dana yang lebih cerdas. Dengan optimasi ini, strategi ini berpotensi memberikan sinyal perdagangan yang lebih stabil dan lebih andal dalam berbagai kondisi pasar.
Strategi ini memberikan pendekatan yang sistematis dan disiplin bagi para pedagang yang ingin menangkap titik balik pasar, yang dapat membantu menghindari perdagangan emosional dan meningkatkan profitabilitas jangka panjang.
/*backtest
start: 2015-02-22 00:00:00
end: 2025-05-14 16:31:09
period: 1h
basePeriod: 1h
*/
//@version=5
strategy("Liquidity Hunt + Reversal Strategy (TP/SL + Time-Based)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === Settings ===
len = input.int(20, title="Lookback for Liquidity Hunt")
barExit = input.int(5, title="Exit After How Many Bars")
tpPerc = input.float(2.0, title="Take Profit (%)") / 100
slPerc = input.float(1.0, title="Stop Loss (%)") / 100
// === Liquidity Hunt Detection ===
prevHigh = ta.highest(high, len)[1]
prevLow = ta.lowest(low, len)[1]
liqUp = high > prevHigh
liqDown = low < prevLow
// === Reversal Confirmation ===
atr = ta.atr(14)
bigBearish = close < open and (open - close) > (atr * 1.2)
bigBullish = close > open and (close - open) > (atr * 1.2)
// === Signals ===
longSignal = liqDown and bigBullish
shortSignal = liqUp and bigBearish
// === Open Trades ===
if (longSignal)
strategy.entry("Long", strategy.long)
if (shortSignal)
strategy.entry("Short", strategy.short)
// === Entry Price and Bars in Trade ===
entryPrice = strategy.position_avg_price
barsInTrade = bar_index - strategy.opentrades.entry_bar_index(0)
// === Long Exit ===
if (strategy.position_size > 0)
strategy.exit("Long Exit", from_entry="Long",
limit=entryPrice * (1 + tpPerc),
stop=entryPrice * (1 - slPerc),
when=barsInTrade >= barExit)
// === Short Exit ===
if (strategy.position_size < 0)
strategy.exit("Short Exit", from_entry="Short",
limit=entryPrice * (1 - tpPerc),
stop=entryPrice * (1 + slPerc),
when=barsInTrade >= barExit)
// === Chart Signals ===
plotshape(longSignal, location=location.belowbar, color=color.green, style=shape.labelup, text="LONG")
plotshape(shortSignal, location=location.abovebar, color=color.red, style=shape.labeldown, text="SHORT")