
Strategi dagangan dinamik silang-multi-semua-garis yang beradaptasi adalah kaedah dagangan kuantitatif yang fleksibel dan kuat. Strategi ini membolehkan peniaga memilih secara bebas dua jenis dan kitaran purata bergerak, yang menghasilkan isyarat perdagangan melalui persilangan mereka. Inti strategi ini adalah kesesuaian yang tinggi, yang membolehkan peniaga menyesuaikan diri dengan keadaan pasaran yang berbeza dan pilihan peribadi.
Prinsip utama strategi ini adalah menggunakan dua persilangan purata bergerak untuk menilai perubahan trend pasaran. Secara khusus:
Pengguna boleh memilih dua jenis purata bergerak yang berbeza (SMA, EMA, WMA atau RMA) dan kitaran masing-masing.
Apabila rata-rata bergerak cepat melintasi rata-rata bergerak perlahan ke atas, ia menghasilkan isyarat ganda.
Jika ruang kosong dibenarkan, isyarat ruang kosong akan dihasilkan apabila rata-rata bergerak cepat melintasi di bawah rata-rata bergerak perlahan.
Jika tidak dibenarkan untuk melakukan shorting, pergerakan rata-rata bergerak cepat akan menebus kedudukan berbilang kepala yang sedia ada apabila ia melintasi di bawah purata bergerak perlahan.
Strategi menggunakan fungsi strategi TradingView untuk melaksanakan perdagangan, memastikan keserasian dalam pelacakan dan perdagangan dalam talian.
Ketinggian yang boleh disesuaikan: Pedagang boleh memilih pelbagai jenis dan kitaran purata bergerak mengikut keperluan mereka sendiri, menyesuaikan diri dengan keadaan pasaran yang berbeza.
Fleksibiliti: Anda boleh memilih sama ada anda akan membenarkan penarikan, yang membolehkan anda menyesuaikan strategi anda dengan pelbagai jenis akaun perdagangan dan peraturan pasaran.
Visualisasi: Strategi memaparkan purata bergerak yang dipilih secara langsung pada carta harga untuk memudahkan analisis intuitif.
Sederhana dan mudah difahami: Walaupun terdapat banyak pilihan, logik terasnya adalah sederhana dan mudah difahami dan dioptimumkan.
Adaptif: Dengan memilih pelbagai jenis purata bergerak, strategi dapat menyesuaikan diri dengan lebih baik dengan ciri-ciri pergerakan pasaran yang berbeza.
Pengurusan risiko: Membantu mengawal potensi risiko penurunan dengan menghasilkan isyarat yang tepat pada masanya.
Ketinggalan: Semua strategi berdasarkan purata bergerak mempunyai ketinggalan yang boleh menyebabkan kehilangan peluang atau kerugian yang tidak perlu dalam pasaran yang berubah dengan cepat.
Tidak berlaku untuk pasaran goyah: Dalam pasaran goyah, penembusan palsu yang kerap boleh menyebabkan isyarat perdagangan yang salah berulang kali.
Sensitiviti parameter: Pemilihan jenis dan tempoh purata bergerak yang berbeza boleh menyebabkan hasil yang sangat berbeza dan memerlukan pengoptimuman parameter yang teliti.
Risiko Overtrading: Dalam keadaan pasaran tertentu, strategi mungkin menghasilkan terlalu banyak isyarat perdagangan, meningkatkan kos perdagangan.
Kurangnya mekanisme penangguhan kerugian: Strategi semasa tidak mengintegrasikan mekanisme penangguhan kerugian yang spesifik dan mungkin menanggung kerugian yang lebih besar dalam keadaan pasaran yang melampau.
Pengenalan penapis tambahan: boleh dipertimbangkan untuk menambah jumlah lalu lintas, kadar turun naik atau petunjuk teknikal lain sebagai syarat penapisan tambahan, mengurangkan isyarat palsu.
Parameter penyesuaian dinamik: Mekanisme untuk menyesuaikan jenis dan kitaran purata bergerak secara automatik mengikut keadaan pasaran, meningkatkan kebolehpasaran strategi.
Menambah mekanisme hentian dan hentian: Mengintegrasikan fungsi pengurusan risiko pintar, seperti pelacakan hentian atau tetapan hentian berasaskan ATR.
Analisis pelbagai bingkai masa: memperkenalkan penghakiman trend pada bingkai masa yang lebih tinggi, hanya menjalankan perdagangan ke arah trend utama.
Pengurusan wang yang dioptimumkan: Mengendalikan kedudukan dinamik berdasarkan nilai bersih akaun dan turun naik pasaran.
Menambah logik untuk mengelakkan tempoh turun naik yang tinggi: menangguhkan perdagangan semasa pengumuman data ekonomi penting atau tempoh turun naik yang tinggi yang diketahui.
Pembelajaran mesin bersepadu: Menggunakan algoritma pembelajaran mesin untuk secara dinamik memilih kombinasi dan parameter purata bergerak yang optimum.
Strategi dagangan dinamik melintang pelbagai persamaan adalah kaedah dagangan kuantitatif yang fleksibel, disesuaikan dan intuitif. Ia menawarkan kemungkinan aplikasi yang luas dengan membenarkan pengguna memilih jenis dan kitaran rata-rata bergerak yang berbeza, dan sama ada pemotongan dibenarkan.
Walau bagaimanapun, seperti semua strategi perdagangan, ia juga menghadapi beberapa risiko dan batasan yang melekat, seperti lag isyarat dan prestasi yang buruk dalam keadaan pasaran tertentu. Langkah-langkah pengoptimuman seperti pengenalan penapis tambahan, penyesuaian parameter dinamik, mekanisme pengurusan risiko yang lebih rumit, dan analisis jangka masa berbilang dapat meningkatkan kestabilan dan keuntungan strategi secara signifikan.
Akhirnya, strategi ini memberikan pedagang dengan titik permulaan yang kukuh, yang boleh disesuaikan dan diperbaiki lebih lanjut berdasarkan gaya perdagangan individu dan wawasan pasaran. Dengan pemantauan, pengulangan dan pengoptimuman yang berterusan, pedagang dapat mengembangkan strategi ini menjadi sistem perdagangan yang kuat untuk mencari keuntungan yang stabil dalam pelbagai keadaan pasaran.
/*backtest
start: 2023-07-23 00:00:00
end: 2024-07-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Two Pick-Your-Moving-Averages Crossover Strategy", overlay=true, margin_long=100, margin_short=100)
allowShorting = input.bool(true, "Allow Shorting")
fastMALength = input.int(14, "Fast MA Length")
slowMALength = input.int(28, "Slow MA Length")
fastMAType = input.string("Simple", "Fast MA Type", ["Simple", "Exponential", "Weighted", "Relative"])
slowMAType = input.string("Simple", "Slow MA Type", ["Simple", "Exponential", "Weighted", "Relative"])
float fastMA = switch fastMAType
"Simple" => ta.sma(close, fastMALength)
"Exponential" => ta.ema(close, fastMALength)
"Weighted" => ta.wma(close, fastMALength)
"Relative" => ta.rma(close, fastMALength)
plot(fastMA, color = color.aqua, linewidth = 2)
float slowMA = switch slowMAType
"Simple" => ta.sma(close, slowMALength)
"Exponential" => ta.ema(close, slowMALength)
"Weighted" => ta.wma(close, slowMALength)
"Relative" => ta.rma(close, slowMALength)
plot(slowMA, color = color.blue, linewidth = 2)
longCondition = ta.crossover(fastMA, slowMA)
if (longCondition)
strategy.entry("Long", strategy.long)
shortCondition = ta.crossunder(fastMA, slowMA) and allowShorting
if (shortCondition)
strategy.entry("Short", strategy.short)
closeCondition = ta.crossunder(fastMA, slowMA) and not allowShorting
if (closeCondition)
strategy.close("Long", "Close")