Sumber daya yang dimuat... Pemuatan...

Adaptive Weighted Trend Following Strategy (Sistem Multi-Indikator Vidya)

Penulis:ChaoZhang, Tanggal: 2024-12-05 15:07:47
Tag:EMACMOMA

img

Gambaran umum

Strategi ini adalah sistem perdagangan yang mengikuti tren berdasarkan indikator VIDYA (Variable Index Dynamic Average). Strategi ini beradaptasi dengan volatilitas pasar dengan menyesuaikan bobot secara dinamis, menggabungkan metode perhitungan Momentum Oscillator (CMO) dan Standar Deviasi (StDev) Chande untuk mencapai identifikasi tren yang lebih akurat dan generasi sinyal perdagangan. Sistem ini memperkenalkan mekanisme adaptif di atas rata-rata bergerak tradisional, secara otomatis menyesuaikan sensitivitas berdasarkan kondisi pasar.

Prinsip Strategi

Inti dari strategi ini adalah indikator VIDYA, dengan proses perhitungan termasuk langkah-langkah kunci berikut:

  1. Menetapkan periode dasar (default 21) dan koefisien perataan alfa
  2. Menggabungkan CMO atau StDev sebagai metode perhitungan volatilitas
  3. Menggunakan bobot dinamis k untuk menyesuaikan sensitivitas VIDYA terhadap perubahan harga
  4. Membuat sinyal panjang ketika VIDYA melintasi ke atas dan sinyal pendek ketika melintasi ke bawah

Strategi ini memungkinkan pengguna untuk memilih antara CMO atau standar deviasi untuk perhitungan koefisien volatilitas, meningkatkan fleksibilitas.

Keuntungan Strategi

  1. Adaptabilitas yang kuat: Mempertahankan kinerja yang baik di lingkungan pasar yang berbeda melalui penyesuaian berat yang dinamis
  2. Sinyal stabil: Lebih baik menyaring sinyal palsu dibandingkan dengan rata-rata bergerak tradisional
  3. Parameter yang dapat disesuaikan: Menyediakan beberapa parameter yang dapat disesuaikan untuk optimasi berdasarkan karakteristik pasar yang berbeda
  4. Metode Perhitungan Ganda: Mendukung perhitungan volatilitas CMO dan StDev, meningkatkan fleksibilitas strategi
  5. Ramah pengguna: Logika strategi yang jelas dan sinyal definitif, nyaman untuk operasi praktis

Risiko Strategi

  1. Trend Dependency: Dapat menghasilkan sinyal palsu yang sering di pasar osilasi
  2. Sensitivitas parameter: Kombinasi parameter yang berbeda secara signifikan mempengaruhi kinerja strategi
  3. Lag: Delay yang melekat ada sebagai indikator jenis rata-rata bergerak
  4. Adaptifitas pasar: Mungkin berkinerja buruk dalam lingkungan pasar tertentu
  5. Manajemen uang: Kurangnya mekanisme stop-loss dapat menyebabkan penarikan yang signifikan

Arah Optimasi Strategi

  1. Memperkenalkan Volatility Filter: Sesuaikan aturan generasi sinyal di lingkungan volatilitas tinggi
  2. Tambahkan indikator konfirmasi tren: Gabungkan dengan indikator teknis lainnya untuk meningkatkan keandalan sinyal
  3. Meningkatkan Manajemen Uang: Merancang mekanisme stop-loss dan manajemen posisi yang dinamis
  4. Mengoptimalkan Pemilihan Parameter: Mengembangkan metode optimasi parameter otomatis untuk siklus pasar yang berbeda
  5. Meningkatkan Penilaian Lingkungan Pasar: Sesuaikan secara dinamis parameter strategi berdasarkan kondisi pasar

Ringkasan

Strategi VIDYA menyediakan solusi tren yang relatif dapat diandalkan melalui mekanisme bobot adaptif yang inovatif. Sambil mempertahankan kesederhanaan dan kemudahan penggunaan, strategi meningkatkan kemampuan beradaptasi dengan perubahan pasar melalui penyesuaian dinamis. Meskipun ada beberapa keterbatasan yang melekat, arah optimasi yang disediakan dapat lebih meningkatkan stabilitas dan keandalan strategi. Metode perhitungan ganda menawarkan fleksibilitas yang lebih besar untuk aplikasi di lingkungan pasar yang berbeda.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-04 00:00:00
period: 1d
basePeriod: 1d
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/
// © GriffinJames


//@version=5
strategy("VIDYA Strategy", overlay=true, initial_capital=25000)

// Inputs
src = input(close, title="Source")
pds = input.int(21, title="Length")
fixCMO = input.bool(true, title="Fixed CMO Length (9)?")
select = input.bool(true, title="Calculation Method: CMO/StDev?")
alpha = 2 / (pds + 1)
momm = ta.change(src)

// Functions to calculate MOM
f1(m) => m >= 0.0 ? m : 0.0
f2(m) => m >= 0.0 ? 0.0 : -m

m1 = f1(momm)
m2 = f2(momm)
sm1 = fixCMO ? math.sum(m1, 9) : math.sum(m1, pds)
sm2 = fixCMO ? math.sum(m2, 9) : math.sum(m2, pds)

percent(nom, div) => 100 * nom / div
chandeMO = na(percent(sm1 - sm2, sm1 + sm2)) ? 0 : percent(sm1 - sm2, sm1 + sm2)

// Select calculation method
k = select ? math.abs(chandeMO) / 100 : ta.stdev(src, pds)

// Calculate VIDYA
var float VIDYA = na
VIDYA := na(VIDYA[1]) ? src : alpha * k * src + (1 - alpha * k) * VIDYA[1]

// Conditions for long and short
col12 = VIDYA > VIDYA[1]
col32 = VIDYA < VIDYA[1]

// Plot VIDYA with dynamic colors
color2 = col12 ? color.new(color.blue, 0) : col32 ? color.new(color.maroon, 0) : color.new(color.blue, 0)
plot(VIDYA, "VAR", color=color2, linewidth=2)

// Long and Short Strategy
if (col12)
    strategy.entry("Go Long", strategy.long)
if (col32)
    strategy.entry("Go Short", strategy.short)

// Alert for VIDYA color change
alertcondition(ta.cross(VIDYA, VIDYA[1]), title="Color ALARM!", message="VIDYA has changed color!")


Berkaitan

Lebih banyak