
Strategi ini adalah sistem perdagangan kuantitatif yang didasarkan pada pengenalan bentuk kejatuhan klasik, yang berfokus pada pengenalan dua sinyal pembalikan penting di pasar: bentuk lebah dan bentuk meteor. Bentuk lebah biasanya muncul di ujung tren turun, yang dianggap sebagai sinyal pembalikan prospektif; sedangkan bentuk meteor sering muncul di puncak tren naik, yang dianggap sebagai sinyal pembalikan prospektif. Strategi ini menggunakan parameter matematika yang tepat untuk mendefinisikan bentuk-bentuk ini, untuk memastikan keakuratan dan konsistensi sinyal.
Prinsip inti dari strategi ini didasarkan pada definisi dan identifikasi matematis yang tepat dari bentuk garis K tertentu:
Identifikasi bentuk kalung:
Identifikasi bentuk meteor:
Logika Eksekusi Transaksi:
Pelaksanaan strategi ini didasarkan pada garis K berikutnya setelah munculnya sinyal, sehingga dapat menghindari bias prediktif dalam pengukuran ulang dan memastikan kelayakan strategi dalam perdagangan aktual.
Sinyal masuk yang sederhana dan jelasStrategi ini didasarkan pada bentuk garis K yang jelas, sinyal masuk yang jelas, dan mengurangi faktor penilaian subjektif.
Peningkatan manajemen risiko: Setiap transaksi memiliki stop loss dan target harga yang jelas, membatasi kerugian maksimum dalam satu transaksi, yang membantu mempertahankan dana Anda dalam jangka panjang.
Parameter yang dapat disesuaikanStrategi menyediakan beberapa parameter kunci (misalnya, rasio garis bayangan, rasio entitas minimum, dll.) yang dapat disesuaikan secara optimal sesuai dengan pasar dan kerangka waktu yang berbeda.
Beradaptasi dengan Perubahan PasarMerak dan meteor adalah representasi visual dari perubahan sentimen pasar, yang dapat menangkap titik-titik perubahan potensial dalam dinamika pasar.
Stop loss yang masuk akalStop loss strategi diatur pada titik teratas dari garis K, yang biasanya mewakili upaya terakhir pasar ke arah itu, dan sinyal reversal mungkin akan gagal jika ditembus.
Cocok untuk perdagangan intradayStrategi masuk dan keluar yang relatif cepat, cocok untuk digunakan oleh pedagang intraday, dan dapat memanfaatkan fluktuasi pasar jangka pendek.
Risiko Penembusan Palsu: Pasar mungkin menghasilkan kondisi yang memenuhi syarat, tetapi kemudian tidak terjadi pembalikan yang diharapkan, menyebabkan perdagangan mencapai stop loss.
Parameter SensitivitasPerforma strategi sangat sensitif terhadap pengaturan parameter (seperti wicFactor dan minBodyRangePct), dan pengaturan parameter yang salah dapat menyebabkan terlalu banyak sinyal palsu atau kehilangan sinyal penting.
Ketersediaan terbatasStrategi ini mungkin tidak bekerja dengan baik di pasar yang bergoyang atau di pasar yang tidak memiliki tren yang jelas, dan mungkin menghasilkan perdagangan kerugian berkelanjutan.
Kurangnya konfirmasi trenStrategi ini hanya didasarkan pada bentuk garis K tunggal, tanpa mempertimbangkan konteks tren pasar yang lebih luas, yang dapat menyebabkan perdagangan berlawanan.
Stop-point bit konservatif: Stop-stop strategi diatur pada titik ekstrim garis sinyal K, yang mungkin terlalu konservatif untuk memanfaatkan sepenuhnya pembalikan tren yang sebenarnya.
Manajemen risikoStrategi menggunakan dana dengan proporsi tetap ((10% hak bunga) untuk melakukan perdagangan, yang dapat menyebabkan penarikan akun yang lebih besar jika terjadi kerugian berturut-turut.
Tambahkan filter trenPerdagangan yang dilakukan hanya dalam arah yang positif, seperti mencari posisi plus dalam tren turun dan posisi minus dalam tren naik.
Konfirmasi peningkatan volume: Memerlukan sinyal K line yang disertai dengan volume transaksi yang lebih besar, meningkatkan keandalan bentuk, karena pembalikan biasanya disertai dengan peningkatan aktivitas perdagangan.
Optimalkan mekanisme anti-kelelahanIntroduksi strategi stop-loss dinamis, seperti stop-loss bergerak atau stop-point yang didasarkan pada ATR, untuk mendapatkan lebih banyak keuntungan dalam reversal yang kuat.
Menambahkan analisis multi-frame waktu: Mengkonfirmasi arah tren pasar pada kerangka waktu yang lebih besar, hanya melakukan sinyal pembalikan yang sesuai dengan tren besar.
Untuk mencapai nilai intensitas sinyal: berdasarkan kesempurnaan bentuk (seperti rasio garis bayangan, posisi garis K, pergerakan awal, dll) untuk memberi nilai pada sinyal, hanya melakukan sinyal dengan nilai tinggi.
Bergabung dengan Marketplace Filter: Mengatur parameter atau menangguhkan perdagangan dalam lingkungan yang sangat fluktuatif untuk menghindari sinyal yang salah ketika pasar berisik.
Integrasikan indikator teknis lainnyaPerdagangan dilakukan hanya jika beberapa indikator bersama-sama dikonfirmasi.
Strategi perdagangan kuantitatif dengan pola double reversal biner adalah sistem perdagangan otomatis yang didasarkan pada analisis teknis klasik untuk menangkap peluang reversal potensial pasar dengan mendefinisikan dan mengidentifikasi bentuk biner dan meteor biner. Strategi ini memiliki sinyal masuk yang jelas dan mekanisme manajemen risiko yang baik yang cocok untuk aplikasi pedagang harian. Namun, sebagai sistem yang murni didasarkan pada pengenalan bentuk, ia juga menghadapi risiko seperti terobosan palsu dan kurangnya konfirmasi tren.
Keunggulan terbesar dari strategi adalah kesederhanaan dan kejelasan, sehingga pedagang dapat dengan jelas memahami logika setiap perdagangan. Untuk meningkatkan stabilitas strategi, disarankan untuk menambahkan elemen seperti filter tren, konfirmasi volume transaksi, dan pengoptimalan mekanisme penghentian. Melalui pengoptimalan ini, sinyal palsu dapat dikurangi dan meningkatkan profitabilitas keseluruhan strategi dan rasio pengembalian risiko.
Akhirnya, seperti semua strategi perdagangan, pedagang harus melakukan pengujian yang memadai dan berorientasi ke depan sebelum menerapkannya secara praktis, dan menyesuaikan parameternya sesuai dengan kondisi pasar tertentu dan preferensi risiko pribadi. Strategi ini dapat berfungsi sebagai kerangka dasar dan, dengan terus-menerus dioptimalkan dan dipersonalisasi, berkembang menjadi alat yang efektif yang sesuai dengan gaya perdagangan individu.
/*backtest
start: 2024-08-11 00:00:00
end: 2025-08-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Hammer & Shooting Star — Strategy", overlay=true, pyramiding=0,
default_qty_type=strategy.percent_of_equity, default_qty_value=10, initial_capital=10000, calc_on_every_tick=true)
// === Inputs ===
wickFactor = input.float(0.9, "Min wick : body ratio", step=0.1)
maxOppositeWickFactor = input.float(0.45, "Max opposite-wick : body", step=0.05)
minBodyRangePct = input.float(0.2, "Min body as % of bar range", step=0.01)
// === Candle parts ===
o = open
c = close
h = high
l = low
body = math.abs(c - o)
barRange = h - l
upperWick = h - math.max(c, o)
lowerWick = math.min(c, o) - l
bodyNonZero = barRange > 0 and body > 0
// === Pattern detection (on the bar itself) ===
// Hammer: bearish candle (o > c), long lower wick, small upper wick
isHammer = bodyNonZero and (o > c) and (lowerWick >= wickFactor * body) and (upperWick <= maxOppositeWickFactor * body) and (body / barRange >= minBodyRangePct)
// Shooting star: bullish candle (o < c), long upper wick, small lower wick
isShootingStar = bodyNonZero and (o < c) and (upperWick >= wickFactor * body) and (lowerWick <= maxOppositeWickFactor * body) and (body / barRange >= minBodyRangePct)
// === Use previous-bar signals so entry executes at NEXT bar open ===
hammerSignal = isHammer[1]
ssSignal = isShootingStar[1]
// === Entries & exits: based on the signal bar (index [1]) ===
canEnter = strategy.position_size == 0
if hammerSignal and canEnter
// Enter long on current bar (this is the bar AFTER the hammer)
strategy.entry("Long_Hammer", strategy.long)
// Exit using the hammer-bar's low/high (signal bar is [1])
strategy.exit("Long_Exit", from_entry="Long_Hammer", stop=low[1], limit=high[1])
if ssSignal and canEnter
strategy.entry("Short_SS", strategy.short)
strategy.exit("Short_Exit", from_entry="Short_SS", stop=high[1], limit=low[1])
// === Visuals: show where patterns occurred ===
//barcolor(isHammer ? color.red : isShootingStar ? color.green : na)
plotshape(isHammer, title="Hammer", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.tiny, text="HAM")
plotshape(isShootingStar, title="Shooting Star", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.tiny, text="SS")