Strategi Perdagangan Kuantitatif Berdasarkan Dynamic Moving Average Breakthrough Entry

Penulis:ChaoZhang, Tanggal: 2024-02-18 09:53:48
Tag:

img

Gambaran umum

Nama strategi ini adalah The Quantitative Trading Strategy Based on Dynamic Moving Average Breakthrough Entry and Fixed Profit-taking/Stop-loss Exit. Ide utama dari strategi ini adalah untuk membuka posisi panjang ketika harga penutupan berada di bawah Hull Dynamic Moving Average 115 periode setiap hari Senin, dan menutup posisi tanpa syarat setiap hari Rabu setelahnya, dengan rasio target keuntungan dan stop-loss tetap ditetapkan secara bersamaan.

Prinsip-prinsip

Strategi ini terutama dirancang berdasarkan sinyal indikator Hull Moving Average dan aturan perdagangan berkala.

Pertama, selama sesi perdagangan setiap hari Senin, posisi panjang akan dibuka jika harga penutupan di bawah Hull Moving Average 115 periode. Dibandingkan dengan rata-rata bergerak biasa, Hull Moving Average merespons lebih cepat terhadap perubahan harga dan mengidentifikasi tren dengan lebih sensitif. Oleh karena itu, sinyal indikator dapat meningkatkan akurasi masuk pasar.

Kedua, posisi akan ditutup tanpa syarat selama sesi perdagangan setiap hari Rabu. Pendekatan operasi periodik ini dapat menghindari dampak dari peristiwa kontingen dan mengurangi kemungkinan penarikan. Sementara itu, rasio stop-loss dan target keuntungan tetap ditetapkan untuk mengontrol risiko dan imbalan dari setiap perdagangan.

Akhirnya, karena setiap periode perdagangan yang relatif singkat dengan frekuensi perdagangan yang lebih tinggi, dapat menyesuaikan posisi sampai batas tertentu dan mengurangi risiko perdagangan tunggal.

Analisis Keuntungan

Strategi ini memiliki keuntungan berikut:

  1. Menggunakan Hull Moving Average sebagai indikator sinyal masuk meningkatkan akurasi penetrasi pasar waktu dan menangkap peluang tren.

  2. Metode keluar berkala dapat menghindari risiko dari perilaku irasional dan mengurangi probabilitas penarikan.

  3. Tujuan keuntungan tetap dan titik stop-loss dapat mengontrol rasio risiko-manfaat dari setiap perdagangan secara efektif.

  4. Frekuensi perdagangan yang tinggi bermanfaat untuk menyesuaikan posisi dan mengurangi risiko perdagangan tunggal.

  5. Aturan perdagangan sederhana dan mudah dimengerti dan diterapkan, yang cocok untuk perdagangan kuantitatif algoritmik.

Analisis Risiko

Strategi ini juga memiliki beberapa risiko:

  1. Konsolidasi yang berkepanjangan di pasar dapat menyebabkan kemungkinan terjebak lebih tinggi setelah masuk.

  2. Target laba tetap dan titik stop-loss tidak fleksibel dan dapat keluar posisi terlalu awal atau terlalu terlambat.

  3. Penarikan berkala dapat menyebabkan kerugian besar jika terjadi peristiwa yang tak terduga.

  4. Perdagangan yang sering meningkatkan biaya dan pengaruh slip.

  5. Pengaturan parameter yang tidak benar (seperti nomor periode) dapat mempengaruhi kinerja strategi.

Beberapa langkah optimalisasi dapat dipertimbangkan untuk mengurangi risiko di atas:

  1. Pertimbangkan kondisi pasar sebelum masuk untuk menghindari memasuki fase konsolidasi.

  2. Menetapkan rasio dinamis atau beberapa tetap untuk mengambil keuntungan dan stop-loss.

  3. Hentikan perdagangan di sekitar peristiwa penting untuk menghindari volatilitas ekstrem.

  4. Mengurangi frekuensi perdagangan dengan tepat untuk mengurangi biaya dan slippage.

  5. Mengoptimalkan pengaturan parameter dan melakukan tes ketahanan untuk membuat strategi lebih stabil.

Arahan Optimasi

Strategi ini dapat dioptimalkan lebih lanjut dalam aspek berikut:

  1. Gunakan model pembelajaran mesin untuk mengoptimalkan parameter rata-rata bergerak secara dinamis untuk sinyal yang lebih akurat.

  2. Cobalah menggabungkan beberapa indikator untuk merancang aturan masuk dan keluar yang lebih kompleks.

  3. Merancang mekanisme profit-taking dan stop-loss yang adaptif sesuai dengan periode dan lingkungan pasar yang berbeda.

  4. Mengintegrasikan model manajemen risiko untuk manajemen modal yang lebih baik.

  5. Desain hak modul penyesuaian untuk menangani peristiwa seperti saham split dengan lancar.

  6. Tambahkan modul verifikasi perdagangan nyata untuk menguji kinerja strategi di pasar langsung.

Dengan menggabungkan secara organik pembelajaran mesin, portofolio indikator, pengambilan keuntungan / stop-loss adaptif, manajemen risiko dan metode lainnya, strategi ini dapat mencapai stabilitas dan profitabilitas yang lebih kuat. Sementara itu, menambahkan mekanisme verifikasi perdagangan nyata juga penting untuk menyempurnakan strategi lebih lanjut. Ini adalah arah optimasi utama untuk strategi ini.

Kesimpulan

Strategi ini dirancang berdasarkan ide-ide masuk sinyal indikator Hull Dynamic Moving Average dan keluar siklus tetap. Ini memiliki keuntungan seperti sinyal yang akurat dan probabilitas penarikan yang rendah, sementara mengendalikan pengambilan keuntungan dan stop loss perdagangan tunggal. Tetapi masalah seperti terjebak dan pengaturan pengambilan keuntungan / stop loss yang tidak tepat juga ada. Arah optimasi masa depan termasuk memperkenalkan pembelajaran mesin dan kombinasi multi-indikator yang lebih kompleks untuk masuk, merancang mekanisme pengambilan keuntungan / stop loss yang adaptif, menambahkan penyesuaian hak dan modul verifikasi perdagangan nyata, dll. Dengan mengadopsi langkah-langkah ini secara komprehensif, stabilitas dan profitabilitas strategi ini akan ditingkatkan.


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

// This Pine Scriptâ„¢ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © gnatskiller

//@version=5
strategy("Strategia HMA + LUN/MER", overlay=true)

// Inputs: stoploss %, takeProfit %
stopLossPercentage = input.float(defval=0.8, title='StopLoss %', minval=0.1, step=0.2) / 100
takeProfit = input.float(defval=1.5, title='Take Profit %', minval=0.3, step=0.2) / 100

// Calculate HMA 115
hma115 = ta.hma(close, 115)

// Exit and Entry Conditions - Check current day, session time, and price below HMA 115
isLong = dayofweek == dayofweek.monday  and not na(time(timeframe.period, "1000-1101")) and close < hma115
isExit = dayofweek == dayofweek.wednesday and not na(time(timeframe.period, "1000-1101"))

// Calculate Stoploss and Take Profit values
SL = strategy.position_avg_price * (1 - stopLossPercentage)
TP = strategy.position_avg_price * (1 + takeProfit)

// Strategy Enter, and exit when conditions are met
if isLong
    strategy.entry("Enter Long", strategy.long)
if strategy.position_size > 0 
    if isExit
        strategy.close("Enter Long", comment="Exit")
        strategy.exit("Exit", "Exit", stop=SL, limit=TP)

// Plot Stoploss and TakeProfit lines
plot(strategy.position_size > 0 ? SL : na, style=plot.style_linebr, color=color.red, linewidth=2, title="StopLoss")
plot(strategy.position_size > 0 ? TP : na, style=plot.style_linebr, color=color.green, linewidth=2, title="TakeProfit")

// Plot HMA 115
plot(hma115, color=color.blue, title="HMA 115")


Lebih banyak