Strategi Siklus Els Berdasarkan Penghalusan Sinyal


Tanggal Pembuatan: 2024-02-19 10:42:34 Akhirnya memodifikasi: 2024-02-19 10:42:34
menyalin: 2 Jumlah klik: 627
1
fokus pada
1617
Pengikut

Strategi Siklus Els Berdasarkan Penghalusan Sinyal

Ringkasan

Strategi ini merancang strategi perdagangan siklus Els yang merampingkan sinyal perdagangan dengan menghitung sinyal harga yang telah diproses secara halus, dikombinasikan dengan teori indikator siklus yang dikemukakan oleh Ehlers. Strategi ini dapat secara efektif menyaring kebisingan pasar dan menghasilkan sinyal perdagangan yang lebih andal.

Prinsip Strategi

  1. Sinyal harga awal src diproses dengan smooth kedua, yang menghasilkan sinyal yang halus.

  2. Indikator siklus dihitung berdasarkan sinyal halus. Metode perhitungan adalah: cycle := (1 - .5 alpha) (1 - .5 alpha) (smooth - 2 smooth[1] + smooth[2]) + 2 (1 - alpha) cycle[1] - (1 - alpha) (1 - alpha) * cycle[2]

Dimana α adalah parameter smoothing.

  1. Indikator siklus dilakukan dengan perataan indeks satu tahap, yang menghasilkan sinyal perdagangan akhir. signal := alpha2 cycle + (1 - alpha2) nz(signal[1])

di mana α2 adalah parameter kelancaran satu derajat.

  1. Ketika sinyal di atas melewati sinyal[1] melakukan lebih banyak; ketika signal di bawah melewati signal[1] waktu kosong.

Analisis Keunggulan Strategi

  1. Hal ini dilakukan dengan cara menghaluskan sinyal harga dengan cara kedua, sehingga bisa menyaring suara frekuensi tinggi dan membuat sinyal trading menjadi lebih dapat diandalkan.

  2. Dengan menggunakan teori indikator siklus Els, titik-titik pergeseran tren pasar dapat diukur dengan lebih akurat.

  3. Indeks tingkat pertama dengan halus menyaring sebagian dari kebisingan dalam indikator berputar, menghasilkan sinyal perdagangan yang lebih andal.

  4. Seluruh proses strategi yang masuk akal, ilmiah, parameter optimasi ruang besar, kinerja hard disk yang sangat baik.

Analisis risiko

  1. Seperti strategi indikator teknis lainnya, strategi ini juga lebih sensitif terhadap risiko sistematis pasar. Jika terjadi peristiwa black swan besar, kemungkinan kerugian yang lebih besar akan terjadi.

  2. Karena proses perhitungan yang lebih rumit, pengaturan parameter yang tidak tepat dapat menyebabkan keterlambatan perhitungan, sehingga mempengaruhi efek hard drive. Perlu tes hati-hati untuk memastikan pengaturan parameter yang ilmiah.

  3. Proses smoothing juga dapat menyebabkan sinyal trading terlambat dan mungkin tidak dapat menangkap titik pivot pasar tepat waktu, sehingga kehilangan peluang. Pengaturan yang diperlukan untuk mempertimbangkan parameter smoothing.

Arah optimasi strategi

  1. Anda dapat menguji berbagai jenis algoritma smoothing, seperti smoothing indeks, smoothing rata-rata, dan lain-lain, untuk menemukan solusi smoothing yang optimal.

  2. Adaptive parameter adjustment mechanism dapat diperkenalkan untuk menyesuaikan parameter secara dinamis sesuai dengan kondisi pasar, meningkatkan keandalan strategi.

  3. Anda dapat merancang strategi stop loss dan stop loss untuk mengurangi risiko kerugian tunggal dan mengunci keuntungan.

  4. Model pembelajaran mesin dapat digabungkan dengan model lain untuk mengimplementasikan kombinasi model yang dapat digunakan untuk memfilter sinyal perdagangan lainnya.

Meringkaskan

Strategi ini dirancang untuk memperlancar sinyal perdagangan dengan strategi perdagangan siklus Els. Strategi ini dapat secara efektif memfilter kebisingan dan menghasilkan sinyal perdagangan yang lebih andal. Dengan ruang parameter yang lebih besar, kinerja disk yang baik. Dengan memperkenalkan mekanisme adaptasi, strategi stop loss, dan banyak lagi, Anda dapat meningkatkan stabilitas dan efektivitas strategi.

Kode Sumber Strategi
/*backtest
start: 2024-01-19 00:00:00
end: 2024-02-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Ehlers Cyber Cycle Strategy",overlay=false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 1, commission_type = strategy.commission.percent, commission_value = 0.1)
src = input(hl2, title = "Source") 
alpha = input(.07, title = "Alpha")
lag = input(9, title = "Lag")
smooth = (src + 2 * src[1] + 2 * src[2] + src[3]) / 6

cycle = na
if na(cycle[7])
    cycle := (src - 2 * src[1] + src[2]) / 4
else
    cycle := (1 - .5 * alpha) * (1 - .5 * alpha) * (smooth - 2 * smooth[1] + smooth[2]) + 2 * (1 - alpha) * cycle[1] - (1 - alpha) * (1 - alpha) * cycle[2]

alpha2 = 1 / (lag + 1)
signal = na
signal := alpha2 * cycle + (1 - alpha2) * nz(signal[1])
oppositeTrade = input(true)
barsSinceEntry = 0
barsSinceEntry := nz(barsSinceEntry[1]) + 1
if strategy.position_size == 0
    barsSinceEntry := 0
if (crossover(signal, signal[1]) and not oppositeTrade) or (oppositeTrade and crossunder(signal, signal[1]))
    strategy.entry("Long", strategy.long)
    barsSinceEntry := 0
if (crossunder(signal, signal[1]) and not oppositeTrade) or (oppositeTrade and crossover(signal, signal[1]))
    strategy.entry("Short", strategy.short)
    barsSinceEntry := 0
if strategy.openprofit < 0 and barsSinceEntry > 8
    strategy.close_all()
    barsSinceEntry := 0
    
    
plot(0, title="ZeroLine", color=gray) 
plotSrc = signal
cyclePlot = plot(plotSrc, title = "CyberCycle", color = blue)
triggerPlot = plot(plotSrc[1], title = "Trigger", color = green)
fill(cyclePlot, triggerPlot, color = plotSrc < plotSrc[1] ? red : lime, transp = 50)