
Gambaran keseluruhan
Strategi pengesahan trend MACD yang berpusat pada banyak garis rata adalah sistem perdagangan trend yang menggabungkan sistem garis rata, pulangan harga dan indikator MACD. Gagasan teras strategi ini adalah mencari peluang perdagangan yang berdekatan dengan harga yang kembali ke garis rata-rata jangka panjang (<200/250 garis rata-rata) dan menggunakan indikator MACD sebagai isyarat pengesahan masuk. Strategi ini juga menggunakan banyak garis rata tersembunyi sebagai syarat penyaringan tambahan, serta stop loss dinamik dan seting ganjaran risiko tetap berdasarkan ATR, membentuk sistem perdagangan yang lengkap.
Prinsip Strategi
Strategi ini adalah berdasarkan kepada prinsip-prinsip utama berikut:
- Penghakiman trend: Gunakan kedudukan relatif garis 20 dan garis 250 untuk menentukan trend keseluruhan pasaran. Apabila garis 20 berada di atas garis 250 rata-rata, pasaran dianggap dalam trend naik; Apabila garis 20 berada di bawah garis 250 rata-rata, pasaran dianggap dalam trend menurun.
- Kembalian harga: Strategi hanya mencari peluang masuk apabila harga kembali ke garis purata jangka panjang (rata-rata 250 hari), berdasarkan teori kembalian rata-rata bahawa “harga akhirnya akan kembali ke garis rata-rata”.
- Syarat kemasukan: Melalui MACD melintas sebagai isyarat pemicu kemasukan, digabungkan dengan penapis kedudukan linear.
- Saringan garis purata tersembunyi: Strategi menggunakan tiga “garis purata tersembunyi” tambahan (garis purata 2 hari, 100 hari dan 300 hari) untuk mewujudkan tingkap masuk, yang memerlukan harga berada di antara garis purata tertentu.
- Pengurusan risiko: Menggunakan hentian dinamik berasaskan ATR, default 5 kali nilai ATR, dan secara automatik mengira sasaran keuntungan melalui had risiko-kebalasan yang telah ditetapkan (default 1.5)
Syarat kemasukan:
- Garis purata 20 terletak di atas garis purata 250 ((membuktikan trend menaik)
- Garis purata 2 hari terletak di atas garis purata 300 hari dan garis purata 2 hari terletak di bawah garis purata 100 hari (yang mengesahkan kawasan pulangan harga)
- Garis isyarat di atas MACD ((membuktikan perubahan momentum)
Syarat kemasukan:
- Garis 20 berada di bawah garis 250 ((penyenaraian trend menurun)
- Garis purata 2 hari terletak di bawah garis purata 300 hari dan garis purata 2 hari terletak di atas garis purata 100 hari (yang mengesahkan kawasan pulangan harga)
- MACD dalam talian melalui garis isyarat ((membuktikan perubahan momentum)
Kelebihan Strategik
- Ikut trend digabungkan dengan penyesuaian: Strategi ini menghormati arah trend jangka panjang dan menengah (dengan penghakiman rata-rata 20⁄250) dan menangkap titik masuk yang lebih baik ketika harga kembali, mengurangkan risiko mengejar atau menyalin.
- Kawasan kemasukan yang tepat: Penyaringan gabungan melalui pelbagai garis rata menghasilkan tetingkap kemasukan yang agak tepat, mengurangkan isyarat yang salah.
- Pengurusan risiko dinamik: Tetapan hentian berdasarkan ATR membolehkan strategi menyesuaikan ambang risiko secara automatik mengikut turun naik pasaran, menetapkan hentian yang lebih longgar di pasaran yang bergelombang tinggi, dan menetapkan hentian yang lebih ketat di pasaran yang bergelombang rendah.
- Objektif keuntungan yang sistematik: Mengelakkan penilaian subjektif dengan mengira harga sasaran secara automatik berbanding dengan pulangan risiko yang telah ditetapkan.
- Mekanisme penapisan isyarat: pengesahan silang pelbagai syarat ((posisi rata-rata + silang MACD) mengurangkan kemungkinan isyarat palsu.
- Bantuan visual: Strategi membolehkan peniaga mengenal pasti peluang masuk secara visual melalui penanda warna latar belakang apabila syarat kemasukan dipenuhi.
Risiko Strategik
- Garis purata ketinggalan: Garis purata pada dasarnya adalah penunjuk ketinggalan, dalam pasaran yang berubah dengan cepat mungkin tidak dapat bertindak balas tepat pada masanya terhadap perubahan harga, yang menyebabkan kelewatan isyarat masuk dan keluar. Penyelesaian: Anda boleh mempertimbangkan untuk menyesuaikan parameter garis purata, seperti menggunakan EMA1 yang lebih pendek atau menggunakan garis purata yang lebih berat seperti garis purata Hull.
- Keadaan rumit menyebabkan peluang perdagangan yang jarang: Tumpukan pelbagai syarat kemasukan mungkin menyebabkan isyarat perdagangan sebenar yang agak jarang, terutamanya dalam pasaran yang bergolak. Penyelesaian: Anda boleh mengoptimumkan syarat kemasukan mengikut keadaan pasaran yang berbeza, atau menambah logik kemasukan tambahan.
- Kekurangan nisbah ganjaran risiko tetap: Nisbah ganjaran risiko tetap yang ditetapkan mungkin tidak sesuai untuk semua keadaan pasaran, mungkin mendapat keuntungan terlalu awal ketika tren kuat, dan mungkin menyebabkan harga sasaran sukar dicapai dalam pasaran yang bergolak. Penyelesaian: Anda boleh mempertimbangkan untuk menyesuaikan nisbah ganjaran risiko secara dinamik, atau melaksanakan strategi keuntungan berganda.
- Sensitif kepada perubahan parameter: Strategi menggunakan beberapa parameter garis rata-rata dan MACD, pengoptimuman berlebihan boleh menyebabkan risiko overfitting. Penyelesaian: Uji kestabilan dilakukan untuk memastikan prestasi strategi tetap stabil apabila parameter berubah sedikit.
- Kurangnya penapis keadaan pasaran: Strategi tidak mengenal pasti mekanisme keadaan pasaran keseluruhan (seperti kekuatan trend, julat turun naik, dan lain-lain), yang mungkin menghasilkan isyarat dalam keadaan pasaran yang tidak sesuai. Penyelesaian: Tambah penapis keadaan pasaran, seperti penunjuk ADX untuk menentukan kekuatan trend, atau kawalan penurunan nilai turun naik.
Arah pengoptimuman strategi
- Kadar ganjaran risiko yang disesuaikan secara dinamik: Kadar ganjaran risiko boleh disesuaikan secara automatik mengikut turun naik pasaran atau kekuatan trend, contohnya dengan menggunakan kadar ganjaran risiko yang lebih tinggi dalam pasaran trend yang kuat dan kadar ganjaran risiko yang lebih rendah dalam pasaran yang bergolak. Ini dapat menyesuaikan diri dengan lebih baik dengan keadaan pasaran yang berbeza dan meningkatkan daya serap strategi.
- Menambah penapisan keadaan pasaran: Pengenalan penunjuk tambahan seperti ADX ((penunjuk trend rata-rata) untuk menilai kekuatan trend, melakukan perdagangan hanya apabila trend jelas. Anda juga boleh menilai keadaan turun naik berdasarkan VIX atau julat ATR, untuk mengelakkan perdagangan di pasaran yang terlalu bergolak atau tidak bergolak.
- Strategi keuntungan berundi: Strategi keuntungan berundi boleh dilaksanakan, misalnya, apabila mencapai 0.5R, 1R dan matlamat akhir, masing-masing melonggarkan sebahagian daripada kedudukan, sehingga dapat mengunci sebahagian daripada keuntungan dan membiarkan sebahagian daripada kedudukan terus memperoleh keuntungan yang berpotensi.
- Meningkatkan sistem rata-rata: Anda boleh mencuba menggunakan rata-rata adaptif seperti KAMA (Kafman Adaptive Moving Average) atau Hull rata-rata yang menggantikan standard EMA, mengurangkan ketinggalan rata-rata dan meningkatkan tindak balas terhadap perubahan harga.
- Pengesahan jumlah trafik yang bersepadu: Tambah syarat pengesahan jumlah trafik semasa penciptaan isyarat masuk, seperti meminta peningkatan jumlah trafik yang disertai dengan persilangan MACD, meningkatkan kebolehpercayaan isyarat.
- Menambah penapis masa: Penapis masa boleh ditambah untuk mengelakkan perdagangan pada waktu yang lebih bergelombang atau kurang cair seperti satu jam sebelum pasaran dibuka atau ditutup.
- Mekanisme Hentikan Kerugian yang Dioptimumkan: Hentikan yang dilacak boleh dilaksanakan, dan bukan hentikan tetap, terutamanya selepas keuntungan mencapai tahap tertentu, sehingga dapat memaksimumkan perlindungan yang telah menguntungkan.
ringkaskan
Strategi pengesahan trend MACD adalah sistem perdagangan komprehensif yang menggabungkan pelbagai kaedah analisis teknikal, yang mempunyai kelebihan utama dalam menggabungkan penilaian trend, teori pengesahan harga, pengesahan dinamik dan pengurusan risiko sistematik. Strategi ini mengenal pasti arah trend keseluruhan melalui sistem garis rata, mencari tempat masuk dengan peluang tinggi melalui mekanisme yang berdekatan dengan harga kembali ke garis rata jangka panjang, dan menggunakan MACD sebagai isyarat pengesahan dinamik untuk mengurangkan isyarat palsu.
Strategi ini sangat sesuai untuk pasaran trend jangka menengah dan panjang, peluang untuk terus bergerak ke arah trend selepas penyesuaian harga dalam keadaan trend yang kuat. Walau bagaimanapun, strategi ini juga mempunyai risiko yang berpotensi seperti ketinggalan rata-rata, peluang perdagangan yang jarang, dan perlu dioptimumkan melalui penapisan keadaan pasaran, pengurusan risiko dinamik dan sebagainya.
Dengan menambah mekanisme penapisan persekitaran pasaran, penyesuaian dinamik nisbah pulangan risiko, dan penambahbaikan sistem linear, strategi ini dijangka meningkatkan kestabilan dan kebolehpasaran, menjadi sistem perdagangan yang lebih menyeluruh dan berkesan. Strategi ini menggabungkan pelbagai petunjuk teknikal dan mempunyai mekanisme pengurusan risiko yang lengkap memberikan kerangka perdagangan yang patut dipertimbangkan bagi pelabur yang mencari perdagangan sistematik.
Kod sumber strategi
/*backtest
start: 2025-01-01 00:00:00
end: 2025-03-27 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Price Near 200 EMA", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === User Inputs ===
ema1Length = input(20, title="EMA 1 Length") // Main EMA (Trend)
ema2Length = input(250, title="EMA 2 Length") // Long-term EMA
macdFastLength = input(12, title="MACD Fast Length")
macdSlowLength = input(26, title="MACD Slow Length")
macdSignalLength = input(9, title="MACD Signal Length")
rrRatio = input.float(1.5, title="Risk to Reward Ratio", minval=1, step=0.1)
atrMultiplier = input.float(5, title="ATR Multiplier for SL", minval=1, step=0.1) // Default to 5x ATR
atrLength = input(14, title="ATR Length") // User-defined ATR length
// === Hidden EMA Lengths (Hardcoded) ===
ema3Length = 2 // Fast EMA (Hidden)
ema4Length = 100 // Medium EMA (Hidden)
ema5Length = 300 // Long EMA (Hidden)
// === EMA Calculations ===
ema1 = ta.ema(close, ema1Length) // 20 EMA
ema2 = ta.ema(close, ema2Length) // 250 EMA
ema3 = ta.ema(close, ema3Length) // 2 EMA (Hidden)
ema4 = ta.ema(close, ema4Length) // 100 EMA (Hidden)
ema5 = ta.ema(close, ema5Length) // 300 EMA (Hidden)
// === MACD Calculation ===
[macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalLength)
macdBullish = ta.crossover(macdLine, signalLine)
macdBearish = ta.crossunder(macdLine, signalLine)
// === ATR for Dynamic Stop Loss ===
atrValue = ta.atr(atrLength)
// === Long Conditions ===
bullishCondition1 = ema1 > ema2
bullishCondition2 = ema3 > ema5 and ema3 < ema4
bullishEntry = bullishCondition1 and bullishCondition2 and macdBullish
// === Short Conditions ===
bearishCondition1 = ema1 < ema2
bearishCondition2 = ema3 < ema5 and ema3 > ema4
bearishEntry = bearishCondition1 and bearishCondition2 and macdBearish
// === Calculate Stop Loss and Target Using ATR ===
longStopLoss = close - atrValue * atrMultiplier
longTargetPrice = close + (close - longStopLoss) * rrRatio
shortStopLoss = close + atrValue * atrMultiplier
shortTargetPrice = close - (shortStopLoss - close) * rrRatio
// === Entry and Exit Logic ===
if bullishEntry
strategy.entry("Buy", strategy.long)
strategy.exit("TP Long", "Buy", limit=longTargetPrice, stop=longStopLoss, comment="SL/TP Long")
if bearishEntry
strategy.entry("Sell", strategy.short)
strategy.exit("TP Short", "Sell", limit=shortTargetPrice, stop=shortStopLoss, comment="SL/TP Short")
// === Plotting Only Visible EMAs ===
plot(ema1, title="EMA 1", color=color.blue)
plot(ema2, title="EMA 2", color=color.red)
// === Background Highlight for Entries ===
bgcolor(bullishEntry ? color.new(color.green, 90) : na, title="Bullish Background")
bgcolor(bearishEntry ? color.new(color.red, 90) : na, title="Bearish Background")