Strategi Sistem Dual Harmonik

Penulis:ChaoZhang, Tarikh: 2024-02-22 15:49:06
Tag:

img

Ringkasan

Strategi ini menggunakan pelbagai purata bergerak harmonik untuk membina isyarat perdagangan. Ia mula-mula mengira purata bergerak harmonik dari urutan 1 hingga 6, dan kemudian menggabungkan purata bergerak ini untuk membina isyarat perdagangan panjang / pendek berganda.

Logika Strategi

Strategi pertama menentukan fungsi harm_average untuk mengira purata bergerak harmonik n-periode. Kemudian ia mengira purata bergerak harmonik dari urutan 1 hingga 6, iaitu T1 hingga T6. Di antara mereka, T1 adalah purata bergerak harmonik 3-periode, T2 adalah purata bergerak harmonik 3-periode T1, dan sebagainya.

Selepas itu, ia membina lengkung imbangan, yang secara sintetik menganggap kebalikan daripada purata bergerak harmonik kubik dari T1 ke T6. Ini boleh mencerminkan faktor jangka pendek dan jangka panjang pada masa yang sama.

Akhirnya, mengikut T1 ke T6, ia membina isyarat silang panjang / pendek berganda, di mana X1 mengambil minimum T1, T2 dan T3, dan X2 mengambil maksimum T4, T5 dan T6. Ia pergi lama apabila X1 melintasi di atas X2, dan pergi pendek apabila X1 melintasi di bawah X2. Di sini X1 mencerminkan faktor jangka pendek dan X2 mencerminkan faktor jangka panjang.

Analisis Kelebihan

  1. Menggunakan pelbagai purata bergerak harmonik dapat menapis bunyi pasaran dengan berkesan dan meningkatkan kualiti isyarat

  2. Membina isyarat perdagangan panjang / pendek berganda boleh menangkap titik perubahan trend tepat pada masanya

  3. Lintasan Saldo secara sintetik mengambil kira pelbagai jangka masa yang dapat menilai arah trend dengan tepat

  4. Menggunakan purata kiub boleh lebih menonjolkan peranan pembolehubah pertengahan dan meningkatkan kestabilan strategi

Analisis Risiko

  1. Purata harmonik sendiri mempunyai kelewatan yang tinggi, yang mungkin terlepas peluang pembalikan jangka pendek

  2. Pengoptimuman berlebihan dengan purata berganda boleh mengurangkan kekuatan strategi

  3. Pengiraan kiub boleh memperkuat bunyi perantara ke tahap tertentu, mengakibatkan isyarat palsu tertentu

  4. Salib berganda mempunyai beberapa tahap ketinggalan, tidak dapat menangkap titik giliran tepat pada masanya

Arahan pengoptimuman

  1. Lebih banyak jenis atau perintah yang lebih tinggi dari purata harmonik boleh diuji

  2. Memperkenalkan penyesuaian dinamik hari purata untuk mengoptimumkan sistem purata

  3. Uji parameter kuasa yang berbeza seperti persegi dan log

  4. Masukkan lebih banyak penunjuk tambahan untuk mengesahkan kualiti isyarat

Ringkasan

Strategi ini menggunakan sistem purata harmonik berganda untuk membina isyarat perdagangan panjang / pendek berganda. Berbanding dengan sistem purata tunggal, strategi ini dapat mengenal pasti trend dan menapis bunyi bising dengan lebih baik. Sementara itu, silang berganda juga dapat menangkap titik perubahan pasaran tepat pada masanya. Walau bagaimanapun, pengiraan purata dan kiub berganda juga memperkenalkan beberapa kelewatan dan penguat bunyi bising. Pada masa akan datang, pengenalan penyesuaian parameter dinamik dan lebih banyak penunjuk tambahan dapat meningkatkan kestabilan dan ketepatan masa strategi.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Harmonic System Strategy", overlay=true)

harm_average(x,y,z) =>3 / (1 / x + 1 / y + 1 / z)
T1 = harm_average(close[1], close[2], close[3])
T2 = harm_average(T1, T1[1], T1[2])
T3 = harm_average(T2, T2[1], T2[2])
T4 = harm_average(T3, T3[1], T3[2])
T5 = harm_average(T4, T4[1], T4[2])
T6 = harm_average(T5, T5[1], T5[2])
Balance = 18 / (1 / T1 * 3 + 1 / T2 * 3 + 1 / T3 * 3 + 1 / T4 * 3 + 1 / T5 * 3 + 1 / T6 * 3)

plot(T1,linewidth=2, color=color.green,title="T1")
plot(T2,linewidth=1, color=color.blue,title="T2")
plot(T3,linewidth=1, color=color.blue,title="T3")
plot(Balance,linewidth=2, color=color.black,title="Balance")
plot(T4,linewidth=1, color=color.blue,title="T4")
plot(T5,linewidth=1, color=color.blue,title="T5")
plot(T6,linewidth=2, color=color.red,title="T6")

X1 = min(min(T1,T2),T3)
X2 = max(max(T4,T5),T6)
X3 = min(T1,T2)
X4 = max(T3,T4)

Buy=crossover(X1,X2)
Sell=crossunder(X3,X4)

if crossover(X1,X2)
    strategy.entry("Long", strategy.long, comment="Long")

if crossunder(X3,X4)
    strategy.entry("Short", strategy.short, comment="Short")


Lebih lanjut