Sumber daya yang dimuat... Pemuatan...

Strategi perdagangan kuantitatif berdasarkan Modified Hull Moving Average dan Ichimoku Kinko Hyo

Penulis:ChaoZhang, Tanggal: 2024-04-28 13:39:00
Tag:HMAIKHSWMA

img

Gambaran umum

Strategi ini menggabungkan dua indikator teknis: Hull Moving Average (HMA) yang dimodifikasi dan Ichimoku Kinko Hyo (IKHS), yang bertujuan untuk menangkap tren pasar jangka menengah hingga panjang.

Prinsip Strategi

  1. Menghitung Hull Moving Average (HMA) yang dimodifikasi
    • Menghitung rata-rata bergerak tertimbang (WMA) dan menerapkan perataan ganda untuk mendapatkan HMA yang dimodifikasi
  2. Menghitung berbagai indikator Ichimoku Kinko Hyo
    • Hitung Tenkan Sen (garis konversi), Kijun Sen (garis dasar), Senkou Span A (span utama A), dan Senkou Span B (span utama B)
  3. Menghasilkan sinyal perdagangan
    • Ketika HMA melintasi di atas Kijun Sen dan harga penutupan di atas Kumo, menghasilkan sinyal panjang
    • Ketika HMA melintasi di bawah Kijun Sen dan harga penutupan di bawah Kumo, menghasilkan sinyal pendek
  4. Mengeksekusi perdagangan
    • Melakukan operasi perdagangan yang sesuai berdasarkan sinyal panjang atau pendek
  5. Perdagangan keluar
    • Ketika HMA melintasi Kijun Sen ke arah yang berlawanan, keluar dari posisi saat ini

Keuntungan Strategi

  1. Mengkombinasikan dua indikator tren yang efektif, HMA dan IKHS untuk menangkap tren pasar dengan lebih baik
  2. Menggunakan Kumo dari IKHS sebagai kondisi penyaringan untuk secara efektif mengurangi sinyal palsu dan meningkatkan tingkat kemenangan perdagangan
  3. HMA yang dimodifikasi memiliki kecepatan respons yang lebih cepat dan keterlambatan yang lebih rendah dibandingkan dengan rata-rata bergerak tradisional, memungkinkan refleksi tepat waktu dari perubahan pasar
  4. Logika strategi jelas, mudah dimengerti, dan diterapkan, cocok untuk berbagai pasar dan kerangka waktu

Risiko Strategi

  1. Selama fluktuasi pasar atau tren yang tidak jelas, strategi dapat menghasilkan lebih banyak sinyal palsu, yang mengarah pada perdagangan yang sering dan kerugian modal
  2. Pengaturan parameter strategi memiliki dampak yang signifikan pada hasil perdagangan dan kombinasi parameter yang berbeda dapat menyebabkan kinerja yang berbeda
  3. Strategi ini tidak mempertimbangkan keadaan darurat pasar dan perilaku irasional dan mungkin menghadapi risiko yang lebih besar dalam kondisi pasar yang ekstrem

Arah Optimasi Strategi

  1. Memperkenalkan indikator teknis atau indikator sentimen pasar lainnya untuk meningkatkan keandalan dan stabilitas sinyal
  2. Mengoptimalkan parameter strategi, seperti menggunakan pembelajaran mesin atau algoritma genetik untuk menemukan kombinasi parameter yang optimal
  3. Pertimbangkan untuk menambahkan modul manajemen risiko, seperti menetapkan tingkat stop-loss dan take-profit, ukuran posisi, dll. untuk mengontrol eksposur risiko strategi
  4. Berdasarkan karakteristik pasar yang berbeda dan kerangka waktu, membuat penyesuaian dan optimalisasi yang ditargetkan untuk strategi

Ringkasan

Dengan menggabungkan Hull Moving Average yang dimodifikasi dan Ichimoku Kinko Hyo, strategi ini membangun sistem perdagangan yang mengikuti tren yang relatif stabil. Logika strategi jelas dan mudah diterapkan, sementara juga memiliki keuntungan tertentu. Namun, kinerja strategi masih dipengaruhi oleh kondisi pasar dan pengaturan parameter, yang membutuhkan optimasi dan perbaikan lebih lanjut. Dalam aplikasi praktis, perlu melakukan penyesuaian dan manajemen yang sesuai berdasarkan karakteristik pasar tertentu dan preferensi risiko untuk mendapatkan hasil perdagangan yang lebih baik.


/*backtest
start: 2024-04-20 00:00:00
end: 2024-04-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Hull MA_X + Ichimoku Kinko Hyo Strategy", shorttitle="HMX+IKHS", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0)

// Hull Moving Average Parameters
keh = input(12, title="Double HullMA")
n2ma = 2 * wma(close, round(keh/2)) - wma(close, keh)
sqn = round(sqrt(keh))
hullMA = wma(n2ma, sqn)

// Ichimoku Kinko Hyo Parameters
tenkanSenPeriods = input(9, title="Tenkan Sen Periods")
kijunSenPeriods = input(26, title="Kijun Sen Periods")
senkouSpanBPeriods = input(52, title="Senkou Span B Periods")
displacement = input(26, title="Displacement")

// Ichimoku Calculations
highestHigh = highest(high, max(tenkanSenPeriods, kijunSenPeriods))
lowestLow = lowest(low, max(tenkanSenPeriods, kijunSenPeriods))
tenkanSen = (highest(high, tenkanSenPeriods) + lowest(low, tenkanSenPeriods)) / 2
kijunSen = (highestHigh + lowestLow) / 2
senkouSpanA = ((tenkanSen + kijunSen) / 2)
senkouSpanB = (highest(high, senkouSpanBPeriods) + lowest(low, senkouSpanBPeriods)) / 2

// Plot Ichimoku
p1 = plot(tenkanSen, color=color.blue, title="Tenkan Sen")
p2 = plot(kijunSen, color=color.red, title="Kijun Sen")
p3 = plot(senkouSpanA, color=color.green, title="Senkou Span A", offset=displacement)
p4 = plot(senkouSpanB, color=color.orange, title="Senkou Span B", offset=displacement)
fill(p3, p4, color=color.gray, title="Kumo Shadow")

// Trading Logic
longCondition = crossover(hullMA, kijunSen) and close > senkouSpanA[displacement] and close > senkouSpanB[displacement]
shortCondition = crossunder(hullMA, kijunSen) and close < senkouSpanA[displacement] and close < senkouSpanB[displacement]

// Strategy Execution
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Exit Logic - Exit if HullMA crosses KijunSen in the opposite direction
exitLongCondition = crossunder(hullMA, kijunSen)
exitShortCondition = crossover(hullMA, kijunSen)

if (exitLongCondition)
    strategy.close("Long")
if (exitShortCondition)
    strategy.close("Short")


Berkaitan

Lebih banyak