
Strategi dinamika pelbagai kitaran yang disahkan oleh grafik teknikal adalah sistem perdagangan berdasarkan pengenalan bentuk pelbagai grafik klasik dan pengesahan dinamika. Strategi ini terutamanya mengiktiraf bentuk teknikal yang biasa di pasaran, seperti kepala, bahu, kepala, bahu, dua, dua, segitiga (symmetrik, naik, turun), bendera, kerucut, dan lain-lain, dan mengesahkan isyarat masuk ketika bentuknya pecah.
Prinsip utama strategi ini adalah untuk mengenal pasti bentuk grafik yang berbeza melalui satu siri fungsi syarat dan mengesahkan isyarat perdagangan apabila harga mencapai tahap kritikal:
Pengiktirafan bahu atas/bawahStruktur ciri-ciri bentuk kepala bahu diiktiraf dengan membandingkan hubungan kedudukan relatif titik tinggi / rendah berturut-turut. Bentuk kepala bahu terbentuk apabila ketinggian 1 lebih besar daripada ketinggian 0, 2, 3, dan 4, dan ketinggian 0 lebih kecil daripada ketinggian 2 dan 3.
Pengiktirafan dua hujung / dua hujung: Mengenali bentuk dua puncak dan dua dasar dengan menganalisis urutan titik tinggi / rendah. Dalam bentuk dua puncak, titik tinggi 1 perlu lebih besar daripada titik tinggi sekitarnya; dalam bentuk dua dasar, titik rendah 1 perlu lebih kecil daripada titik rendah sekitarnya.
Pengiktirafan bentuk segitiga:
Pengenalan bendera/bendera segitiga: Mengenali pola perubahan berturut-turut dengan menganalisis titik tinggi dan rendah.
Pengesahan isyarat transaksi:
Pengurusan Risiko:
Pengiktirafan bentuk sistematikStrategi: Menerusi fungsi syarat yang jelas, pengiktirafan automatik pelbagai bentuk grafik klasik dapat dilakukan, mengurangkan bias yang disebabkan oleh penilaian subjektif.
Mekanisme pengesahan isyaratStrategi ini bukan sahaja mengenal pasti bentuk carta, tetapi juga memerlukan harga untuk memecahkan tahap kritikal sebagai pengesahan, mengurangkan risiko pecah palsu.
Pengurusan risiko dinamik: Menggunakan ATR untuk menetapkan tahap stop loss dan stop loss yang dinamik, menjadikan kawalan risiko lebih sesuai dengan perubahan turun naik pasaran.
Liputan pelbagai bentukStrategi ini merangkumi pelbagai bentuk grafik klasik, meningkatkan peluang perdagangan dan menyesuaikan diri dengan keadaan pasaran yang berbeza.
Pemandangan visual: Strategi menggunakan fungsi plotshape untuk memaparkan pelbagai bentuk yang diiktiraf secara intuitif pada carta, membantu pedagang memahami dan mengesahkan logik strategi.
Risiko dan ganjaran yang munasabahStrategi: Tetapkan 3 kali ATR sebagai stop, 1.5 kali ATR sebagai stop loss, nisbah pulangan risiko 1: 2, sesuai dengan prinsip pengurusan risiko yang berkesan.
Pengiktirafan bentuk yang terhadAlgoritma pengiktirafan bentuk semasa agak sederhana dan boleh menyebabkan kesalahan atau kesalahan penghakiman, terutamanya dalam keadaan bising pasaran.
Kepekaan ParameterTetapan kitaran ATR dan seting pembolehubah stop-loss dan stop-loss mempunyai kesan yang ketara terhadap prestasi strategi dan perlu dioptimumkan mengikut pasaran dan jangka masa yang berbeza.
Risiko penembusan palsuWalaupun terdapat mekanisme pengesahan, terdapat fenomena penembusan palsu di pasaran yang boleh menyebabkan kerugian perdagangan yang tidak perlu.
Pengiktirafan berulang bentukBeberapa fungsi pengenalan bentuk dalam kod semasa mempunyai logik yang serupa (seperti kepala, bahu, dan dua puncak), yang boleh menyebabkan lebih banyak isyarat untuk memicu keadaan pasaran yang sama, meningkatkan frekuensi dan kos perdagangan.
Kurangnya penapis trendStrategi ini tidak mengambil kira arah trend pasaran secara keseluruhan, dan mungkin menghasilkan isyarat berbalik dalam trend yang kuat, yang menyebabkan perdagangan berlawanan.
Cara mengelakkan risiko:
Peningkatan algoritma pengenalan bentuk:
Tambah pengesahan jumlah:
Penapis trend:
Pengurusan risiko yang optimum:
Tambah waktu penapisan:
Analisis pelbagai kerangka masa:
Kaedah-kaedah ini dapat meningkatkan kestabilan dan keberkesanan strategi dengan ketara kerana:
Strategi dinamika pelbagai kitaran yang disahkan oleh grafik teknikal adalah sistem perdagangan yang sistematis dan jelas yang menghasilkan isyarat perdagangan dengan mengenal pasti pelbagai bentuk grafik klasik dan menggabungkan pengesahan terobosan. Strategi ini menggunakan indikator ATR untuk pengurusan risiko dinamik dan menetapkan nisbah pulangan risiko yang munasabah. Walaupun versi terkini algoritma pengenalan bentuk agak sederhana, ia memberikan asas yang baik untuk pengoptimuman lanjut. Dengan menambah penapis trend pengesahan jumlah transaksi, pengoptimuman pengurusan risiko, dan analisis jangka masa berbilang, strategi ini berpotensi menjadi sistem perdagangan yang kuat dan stabil.
/*backtest
start: 2024-02-29 00:00:00
end: 2025-02-26 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Chart Pattern Strategy - Full Set", overlay=true)
// ATR settings for stop loss and take profit
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
// Head and Shoulders Detection
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]
// Double Top Detection
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]
// Double Bottom Detection
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]
// Symmetrical Triangle Detection
isSymmetricalTriangle() =>
high[2] > high[1] and low[2] < low[1] and high[3] < high[2] and low[3] > low[2]
// Ascending Triangle Detection (Bullish)
isAscendingTriangle() =>
high[2] < high[1] and low[2] > low[1] and high[3] < high[2] and low[3] > low[2]
// Descending Triangle Detection (Bearish)
isDescendingTriangle() =>
high[2] > high[1] and low[2] < low[1] and high[3] < high[2] and low[3] < low[2]
// Flags/Pennants Detection
isFlagPattern() =>
high[1] < high[0] and low[1] > low[0] and high[2] < high[1] and low[2] < low[1]
// Entry Logic (Confirmation based on Breakouts)
longSignal = (isHeadAndShoulders() or isDoubleBottom() or isAscendingTriangle()) and close > high[1]
shortSignal = (isDoubleTop() or isDescendingTriangle() or isFlagPattern()) and close < low[1]
// Plotting Chart Patterns on the Chart
plotshape(isHeadAndShoulders(), title="Head and Shoulders", location=location.abovebar, color=color.red, style=shape.labelup, text="HS")
plotshape(isDoubleTop(), title="Double Top", location=location.abovebar, color=color.red, style=shape.labelup, text="DT")
plotshape(isDoubleBottom(), title="Double Bottom", location=location.belowbar, color=color.green, style=shape.labeldown, text="DB")
plotshape(isSymmetricalTriangle(), title="Symmetrical Triangle", location=location.top, color=color.blue, style=shape.triangledown, text="ST")
plotshape(isAscendingTriangle(), title="Ascending Triangle", location=location.belowbar, color=color.green, style=shape.labelup, text="AT")
plotshape(isDescendingTriangle(), title="Descending Triangle", location=location.abovebar, color=color.red, style=shape.labeldown, text="DT")
plotshape(isFlagPattern(), title="Flag Pattern", location=location.abovebar, color=color.orange, style=shape.triangledown, text="Flag")
// Executing Trades based on Patterns
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)