Tiga Strategi Crossover Rata-rata Bergerak


Tanggal Pembuatan: 2023-11-06 09:48:33 Akhirnya memodifikasi: 2023-11-06 09:48:33
menyalin: 0 Jumlah klik: 661
1
fokus pada
1617
Pengikut

Tiga Strategi Crossover Rata-rata Bergerak

Ringkasan

Strategi crossover triangulation menggunakan crossover rata-rata bergerak dari periode waktu yang berbeda sebagai sinyal beli dan jual, dan merupakan strategi pelacakan tren. Strategi ini menggunakan tiga rata-rata bergerak, termasuk rata-rata bergerak jangka pendek, rata-rata bergerak menengah, dan rata-rata bergerak jangka panjang, dan berdasarkan persimpangan mereka membentuk sinyal perdagangan.

Prinsip Strategi

Strategi ini pertama-tama menghitung rata-rata bergerak jangka pendek (default 7 days), rata-rata bergerak jangka menengah (default 25 days), dan rata-rata bergerak jangka panjang (default 99 days), lalu menghasilkan sinyal perdagangan berdasarkan aturan berikut:

  1. Sebuah sinyal beli dihasilkan ketika rata-rata bergerak jangka pendek melewati rata-rata bergerak jangka menengah.

  2. Sinyal jual dihasilkan ketika pergerakan rata-rata jangka pendek melewati pergerakan rata-rata jangka menengah.

  3. Sebuah sinyal beli cepat dihasilkan ketika rata-rata bergerak jangka pendek melewati rata-rata bergerak jangka panjang.

  4. Sebuah sinyal jual cepat dihasilkan ketika pergerakan rata-rata jangka pendek melewati pergerakan rata-rata jangka panjang.

Strategi ini berpendapat bahwa di atas rata-rata bergerak jangka pendek melewati rata-rata bergerak jangka menengah menunjukkan tren pasar berubah menjadi naik, sehingga menghasilkan sinyal beli; dan di bawah rata-rata bergerak jangka pendek melewati rata-rata bergerak jangka menengah menunjukkan tren pasar berubah menjadi turun, sehingga menghasilkan sinyal jual. Demikian pula, persilangan rata-rata bergerak jangka pendek dengan rata-rata bergerak jangka panjang juga menghasilkan sinyal perdagangan yang cepat untuk menangkap perubahan tren dari garis yang lebih panjang.

Analisis Keunggulan

  • Strategi logisnya sederhana dan jelas, mudah dipahami dan diterapkan.
  • Dengan menggunakan analisis siklus multi waktu, Anda dapat secara efektif menangkap perubahan tren pasar.
  • Parameter strategi dapat dioptimalkan dengan menyesuaikan siklus rata-rata bergerak.
  • Sinyal silang yang dapat dilihat, yang secara intuitif mencerminkan perubahan tren

Analisis risiko

  • Rata-rata bergerak memiliki keterbelakangan dan mungkin kehilangan titik balik tren.
  • Di pasar dengan banyak mata uang, sinyal palsu mungkin terlalu banyak di jalur pendek yang memakai jalur panjang.
  • Di pasar kosong, sinyal palsu yang melewati garis panjang di bawah garis pendek mungkin terlalu banyak.
  • Sinyal pembelian dan penjualan cepat bisa terlalu sensitif, meningkatkan jumlah transaksi dan biaya.

Anda dapat mengoptimalkan dan mengurangi sinyal palsu dengan menyesuaikan siklus rata-rata bergerak atau menambahkan kondisi penyaringan. Anda juga dapat mengurangi siklus perdagangan cepat dan mengurangi frekuensi perdagangan.

Arah optimasi

  • Menambahkan kondisi penyaringan, misalnya, sinyal hanya muncul jika lebih dari volume transaksi tertentu atau persentase perubahan harga.
  • Bergabung dengan penyaringan indikator lain, seperti MACD, KDJ, dan lain-lain, untuk menghindari perdagangan yang salah ketika tidak ada tren yang jelas.
  • Mengoptimalkan kombinasi siklus rata-rata bergerak untuk mengurangi sinyal palsu.
  • Membedakan pasar multihead dan pasar kosong, mengoptimalkan parameter pembelian dan penjualan.
  • Mempertimbangkan biaya transaksi, menyesuaikan parameter untuk transaksi cepat, mengendalikan frekuensi transaksi.

Meringkaskan

Strategi crossover tiga garis rata secara keseluruhan relatif sederhana dan langsung, menentukan arah tren melalui persilangan garis rata dengan periode waktu yang berbeda, untuk menghasilkan sinyal perdagangan. Strategi ini mudah diimplementasikan, parameter disesuaikan dengan fleksibilitas, dapat menangkap perubahan tren. Tetapi ada juga masalah keterlambatan rata-rata bergerak, dan risiko terlalu banyak sinyal palsu.

Kode Sumber Strategi
/*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)