
Strategi ini dengan bijak menggabungkan purata bergerak bertimbangan kuantiti transaksi (VWMA) dengan indikator yang agak kuat yang dipertingkatkan dengan pembelajaran mesin (ML RSI), untuk mewujudkan sistem perdagangan yang berkemungkinan tinggi. Sistem ini menggunakan hubungan harga dengan kuantiti transaksi dan petunjuk teknikal yang dioptimumkan dengan pembelajaran mesin untuk mengeluarkan perdagangan yang lebih tepat apabila trend pasaran jelas. Logik teras strategi isyarat isyarat termasuk: isyarat beli dihasilkan apabila harga ditutup lebih tinggi daripada VWMA dan nilai ML RSI lebih tinggi daripada 60; isyarat jual apabila harga ditutup lebih rendah daripada VWMA dan nilai ML RSI lebih rendah daripada 40.
Prinsip utama strategi ini adalah berdasarkan kepada kerjasama antara dua petunjuk teknikal utama:
Purata Bergerak Berpadan dengan Jumlah Pengeluaran (VWMA)Berbeza dengan rata-rata bergerak tradisional, VWMA mengambil kira faktor jumlah transaksi dan memberikan berat yang lebih besar kepada harga pada masa jumlah transaksi yang tinggi, sehingga lebih tepat mencerminkan trend pasaran. Dalam strategi ini, VWMA berfungsi sebagai alat pengesahan trend yang penting, yang menunjukkan kecenderungan kenaikan harga apabila harga berada di atas VWMA, sebaliknya adalah kecenderungan penurunan.
Pembelajaran Mesin RSI (ML RSI)Dengan menggabungkan RSI tradisional dengan teknologi pelusutan lanjutan (seperti ALMA, EMA, dan lain-lain), ia mengurangkan kebisingan RSI biasa dan meningkatkan tindak balas terhadap pergerakan harga. Penunjuk ini membantu menyaring isyarat lemah dan memperbaiki pengesahan trend. Secara khusus, strategi ini membolehkan pilihan pelbagai jenis purata bergerak untuk melusutkan RSI, termasuk SMA, EMA, DEMA, TEMA, WMA, VWMA, SMMA, HMA, LSMA dan ALMA.
Rekaan logik merancang mekanisme pengesahan yang ditangguhkan: jika hanya satu syarat dipenuhi ((harga lebih tinggi daripada VWMA atau ML RSI lebih tinggi daripada 60), sistem akan menunggu pengesahan syarat kedua sebelum masuk. Rekaan ini mengurangkan isyarat palsu dan meningkatkan kadar kejayaan perdagangan.
Logik menjual adalah agak ketat: meminta harga ditutup di bawah VWMA dan ML RSI turun ke bawah 40, dengan cara ini, reka bentuk memastikan untuk keluar apabila trend benar-benar berbalik, untuk mengelakkan keluar terlalu awal.
Pengesahan isyarat kompositAnalisis pelbagai dimensi yang menggabungkan harga, jumlah transaksi dan petunjuk teknikal, mengurangkan isyarat palsu yang mungkin dibawa oleh satu petunjuk.
Pembelajaran MesinRSI yang dioptimumkan melalui pelbagai teknik kelancaran, memberikan isyarat yang lebih stabil dan kurang bising, terutamanya penggunaan algoritma canggih seperti ALMA (Arnaud Legoux Moving Average) yang meningkatkan kualiti isyarat dengan ketara.
Konfigurasi parameter yang fleksibelStrategi membolehkan penyesuaian parameter seperti panjang VWMA, kaedah melonggarkan ML RSI, nilai sigma ALMA dan nilai terendah RSI masuk / keluar, yang membolehkan peniaga mengoptimumkan prestasi strategi mengikut keadaan pasaran yang berbeza.
Pengurusan risiko yang jelasPemasangan 1.5% Stop Loss dan Stop Loss untuk memastikan risiko setiap dagangan dapat dikawal dan mencegah kerugian yang berlebihan dalam satu dagangan.
Mekanisme pengesahan dua kali: Memerlukan kedua-dua penunjuk untuk memenuhi syarat untuk menghasilkan isyarat perdagangan, mengurangkan kadar kesalahan penghakiman.
Penangguhan pengesahan reka bentukUntuk keadaan di mana syarat-syarat tertentu dipenuhi, strategi ini akan menunggu sehingga semua syarat dipenuhi sebelum menjalankan urus niaga, mengurangkan jumlah transaksi yang tidak perlu dan mengurangkan kos urus niaga.
Risiko ketinggalan zamanWalaupun ML RSI telah mengurangkan kebisingan dengan kaedah pembelajaran mesin, VWMA masih mempunyai ketidakseimbangan sebagai purata bergerak yang boleh menyebabkan kelewatan isyarat dalam pasaran yang bergolak. Penyelesaian adalah dengan menyesuaikan panjang VWMA mengikut turun naik pasaran, dan apabila turun naik besar, ia dapat dipersingkat dengan sewajarnya.
Perangkap pengoptimuman parameterParameter yang terlalu optimum boleh menyebabkan terlalu sesuai dan tidak berfungsi dengan baik di cakera. Ia disyorkan untuk mengesahkan kestabilan parameter melalui ujian ke hadapan atau sampel ujian pelbagai.
Batasan kerugian penghalang tetapTitik stop loss tetap 1.5% mungkin tidak sesuai untuk semua keadaan pasaran, terutamanya dalam pasaran yang sangat bergolak. Anda boleh mempertimbangkan untuk menyesuaikan tahap stop loss secara dinamik menggunakan ATR.
Sekatan kerangka masa tunggalStrategi hanya berjalan pada satu bingkai masa dan mungkin terlepas titik perubahan trend yang lebih besar. Analisis pelbagai bingkai masa disyorkan untuk meningkatkan kualiti keputusan.
Masalah RSI yang kekalHad RSI tetap: 60 dan 40 mungkin tidak cukup fleksibel dalam keadaan pasaran yang berbeza. Pertimbangkan untuk menggunakan had dinamik atau menyesuaikan had berdasarkan turun naik sejarah.
Risiko pasaran mendatarDalam pasaran horizontal, harga yang sering melintasi VWMA boleh mencetuskan terlalu banyak perdagangan, meningkatkan kos. Anda boleh menambah syarat penapis tambahan, seperti penunjuk kadar turun naik atau pengesahan kekuatan trend.
Integrasi analisis pelbagai kerangka masa: Memperkenalkan pengesahan trend pada jangka masa yang lebih tinggi, hanya berdagang apabila trend yang lebih besar selaras, dapat meningkatkan kadar kemenangan secara ketara. Sebagai contoh, anda boleh menambah VWMA sunset sebagai penapis trend, hanya melakukan lebih banyak apabila sunset sedang naik.
Mekanisme Hentikan Kerosakan Dinamik: menggantikan peratusan berhenti tetap dengan ATR, yang membolehkan titik berhenti menyesuaikan diri secara automatik mengikut turun naik pasaran, memberikan lebih banyak ruang untuk harga ketika turun naik, dan melindungi keuntungan dengan lebih ketat pada waktu turun naik.
Kekuatan isyarat bertaraf: Berdasarkan jarak ML RSI dari penurunan dan hubungan harga dengan VWMA, kekuatan isyarat digolongkan dan saiz kedudukan disesuaikan untuk pengurusan wang yang lebih halus.
Menyertai pengiktirafan persekitaran pasaranMenambah indikator kadar turun naik (seperti ATR atau Bollinger Bandwidth) untuk mengenal pasti keadaan pasaran dan menggunakan parameter atau varian strategi yang berbeza dalam keadaan yang berbeza.
Masukkan parameter pengoptimuman pembelajaran mesin: Menggunakan teknologi pembelajaran mesin seperti algoritma genetik atau pengoptimuman Bayesian, menyesuaikan parameter strategi secara automatik untuk menyesuaikan diri dengan keadaan pasaran yang berbeza, mengelakkan penyesuaian buatan tangan.
Peningkatan algoritma ML RSICuba algoritma penyelarasan yang lebih canggih atau tambah input petunjuk teknikal lain seperti jumlah transaksi, kadar turun naik harga dan sebagainya untuk meningkatkan lagi kemampuan ramalan ML RSI.
Menambah Indeks Sentimen PasaranMengintegrasikan indikator sentimen pasaran seperti VIX atau pilihan yang melibatkan kadar turun naik, menyesuaikan tingkah laku strategi ketika sentimen pasaran melampau, dan mengelakkan perdagangan berlebihan dalam persekitaran berisiko tinggi.
Sistem perdagangan dinamik VWMA yang menggabungkan RSI yang dipertingkatkan dengan pembelajaran mesin adalah strategi perdagangan kuantitatif yang canggih yang menggabungkan analisis teknikal tradisional dengan teknologi pembelajaran mesin moden. Apabila maklumat trend yang disediakan oleh purata bergerak yang dikurangkan dengan jumlah transaksi digabungkan dengan maklumat momentum yang disediakan oleh penunjuk RSI yang dioptimumkan dengan pembelajaran mesin, strategi ini dapat menghasilkan perdagangan berkualiti tinggi apabila trend jelas.
Kelebihan utama strategi ini adalah mekanisme pengesahan berganda dan konfigurasi parameter yang fleksibel, yang membolehkannya menyesuaikan diri dengan keadaan pasaran yang berbeza. Pada masa yang sama, mekanisme pengurusan risiko yang terbina dalam memastikan risiko setiap perdagangan dapat dikawal. Walau bagaimanapun, strategi ini juga menghadapi risiko seperti keterlambatan, batasan parameter tetap, dan perlu dioptimumkan melalui analisis pelbagai kerangka masa, mekanisme berhenti rugi dinamik dan sebagainya.
Bagi peniaga kuantitatif, strategi ini menyediakan kerangka asas yang kuat yang boleh disesuaikan dan dioptimumkan lebih lanjut mengikut gaya perdagangan dan keutamaan pasaran individu. Dengan menggabungkan lebih banyak teknik dan kaedah canggih, seperti analisis pelbagai kerangka masa, pengoptimuman parameter pembelajaran mesin, dan lain-lain, strategi ini berpotensi untuk mengekalkan prestasi yang stabil dalam pelbagai keadaan pasaran.
/*backtest
start: 2024-07-08 00:00:00
end: 2025-07-04 08:00:00
period: 4d
basePeriod: 4d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("VWMA + ML RSI Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === VWMA INPUTS ===
length = input.int(200, minval=1, title="VWMA Length")
src = input.source(hlc3, title="Source")
mult = input.float(3.0, minval=0.001, maxval=50, title="Multiplier")
// === VWMA CALCULATION ===
basis = ta.vwma(src, length)
plot(basis, title="VWMA Basis", color=color.fuchsia, linewidth=2)
// === ML RSI Actual Integration ===
rsiLength = input.int(14, title="RSI Length")
smoothingLength = input.int(3, "Smoothing Length")
mlMaType = input.string("ALMA", "MA Type", options=["SMA", "EMA", "DEMA", "TEMA", "WMA", "VWMA", "SMMA", "HMA", "LSMA", "ALMA"])
almaSigma = input.int(4, "ALMA Sigma")
// === Moving Average Function ===
calcMovingAverage(type, src, length, sigma) =>
float result = na
if type == "SMA"
result := ta.sma(src, length)
else if type == "EMA"
result := ta.ema(src, length)
else if type == "DEMA"
e1 = ta.ema(src, length)
e2 = ta.ema(e1, length)
result := 2 * e1 - e2
else if type == "TEMA"
e1 = ta.ema(src, length)
e2 = ta.ema(e1, length)
e3 = ta.ema(e2, length)
result := 3 * (e1 - e2) + e3
else if type == "WMA"
norm = 0.0
sum = 0.0
for i = 0 to length - 1
weight = (length - i)
norm := norm + weight
sum := sum + src[i] * weight
result := sum / norm
else if type == "VWMA"
result := ta.vwma(src, length)
else if type == "SMMA"
result := ta.rma(src, length)
else if type == "HMA"
result := ta.hma(src, length)
else if type == "LSMA"
result := ta.linreg(src, length, 0)
else if type == "ALMA"
result := ta.alma(src, length, 0.85, sigma)
result
// === Final ML RSI ===
baseRsi = ta.rsi(close, rsiLength)
smoothedRsi = calcMovingAverage(mlMaType, baseRsi, smoothingLength, almaSigma)
finalRsi = smoothedRsi
plot(finalRsi, title="ML RSI", color=color.orange)
// === Buy Condition Flags ===
buyReady = close > basis and finalRsi > 60
// Delayed condition trackers
var bool waitingForRsi = false
var bool waitingForClose = false
if close > basis and finalRsi <= 60
waitingForRsi := true
else if finalRsi > 60 and close <= basis
waitingForClose := true
// Reset flags when both conditions meet
if buyReady
waitingForRsi := false
waitingForClose := false
// Final Buy Condition
shouldBuy = buyReady or (waitingForRsi and finalRsi > 60 and close > basis) or (waitingForClose and close > basis and finalRsi > 60)
// === Strategy Entry ===
if shouldBuy and strategy.position_size == 0
strategy.entry("Long", strategy.long)
// === Take Profit and Stop Loss ===
takeLevel = strategy.position_avg_price * 1.015
stopLevel = strategy.position_avg_price * 0.985
// === Exit Conditions ===
sellCondition = close < basis and finalRsi < 40
if strategy.position_size > 0
strategy.exit("TP/SL", from_entry="Long", limit=takeLevel, stop=stopLevel)
if sellCondition
strategy.close("Long")
// === Buy Signal Plot ===
if shouldBuy and strategy.position_size == 0
label.new(bar_index, low, "BUY", style=label.style_label_up, color=color.green, textcolor=color.white)
// === Sell Signal Plot ===
if sellCondition and strategy.position_size > 0
label.new(bar_index, high, "SELL", style=label.style_label_down, color=color.red, textcolor=color.white)
// === Plotting Levels for Visuals ===
hline(60, "Buy ML RSI Threshold", color=color.green)
hline(40, "Sell ML RSI Threshold", color=color.red)