Strategi crossover purata bergerak berganda menggunakan persilangan purata bergerak dalam tempoh masa yang berbeza sebagai isyarat perdagangan, yang tergolong dalam strategi mengikuti trend.
Pertama, strategi ini mengira purata bergerak jangka pendek (default 7 hari), jangka sederhana (default 25 hari), dan jangka panjang (default 99 hari).
Apabila MA jangka pendek melintasi di atas MA jangka sederhana, isyarat beli dihasilkan.
Apabila MA jangka pendek melintasi di bawah MA jangka sederhana, isyarat jual dihasilkan.
Apabila MA jangka pendek melintasi di atas MA jangka panjang, isyarat beli cepat dihasilkan.
Apabila MA jangka pendek melintasi di bawah MA jangka panjang, isyarat jual cepat dihasilkan.
Strategi ini percaya bahawa melintasi MA jangka pendek di atas MA jangka sederhana menunjukkan trend menaik, jadi isyarat beli dihasilkan. Dan melintasi MA jangka pendek di bawah MA jangka sederhana menunjukkan trend menurun, jadi isyarat jual dihasilkan. Begitu juga, persilangan antara MA jangka pendek dan MA jangka panjang juga menghasilkan isyarat perdagangan cepat untuk menangkap perubahan trend jangka panjang.
Logik strategi adalah mudah dan mudah difahami dan dilaksanakan.
Menggunakan analisis pelbagai jangka masa dapat menangkap perubahan dalam trend pasaran dengan berkesan.
Parameter boleh dioptimumkan dengan menyesuaikan tempoh MA.
Isyarat silang visual secara intuitif mencerminkan perubahan trend.
MAs mempunyai isu yang tertinggal dan mungkin terlepas titik pembalikan trend.
Terlalu banyak isyarat palsu apabila MA jangka pendek melintasi di atas MA jangka panjang di pasaran lembu.
Terlalu banyak isyarat palsu apabila MA jangka pendek melintasi di bawah MA jangka panjang di pasaran beruang.
Isyarat perdagangan cepat mungkin terlalu sensitif, meningkatkan kekerapan perdagangan dan komisen.
Penyesuaian masa MA yang betul atau penambahan keadaan penapis boleh membantu mengoptimumkan dan mengurangkan isyarat palsu.
Tambah syarat penapis, seperti menghasilkan isyarat hanya apabila memenuhi jumlah perdagangan tertentu atau peratusan perubahan harga.
Gabungkan dengan penunjuk lain seperti MACD, KDJ untuk mengelakkan perdagangan yang salah apabila tidak ada trend yang jelas.
Mengoptimumkan gabungan tempoh MA untuk mengurangkan isyarat palsu.
Membezakan pasaran bull dan bear, mengoptimumkan parameter beli dan jual secara berasingan.
Pertimbangkan kos dagangan, sesuaikan parameter dagangan pantas untuk mengawal kekerapan.
Strategi crossover MA berganda adalah agak mudah, menilai arah trend melalui crossover MAs jangka masa yang berbeza untuk menjana isyarat perdagangan. Ia mudah dilaksanakan dengan penyesuaian parameter yang fleksibel untuk menangkap perubahan trend. Tetapi ia juga mempunyai isu-isu MA yang tertinggal dan isyarat palsu yang berlebihan. Kaedah seperti menambahkan penapis dan mengoptimumkan kombinasi parameter dapat meningkatkan strategi. Ia sesuai untuk peniaga yang berminat dalam crossover trend untuk pengoptimuman dan aplikasi.
/*backtest start: 2023-10-06 00:00:00 end: 2023-11-05 00:00:00 period: 1h basePeriod: 15m 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/ // © dadashkadir //@version=4 strategy("Üç Hareketli Ortalama Str.", overlay=true, initial_capital=10000, commission_value=0.047, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0, calc_on_order_fills=true) kisa = input(title = "Kısa Vade - Gün", defval = 7, minval = 1) orta = input(title = "Orta Vade - Gün", defval = 25, minval = 1) uzun = input(title = "Uzun Vade - Gün", defval = 99, minval = 1) sma7 = sma(close, kisa) sma25 = sma(close, orta) sma99 = sma(close, uzun) alTrend = plot (sma7, color=#2323F1, linewidth=2, title="Har.Ort. Kısa Vade", transp=0) satTrend = plot (sma25, color=#FF0C00, linewidth=3, title="Har.Ort. Orta Vade", transp=0) ort99 = plot (sma99, color=#DFB001, linewidth=3, title="Har.Ort. Uzun Vade", transp=0) zamanaralik = input (2020, title="Backtest Başlangıç Tarihi") al = crossover (sma7, sma25) and zamanaralik <= year sat = crossover (sma25, sma7) and zamanaralik <= year hizlial = crossover (sma7, sma99) and zamanaralik <= year hizlisat = crossover (sma99, sma7) and zamanaralik <= year alkosul = sma7 >= sma25 satkosul = sma25 >= sma7 hizlialkosul = sma7 >= sma99 hizlisatkosul = sma99 >= sma7 plotshape(al, title = "Buy", text = 'Al', style = shape.labelup, location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny) plotshape(sat, title = "Sell", text = 'Sat', style = shape.labeldown, location = location.abovebar, color= color.red, textcolor = color.white, transp = 0, size = size.tiny) plotshape(hizlial, title = "Hızlı Al", text = 'Hızlı Al', style = shape.labelup, location = location.belowbar, color= color.blue, textcolor = color.white, transp = 0, size = size.tiny) plotshape(hizlisat, title = "Hızlı Sat", text = 'Hızlı Sat', style = shape.labeldown, location = location.abovebar, color= #6106D6 , textcolor = color.white, transp = 0, size = size.tiny) fill (alTrend, satTrend, color = sma7 >= sma25? #4DFF00 : #FF0C00, transp=80, title="Al-Sat Aralığı") //fill (ort99, satTrend, color = sma7 >= sma25? #6106D6 : color.blue, transp=80, title="Hızlı Al-Sat Aralığı") if (al) strategy.entry("LONG", strategy.long) if (sat) strategy.entry("SHORT", strategy.short) //if (hizlial) // strategy.entry("My Short Entry Id", strategy.long) //if (hizlisat) // strategy.entry("My Short Entry Id", strategy.short)