
Strategi kuantitatif model carta berbilang dimensi adalah sistem perdagangan yang berdasarkan pada pengenalan bentuk grafik klasik dalam analisis teknikal, yang memfokuskan pada pengenalan dan perdagangan bentuk pembalikan seperti kepala, bahu, atas / bawah, dan dua bahagian atas / bawah. Strategi ini mendefinisikan dan mengenal pasti bentuk-bentuk utama yang muncul di pasaran dengan cara berprogrami, digabungkan dengan ATR (Rang Real Rata-rata) untuk menetapkan paras henti dan berhenti, untuk membina rangka kerja perdagangan yang lengkap.
Prinsip utama strategi ini berpusat pada pengenalan tiga bentuk grafik utama:
Pengenalan bentuk kepala dan bahu: mengenal pasti melalui perbandingan berterusan antara titik harga tinggi. Strategi mendeteksi sama ada titik tinggi pusat (kepala) lebih tinggi daripada titik tinggi kedua-dua belah pihak (bahu)high[1] > high[2] && high[1] > high[0] && high[1] > high[3] && high[1] > high[4] && high[0] < high[2] && high[0] < high[3]Keadaan ini biasanya menandakan berakhirnya trend menaik dan mungkin permulaan trend menurun.
Pengiktirafan bentuk dua puncak: Menggunakan logik yang sama dengan puncak kepala dan bahu, tetapi lebih menumpukan pada dua ketinggian yang berdekatan. Apabila dua ketinggian harga yang berdekatan terbentuk, dan terdapat satu titik rendah yang jelas di tengah, ia dianggap sebagai bentuk puncak ganda, yang juga merupakan isyarat pembalikan turun.
Pengiktirafan bentuk dua asas: Berbeza dengan dua puncak, ditentukan dengan mengenal pasti dua titik rendah harga yang berdekatan dan satu titik tinggi di tengah.low[1] < low[2] && low[1] < low[0] && low[1] < low[3] && low[1] < low[4] && low[0] > low[2] && low[0] > low[3]Keadaan ini biasanya merupakan isyarat pembalikan yang baik.
Isyarat dagangan dihasilkan berdasarkan pengenalan bentuk yang digabungkan dengan tingkah laku harga:
doubleBottomPattern && close > open)doubleTopPattern && close < open)Pengurusan risiko dicapai melalui ATR (Rang Real Rata-rata):
stopLoss = atrValue * 1.5)takeProfit = atrValue * 3)Reka bentuk ini membolehkan strategi untuk menyesuaikan diri dengan turun naik pasaran yang berbeza, memberikan penghentian yang lebih luas di pasaran yang bergelombang tinggi, dan penghentian yang lebih sempit di pasaran yang bergelombang rendah.
Berdasarkan analisis teknikal klasikStrategi ini berdasarkan analisis bentuk grafik yang diiktiraf dan digunakan secara meluas, yang menunjukkan keberkesanan tertentu dalam pelbagai keadaan pasaran, dengan banyak data pengesahan sejarah.
Pengurusan risiko penyesuaianDengan menggunakan penunjuk ATR untuk menetapkan tahap hentian dan hentian, strategi dapat menyesuaikan parameter pengurusan risiko secara automatik mengikut turun naik pasaran yang sebenarnya, mengelakkan risiko berlebihan atau terlalu konservatif yang mungkin disebabkan oleh hentian nombor titik tetap.
Peraturan masuk dan keluarStrategi ini menyediakan kemasukan yang jelas (confirmation of form + price confirmation) dan keluar (stop loss / stop stop based on ATR) yang membantu peniaga untuk mengekalkan disiplin dan mengurangkan perdagangan emosi.
Isyarat perdagangan visualMemerintah:plotshapeFungsi ini memaparkan pengenalan bentuk dan isyarat dagangan secara intuitif pada carta, yang membolehkan peniaga memantau dan menganalisis prestasi strategi dalam masa nyata.
Keupayaan untuk beradaptasiWalaupun pelaksanaan semasa memberi tumpuan kepada beberapa bentuk grafik tertentu, kerangka dasar ini membolehkan pengembangan yang mudah untuk merangkumi lebih banyak jenis pengenalan bentuk seperti segitiga, bendera, dan lain-lain.
Pemprosesan mudah untuk pengenalan bentuk: Logik pengenalan bentuk semasa agak sederhana, hanya berdasarkan perbandingan beberapa titik harga, mungkin tidak dapat menangkap struktur pasaran yang lebih kompleks, menyebabkan beberapa kesalahan penghakiman. Sebagai contoh, logik penghakiman kepala, bahu dan dua puncak sama, yang boleh menyebabkan kesalahan klasifikasi.
Kekurangan pengesahan jumlah pesananDalam analisis teknikal tradisional, bentuk grafik sering memerlukan pengesahan gabungan kuantiti transaksi, dan strategi semasa tidak memasukkan faktor kuantiti transaksi, yang boleh menyebabkan penilaian keberkesanan bentuk tidak cukup komprehensif.
Risiko untuk tetapkan ATRWalaupun penggunaan ATR membolehkan stop loss / stop loss untuk menyesuaikan diri dengan turun naik, parameter 1.5x dan 3x yang tetap mungkin tidak sesuai untuk semua keadaan pasaran, terutamanya dalam keadaan yang melampau atau kejadian yang tidak dijangka.
Tiada jangka masa untuk pertimbanganStrategi ini tidak mengambil kira perbezaan pengenalan bentuk pada bingkai masa yang berbeza, yang boleh menyebabkan terlalu banyak isyarat palsu pada bingkai masa yang lebih pendek, atau kehilangan peluang perdagangan penting pada bingkai masa yang lebih lama.
Kurangnya penapis trendStrategi ini tidak mempunyai mekanisme penapisan trend, yang boleh menyebabkan isyarat perdagangan terbalik yang sering berlaku di pasaran yang sedang tren yang kuat, dan seterusnya menghasilkan satu siri perdagangan yang merugikan.
Peningkatan algoritma pengenalan bentuk:
Analisis trafik bersepadu:
Pengoptimuman strategi pengurusan risiko:
Tambah penapis trend:
Analisis pelbagai kerangka masa:
Menambah penunjuk pengesahan tambahan:
Strategi Kuantitatif Model Bagan Bagan adalah sistem perdagangan berdasarkan bentuk grafik analisis teknikal klasik untuk menangkap titik-titik perubahan trend yang berpotensi dengan mengenalpasti struktur pasaran seperti puncak bahu / bawah dan dua puncak / bawah. Strategi ini, yang dikombinasikan dengan indikator ATR untuk pengurusan risiko, menyediakan kerangka perdagangan yang agak lengkap.
Untuk meningkatkan kestabilan dan prestasi strategi, disyorkan untuk mengoptimumkan dari segi pengesahan algoritma pengiktirafan corak yang lebih baik, integrasi analisis lalu lintas, pengoptimuman strategi pengurusan risiko, penambahan penapis trend, pemasangan analisis pelbagai kerangka masa dan penambahan penunjuk pengesahan tambahan. Dengan penambahbaikan ini, strategi dijangka meningkatkan kualiti isyarat perdagangan dan keuntungan keseluruhan dengan ketara, sambil mengekalkan kelebihan analisis corak berdasarkan carta klasik.
Akhirnya, strategi perdagangan apa pun perlu diuji dan disahkan dengan baik, dan dalam aplikasi sebenar, parameter yang sesuai harus disesuaikan dengan perubahan persekitaran pasaran, ciri-ciri jenis perdagangan, dan toleransi risiko individu untuk mencapai kesan perdagangan yang optimum.
/*backtest
start: 2024-02-28 00:00:00
end: 2025-02-26 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Chart Pattern Strategy - Head and Shoulders / Double Top/Bottom", overlay=true)
// Function to detect a simple Head and Shoulders pattern
isHeadAndShoulders() =>
high[1] > high[2] and high[1] > high[0] and high[1] > high[3] and high[1] > high[4] and high[0] < high[2] and high[0] < high[3]
// Function to detect a Double Top pattern
isDoubleTop() =>
high[1] > high[2] and high[1] > high[0] and high[1] > high[3] and high[1] > high[4] and high[0] < high[2] and high[0] < high[3]
// Function to detect a Double Bottom pattern
isDoubleBottom() =>
low[1] < low[2] and low[1] < low[0] and low[1] < low[3] and low[1] < low[4] and low[0] > low[2] and low[0] > low[3]
// Detecting Head and Shoulders, Double Top, and Double Bottom Patterns
headAndShouldersPattern = isHeadAndShoulders()
doubleTopPattern = isDoubleTop()
doubleBottomPattern = isDoubleBottom()
// Plotting Head and Shoulders, Double Top, and Double Bottom detections
plotshape(headAndShouldersPattern, title="Head and Shoulders", location=location.abovebar, color=color.red, style=shape.labelup, text="HS")
plotshape(doubleTopPattern, title="Double Top", location=location.abovebar, color=color.red, style=shape.labelup, text="DT")
plotshape(doubleBottomPattern, title="Double Bottom", location=location.belowbar, color=color.green, style=shape.labeldown, text="DB")
// Entry logic for Buy and Sell signals
longSignal = doubleBottomPattern and close > open
shortSignal = doubleTopPattern and close < open
// Take profit and stop loss based on ATR for simplicity
atrLength = input.int(14, title="ATR Length")
atrValue = ta.atr(atrLength)
stopLoss = atrValue * 1.5 // Stop loss 1.5 ATR
takeProfit = atrValue * 3 // Take profit 3 ATR
// Plot buy and sell signals
plotshape(longSignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(shortSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Executing trades based on conditions
if (longSignal)
strategy.entry("Buy", strategy.long)
strategy.exit("Take Profit/Stop Loss", from_entry="Buy", stop=close - stopLoss, limit=close + takeProfit)
if (shortSignal)
strategy.entry("Sell", strategy.short)
strategy.exit("Take Profit/Stop Loss", from_entry="Sell", stop=close + stopLoss, limit=close - takeProfit)