Strategi persilangan panjang-pendek berdasarkan osilator volume


Tanggal Pembuatan: 2023-12-12 11:19:04 Akhirnya memodifikasi: 2023-12-12 11:19:04
menyalin: 0 Jumlah klik: 855
1
fokus pada
1621
Pengikut

Strategi persilangan panjang-pendek berdasarkan osilator volume

Ringkasan

Strategi ini diimplementasikan berdasarkan crossover rata-rata bergerak jangka panjang dari volume perdagangan. Ini menggunakan EMA dari periode yang berbeda untuk menghitung tren jangka panjang dari volume perdagangan dan membangun indikator getaran dengan nilai diferensial. Ini adalah indikator getaran yang tinggi saat melewati sumbu nol dan kosong saat melewati sumbu nol.

Prinsip Strategi

Indikator utama dari strategi ini adalah Volume Oscillator. Indikator ini mencerminkan tren perubahan volume transaksi dengan diferensiasi rata-rata bergerak indeks volume transaksi jangka panjang.

Volume Oscillator = (ShortEMA - LongEMA) / LongEMA * 100

Di antaranya, ShortEMA dan LongEMA masing-masing mewakili rata-rata bergerak indeks jangka pendek dan jangka panjang. Ketika ShortEMA melewati LongEMA, indikatornya positif, yang berarti volume perdagangan sedang berkembang; Ketika ShortEMA melewati LongEMA, indikatornya negatif, yang berarti volume perdagangan sedang menyusut.

Setelah menghitung indikator getaran, strategi ini menggunakan persimpangan dengan sumbu nol untuk menghasilkan sinyal perdagangan. Bila indikator bergeser negatif, yaitu naik melalui sumbu nol, lakukan over; Bila indikator bergeser positif negatif, yaitu turun melalui sumbu nol, lakukan blank. Ini mencerminkan konversi momentum volume perdagangan.

Selain itu, strategi ini juga menggabungkan satu titik tinggi dan rendah sebelumnya untuk menilai arah operasi tertentu. Yaitu, ketika indikator berjalan di sumbu nol, jika titik tinggi sebelumnya lebih besar dari nilai mutlak titik rendah sebelumnya, maka lebih banyak; sebaliknya, lebih sedikit.

Keunggulan Strategis

Strategi ini memiliki beberapa keuntungan:

  1. Menggunakan volume transaksi sebagai indikator dasar, dapat secara efektif menentukan keinginan peserta pasar, memiliki kepraktisan yang sangat kuat.

  2. Dalam kombinasi dengan EMA jangka panjang dan jangka pendek, tren jangka menengah dan jangka pendek dapat ditangkap secara bersamaan.

  3. Sinyal perdagangan yang terbentuk ketika indikator bersilang dengan sumbu nol sederhana, jelas, dan mudah diukur.

  4. Dengan menambahkan titik tinggi dan rendah sebelumnya untuk menentukan arah operasi tertentu, volume transaksi dapat dimanfaatkan secara efektif.

  5. Strategi yang jelas, parameter yang fleksibel, dan kemampuan beradaptasi yang kuat.

Risiko Strategis

Strategi ini juga memiliki beberapa risiko yang perlu diperhatikan:

  1. Indikator volume transaksi mudah terpengaruh oleh pasar palsu, yang dapat menghasilkan sinyal yang salah. Anda dapat mengatur stop loss untuk mengendalikan risiko.

  2. Dalam situasi yang bergejolak, volume transaksi mungkin sering berselisih dan perlu dikonfirmasi secara rasional.

  3. Tingkat tinggi dan rendah sebelumnya hanya mencerminkan ekspansi terbaru, dan tidak dapat menentukan intensitasnya yang berkelanjutan.

  4. Parameter untuk varietas dan periode waktu yang berbeda perlu dioptimalkan secara individual dan tidak cukup umum.

  5. Indikator volume transaksi lambat bereaksi terhadap transaksi pemrograman frekuensi tinggi dan mungkin melewatkan waktu masuk yang optimal.

Arah optimasi strategi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Menambahkan kondisi penyaringan untuk menghindari sinyal palsu, seperti konfirmasi penambahan indikator harga.

  2. Mengoptimalkan parameter siklus EMA jangka pendek dan panjang agar lebih sesuai dengan karakteristik varietas yang berbeda.

  3. Setel parameter siklus untuk harga tertinggi dan terendah sebelumnya, menggunakan harga tertinggi dan terendah untuk periode waktu tertentu.

  4. Mengatur area perpindahan indikator menjadi interval untuk menghindari perdagangan yang sering.

  5. Meningkatkan strategi stop loss untuk mengendalikan kerugian tunggal.

  6. Tergabung dengan indikator teknis lainnya seperti indikator harga VRP.

  7. Mengoptimalkan parameter secara otomatis menggunakan metode pembelajaran mesin.

Meringkaskan

Secara keseluruhan, strategi long line cross based on trading volume oscillation indicator memanfaatkan sepenuhnya karakteristik volume perdagangan yang berbalik, memiliki penilaian yang kuat, dan memiliki deteksi yang baik pada awal perkembangan tren. Pada saat yang sama, kombinasi dengan titik tinggi dan rendah sebelumnya untuk menentukan arah tertentu, membuat keputusan perdagangan lebih akurat. Namun, juga perlu memperhatikan pengendalian risiko, untuk mencegah kerugian dari sinyal palsu.

Kode Sumber Strategi
/*backtest
start: 2022-12-05 00:00:00
end: 2023-03-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("SB_Volume_oscillator_Prev_high_low", overlay=true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

shortlen = input(5, minval=1)
longlen = input(10, minval=1)
short = ema(volume, shortlen)
long = ema(volume, longlen)
osc = 100 * (short - long) / long
//hline(0, title="Zero")
//plot(osc)
zero=input(0.0)

low_val=input(0.0)
high_val=input(0.0)
prev_high_val=input(0.0)
prev_low_val=input(0.0)
where=input(0)
where:=nz(where[1])
low_val:=nz(low_val[1])
high_val:=nz(high_val[1])
prev_high_val:=nz(prev_high_val[1])
prev_low_val:=nz(prev_low_val[1])
if(crossover(osc,zero))
    high_val:=osc
    where:=1
    prev_low_val:=low_val
    low_val:=osc

if(crossunder(osc,zero))
    low_val:=osc
    where:=-1
    prev_high_val:=high_val
    high_val:=osc

if(where==1)
    if(high_val<osc)
        high_val:=osc
        
if(where==-1)
    if(low_val>osc)
        low_val:=osc


if (crossover(osc,zero))
    if(prev_high_val<=abs(prev_low_val))
        strategy.entry("My Long Entry Id", strategy.long)
    if(prev_high_val>abs(prev_low_val))
        strategy.entry("My Short Entry Id", strategy.short)

if (crossunder(osc,zero))
    if(prev_high_val<=abs(prev_low_val))
        strategy.entry("My Long Entry Id", strategy.long)
    if(prev_high_val>abs(prev_low_val))
        strategy.entry("My Short Entry Id", strategy.short)