Strategi Crossover Tren Tertimbang Volatilitas, Momentum, dan Kapasitas

VMI VWPC ATR RMA 波动加速度指标 容量加权价格中心 趋势跟踪
Tanggal Pembuatan: 2025-07-14 14:35:54 Akhirnya memodifikasi: 2025-07-14 14:35:54
menyalin: 1 Jumlah klik: 197
2
fokus pada
319
Pengikut

Strategi Crossover Tren Tertimbang Volatilitas, Momentum, dan Kapasitas Strategi Crossover Tren Tertimbang Volatilitas, Momentum, dan Kapasitas

Ringkasan

Strategi volatilitas dan volatilitas tren silang adalah sistem perdagangan kuantitatif yang didasarkan pada market timing untuk membuat keputusan perdagangan dengan mengidentifikasi titik-titik perubahan pasar dari volatilitas rendah ke volatilitas tinggi. Strategi ini menggabungkan dua indikator kunci: volatilitas indikator ((VMI) dan kapasitas pusat harga berbobot ((VWPC)). VMI mengukur akselerasi volatilitas, digunakan untuk masuk ke dalam pasar ketika pasar beralih dari fase tenang ke fase aktif, dan keluar ketika volatilitas mencapai titik puncak kekacauan; dan VWPC berfungsi sebagai filter tren berdasarkan volume perdagangan, untuk menentukan arah keseluruhan pasar melalui harga khas.

Prinsip Strategi

Prinsip inti dari strategi ini adalah memanfaatkan siklus perubahan volatilitas pasar dan arah tren untuk membuat keputusan perdagangan.

  1. Indikator Variabel Mobilitas (VMI) dihitung

    • Pertama, hitung kisaran rata-rata nyata saat ini (ATR) dan perubahannya
    • Perbedaan antara akselerasi naik (ATR naik) dan akselerasi turun (ATR turun)
    • Hal ini dilakukan dengan menggunakan rata-rata bergerak (RMA) untuk meluruskan nilai akselerasi.
    • Menghitung intensitas relatif dan mengubahnya menjadi nilai VMI dalam kisaran 0-100
  2. Pusat Harga Berat Kapasitas (VWPC)

    • Perhitungan berdasarkan harga tipikal (rata-rata harga tinggi, rendah, dan harga close) dan volume transaksi
    • Indikator yang menekankan pada tingkat harga volume transaksi tinggi, dengan membebani harga tipikal dengan volume transaksi yang sesuai
    • Indikator ini dapat dianggap sebagai “fokus” pasar, yang membantu menentukan arah tren secara keseluruhan.
  3. Implementasi Logika Transaksi dalam Dua Tahap

    • Tahap persiapan ((“Armed” kondisi): memeriksa apakah VMI berada di zona tenang dalam waktu dekat ((bawah setelan zona tenang ambang batas)
    • Fase pemicu (kondisi “Fire”): dipicu ketika VMI naik melewati batas zona tenang
    • Kondisi masuk: memenuhi arah tren (harga lebih tinggi dari VWPC untuk tren naik, sebaliknya tren turun) dan kedua kondisi tahap di atas
    • Kondisi Keluar: Posisi kosong saat VMI mencapai batas batas zona kekacauan (indicator volatilitas mencapai puncak)

Strategi memungkinkan untuk mengkonfigurasi arah perdagangan ((hanya melakukan lebih, hanya melakukan lebih atau perdagangan dua arah), dan mengoptimalkan parameter untuk menyesuaikan dengan lingkungan pasar yang berbeda.

Keunggulan Strategis

Analisis lebih dalam terhadap kode strategi ini dapat disimpulkan sebagai berikut:

  1. Pemilihan waktu perdagangan berdasarkan siklus pasarStrategi ini menggunakan indikator VMI untuk mengidentifikasi titik-titik transisi dari pasar yang berfluktuasi rendah ke pasar yang berfluktuasi tinggi, yang seringkali merupakan awal dari pergerakan harga baru, yang membantu masuk pada awal tren.

  2. Mengkonfirmasi tren yang terkait dengan volume transaksiVWPC memberikan indikator tren yang lebih representatif daripada Simple Moving Average, mengurangi sinyal palsu dengan menambahkan bobot volume transaksi.

  3. Syarat masuk dan keluar yang jelasStrategi memiliki logika masuk yang jelas ((fluktuasi mulai meningkat) dan logika keluar ((fluktuasi mencapai batas), menghindari penilaian subjektif.

  4. Sangat mudah beradaptasiDengan optimasi parameter, strategi ini dapat disesuaikan dengan lingkungan pasar dan varietas perdagangan yang berbeda. Khususnya, zona tenang dan zona kekacauan di VMI dapat disesuaikan dengan karakteristik pasar.

  5. Integrasi Manajemen RisikoStrategi ini memiliki manajemen posisi (default 15% dari akun) dan pembatasan perdagangan terbalik (pyramiding = 0), yang membantu mengendalikan risiko.

  6. Bantuan visualStrategi: Garis tren VWPC dan sinyal masuk/keluar dipetakan pada grafik untuk membantu trader memahami keadaan pasar dan logika strategi secara langsung.

  7. Efisiensi komputasi tinggi: Dengan menggunakan fungsi built-in seperti ta.rma dan ta.barssince, strategi ini memiliki efisiensi komputasi yang lebih tinggi, cocok untuk aplikasi perdagangan real-time.

Risiko Strategis

Meskipun ada banyak keuntungan dari strategi ini, ada juga risiko potensial:

  1. Risiko terobosan palsu yang tidak stabil: Pasar mungkin mengalami kenaikan volatilitas singkat kemudian kembali dengan cepat, menyebabkan sinyal yang salah. Solusinya adalah dengan menyesuaikan nilai terendah zona tenang VMI atau meningkatkan kondisi konfirmasi.

  2. Penundaan penilaian tren:VWPC sebagai indikator tren mungkin memiliki keterlambatan tertentu, dan mungkin tidak bereaksi tepat waktu ketika pasar berubah secara tiba-tiba. Pertimbangan dapat dilakukan untuk penilaian tambahan dalam kombinasi dengan indikator momentum jangka pendek.

  3. Parameter SensitivitasPerforma strategi sangat sensitif terhadap pengaturan parameter (khususnya panjang VMI dan threshold), dan mungkin memerlukan kombinasi parameter yang berbeda untuk situasi pasar yang berbeda.

  4. Ketidakpastian frekuensi transaksiKarena strategi didasarkan pada perubahan volatilitas, pada fase pasar yang berbeda, frekuensi sinyal perdagangan dapat sangat bervariasi, mempengaruhi tingkat keuntungan keseluruhan dan kontrol penarikan.

  5. Dampak biaya transaksi: Meskipun strategi mempertimbangkan komisi perdagangan ((0.075%), dalam perdagangan aktual, slippage dan biaya transaksi lainnya dapat mempengaruhi kinerja strategi lebih lanjut.

  6. Bergantung pada data volume transaksiIndikator VWPC bergantung pada data volume transaksi yang mungkin tidak akurat atau tidak dapat diandalkan di beberapa pasar atau periode waktu, yang mempengaruhi akurasi standar.

Arah optimasi strategi

Dengan menganalisis kode secara mendalam, kita dapat mengusulkan arah optimasi sebagai berikut:

  1. Menambahkan filter volatilitasDengan adanya mekanisme penyesuaian nilai tren dinamis berdasarkan volatilitas historis, nilai tren zona tenang dan zona kacau VMI dapat secara otomatis disesuaikan dengan tingkat fluktuasi pasar secara keseluruhan, meningkatkan fleksibilitas strategi.

  2. Meningkatkan mekanisme pengakuan tren: Dapat menambah konfirmasi tren multi-frame berdasarkan VWPC, atau dikombinasikan dengan indikator tren lainnya (seperti indikator arah ADX), meningkatkan akurasi penilaian tren.

  3. Pengoptimalan mekanisme pertandinganStrategi saat ini hanya berlaku ketika VMI mencapai zona kekacauan, Anda dapat mempertimbangkan untuk menambahkan stop loss dan target tingkat keuntungan, atau strategi stop loss dinamis berdasarkan volatilitas untuk mengendalikan risiko dan mengunci keuntungan dengan lebih baik.

  4. Meningkatkan filter volume transaksi: Anda dapat menambahkan syarat konfirmasi volume transaksi, hanya masuk jika volume transaksi meningkat, menghindari perdagangan di lingkungan likuiditas rendah.

  5. Tambahkan filter waktu: Beberapa pasar mungkin memiliki pola volatilitas pada periode waktu tertentu, dapat menambahkan kondisi penyaringan waktu, menghindari periode perdagangan yang diketahui tidak efisien.

  6. Parameter AdaptifSebuah mekanisme yang dapat dikembangkan untuk menyesuaikan parameter secara otomatis berdasarkan kinerja pasar baru-baru ini, sehingga strategi dapat beradaptasi dengan lebih baik terhadap perubahan pasar.

  7. Pengelolaan dana yang optimalHal ini memungkinkan manajemen posisi dinamis berdasarkan volatilitas, menyesuaikan skala perdagangan dalam berbagai lingkungan fluktuasi, menyeimbangkan risiko dan keuntungan.

Meringkaskan

Strategi lintas tren bertimbangan volume dan kapasitas adalah sistem perdagangan kuantitatif yang menggabungkan analisis volatilitas dan pelacakan tren. Ini masuk melalui indikator VMI untuk menangkap pasar dari titik transisi yang tenang ke yang aktif, dan keluar saat volatilitas mencapai puncaknya; dan menggunakan indikator VWPC untuk memastikan arah perdagangan sesuai dengan tren keseluruhan.

Namun, strategi ini juga menghadapi tantangan seperti false breaks yang berfluktuasi, penundaan penilaian tren, dan sensitivitas parameter. Strategi ini dapat ditingkatkan lebih lanjut dengan cara meningkatkan kehandalan dan fleksibilitas strategi dengan memperkenalkan penyesuaian tren yang dinamis, meningkatkan mekanisme konfirmasi tren, mengoptimalkan logika keluar, dan mewujudkan parameter adaptasi.

Pada akhirnya, strategi ini memberikan kerangka perdagangan yang didasarkan pada pasar yang bergejolak dan siklus fluktuasi yang cocok untuk diterapkan di berbagai lingkungan pasar, namun pedagang masih perlu mengoptimalkan parameter dan menyesuaikan strategi sesuai dengan varietas perdagangan dan karakteristik pasar tertentu untuk mencapai efek optimal.

Kode 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")