
Strategi ini adalah sistem perdagangan kuantitatif yang menggabungkan pelbagai indikator, yang menggunakan pengesahan jumlah transaksi dan sinergi indikator momentum untuk menangkap peluang penembusan pasaran. Strategi ini menggabungkan indikator pengesahan jumlah transaksi (OBV), jumlah transaksi bersih (Net Volume), indikator yang agak kuat (RSI) dan indikator aliran wang (MFI), dengan pengesahan trend indeks moving average (EMA), dan mengoptimumkan titik keluar dengan mekanisme pengesanan kerugian dinamik, yang menyeimbangkan keuntungan dan kawalan risiko.
Menurut data retrospeksi, strategi ini mencapai 83.20% kemenangan dalam tempoh 15 minit dalam tempoh 12 bulan yang lalu, dengan purata keuntungan setiap perdagangan sebanyak 746.18 USDT, dan perdagangan tunggal terbaik sebanyak 65,654 USDT, dengan jumlah 381 transaksi yang diselesaikan. Data ini menunjukkan bahawa strategi ini mempunyai kestabilan dan potensi keuntungan yang cukup dalam persekitaran perdagangan frekuensi tinggi.
Logik teras strategi ini adalah berdasarkan mekanisme pengesahan bersama pelbagai petunjuk, dan ia berfungsi seperti berikut:
Syarat kemasukanSistem ini menangkap peluang berganda dan mencetuskan isyarat beli apabila semua syarat berikut dipenuhi:
Mekanisme keluarSistem Tracking dan Pencegahan Kerosakan Dinamik dengan Pelindungan Tiga:
Kumpulan penunjuk teknikal:
Mekanisme pengesahan bertingkat ini memastikan kualiti isyarat masuk, manakala tracking stop loss secara dinamik mengunci keuntungan dan mengawal risiko.
Dari analisis yang mendalam mengenai struktur kod dan logik strategi ini, kelebihan yang ketara dapat diringkaskan:
Pengesahan isyarat multidimensiGabungan tiga dimensi harga, jumlah urus niaga dan momentum mengurangkan kemungkinan isyarat palsu. Kebolehpercayaan isyarat masuk meningkat dengan ketara apabila syarat OBV, jumlah urus niaga bersih, RSI dan MFI dipenuhi secara serentak.
Tindakan harga yang disokong oleh kuantiti: Dengan pengesahan berganda OBV dan jumlah urus niaga bersih, pastikan perubahan harga disokong oleh jumlah urus niaga yang mencukupi, dan mengelakkan perangkap “terjun tanpa jumlah”.
Dinamika kemerosotan kecerdasanStrategi ini tidak menggunakan hentian tetap, tetapi secara automatik menyesuaikan kedudukan hentian mengikut tingkah laku harga, kaedah ini dapat memberikan ruang yang cukup untuk turun naik pada harga sambil melindungi dana.
Kawalan bertingkat risikoMenerusi mekanisme tiga hala seperti mencetuskan jumlah yang dipindahkan, mengesan jumlah yang dipindahkan dan kerugian maksimum, risiko dapat dikendalikan dengan lebih teliti untuk mengelakkan kerugian besar yang disebabkan oleh kegagalan mekanisme perlindungan tunggal.
Kebolehan berdagang frekuensi tinggiOptimum untuk jangka masa 15 minit, dapat menangkap turun naik dalam sehari, dan memanfaatkan pergerakan sentimen pasaran jangka pendek untuk mencipta peluang perdagangan berganda.
Prestasi kemenangan yang stabil83.20% menunjukkan bahawa strategi ini mempunyai kualiti isyarat yang konsisten, yang penting untuk keberlanjutan jangka panjang strategi perdagangan kuantitatif.
Walaupun strategi ini berfungsi dengan baik, dengan analisis kod kami dapat mengenal pasti risiko yang berpotensi seperti:
Kepercayaan yang tidak menentuStrategi bergantung pada pergerakan pasaran yang mencukupi untuk mencetuskan mekanisme tracking stop loss. Dalam persekitaran yang tidak menentu, ia boleh menyebabkan pemegangan jangka panjang dan tidak dapat mengunci keuntungan dengan berkesan. Penyelesaian: Anda boleh menambah mekanisme penangguhan berdasarkan masa, atau menyesuaikan parameter bias pemicu semasa gelombang rendah.
Kerugian purata yang lebih besarData retrospeksi menunjukkan bahawa purata kerugian ((-30,713 USDT) jauh lebih besar daripada purata keuntungan ((7,097 USDT), walaupun peluang kemenangan yang tinggi, beberapa kerugian besar mungkin menjejaskan prestasi keseluruhan. *Penyelesaian*Anda boleh mempertimbangkan untuk menetapkan kawalan kerugian maksimum yang lebih ketat, atau menambah lebih banyak syarat penapisan permainan.
Faktor keuntungan rendahFactor keuntungan: 0.231 menunjukkan bahawa terdapat ruang untuk pengoptimuman berbanding dengan risiko. *Penyelesaian*Pengujian semula strategi hentian kerugian mungkin memerlukan pengurangan kadar kerugian maksimum atau peningkatan beberapa mekanisme kunci keuntungan.
Keutamaan satu arahStrategi ini bertujuan untuk mengoptimumkan pelbagai peluang yang mungkin kurang baik dalam pasaran yang terus menurun. *Penyelesaian*Pertimbangkan syarat-syarat penyingkiran yang telah ditentukan dalam kod pengaktifan tetapi tidak digunakan, atau tambahkan penapis trend pasaran keseluruhan.
Kepekaan ParameterTiga parameter utama untuk menjejaki hentian kerugian: (Trigger offset, Tracking offset, dan Kerugian maksimum) mempunyai kesan yang ketara terhadap prestasi strategi. Tetapan parameter yang tidak betul boleh menyebabkan keluar terlalu awal atau kerugian yang berlebihan. Penyelesaian: menjalankan analisis sensitiviti parameter, menentukan julat parameter terbaik, dan mempertimbangkan untuk menyesuaikan parameter ini berdasarkan dinamik turun naik pasaran.
Berdasarkan analisis mendalam mengenai kod strategi, berikut adalah beberapa arah pengoptimuman yang mungkin:
Penyesuaian parameter: Strategi yang menggunakan parameter henti rugi yang dijejaki yang tetap boleh dipertimbangkan untuk menyesuaikan secara dinamik untuk mencetuskan dan mengesan bias mengikut turun naik pasaran (seperti penunjuk ATR). Meningkatkan bias di pasaran yang bergelombang tinggi dan mengurangkan bias di pasaran yang bergelombang rendah, menjadikan strategi lebih sesuai dengan keadaan pasaran yang berbeza.
Penapisan intensiti trend meningkat: Menambahkan penilaian kekuatan trend ke dalam syarat kemasukan, seperti menambah ADX (Indeks Arah Rata-rata), dan masuk hanya apabila trend cukup kuat, untuk mengelakkan perdagangan berlebihan dalam pasaran yang disusun. Ini dapat mengurangkan isyarat pecah palsu.
Mekanisme kemasukan dan keluar: Ubah kod untuk mewujudkan pembinaan dan penghapusan kumpulan, seperti membahagikan dana menjadi 3 bahagian, masuk 1⁄3 apabila syarat asas dipenuhi, menambah stok apabila syarat lebih kuat, dan keluar 3 kali. Ini dapat mengoptimumkan harga memegang rata-rata dan mengurangkan tekanan pemilihan masa.
Analisis persekitaran pasaran yang bersepadu: Menambah penilaian keadaan pasaran pada jangka masa yang lebih tinggi, seperti menilai arah trend pada carta 1 jam atau 4 jam, melaksanakan isyarat 15 minit hanya dengan sokongan trend yang lebih besar, meningkatkan kualiti isyarat.
Mengoptimumkan faktor keuntungan: Menambah beberapa mekanisme penguncian keuntungan, seperti apabila keuntungan mencapai peratusan tertentu, meratakan sebahagian daripada kedudukan untuk mengunci keuntungan, dan selebihnya terus menggunakan tracking stop loss. Ini dapat mengimbangi ketidakseimbangan antara kadar kemenangan yang tinggi dan memperbaiki kadar keuntungan dan kerugian purata.
Menambah strategi shorting: Syarat-syarat shorting yang telah ditentukan dalam kod pengaktifan dan pengoptimuman khusus untuk strategi shorting yang membolehkan strategi ini mengekalkan prestasi yang stabil dalam keadaan pasaran yang berbeza.
Penapis masa: Penambahan syarat penapisan masa untuk mengelakkan masa-masa yang diketahui sebagai turun naik atau turun naik, seperti sebelum dan selepas data ekonomi utama, untuk mengurangkan risiko yang disebabkan oleh keadaan yang tidak normal.
Strategi penembusan kuantiti dinamik pelbagai indikator ini menggabungkan analisis kuantiti transaksi, indikator dinamik dan pengesahan trend dengan bijak untuk membina sistem perdagangan yang logik. Kelebihan utamanya adalah menggunakan pengesahan isyarat pelbagai dimensi untuk meningkatkan kualiti masuk, sambil mewujudkan pengurusan dinamik risiko melalui mekanisme penangguhan yang disesuaikan.
Walaupun 83.20 peratus kemenangan yang tinggi adalah mengagumkan, tetapi rata-rata kerugian lebih besar daripada keuntungan rata-rata menunjukkan bahawa strategi masih mempunyai ruang untuk penambahbaikan dalam mengawal risiko. Dengan melaksanakan langkah-langkah pengoptimuman yang disyorkan, terutamanya penyesuaian parameter dinamik, operasi bergilir-gilir dan penguncian sebahagian keuntungan, strategi ini dijangka dapat meningkatkan kadar risiko-kebalasan keseluruhan dengan ketara, sambil mengekalkan kadar kemenangan yang tinggi.
Bagi peniaga kuantitatif yang berpengalaman, strategi ini memberikan kerangka yang kukuh untuk penyesuaian yang disesuaikan mengikut keutamaan risiko peribadi dan prinsip pengurusan wang. Yang paling penting, peniaga harus memahami prinsip logik di sebalik strategi ini dan tidak hanya menumpukan perhatian pada prestasi yang telah diukur di masa lalu, kerana persekitaran pasaran sentiasa berubah, strategi yang berjaya memerlukan kesesuaian dan ketahanan.
/*backtest
start: 2025-06-07 00:00:00
end: 2025-07-04 08:00:00
period: 2m
basePeriod: 2m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("BullFinder_15M_OBV_RSI_MFI", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === Göstergeler ===
// OBV
obv = ta.cum(math.sign(ta.change(close)) * volume)
obvMA = ta.sma(obv, 21)
// Net Volume
netVol = request.security(syminfo.tickerid, "1", volume - volume[1])
// RSI & MFI
rsi = ta.rsi(close, 14)
mfi = ta.mfi(hlc3, 14)
ema21 = ta.ema(close, 21)
// === Trailing Stop Parametreleri ===
trigger_offset = input.float(0.35, "Trigger Offset (%)") / 100
trail_offset = input.float(0.3, "Trail Offset (%)") / 100
max_loss = input.float(3.0, "Max Loss (%)") / 100
// === Durum Değişkenleri ===
var float highestPrice = na
var bool trailActive = false
// === GİRİŞ KOŞULLARI ===
// Long (Aynı kaldı)
longCond = obv > obvMA and netVol > 0 and rsi > 45 and mfi < 50
// Short (Genişletildi - v2.9)
shortCond1 = rsi > 70 and obv < obv[1] and netVol < 0 and close < close[1] // Reversal
shortCond2 = rsi > 65 and mfi > 80 and close < ema21 // Weak Pullback
shortCond = shortCond1 or shortCond2
// === Giriş Emirleri ===
if longCond
strategy.entry("Long", strategy.long)
highestPrice := close
trailActive := false
if shortCond
// strategy.entry("Short", strategy.short)
highestPrice := close
trailActive := false
// === Long Trailing Stop ===
if strategy.position_size > 0
highestPrice := math.max(highestPrice, high)
triggerPrice = strategy.opentrades.entry_price(0) * (1 + trigger_offset)
lossLevel = strategy.opentrades.entry_price(0) * (1 - max_loss)
trailLevel = highestPrice * (1 - trail_offset)
if not trailActive and close > triggerPrice
trailActive := true
if (trailActive and close < trailLevel) or close < lossLevel
strategy.close("Long")
// === Short Trailing Stop ===
if strategy.position_size < 0
highestPrice := math.min(highestPrice, low)
triggerPrice = strategy.opentrades.entry_price(0) * (1 - trigger_offset)
lossLevel = strategy.opentrades.entry_price(0) * (1 + max_loss)
trailLevel = highestPrice * (1 + trail_offset)
if not trailActive and close < triggerPrice
trailActive := true
if (trailActive and close > trailLevel) or close > lossLevel
strategy.close("Short")
// === ALERT ŞARTLARI ===
alertcondition(longCond, title="BullFinder Long Signal", message="BullFinder: Long Entry on {{ticker}} at {{close}}")