
Strategi persilangan garisan rata bergerak dinamik yang menggabungkan penapis penunjuk yang agak kuat dengan sistem hentian gelombang sebenar adalah strategi perdagangan kuantitatif yang komprehensif, yang dengan bijak menggabungkan tiga penunjuk teknikal yang kuat: purata bergerak indeks ((EMA), penunjuk yang agak kuat ((RSI) dan purata gelombang sebenar ((ATR)). Gagasan utama strategi ini adalah menggunakan EMA untuk mengenal pasti arah trend pasaran, menyaring keadaan pasaran yang melampau melalui RSI, sambil menggunakan hentian dinamik dan sasaran keuntungan berdasarkan ATR untuk mencapai pengurusan risiko yang tepat.
Mekanisme strategi ini adalah berdasarkan beberapa komponen utama:
Sistem isyarat silang EMAStrategi menggunakan purata bergerak indeks dua kitaran yang berlainan (default 20 kitaran dan 50 kitaran). Apabila EMA cepat ke atas melintasi EMA perlahan, ia menghasilkan isyarat melakukan banyak; apabila EMA cepat ke bawah melintasi EMA perlahan, ia menghasilkan isyarat melakukan kosong. Sifat EMA yang halus membolehkan ia menyaring bunyi harga dengan berkesan, sambil mengekalkan maklumat trend.
Mekanisme penapis RSIUntuk mengelakkan masuk ke dalam keadaan pasaran yang terlalu dibeli atau terlalu dijual, strategi memperkenalkan penunjuk RSI sebagai penapis. Peraturan khusus adalah: Jangan melakukan operasi lebih banyak apabila RSI lebih tinggi daripada 70, dan jangan melakukan operasi kosong apabila RSI lebih rendah daripada 30. Ini berkesan mengelakkan risiko perdagangan berlawanan dengan harga yang terlalu lama.
Matlamat Stop Loss dan Pendapatan Dinamis Berdasarkan ATRStrategi menggunakan ATR selama 14 kitaran untuk mengira tahap stop loss dan profit yang sesuai dengan turun naik pasaran. Stop loss ditetapkan sebagai harga kemasukan ± ((ATR × 1.5)), sasaran keuntungan ditetapkan sebagai harga kemasukan ± ((ATR × 3.0)).
Logik pelaksanaanApabila memenuhi syarat melakukan banyak perkara ((cepat EMA melalui EMA perlahan dan RSI <70), strategi memasuki keadaan melakukan banyak perkara; apabila memenuhi syarat melakukan penyingkiran ((cepat EMA melalui EMA perlahan dan RSI> 30), strategi memasuki keadaan melakukan penyingkiran. Untuk setiap kedudukan yang dibuka, strategi akan menetapkan sasaran berhenti dan keuntungan mengikut ATR dinamik, dan melaksanakan peraturan keluar ini dengan ketat.
Pada pelaksanaan kod, strategi pertama mengira nilai petunjuk teknikal yang diperlukan, kemudian menentukan syarat masuk dan peraturan keluar, dan akhirnya melakukan operasi perdagangan dan menetapkan elemen visualisasi. Logik keseluruhan lancar, kerjasama yang rapat antara setiap komponen membentuk sistem perdagangan yang lengkap.
Pengesahan isyarat kompositDengan menggabungkan EMA crossover dan penapisan RSI, strategi ini dapat menghasilkan isyarat perdagangan yang lebih dipercayai, mengurangkan kejadian pecah palsu dan isyarat salah.
Pengurusan risiko penyesuaianTetapan sasaran stop loss dan profit berdasarkan ATR adalah salah satu ciri utama strategi ini. Ia membolehkan parameter kawalan risiko disesuaikan secara automatik dengan turun naik pasaran yang sebenarnya, memperluaskan perlindungan apabila turun naik turun naik dan mengetatkan perlindungan apabila turun naik turun naik, mewujudkan pengurusan risiko dinamik yang benar.
Parameter yang boleh disesuaikanStrategi ini menawarkan pelbagai parameter yang boleh disesuaikan, termasuk kitaran EMA, RSI, ATR, dan penggandaan henti dan keuntungan, yang membolehkan peniaga membuat penyesuaian yang disesuaikan dengan keadaan pasaran yang berbeza dan pilihan risiko peribadi.
Peraturan perdagangan yang menyeluruhStrategi bukan sahaja menentukan syarat kemasukan yang jelas, tetapi juga mengandungi peraturan keluar yang lengkap, membentuk sistem perdagangan yang tertutup. Reka bentuk sistematik ini membantu menghilangkan faktor emosi dalam proses perdagangan dan meningkatkan disiplin perdagangan.
Kebolehgunaan merentas pasaranStrategi ini direka untuk pelbagai pasaran kewangan, termasuk saham, mata wang kripto, dan mata wang asing, dan berfungsi dengan baik dalam keadaan pasaran yang jelas.
Isyarat palsu di bawah pasaran yang bergolak: Dalam keadaan pasaran yang tidak teratur atau tidak mempunyai trend yang jelas, persilangan EMA mungkin menghasilkan isyarat palsu yang kerap, yang menyebabkan perdagangan kerugian berturut-turut. Untuk mengurangkan risiko ini, anda boleh mempertimbangkan untuk menambah indikator pengesahan trend tambahan atau menyesuaikan parameter EMA untuk mengurangkan jumlah persilangan.
Penapis RSI mungkin terlepas trend yang kuatDalam trend yang berterusan, RSI mungkin berada di kawasan overbought atau oversold untuk jangka masa yang lama, menyebabkan strategi kehilangan beberapa peluang perdagangan yang berpotensi menguntungkan. Untuk ini, anda boleh mempertimbangkan untuk melonggarkan RSI atau memperkenalkan indikator kekuatan trend untuk menyesuaikan peraturan penapisan RSI.
Kerosakan ATR tidak mencukupi semasa perubahan turun naikWalaupun ATR dapat menyesuaikan diri dengan turun naik pasaran umum, pada peristiwa turun naik yang tinggi secara tiba-tiba (seperti siaran berita utama), perkalian ATR yang ditetapkan mungkin tidak mencukupi untuk memberikan perlindungan yang mencukupi. Ia disyorkan untuk menyesuaikan parameter risiko atau keluar dari pasaran untuk sementara waktu sebelum peristiwa pasaran utama.
Kepekaan ParameterPrestasi strategi adalah sensitif terhadap pilihan parameter, dan kombinasi parameter yang berbeza boleh menyebabkan hasil yang sangat berbeza. Adalah disyorkan untuk mencari kombinasi parameter yang paling sesuai untuk pasaran dan jangka masa tertentu melalui pengulangan dan pengoptimuman parameter yang komprehensif.
Pengurusan kewangan yang kurang baikWalaupun strategi ini merangkumi mekanisme hentian kerugian, peraturan untuk menyesuaikan saiz kedudukan tidak ditentukan. Ia disyorkan untuk menyesuaikan kadar dana setiap perdagangan secara dinamik, menggabungkan turun naik dan toleransi risiko akaun, untuk mendapatkan kawalan risiko yang lebih menyeluruh.
Pengenalan pengesahan kekuatan trendUntuk menilai kekuatan trend, ADX (Indeks Arahan Rata-rata) atau penunjuk serupa boleh ditambah, dan isyarat silang EMA hanya dijalankan apabila trend cukup kuat, untuk mengurangkan isyarat palsu dalam pasaran goyah. Ini akan menjadikan strategi lebih selektif dan meningkatkan kualiti isyarat.
Dinamika penyesuaian RSIIa boleh menyesuaikan RSI dengan keadaan pasaran yang dinamik, misalnya meningkatkan paras beli dan jual semasa trend naik yang kuat dan mengurangkan paras beli dan jual semasa trend turun yang kuat. Mekanisme penyesuaian ini akan membantu strategi untuk kekal berkesan dalam keadaan pasaran yang berbeza.
Mengoptimumkan sistem pengurusan wangMenambah logik penyesuaian kedudukan dinamik berdasarkan ATR atau kadar turun naik sejarah, mengurangkan kedudukan di pasaran turun naik tinggi, dan meningkatkan kedudukan di pasaran turun naik rendah, untuk mencapai keserasian lubang risiko. Ini akan menjadikan pengurusan risiko strategi lebih sempurna.
Peningkatan Keuntungan berbanding mekanisme penyesuaian: Mengubah ATR untuk tujuan stop loss dan profit mengikut ciri-ciri pasaran, seperti meningkatkan sasaran keuntungan apabila trend kuat dan mengurangkan sasaran keuntungan apabila trend lemah. Ini akan membantu strategi untuk menyesuaikan diri dengan lebih baik dengan tahap pasaran yang berbeza.
Tambah penapis masaMengambil kira ciri-ciri masa pasaran, mengelakkan perdagangan pada masa-masa yang kurang turun naik atau kurang kecairan. Sebagai contoh, penapis masa boleh ditambahkan dan isyarat hanya dijalankan dalam tempoh perdagangan tertentu. Ini akan membantu mengelakkan perdagangan dalam keadaan pasaran yang tidak menguntungkan.
Memperkenalkan pengoptimuman pembelajaran mesinMenggunakan algoritma pembelajaran mesin untuk mengenal pasti secara automatik kombinasi parameter yang paling sesuai dengan keadaan pasaran semasa, untuk mencapai pengoptimuman strategi penyesuaian diri. Kaedah ini dapat membantu strategi terus menyesuaikan diri dengan keadaan pasaran yang berubah.
Strategi persilangan garisan rata bergerak dinamik yang menggabungkan penapis penunjuk yang agak kuat dengan sistem hentian gelombang sebenar adalah strategi perdagangan kuantitatif yang dirancang dengan baik dan logik yang jelas. Ia membentuk penyelesaian perdagangan yang komprehensif dengan mengintegrasikan sistem isyarat persilangan EMA, mekanisme penapisan RSI dan pengurusan risiko dinamik berasaskan ATR.
Walau bagaimanapun, strategi ini juga mempunyai beberapa risiko yang berpotensi, seperti isyarat palsu dalam pasaran yang bergolak dan kepekaan terhadap pilihan parameter. Dengan memperkenalkan pengesahan kekuatan trend, penyesuaian dinamik nilai RSI, pengoptimuman sistem pengurusan wang dan lain-lain, strategi ini dapat meningkatkan lagi ketahanan dan kebolehsuaian.
Secara keseluruhannya, ini adalah strategi perdagangan yang mempunyai asas yang kukuh dan logik yang ketat, yang sesuai untuk digunakan oleh peniaga yang mempunyai asas analisis teknikal. Dengan penyesuaian dan pengoptimuman parameter yang sesuai, ia boleh menjadi alat perdagangan yang berkesan, terutamanya dalam keadaan pasaran yang jelas.
/*backtest
start: 2024-06-04 00:00:00
end: 2025-06-03 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Crossover + RSI Filter with ATR Stops", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// ─── Inputs ─────────────────────────────────────────────────────────────────a
fastLen = input.int(20, title="Fast EMA Length")
slowLen = input.int(50, title="Slow EMA Length")
rsiLen = input.int(14, title="RSI Length")
rsiOB = input.int(70, title="RSI Overbought Threshold")
rsiOS = input.int(30, title="RSI Oversold Threshold")
atrLen = input.int(14, title="ATR Length")
stopMult = input.float(1.5, title="Stop-Loss = ATR × Multiplier")
tpMult = input.float(3.0, title="Take-Profit = ATR × Multiplier")
// ─── Calculations ────────────────────────────────────────────────────────────
// Exponential moving averages
emaFast = ta.ema(close, fastLen)
emaSlow = ta.ema(close, slowLen)
// RSI
rsiValue = ta.rsi(close, rsiLen)
// ATR (for stops)
atrValue = ta.atr(atrLen)
// Detect crossovers
bullCross = ta.crossover(emaFast, emaSlow)
bearCross = ta.crossunder(emaFast, emaSlow)
// ─── Entry Conditions ────────────────────────────────────────────────────────
// Long entry: fast EMA crosses above slow EMA, and RSI is below overbought
longCondition = bullCross and (rsiValue < rsiOB)
// Short entry: fast EMA crosses below slow EMA, and RSI is above oversold
shortCondition = bearCross and (rsiValue > rsiOS)
// Place entries
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// ─── Exit Rules (Stop-Loss & Take-Profit) ─────────────────────────────────────
// For each entry, calculate stop and take targets based on ATR
longStop = strategy.position_avg_price - (atrValue * stopMult)
longTP = strategy.position_avg_price + (atrValue * tpMult)
shortStop = strategy.position_avg_price + (atrValue * stopMult)
shortTP = strategy.position_avg_price - (atrValue * tpMult)
// Attach stops and targets to the open position
if (strategy.position_size > 0)
strategy.exit("Exit Long", "Long", stop=longStop, limit=longTP)
if (strategy.position_size < 0)
strategy.exit("Exit Short", "Short", stop=shortStop, limit=shortTP)
// ─── Plotting ────────────────────────────────────────────────────────────────
plot(emaFast, color=color.yellow, title="Fast EMA")
plot(emaSlow, color=color.orange, title="Slow EMA")
hline(rsiOB, "RSI Overbought", color=color.red, linestyle=hline.style_dotted)
hline(rsiOS, "RSI Oversold", color=color.green, linestyle=hline.style_dotted)
plot(rsiValue, color=color.blue, title="RSI", offset=0, display=display.none)