Strategi ini dinamakan strategi perdagangan kuantitatif dengan penembusan masuk dan keluar dari purata bergerak bergerak. Gagasan utama strategi ini adalah untuk melakukan perdagangan panjang pada hari pertama setiap minggu jika harga penutupan berada di bawah purata bergerak Hull yang berkisar 115 siklus; kemudian pada hari ketiga setiap minggu selepas itu, tidak ada syarat untuk melakukan perdagangan keluar dari posisi kosong, sambil menetapkan titik berhenti tetap.
Strategi ini direka berdasarkan isyarat penunjuk Hull Moving Average dan peraturan perdagangan berkala.
Pertama, pada waktu perdagangan setiap hari Isnin, menilai sama ada harga penutupan berada di bawah purata bergerak Hull 115 kitaran, jika syarat-syarat dipenuhi, melakukan operasi masuk posisi panjang. Purata bergerak Hull dapat bertindak balas lebih cepat terhadap perubahan harga berbanding purata bergerak biasa, lebih sensitif terhadap pengenalan trend, oleh itu isyarat indikator dapat meningkatkan ketepatan waktu masuk.
Kedua, tanpa syarat melakukan perdagangan pada hari Rabu setiap hari. Dengan cara operasi berkala ini, kemungkinan penarikan diri dapat dielakkan dan kemungkinan penarikan diri dapat dikurangkan. Pada masa yang sama, titik penangguhan dan kerugian dengan peratusan tetap ditetapkan untuk mengawal risiko dan keuntungan setiap perdagangan.
Akhirnya, kerana jangka masa yang lebih pendek untuk setiap perdagangan, frekuensi dagangan yang lebih tinggi dapat menyesuaikan kedudukan hingga tahap tertentu, mengurangkan risiko perdagangan tunggal.
Strategi ini mempunyai beberapa kelebihan:
Menggunakan purata bergerak Hull sebagai penunjuk isyarat masuk, anda boleh meningkatkan ketepatan pilihan masa masuk, menangkap peluang trend.
Menggunakan kaedah keluar secara berkala dapat mengelakkan risiko tindakan tidak rasional dan mengurangkan kemungkinan penarikan balik.
Dengan menetapkan titik berhenti dan kerugian yang tetap, anda dapat mengawal risiko dan ganjaran perdagangan tunggal dengan baik.
Frekuensi dagangan yang lebih tinggi membantu menyesuaikan kedudukan dan mengurangkan risiko dagangan tunggal.
Peraturan strategi mudah difahami, mudah difahami dan diimplementasikan, sesuai untuk algoritma perdagangan kuantitatif.
Strategi ini juga mempunyai beberapa risiko, terutamanya:
Pasaran mungkin mempunyai jangka masa yang panjang, yang menyebabkan kemungkinan besar untuk masuk ke dalam penjara.
Tetapan titik hentian hentian yang tetap tidak cukup fleksibel, dan mungkin berlaku hentian terlalu awal atau hentian terlalu lewat.
Jika berlaku peristiwa besar dan mendadak, cara keluar secara berkala mungkin membawa kerugian yang lebih besar.
Kesan bursa yang kerap meningkatkan kos transaksi dan titik slippage.
Tetapan parameter (seperti panjang kitaran pengiraan dan lain-lain) yang tidak betul boleh mempengaruhi prestasi strategi.
Untuk mengurangkan risiko tersebut, langkah-langkah pengoptimuman berikut boleh dipertimbangkan:
Berfikir sebelum memasuki pasaran, dan mengelakkan masuk semasa menyusun semula.
Tetapkan hentian hentian bergeser secara dinamik atau pertimbangkan untuk menetapkan beberapa titik hentian hentian tetap terlebih dahulu.
Berhenti berdagang sebelum dan selepas peristiwa besar untuk mengelakkan pergerakan yang kuat.
Mengurangkan frekuensi transaksi dengan sewajarnya, mengurangkan kos transaksi dan kesan slippage.
Pengaturan parameter yang dioptimumkan, ujian kestabilan, menjadikan strategi lebih stabil.
Strategi ini masih mempunyai ruang untuk pengoptimuman yang lebih lanjut, terutamanya dalam aspek berikut:
Menggunakan kaedah pembelajaran mesin dan lain-lain untuk mengoptimumkan parameter rata-rata bergerak secara dinamik, menjadikan isyarat penunjuk lebih tepat.
Cubalah menggabungkan beberapa indikator untuk merancang peraturan masuk dan keluar yang lebih kompleks.
Mekanisme Stop Loss yang direka untuk menyesuaikan diri mengikut tempoh masa dan keadaan pasaran yang berbeza.
Mengintegrasikan model pengurusan risiko untuk pengurusan wang yang lebih baik.
Reka bentuk modul pemulihan titik putus supaya strategi dapat menyelesaikan peristiwa penting seperti pemisahan saham.
Tambah modul pengesahan cakera untuk menguji prestasi strategi dalam cakera.
Strategi ini dapat memperoleh kestabilan dan keuntungan yang lebih kuat melalui penggabungan dan pengoptimuman pembelajaran mesin, gabungan penunjuk, penangguhan dan pengurusan risiko yang beradaptasi. Selain itu, penyertaan mekanisme pengesahan di lapangan adalah cara penting untuk memperbaiki strategi. Ini adalah arah utama strategi ini dapat dioptimumkan pada masa akan datang.
Strategi ini direka berdasarkan Hull Moving Average Signal Input dan Fixed Cycle Output, mempunyai kelebihan seperti ketepatan isyarat indikator, kebarangkalian penarikan balik yang rendah, dan mengawal stop loss satu-per-satu. Tetapi strategi ini juga mempunyai masalah seperti penempatan dan penempatan stop loss yang tidak masuk akal. Arah pengoptimuman masa depan termasuk memperkenalkan pembelajaran mesin dan gabungan pelbagai indikator yang lebih kompleks, merancang mekanisme stop loss yang sesuai, menambah modul pengesahan hak bertolak ansur dan pengujian saham secara langsung.
/*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")