Strategi perdagangan crossover purata bergerak berganda menghasilkan isyarat perdagangan dengan mengira purata bergerak eksponensial (EMA) dalam jangka masa yang berbeza dan mengesan titik persilangan mereka. Ia tergolong dalam kategori strategi mengikuti trend. Strategi ini menggunakan 3 EMA
Mengira EMA 50 tempoh, 144 tempoh, dan 200 tempoh menggunakan harga penutupan, yang dinyatakan sebagai EMA50, EMA144, dan EMA200 masing-masing.
Jika EMA50 melintasi di atas EMA144 dan EMA200 secara serentak, mencetuskan isyarat beli untuk membuka kedudukan panjang.
Jika EMA50 melintasi di bawah EMA144 dan EMA200 secara serentak, mencetuskan isyarat jual untuk menutup kedudukan panjang.
Strategi crossover purata bergerak berganda mempunyai kelebihan berikut:
Sederhana dan mudah difahami. Parameter adalah intuitif dan mudah dilaksanakan untuk automasi.
Menjawab dengan cepat kepada perubahan trend dan perubahan momentum.
Parameter yang boleh disesuaikan membolehkan penyesuaian tempoh EMA untuk menyesuaikan keadaan pasaran yang berbeza.
Mempunyai beberapa keupayaan penapisan bunyi bising untuk mengelakkan ditipu oleh turun naik jangka pendek.
Boleh digabungkan dengan penunjuk lain untuk membina peraturan perdagangan yang sistematik.
Terdapat juga beberapa risiko yang berkaitan dengan strategi ini:
Cenderung untuk menghasilkan isyarat palsu dan dipukul oleh turun naik yang tinggi.
Tidak dapat menentukan tempoh trend yang ditetapkan. Isyarat mungkin datang lebih awal.
Penyesuaian parameter yang tidak sesuai boleh membawa kepada perdagangan berlebihan yang meningkatkan kos transaksi dan slippage.
Boleh menghasilkan kerugian berturut-turut apabila berdagang di pasaran yang terhad dan bergelombang.
Kekurangan mekanisme pengurusan risiko seperti stop-loss.
Beberapa cara untuk mengoptimumkan Dual Moving Average Crossover Strategy termasuk:
Menambah penapis berdasarkan penunjuk lain seperti jumlah dan turun naik untuk mengurangkan isyarat palsu.
Memasukkan strategi stop-loss untuk mengawal risiko perdagangan tunggal.
Mengoptimumkan tempoh EMA untuk menyesuaikan diri dengan jangka masa pasaran yang berbeza.
Menambah peraturan saiz kedudukan seperti peruntukan pecahan tetap, piramida dan lain-lain
Menggunakan model pembelajaran mesin untuk mengoptimumkan parameter secara dinamik.
Dual Moving Average Crossover adalah strategi yang mudah dan praktikal untuk mengikuti trend. Ia mengenal pasti arah trend melalui persimpangan EMA dan bertujuan untuk menangkap peluang di sepanjang trend jangka menengah hingga panjang. Walaupun mudah difahami dan dilaksanakan, ia mengalami kelemahan seperti isyarat palsu dan kekurangan kawalan risiko. Dengan memperkenalkan penapis tambahan, stop loss, dan pengoptimuman parameter, ia boleh dibentuk menjadi sistem perdagangan yang kukuh dan cekap. Secara keseluruhan, strategi ini sesuai untuk perdagangan trend automatik dan tetap menjadi salah satu blok bangunan yang paling asas dari strategi perdagangan algoritmik.
/*backtest start: 2023-11-29 00:00:00 end: 2023-12-06 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © SDTA //@version=5 strategy("EMA Crossover Strategy", overlay=true) // Hareketli Ortalamaları Hesapla ema50 = ta.ema(close, 50) ema144 = ta.ema(close, 144) ema200 = ta.ema(close, 200) // Al sinyali koşulu: Fiyat EMA 50, EMA 144 ve EMA 200 üzerine çıktığında longCondition = close > ema50 and close > ema144 and close > ema200 // Sat sinyali koşulu: Fiyat EMA 200, EMA 144 ve EMA 50 altına indiğinde shortCondition = close < ema200 and close < ema144 and close < ema50 // Al ve Sat sinyallerinin gerçekleştiği çubuğu ok ile belirt plotarrow(series=longCondition ? 1 : shortCondition ? -1 : na, colorup=color.green, colordown=color.red, offset=-1, title="Trade Arrow") // Hareketli Ortalamaları Çiz plot(ema50, color=color.blue, title="EMA 50") plot(ema144, color=color.orange, title="EMA 144") plot(ema200, color=color.red, title="EMA 200") // Strateji testi ekleyin strategy.entry("AL", strategy.long, when=longCondition) strategy.entry("SAT", strategy.short, when=shortCondition)