Strategi kuantitatif corak carta berbilang dimensi: sistem perdagangan analisis teknikal yang mengintegrasikan kepala dan bahu atas dan bawah serta corak atas dan bawah berganda

ATR TA
Tarikh penciptaan: 2025-02-28 10:19:51 Akhirnya diubah suai: 2025-02-28 10:19:51
Salin: 0 Bilangan klik: 444
2
fokus pada
319
Pengikut

Strategi kuantitatif corak carta berbilang dimensi: sistem perdagangan analisis teknikal yang mengintegrasikan kepala dan bahu atas dan bawah serta corak atas dan bawah berganda Strategi kuantitatif corak carta berbilang dimensi: sistem perdagangan analisis teknikal yang mengintegrasikan kepala dan bahu atas dan bawah serta corak atas dan bawah berganda

Gambaran keseluruhan

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 Strategi

Prinsip utama strategi ini berpusat pada pengenalan tiga bentuk grafik utama:

  1. 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.

  2. 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.

  3. 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:

  • isyarat beli: apabila diiktiraf bentuk double bottom dan harga penutupan semasa lebih tinggi daripada harga bukaan ((doubleBottomPattern && close > open
  • Sinyal jual: apabila diiktiraf bentuk dua puncak dan harga penutupan semasa lebih rendah daripada harga bukaandoubleTopPattern && close < open

Pengurusan risiko dicapai melalui ATR (Rang Real Rata-rata):

  • Stop loss set kepada 1.5 kali ATRstopLoss = atrValue * 1.5
  • Stopwatch ditetapkan pada 3 kali ATR ((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.

Kelebihan Strategik

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

Risiko Strategik

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

Arah pengoptimuman strategi

  1. Peningkatan algoritma pengenalan bentuk

    • Logik pengiktirafan yang berasingan untuk kepala, bahu dan dua kepala, menambah lebih banyak parameter untuk meningkatkan ketepatan pengiktirafan
    • Peningkatan penghakiman mengenai perkadaran dan simetri bentuk, seperti kepala harus jauh lebih tinggi daripada bahu dan kedua-dua bahu harus hampir
    • Memperkenalkan penilaian integriti bentuk untuk menyesuaikan kebolehpercayaan isyarat dagangan mengikut standard bentuk
  2. Analisis trafik bersepadu

    • Menambahkan syarat pengesahan jumlah transisi dalam pengenalan bentuk, seperti dalam bentuk kepala di atas bahu, jumlah transisi kepala harus lebih tinggi daripada bahu kanan
    • Jumlah transaksi harus meningkat dengan ketara pada saat penembusan bentuk, yang boleh digunakan sebagai syarat penguatan isyarat perdagangan
  3. Pengoptimuman strategi pengurusan risiko

    • Memperkenalkan ATR berganda yang dinamik, menyesuaikan stop loss/stop loss rasio mengikut perubahan dalam turun naik pasaran, saiz bentuk atau keadaan pasaran
    • Mempunyai hentian tangga, menyesuaikan kedudukan hentian secara beransur-ansur apabila perdagangan bergerak ke arah yang menguntungkan
    • Meningkatkan sebahagian daripada mekanisme penguncian keuntungan untuk mengunci keuntungan yang telah dibuat dan mengurangkan risiko keseluruhan
  4. Tambah penapis trend

    • Menyenaraikan isyarat perdagangan dengan penambahan purata bergerak atau penunjuk trend lain, dan hanya masuk ke arah yang mengikut trend utama
    • Mengakui keserasian trend dalam kitaran yang berbeza, mengelakkan perdagangan yang kerap dalam kebalikan trend yang lebih besar
  5. Analisis pelbagai kerangka masa

    • Strategi diperluaskan kepada analisis pelbagai kerangka masa, menggunakan tempoh yang lebih lama untuk menentukan arah trend utama, tempoh yang lebih pendek untuk mencari titik masuk yang tepat
    • Memperkenalkan penilaian kesesuaian kerangka masa untuk meningkatkan kualiti isyarat perdagangan
  6. Menambah penunjuk pengesahan tambahan

    • Mengintegrasikan RSI, MACD dan lain-lain sebagai alat pengesahan tambahan untuk meningkatkan kebolehpercayaan isyarat perdagangan
    • Mengambil kira kitaran pasaran dan faktor bermusim, meningkatkan frekuensi dagangan atau kedudukan semasa kadar kemenangan tinggi

ringkaskan

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.

Kod sumber strategi
/*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)