Momentum Kemeruapan dan Strategi Crossover Trend Wajaran Kapasiti

VMI VWPC ATR RMA 波动加速度指标 容量加权价格中心 趋势跟踪
Tarikh penciptaan: 2025-07-14 14:35:54 Akhirnya diubah suai: 2025-07-14 14:35:54
Salin: 1 Bilangan klik: 197
2
fokus pada
319
Pengikut

Momentum Kemeruapan dan Strategi Crossover Trend Wajaran Kapasiti Momentum Kemeruapan dan Strategi Crossover Trend Wajaran Kapasiti

Gambaran keseluruhan

Strategi silang tren bertimbangan volumes dan kapasiti adalah sistem perdagangan kuantitatif yang berasaskan ketinggian pasaran untuk membuat keputusan perdagangan dengan mengenal pasti titik peralihan pasaran dari turun naik rendah ke turun naik tinggi. Strategi ini menggabungkan dua petunjuk utama: indikator volumes ((VMI) dan pusat harga bertimbangan volumes ((VWPC)). VMI mengukur kelajuan kadar turun naik, digunakan untuk masuk ke dalam pasaran ketika pasaran beralih dari keadaan tenang ke tahap aktif, dan keluar ketika turun naik mencapai paras huru-hara; dan VWPC berfungsi sebagai penapis trend berdasarkan volumes perdagangan, untuk menentukan arah keseluruhan pasaran melalui harga tipikal.

Prinsip Strategi

Prinsip utama strategi ini adalah untuk membuat keputusan perdagangan menggunakan kitaran perubahan pasaran yang tidak menentu dan arah trend. Secara khusus:

  1. Pengiraan VMI

    • Mulakan dengan mengira purata sebenar semasa (ATR) dan perubahannya
    • Perbezaan antara peningkatan (ATR meningkat) dan penurunan (ATR menurun)
    • Gelaskan nilai pecutan ini dengan purata bergerak (RMA)
    • Mengira intensiti relatif dan menukarnya kepada nilai VMI dalam julat 0-100
  2. Pusat Harga Berat Kapasiti (VWPC)

    • Berasaskan pada harga tipikal (rata-rata harga tinggi, rendah, dan penutupan) dan jumlah transaksi
    • Dengan menimbang harga tipikal dengan jumlah dagangan yang sepadan, kita mendapat penunjuk yang menekankan tahap harga dengan jumlah dagangan tinggi
    • Penunjuk ini boleh dianggap sebagai “pusat tumpuan” pasaran, membantu menentukan arah trend keseluruhan
  3. Logik urus niaga dilaksanakan dalam dua peringkat

    • Tahap persediaan ((“Armed” keadaan): memeriksa sama ada VMI berada dalam zon tenang dalam masa terdekat ((di bawah tetingkap zon tenang yang ditetapkan)
    • Fasa pemicu (kondisi “Pembakaran”): pemicu apabila VMI ke atas melintasi had zon tenang
    • Syarat kemasukan: memenuhi arah trend ((harga lebih tinggi daripada VWPC untuk trend naik, sebaliknya untuk trend turun) dan kedua-dua syarat peringkat di atas
    • Keadaan keluar: posisi kosong apabila VMI mencapai paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras paras

Strategi ini membolehkan untuk mengkonfigurasi arah dagangan ((hanya buat lebih, hanya buat lebih atau dua hala), dan mengoptimumkan parameter untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.

Kelebihan Strategik

Dengan mengkaji kod strategi ini secara mendalam, kita dapat menyimpulkan kelebihan berikut:

  1. Pemilihan masa dagangan berdasarkan kitaran pasaranStrategi ini menggunakan indikator VMI untuk mengenal pasti titik peralihan pasaran dari turun naik rendah ke turun naik tinggi, yang sering mewakili permulaan pergerakan harga baru, yang membantu memasuki pasaran pada awal trend.

  2. Pengesahan trend dengan jumlah transaksi:VWPC menyediakan petunjuk trend yang lebih mewakili daripada purata bergerak sederhana dengan menambah berat jumlah dagangan, mengurangkan isyarat palsu.

  3. Syarat masuk dan keluar yang jelasStrategi mempunyai logik kemasukan yang jelas ((kelembapan mula meningkat) dan logik keluar ((kelembapan mencapai nilai maksimum), mengelakkan penghakiman subjektif.

  4. Sangat boleh menyesuaikan diriDengan pengoptimuman parameter, strategi ini dapat disesuaikan dengan keadaan pasaran dan jenis perdagangan yang berbeza. Khususnya, had zon tenang dan zona huru-hara di VMI dapat disesuaikan dengan ciri-ciri pasaran.

  5. Pengurusan risiko bersepaduStrategi ini mempunyai pengurusan kedudukan yang terbina dalam ((15% dana akaun digunakan secara lalai) dan had perdagangan terbalik ((pyramiding = 0), yang membantu mengawal risiko.

  6. Pembantu visualStrategi: Garis trend VWPC dan isyarat masuk/keluar digambarkan pada carta untuk memudahkan peniaga memahami keadaan pasaran dan logik strategi secara langsung.

  7. Kecekapan pengiraanDengan menggunakan fungsi terbina dalam seperti ta.rma dan ta.barssince, strategi ini mempunyai kecekapan pengiraan yang lebih tinggi, sesuai untuk aplikasi perdagangan masa nyata.

Risiko Strategik

Walaupun terdapat banyak kelebihan, strategi ini mempunyai risiko yang berpotensi:

  1. Risiko penembusan palsu yang tidak menentu: Pasaran mungkin mengalami kenaikan turun naik yang singkat dan kemudiannya turun dengan cepat, menyebabkan isyarat yang salah. Penyelesaian adalah dengan menyesuaikan nilai terendah VMI atau menambah syarat pengesahan.

  2. Tarikan TarikanVWPC sebagai penunjuk trend mungkin mempunyai keterlambatan tertentu, dan mungkin tidak bertindak balas tepat pada masanya apabila pasaran berubah secara mendadak. Anda boleh mempertimbangkan untuk membuat penilaian tambahan dengan penunjuk momentum jangka pendek.

  3. Kepekaan ParameterPrestasi strategi adalah sensitif kepada tetapan parameter (khususnya panjang VMI dan nilai tebing), dan kombinasi parameter yang berbeza mungkin diperlukan dalam keadaan pasaran yang berbeza.

  4. Ketidakpastian frekuensi transaksiOleh kerana strategi adalah berdasarkan perubahan turun naik, pada peringkat pasaran yang berbeza, frekuensi isyarat perdagangan mungkin berbeza-beza, mempengaruhi kadar keuntungan keseluruhan dan kawalan penarikan balik.

  5. Kesan kos urus niagaWalaupun strategi mengambil kira komisen dagangan (<0.075%), dalam perdagangan sebenar, slippage dan kos dagangan lain boleh menjejaskan prestasi strategi.

  6. Bergantung kepada data jumlah transaksiIndeks VWPC bergantung kepada data jumlah urus niaga, dan dalam beberapa pasaran atau tempoh masa, data jumlah urus niaga mungkin tidak tepat atau tidak boleh dipercayai, menjejaskan ketepatan piawaian.

Arah pengoptimuman strategi

Dengan mengkaji kod secara mendalam, kita boleh mencadangkan arah pengoptimuman berikut:

  1. Menambah penapis dinamikMekanisme penyesuaian penurunan nilai dinamik berdasarkan turun naik sejarah boleh diperkenalkan, membolehkan penurunan nilai zon tenang dan zon huru-hara VMI menyesuaikan diri secara automatik mengikut tahap turun naik keseluruhan pasaran, meningkatkan fleksibiliti strategi.

  2. Meningkatkan mekanisme pengesahan trend: boleh menambah pengesahan trend pelbagai bingkai masa berdasarkan VWPC, atau digabungkan dengan penunjuk trend lain (seperti penunjuk arah ADX), meningkatkan ketepatan penghakiman trend.

  3. Optimumkan mekanisme keluarStrategi semasa hanya berlaku apabila VMI mencapai zon huru-hara, dan anda boleh mempertimbangkan untuk menambah tahap stop loss dan sasaran keuntungan, atau strategi stop loss dinamik berdasarkan kadar turun naik untuk mengawal risiko dan mengunci keuntungan dengan lebih baik.

  4. Meningkatkan penapisan jumlah transaksi: Syarat pengesahan jumlah dagangan boleh ditambah, hanya masuk jika jumlah dagangan meningkat, untuk mengelakkan perdagangan dalam persekitaran kecairan rendah.

  5. Tambah penapis masa: Beberapa pasaran mungkin mempunyai corak turun naik pada tempoh masa tertentu, anda boleh menambah syarat penapisan masa untuk mengelakkan tempoh perdagangan yang diketahui tidak cekap.

  6. Mekanisme penyesuaian parameterIa boleh membangunkan mekanisme untuk menyesuaikan parameter secara automatik berdasarkan prestasi pasaran baru-baru ini, supaya strategi dapat menyesuaikan diri dengan perubahan pasaran.

  7. Pengurusan wang yang optimumIa membolehkan pengurusan kedudukan dinamik berdasarkan kadar turun naik, menyesuaikan saiz dagangan dalam persekitaran turun naik yang berbeza, mengimbangi risiko dan keuntungan.

ringkaskan

Strategi silang trend bertimbangan kuantiti dan kapasiti adalah sistem perdagangan kuantitatif yang menggabungkan analisis volatiliti dan pengesanan trend. Ia memasuki pasaran melalui penunjuk VMI untuk menangkap titik peralihan dari tenang ke aktif, dan keluar ketika turun naik mencapai puncak; sambil menggunakan penunjuk VWPC untuk memastikan arah perdagangan selaras dengan trend keseluruhan.

Walau bagaimanapun, strategi ini juga menghadapi cabaran seperti pelepasan palsu yang tidak menentu, kelewatan penghakiman trend dan kepekaan parameter. Dengan memperkenalkan penyesuaian nilai terhad dinamik, meningkatkan mekanisme pengesahan trend, mengoptimumkan logik keluar dan mewujudkan parameter penyesuaian, strategi ini dapat meningkatkan lagi kehandalan dan kebolehsesuaian.

Pada akhirnya, strategi ini menyediakan kerangka perdagangan berdasarkan kitaran pasaran dan turun naik yang sesuai untuk digunakan dalam pelbagai persekitaran pasaran, tetapi peniaga masih perlu mengoptimumkan parameter dan menyesuaikan strategi mengikut jenis perdagangan dan ciri-ciri pasaran tertentu untuk mencapai kesan terbaik.

Kod sumber strategi
/*backtest
start: 2024-07-14 00:00:00
end: 2025-07-12 08:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":200000}]
*/

// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © TiamatCrypto

//@version=5
strategy("Market Entropy Strategy V2.5", 
         overlay=true, 
         initial_capital=10000, 
         default_qty_type=strategy.percent_of_equity, 
         default_qty_value=15, // Slightly more aggressive allocation
         commission_type=strategy.commission.percent,
         commission_value=0.075,
         pyramiding=0) // Allow only one trade in one direction

// --- General Settings ---
trade_direction = input.string("Both", "Trade Direction", options=["Long", "Short", "Both"], group="General Settings")

// --- Inputs for Optimization ---
// VMI Settings
vmi_length = input.int(14, "VMI Length", group="VMI Settings")
atr_period = input.int(10, "ATR Period for VMI", group="VMI Settings")
vmi_calm_zone = input.int(25, "VMI Calm Zone (Entry Level)", group="VMI Settings", step=5)
vmi_chaos_zone = input.int(85, "VMI Chaos Zone (Exit Level)", group="VMI Settings", step=5)

// VWPC Settings
vwpc_length = input.int(50, "VWPC Filter Length", group="VWPC Trend Filter")
setup_lookback = input.int(10, "How far to look for 'Armed' (candles)", group="Entry Logic")

// --- Indicator #1: Volatility Momentum Index (VMI) ---
current_atr = ta.atr(atr_period)
atr_change = current_atr - current_atr[1]
up_accel = atr_change > 0 ? atr_change : 0
down_accel = atr_change < 0 ? -atr_change : 0
avg_up_accel = ta.rma(up_accel, vmi_length)
avg_down_accel = ta.rma(down_accel, vmi_length)
rs_vmi = avg_down_accel == 0 ? 0 : avg_up_accel / avg_down_accel
vmi = avg_down_accel == 0 ? 100 : avg_up_accel == 0 ? 0 : 100 - (100 / (1 + rs_vmi))

// --- Indicator #2: Volume-Weighted Price Center (VWPC) ---
// Function to calculate VWPC
f_vwpc(length) =>
    sum_price_volume = 0.0
    sum_volume = 0.0
    // We use the typical price, which better represents the candle
    typical_price = (high + low + close) / 3
    for i = 0 to length - 1
        sum_price_volume += typical_price[i] * nz(volume[i])
        sum_volume += nz(volume[i])
    sum_volume == 0 ? typical_price : sum_price_volume / sum_volume

vwpc = f_vwpc(vwpc_length)

// --- Strategy Logic ---

// Trend Definition
is_uptrend = close > vwpc
is_downtrend = close < vwpc

// Phase 1: "Armed" Condition (Setup)
// We check if VMI WAS in the calm zone in the recent past
was_calm_recently = ta.barssince(vmi < vmi_calm_zone) < setup_lookback

// Phase 2: "Fire" Condition (Trigger)
// VMI is currently crossing the Calm Zone upwards
trigger_fire = ta.crossover(vmi, vmi_calm_zone)

// Combination for ENTRY
buy_signal = is_uptrend and was_calm_recently and trigger_fire
sell_signal = is_downtrend and was_calm_recently and trigger_fire

// Condition for EXIT ("Exhaustion")
// The same condition applies for both long and short - peak chaos
exit_signal = ta.crossover(vmi, vmi_chaos_zone)

// --- Executing Orders ---
// Entry Conditions
allow_longs = trade_direction == "Long" or trade_direction == "Both"
allow_shorts = trade_direction == "Short" or trade_direction == "Both"

// Entries
if (buy_signal and allow_longs)
    strategy.entry("Buy", strategy.long, comment="Enter LONG (Armed->Fire)")

if (sell_signal and allow_shorts)
    strategy.entry("Sell", strategy.short, comment="Enter SHORT (Armed->Fire)")

// Exits
if (strategy.position_size > 0 and exit_signal)
    strategy.close("Buy", comment="Exit LONG (Chaos)")

if (strategy.position_size < 0 and exit_signal)
    strategy.close("Sell", comment="Exit SHORT (Chaos)")

// --- Plotting on the chart for visual inspection ---
plot(vwpc, "VWPC Center of Gravity", color=color.new(color.yellow, 0), linewidth=2)
plotshape(buy_signal and allow_longs, "LONG Entry", shape.labelup, location.belowbar, color=color.new(color.aqua, 0), text="ENTRY ↑", textcolor=color.white, size=size.small)
plotshape(sell_signal and allow_shorts, "SHORT Entry", shape.labeldown, location.abovebar, color=color.new(color.fuchsia, 0), text="ENTRY ↓", textcolor=color.white, size=size.small)

// Plotting the exit signal for a better overview
exit_marker_y_pos = strategy.position_size > 0 ? high : low
plotshape(series=(exit_signal and strategy.position_size != 0 ? exit_marker_y_pos : na), title="Exit", style=shape.xcross, location=location.absolute, color=color.new(color.orange, 0), size=size.tiny, text="END")