
Strategi ini adalah sistem dagangan kuantitatif berdasarkan pengenalan bentuk kejatuhan klasik, yang memberi tumpuan kepada pengenalan dua isyarat pembalikan penting di pasaran: bentuk kerang dan bentuk meteor. Bentuk kerang biasanya muncul di hujung trend turun, yang dianggap sebagai isyarat pembalikan prospektif; dan bentuk meteor sering muncul di puncak trend naik, yang dianggap sebagai isyarat pembalikan prospektif. Strategi ini menggunakan parameter matematik yang tepat untuk menentukan bentuk ini, memastikan ketepatan dan keserasian isyarat.
Prinsip utama strategi ini adalah berdasarkan definisi dan pengenalan matematik yang tepat untuk bentuk K-line tertentu:
Pengiktirafan bentuk kelinci:
Pengenalan bentuk meteor:
Logik pelaksanaan transaksi:
Pelaksanaan strategi ini adalah berdasarkan pada garis K seterusnya selepas munculnya isyarat, ini dapat mengelakkan penyimpangan prospektif dalam pengiraan semula dan memastikan kebolehperanan strategi dalam perdagangan sebenar.
Isyarat masuk yang mudah dan jelasStrategi ini adalah berdasarkan bentuk garis K yang jelas, isyarat masuk yang jelas, mengurangkan faktor penilaian subjektif.
Pengurusan risiko yang lebih baik: Setiap urus niaga mempunyai harga hentian dan sasaran yang jelas, yang mengehadkan kerugian maksimum dalam satu urus niaga, yang membantu mengekalkan dana dalam jangka masa panjang.
Parameter yang boleh disesuaikanStrategi menyediakan beberapa parameter utama (seperti nisbah garis bayangan, nisbah entiti minimum, dan lain-lain) yang boleh disesuaikan dengan pasaran dan jangka masa yang berbeza.
Menyesuaikan diri dengan perubahan pasaranBentuk kerucut dan meteor adalah perwujudan visual perubahan sentimen pasaran, yang dapat menangkap titik-titik perubahan yang berpotensi dalam dinamik pasaran.
Hentian yang munasabah: Stop loss strategi ditetapkan pada titik maksimum garis K, yang biasanya mewakili percubaan terakhir pasaran ke arah itu, dan jika ditembusi, isyarat pembalikan mungkin tidak akan berfungsi.
Untuk dagangan dalam sehariStrategi masuk dan keluar adalah agak cepat, sesuai untuk digunakan oleh peniaga dalam hari, dan boleh memanfaatkan turun naik pasaran jangka pendek.
Risiko penembusan palsu: Pasaran mungkin menghasilkan bentuk yang memenuhi syarat, tetapi kemudiannya tidak berlaku pembalikan yang dijangkakan, menyebabkan perdagangan mencapai stop loss.
Kepekaan ParameterPrestasi strategi sangat sensitif terhadap parameter (sepertiwickFactor dan minBodyRangePct), dan parameter yang tidak betul boleh menyebabkan terlalu banyak isyarat palsu atau kehilangan isyarat penting.
Terhad untuk kegunaanStrategi ini mungkin tidak berfungsi dengan baik dalam pasaran yang bergolak atau tanpa trend yang jelas, dan mungkin menghasilkan perdagangan rugi berturut-turut.
Kurangnya pengesahan trendStrategi ini hanya berdasarkan pada bentuk K-line tunggal, tanpa mengambil kira latar belakang trend pasaran yang lebih luas, yang boleh menyebabkan perdagangan berlawanan.
Titik penamat konservatif: Strategi berhenti set pada titik maksimum pada garis isyarat K, yang mungkin terlalu konservatif untuk memanfaatkan sepenuhnya trend pembalikan sebenar.
Risiko pengurusan danaStrategi menggunakan dana peratusan tetap ((10% hak milik) untuk berdagang, yang boleh menyebabkan penarikan balik akaun yang lebih besar dalam kes kerugian berturut-turut.
Tambah penapis trendBerkongsi dengan purata bergerak atau penunjuk trend lain, hanya melakukan perdagangan di arah trend yang baik, contohnya mencari lebih banyak bentuk kelinci hanya dalam trend menurun, mencari bentuk bintang meteorit dalam trend naik.
Tingkatkan pengesahan volum: Memerlukan isyarat K line yang disertai dengan jumlah transaksi yang lebih besar, meningkatkan kebolehpercayaan bentuk, kerana pembalikan biasanya disertai dengan peningkatan aktiviti perdagangan.
Pengoptimuman mekanisme penangguhanMemperkenalkan strategi hentian dinamik, seperti hentian bergerak atau titik hentian berdasarkan ATR, untuk mendapatkan lebih banyak keuntungan semasa pembalikan yang kuat.
Analisis kerangka masa berbilang: mengesahkan arah trend pasaran pada jangka masa yang lebih besar, hanya melaksanakan isyarat pembalikan yang selaras dengan trend besar.
Mencapai penilaian kekuatan isyarat: memberi penilaian kepada isyarat berdasarkan kesempurnaan bentuk (seperti nisbah garis bayangan, kedudukan garis K, pergerakan awal, dan lain-lain), hanya melaksanakan isyarat skor tinggi.
Bergabung dengan penapis persekitaran pasaranMengubah parameter atau menghentikan dagangan dalam persekitaran yang tidak menentu untuk mengelakkan isyarat yang salah apabila pasaran berbunyi.
Mengintegrasikan penunjuk teknikal lainPerdagangan dilakukan hanya apabila beberapa indikator bersama-sama mengesahkan bahawa RSI, MACD dan lain-lain adalah isyarat yang berbeza.
Strategi dagangan kuantitatif model double reversal binari adalah sistem dagangan automatik berdasarkan analisis teknikal klasik yang menangkap peluang pembalikan pasaran yang berpotensi dengan menentukan dan mengenal pasti bentuk binari binari dan meteor. Strategi ini mempunyai isyarat masuk yang jelas dan mekanisme pengurusan risiko yang baik yang sesuai untuk aplikasi peniaga hari. Walau bagaimanapun, sebagai sistem yang berasaskan pengiktirafan bentuk semata-mata, ia juga menghadapi risiko seperti terobosan palsu dan kekurangan pengesahan trend.
Kelebihan terbesar strategi adalah kesederhanaan dan kejelasan, pedagang dapat memahami dengan jelas logik setiap perdagangan. Untuk meningkatkan kestabilan strategi, disarankan untuk menambahkan elemen seperti penapis trend, pengesahan jumlah transaksi dan pengoptimuman mekanisme penangguhan. Melalui pengoptimuman ini, isyarat palsu dapat dikurangkan, meningkatkan keuntungan keseluruhan strategi dan nisbah pulangan risiko.
Akhirnya, seperti semua strategi perdagangan, peniaga harus melakukan pengesanan dan pengujian ke hadapan yang mencukupi sebelum penerapan sebenar, dan menyesuaikan parameter mengikut keadaan pasaran tertentu dan pilihan risiko peribadi. Strategi ini boleh berfungsi sebagai kerangka asas, dan dengan pengoptimuman dan penyesuaian yang berterusan, berkembang menjadi alat yang berkesan 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")