Strategi Perdagangan Kuantitatif Siklus Stokastik Ehlers


Tanggal Pembuatan: 2024-01-17 16:03:30 Akhirnya memodifikasi: 2024-01-17 16:03:30
menyalin: 0 Jumlah klik: 793
1
fokus pada
1617
Pengikut

Strategi Perdagangan Kuantitatif Siklus Stokastik Ehlers

Ringkasan

Strategi siklus acak Ells adalah strategi perdagangan kuantitatif yang menggunakan indikator siklus acak Ells untuk menghasilkan sinyal perdagangan. Strategi ini menggabungkan keunggulan indikator acak dan indikator siklus untuk menangkap peluang berkala di pasar.

Prinsip Strategi

Strategi ini pertama-tama membangun sebuah indikator siklus halus, kemudian membangun sebuah nilai indikator acak berdasarkan indikator tersebut. Produksi sinyal perdagangan ditentukan berdasarkan persilangan rata-rata bergerak dari nilai indikator acak ini.

Secara khusus, metode perhitungan indikator siklus halus adalah:

smooth = (src + 2 * src[1] + 2 * src[2] + src[3]) / 6

Di mana src adalah data harga input, seperti harga penutupan. Indikator ini menggabungkan harga saat ini dengan harga 3 periode sebelumnya untuk membangun sinyal siklus yang halus.

Berdasarkan indikator smoothed, maka dapat dihitung siklus indikator acak:

cycle := (1 - .5 * alpha) * (1 - .5 * alpha) * 
           (smooth - 2 * smooth[1] + smooth[2]) + 
           2 * (1 - alpha) * cycle[1] - 
           (1 - alpha) * (1 - alpha) * cycle[2]

Perhitungan ini mencakup diferensial dua kelas dari sinyal siklus setelah smoothing, dan nilai dari dua siklus sebelumnya. α adalah faktor smoothing, yang mengatur berat dari nilai siklus baru dan lama.

Akhirnya, berdasarkan indikator siklus ini, sebuah nilai acak 0-100 value1‬ dihitung dan berdasarkan nilai 1 dari 10 hari moving average untuk membangun nilai sinyal signal‬. Ketika sinyal melewati atau di bawah rata-rata bergerak, sinyal perdagangan dikeluarkan‬.

Keunggulan Strategis

Strategi ini menggabungkan indikator acak dan indikator berkala, menggabungkan keunggulan keduanya. Strategi ini dapat menangkap peluang berkala dengan lebih baik dan menghasilkan hasil yang lebih baik daripada strategi tren seperti rata-rata bergerak sederhana.

Keunggulan utama:

  1. Indikator siklus dapat mengidentifikasi pola siklus, dan indikator acak menyediakan waktu perdagangan xFB
  2. Desain dual indicator yang efektif untuk memfilter sinyal palsu
  3. Parameter yang dapat disesuaikan untuk berbagai kondisi pasar

Risiko Strategis

Strategi ini memiliki risiko utama sebagai berikut:

  1. Setting parameter yang tidak tepat dapat menyebabkan frekuensi transaksi, meningkatkan biaya transaksi dan biaya slippage
  2. Tidak mampu menangani pasar dengan harga yang sangat berfluktuasi, dapat menyebabkan kerugian yang lebih besar
  3. Indikator siklus sangat bergantung pada kesesuaian kurva, dan kesesuaian yang tidak tepat dapat menghasilkan sinyal yang salah

Risiko dapat dikendalikan dengan cara seperti pengaturan parameter optimasi, pengaturan titik berhenti, dan kombinasi dengan indikator penyaringan lainnya.

Arah optimasi strategi

Strategi ini juga dapat dioptimalkan dari beberapa arah:

  1. Filter sinyal dalam kombinasi dengan indikator teknis lainnya, seperti Bollinger Bands, RSI, dan lain-lain, untuk mengurangi sinyal palsu
  2. Menambahkan mekanisme keluar yang beradaptasi, menyesuaikan stop loss secara dinamis sesuai dengan volatilitas pasar
  3. Menggunakan metode pembelajaran mesin untuk mengoptimalkan parameter secara otomatis sehingga dapat secara dinamis beradaptasi dengan pasar
  4. Mengoptimalkan pemanfaatan dana, meningkatkan efisiensi penggunaan dana melalui cara-cara seperti leverage, profit sharing, dan lain-lain

Meringkaskan

Strategi periodik acak Ells menggabungkan keuntungan dari indikator acak dan indikator periodik, dengan kontrol risiko yang efektif melalui desain sinyal ganda, mampu mendapatkan hasil yang lebih baik di pasar yang lebih kuat secara periodik. Dengan optimasi lebih lanjut, strategi ini dapat menjadi strategi perdagangan kuantitatif yang disarankan.

Kode Sumber Strategi
/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Ehlers Stochastic 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
len = input(8, title = "Stochastic len")
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]

value1 = stoch(cycle, cycle, cycle, len) / 100
value2 = 2 * ((4 * value1 + 3 * value1[1] + 2 * value1[2] + value1[3]) / 10 - 0.5)

signal = value2
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)