Sumber dimuat naik... memuat...

Strategi Dagangan Kuantitatif Berdasarkan Purata Bergerak Hull yang Dimodifikasi dan Ichimoku Kinko Hyo

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

img

Ringkasan

Strategi ini menggabungkan dua penunjuk teknikal: Hull Moving Average (HMA) yang diubah suai dan Ichimoku Kinko Hyo (IKHS), yang bertujuan untuk menangkap trend pasaran jangka menengah hingga panjang.

Prinsip Strategi

  1. Mengira purata bergerak Hull yang diubah suai (HMA)
    • Mengira Purata Bergerak Bertimbang (WMA) dan menggunakan penghalusan berganda untuk mendapatkan HMA yang diubah suai
  2. Mengira pelbagai penunjuk Ichimoku Kinko Hyo
    • Mengira Tenkan Sen (garis penukaran), Kijun Sen (garis asas), Senkou Span A (span utama A), dan Senkou Span B (span utama B)
  3. Menghasilkan isyarat perdagangan
    • Apabila HMA melintasi di atas Kijun Sen dan harga penutupan di atas Kumo, menghasilkan isyarat panjang
    • Apabila HMA melintasi di bawah Kijun Sen dan harga penutupan di bawah Kumo, menghasilkan isyarat pendek
  4. Melakukan perdagangan
    • Melakukan operasi dagangan yang sepadan berdasarkan isyarat panjang atau pendek
  5. Perdagangan keluar
    • Apabila HMA menyeberangi Kijun Sen ke arah yang bertentangan, keluar dari kedudukan semasa

Kelebihan Strategi

  1. Menggabungkan dua penunjuk trend yang berkesan, HMA dan IKHS untuk menangkap lebih baik trend pasaran
  2. Menggunakan Kumo IKHS sebagai keadaan penapisan untuk mengurangkan isyarat palsu dengan berkesan dan meningkatkan kadar kemenangan perdagangan
  3. HMA yang diubahsuai mempunyai kelajuan tindak balas yang lebih cepat dan kelewatan yang lebih rendah berbanding dengan purata bergerak tradisional, yang membolehkan pantulan perubahan pasaran tepat pada masanya
  4. Logik strategi adalah jelas, mudah difahami, dan dilaksanakan, sesuai untuk pelbagai pasaran dan jangka masa

Risiko Strategi

  1. Semasa turun naik pasaran atau trend yang tidak jelas, strategi boleh menghasilkan lebih banyak isyarat palsu, yang membawa kepada perdagangan yang kerap dan kerugian modal
  2. Tetapan parameter strategi mempunyai kesan yang ketara terhadap hasil perdagangan dan kombinasi parameter yang berbeza boleh membawa kepada prestasi yang berbeza
  3. Strategi ini tidak mengambil kira kecemasan pasaran dan tingkah laku yang tidak rasional dan mungkin menghadapi risiko yang lebih besar dalam keadaan pasaran yang melampau

Arahan Pengoptimuman Strategi

  1. Memperkenalkan penunjuk teknikal atau sentimen pasaran lain untuk meningkatkan kebolehpercayaan dan kestabilan isyarat
  2. Mengoptimumkan parameter strategi, seperti menggunakan pembelajaran mesin atau algoritma genetik untuk mencari kombinasi parameter yang optimum
  3. Pertimbangkan untuk menambah modul pengurusan risiko, seperti menetapkan tahap stop-loss dan mengambil keuntungan, saiz kedudukan, dan lain-lain untuk mengawal pendedahan risiko strategi
  4. Berdasarkan ciri-ciri pasaran yang berbeza dan jangka masa, membuat penyesuaian dan pengoptimuman yang disasarkan kepada strategi

Ringkasan

Dengan menggabungkan Hull Moving Average yang diubahsuai dan Ichimoku Kinko Hyo, strategi ini membina sistem dagangan trend yang agak stabil. Logik strategi jelas dan mudah dilaksanakan, sementara juga mempunyai kelebihan tertentu. Walau bagaimanapun, prestasi strategi masih dipengaruhi oleh keadaan pasaran dan tetapan parameter, yang memerlukan pengoptimuman dan penambahbaikan lanjut. Dalam aplikasi praktikal, perlu membuat penyesuaian dan pengurusan yang sesuai berdasarkan ciri pasaran tertentu dan keutamaan risiko untuk mendapatkan hasil dagangan 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 lanjut