Strategi momentum berbilang tempoh disahkan oleh carta teknikal

HS DT DB ST AT DT ATR ST TP SL
Tarikh penciptaan: 2025-02-28 09:50:41 Akhirnya diubah suai: 2025-02-28 09:50:41
Salin: 3 Bilangan klik: 323
2
fokus pada
319
Pengikut

Strategi momentum berbilang tempoh disahkan oleh carta teknikal Strategi momentum berbilang tempoh disahkan oleh carta teknikal

Gambaran keseluruhan

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 Strategi

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:

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

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

  3. Pengiktirafan bentuk segitiga

    • Segitiga simetri: titik tinggi jatuh dan titik rendah naik, membentuk bentuk konvergensi
    • Segitiga menaik: titik tinggi kekal stabil dan titik rendah naik, membentuk bentuk bullish
    • Segitiga penurunan: ketinggian menurun manakala ketinggian rendah kekal stabil, membentuk bentuk penurunan
  4. Pengenalan bendera/bendera segitiga: Mengenali pola perubahan berturut-turut dengan menganalisis titik tinggi dan rendah.

  5. Pengesahan isyarat transaksi

    • isyarat multi-kepala: apabila ia diiktiraf di atas, di bawah, di bawah atau di atas triangle, dan harga penutupan melangkaui satu garis K yang lebih tinggi
    • Isyarat kosong: dipicu apabila diiktiraf dua puncak, turun segitiga atau bentuk bendera, dan harga penutupan jatuh ke bawah satu garis K sebelumnya
  6. Pengurusan Risiko

    • Menggunakan ATR 14 kitaran untuk mengira tahap hentian dan hentian dinamik
    • Stop loss yang ditetapkan untuk 1.5 kali ATR
    • Stop-loss ditetapkan untuk ATR 3x dan ganjaran risiko adalah 1: 2

Kelebihan Strategik

  1. Pengiktirafan bentuk sistematikStrategi: Menerusi fungsi syarat yang jelas, pengiktirafan automatik pelbagai bentuk grafik klasik dapat dilakukan, mengurangkan bias yang disebabkan oleh penilaian subjektif.

  2. Mekanisme pengesahan isyaratStrategi ini bukan sahaja mengenal pasti bentuk carta, tetapi juga memerlukan harga untuk memecahkan tahap kritikal sebagai pengesahan, mengurangkan risiko pecah palsu.

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

  4. Liputan pelbagai bentukStrategi ini merangkumi pelbagai bentuk grafik klasik, meningkatkan peluang perdagangan dan menyesuaikan diri dengan keadaan pasaran yang berbeza.

  5. Pemandangan visual: Strategi menggunakan fungsi plotshape untuk memaparkan pelbagai bentuk yang diiktiraf secara intuitif pada carta, membantu pedagang memahami dan mengesahkan logik strategi.

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

Risiko Strategik

  1. Pengiktirafan bentuk yang terhadAlgoritma pengiktirafan bentuk semasa agak sederhana dan boleh menyebabkan kesalahan atau kesalahan penghakiman, terutamanya dalam keadaan bising pasaran.

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

  3. Risiko penembusan palsuWalaupun terdapat mekanisme pengesahan, terdapat fenomena penembusan palsu di pasaran yang boleh menyebabkan kerugian perdagangan yang tidak perlu.

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

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

  • Menambah syarat penapisan tambahan, seperti pengesahan jumlah transaksi, penapisan indikator trend
  • Algoritma pengenalan bentuk yang dioptimumkan, tambah pengesahan bersyarat
  • Menerapkan pengurusan kedudukan yang lebih konservatif
  • Pertimbangkan penapisan masa untuk mengelakkan perdagangan sebelum atau selepas berita atau peristiwa penting
  • Melakukan pengulangan yang lebih luas untuk mencari kombinasi parameter yang optimum

Arah pengoptimuman strategi

  1. Peningkatan algoritma pengenalan bentuk

    • Menambah lebih banyak syarat pengesahan, seperti saiz bentuk, masa pembentukan, perubahan harga dan sebagainya
    • Kriteria untuk membezakan bentuk yang serupa seperti kepala, bahu, dan dua kepala
    • Menambah bentuk yang lebih kompleks, seperti bentuk cangkir, menaik / turun, dan sebagainya
  2. Tambah pengesahan jumlah

    • Syarat pengesahan yang lebih besar untuk meningkatkan jumlah transaksi semasa penembusan bentuk
    • Menganalisis corak perubahan kuantiti pertukaran dalam proses pembentukan bentuk
  3. Penapis trend

    • Menambahkan petunjuk trend (seperti purata bergerak, ADX, dan lain-lain), hanya berdagang apabila arah trend selaras dengan isyarat bentuk
    • Merancang struktur pasaran untuk jangka masa yang lebih lama
  4. Pengurusan risiko yang optimum

    • Uji pelbagai tetapan ATR
    • Menerapkan pengurusan kedudukan dinamik berdasarkan kadar turun naik
    • Pertimbangkan strategi penghentian batch untuk mengunci sebahagian daripada keuntungan
  5. Tambah waktu penapisan

    • Elakkan berdagang semasa turun naik rendah atau sebelum siaran berita penting
    • Mempertimbangkan faktor musiman pasaran
  6. Analisis pelbagai kerangka masa

    • Pengesahan arah trend pada jangka masa yang lebih tinggi
    • Optimumkan titik kemasukan dalam jangka masa yang lebih pendek

Kaedah-kaedah ini dapat meningkatkan kestabilan dan keberkesanan strategi dengan ketara kerana:

  • Pengiktirafan bentuk yang lebih tepat mengurangkan isyarat yang salah
  • Pengesahan pesanan meningkatkan kebolehpercayaan isyarat
  • Penapis trend mengelakkan dagangan berlawanan arah
  • Pengurusan risiko yang optimum untuk meningkatkan kecekapan dan perlindungan kewangan
  • Analisis jangka masa berbilang memberikan pandangan pasaran yang lebih menyeluruh

ringkaskan

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.

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