Strategi salib emas rata-rata bergerak


Tanggal Pembuatan: 2023-09-18 21:18:17 Akhirnya memodifikasi: 2023-09-18 21:18:17
menyalin: 0 Jumlah klik: 814
1
fokus pada
1617
Pengikut

Ringkasan

Strategi ini menggunakan dua parameter yang berbeda yaitu indeks moving average (EMA), melakukan over jika EMA jangka pendek melewati EMA jangka panjang, dan melakukan over jika EMA jangka pendek melewati EMA jangka panjang. Strategi ini menggunakan EMA jangka pendek untuk merespons perubahan harga lebih cepat dan EMA jangka panjang untuk mencerminkan tren, menggunakan EMA silang untuk membentuk sinyal perdagangan.

Prinsip Strategi

Strategi ini pertama-tama mendefinisikan dua garis rata-rata EMA, panjang EMA1 adalah 10 dan panjang EMA2 adalah 21. Kemudian menghitung nilai dari dua garis rata-rata. Ketika EMA1 melewati EMA2, harga mulai menerobos ke atas, dan itu adalah sinyal bullish. Ketika EMA1 melewati EMA2, harga jatuh dari EMA, dan itu adalah sinyal bearish.

Untuk memfilter penembusan palsu, kode juga mendefinisikan sebuah ambang batas, yang dihitung dengan rumus:

threshold = ((ema1 - ema2)*100) / ((ema1 + ema2)/2)

Nilai ambang ini menunjukkan persentase jarak antara dua garis rata-rata dari nilai rata-rata garis rata-rata. Apabila threshold lebih besar dari 0,15% maka sinyal lebih banyak, dan jika kurang dari -0,006 maka sinyal rata.

Secara keseluruhan, sinyal perdagangan dari strategi ini adalah:

  • Buat sinyal ganda: em1 di atas em2 dan threshold >= 0.15%
  • Sinyal posisi terdepan: em1 di bawah em2 dan threshold <= -0.006%

Analisis Keunggulan

Strategi ini memiliki keuntungan sebagai berikut:

  1. Menggunakan EMA rata-rata dapat meluruskan data harga, yang menguntungkan untuk menghasilkan sinyal perdagangan.

  2. Dual EMA mengatur parameter yang berbeda, yang dapat mencapai keseimbangan dalam kecepatan respons dan stabilitas.

  3. Menambahkan nilai ambang batas dapat memfilter penembusan palsu dan menghindari transaksi yang tidak perlu.

  4. Strategi yang sederhana dan mudah dipahami, cocok untuk pemula dalam trading kuantitatif.

  5. Fleksibilitas untuk menyesuaikan parameter EMA dan nilai ambang batas untuk mengoptimalkan efek strategi.

Analisis risiko

Strategi ini juga memiliki beberapa risiko:

  1. EMA rata-rata berada di belakang harga dan mungkin melewatkan peluang untuk melakukan short line.

  2. Ada risiko untuk terjebak, dan jika tren berbalik, kemungkinan besar akan terjadi kerugian besar.

  3. Threshold yang tidak tepat dapat memfilter sinyal yang valid atau mengirimkan sinyal yang salah.

  4. Parameter EMA tidak sesuai, EMA jangka pendek dan jangka panjang tidak memiliki perbedaan karakteristik yang jelas, menghasilkan sinyal palsu.

  5. Volatilitas besar mungkin menyebabkan stop loss dan harus ditembus, dan harus diatur stop loss yang wajar.

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Mengoptimalkan parameter EMA, menguji pengaruh parameter siklus yang berbeda terhadap efektivitas strategi.

  2. Optimalkan threshold threshold, seimbang memfilter sinyal palsu dan mempertahankan sinyal yang valid.

  3. Menambahkan penilaian indikator teknis lainnya, seperti MACD, KDJ, dan lain-lain, untuk menilai sinyal perdagangan secara komprehensif.

  4. Anda dapat bergabung dengan Stop Loss Mechanism (SLM), yang dapat bergerak atau berhenti secara permanen, untuk mengontrol kerugian.

  5. Untuk mengurangi risiko masuk satu kali, pertimbangannya adalah untuk memasukkan metode batch building.

  6. Uji waktu yang berbeda untuk mencari periode yang lebih sesuai.

Meringkaskan

Strategi EMA memiliki beberapa kelebihan, tetapi juga harus memperhatikan beberapa risiko potensial. Efek strategi yang lebih baik dapat diperoleh melalui metode optimasi parameter, pengaturan stop loss, dan penyaringan sinyal. Strategi ini cocok untuk belajar dan berlatih sebagai strategi awal untuk perdagangan kuantitatif yang bekerja sama.

Kode Sumber Strategi
/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

if high > ta.highest(high[1], 5)
    strategy.entry("Enter Long", strategy.long)
else if low < ta.lowest(low[1], 5)
    strategy.entry("Enter Short", strategy.short)//@version=3
strategy(title="ema10-21", shorttitle="10/21", overlay=true, pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital = 2500, commission_type = strategy.commission.percent, commission_value = 0.2)

len1 = input(10, minval=1, title="EMA #1 length")
src1 = input(close, title="EMA Source #1")
a = ta.ema(src1, len1)
plot(a, title="EMA #1", color=color.orange, linewidth=2, style=plot.style_line)

len2 = input(21, minval=1, title="EMA #2 length")
src2 = input(close, title="EMA Source #2")
b = ta.ema(src2, len2)
plot(b, title="EMA #2", color=color.blue, linewidth=2, style=plot.style_line)

threshold = ((a-b)*100)/((a+b)/2)
thresholdUp = threshold > 0.15
thresholdDown = threshold < -0.006

if (thresholdUp) 
    strategy.entry("Buy", strategy.long)
if (thresholdDown) 
    strategy.close("Buy", strategy.long)

//goLong() => (crossover(a, b)) and (threshold >= 0.0025)
//killLong() => (crossunder(a, b)) and (threshold <= -0.0025)
//strategy.entry("Buy", strategy.long, when = goLong())
//strategy.close("Buy", when = killLong())

//threshold = ((a-b)*100)/((a+b)/2)

//achat = out1 > out2
//vente = out1 < out2 //and threshold < -0.025

//strategy.entry("long", true, when = achat)
//strategy.exit("exit", "long", when = vente)