Strategi Crossover Rata-rata Bergerak Tiga

Penulis:ChaoZhang, Tanggal: 2023-11-06 09:48:33
Tag:

img

Gambaran umum

Strategi crossover rata-rata bergerak tiga kali menggunakan crossover rata-rata bergerak selama periode waktu yang berbeda sebagai sinyal perdagangan, yang termasuk dalam strategi trend-following.

Logika Strategi

Pertama, strategi menghitung rata-rata bergerak jangka pendek (default 7 hari), jangka menengah (default 25 hari), dan jangka panjang (default 99 hari).

  1. Ketika MA jangka pendek melintasi di atas MA jangka menengah, sinyal beli dihasilkan.

  2. Ketika MA jangka pendek melintasi di bawah MA jangka menengah, sinyal jual dihasilkan.

  3. Ketika MA jangka pendek melintasi di atas MA jangka panjang, sinyal beli cepat dihasilkan.

  4. Ketika MA jangka pendek melintasi di bawah MA jangka panjang, sinyal jual cepat dihasilkan.

Strategi ini percaya bahwa penyeberangan MA jangka pendek di atas MA jangka menengah menunjukkan tren naik, sehingga sinyal beli dihasilkan. Dan penyeberangan MA jangka pendek di bawah MA jangka menengah menunjukkan tren turun, sehingga sinyal jual dihasilkan. Demikian pula, penyeberangan antara MA jangka pendek dan MA jangka panjang juga menghasilkan sinyal perdagangan cepat untuk menangkap perubahan tren jangka panjang.

Analisis Keuntungan

  • Logika strategi sederhana dan mudah dipahami dan diterapkan.

  • Menggunakan analisis multi-frame waktu dapat secara efektif menangkap perubahan tren pasar.

  • Parameter dapat dioptimalkan dengan menyesuaikan periode MA.

  • Sinyal silang visual secara intuitif mencerminkan perubahan tren.

Analisis Risiko

  • MAs memiliki masalah yang tertinggal dan mungkin melewatkan titik pembalikan tren.

  • Terlalu banyak sinyal palsu ketika MA jangka pendek melintasi di atas MA jangka panjang di pasar bull.

  • Terlalu banyak sinyal palsu ketika MA jangka pendek melintasi di bawah MA jangka panjang di pasar beruang.

  • Sinyal perdagangan cepat mungkin terlalu sensitif, meningkatkan frekuensi perdagangan dan komisi.

Penyesuaian periode MA yang tepat atau penambahan kondisi filter dapat membantu mengoptimalkan dan mengurangi sinyal palsu.

Arahan Optimasi

  • Tambahkan kondisi filter, seperti menghasilkan sinyal hanya ketika memenuhi volume perdagangan tertentu atau persentase perubahan harga.

  • Gabungkan dengan indikator lain seperti MACD, KDJ untuk menghindari perdagangan yang salah ketika tidak ada tren yang jelas.

  • Mengoptimalkan kombinasi periode MA untuk mengurangi sinyal palsu.

  • Membedakan pasar bull dan bear, mengoptimalkan parameter beli dan jual secara terpisah.

  • Pertimbangkan biaya perdagangan, menyesuaikan parameter perdagangan cepat untuk mengontrol frekuensi.

Ringkasan

Strategi crossover triple MA relatif sederhana, menilai arah tren melalui crossover dari MAs jangka waktu yang berbeda untuk menghasilkan sinyal perdagangan. Hal ini mudah dilaksanakan dengan penyesuaian parameter yang fleksibel untuk menangkap perubahan tren. Tapi juga memiliki masalah MA tertinggal dan sinyal palsu yang berlebihan. Metode seperti menambahkan filter dan mengoptimalkan kombinasi parameter dapat meningkatkan strategi. Ini cocok bagi pedagang yang tertarik pada crossover tren untuk optimasi 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)    

Lebih banyak