Strategi Volatilitas Adaptif Berdasarkan Penembusan Rentang Kuantitatif


Tanggal Pembuatan: 2024-02-22 16:50:46 Akhirnya memodifikasi: 2024-02-22 16:50:46
menyalin: 0 Jumlah klik: 563
1
fokus pada
1617
Pengikut

Strategi Volatilitas Adaptif Berdasarkan Penembusan Rentang Kuantitatif

Ringkasan

Strategi ini dengan menghitung nilai tertinggi dan terendah dari volume transaksi dalam periode tertentu terakhir, membentuk rentang fluktuasi yang disesuaikan, menghasilkan sinyal perdagangan ketika volume transaksi dalam siklus saat ini menembus batas ini.

Prinsip Strategi

Logika inti adalah menghitung nilai tertinggi dan terendah dari jumlah transaksi positif-negatif dalam periode N terakhir, membentuk rentang fluktuasi yang disesuaikan. Berdasarkan rentang ini, menilai apakah ada penembusan pada saat itu.

Proses perhitungan adalah sebagai berikut:

  1. HIGHEST dan LOWEST untuk N siklus terakhir
  2. Periksa apakah volume transaksi untuk periode saat ini lebih besar dari volume tertinggi
  3. Kombinasi saat ini adalah sinkron atau positif, menyelesaikan penilaian sinyal terobosan
  4. menghasilkan sinyal do-plus

Analisis Keunggulan

Strategi ini memiliki beberapa keuntungan utama:

  1. Adaptif dan sensitif terhadap perubahan pasar
  2. Capture High Volatility Emergencies, Menurunkan Rasio Kebocoran
  3. Keputusan yang tidak tepat untuk menghindari penembusan palsu
  4. Mudah dipahami dan dimodifikasi
  5. Parameter yang dapat disesuaikan secara fleksibel dengan varietas yang berbeda

Analisis risiko

Strategi ini juga memiliki beberapa risiko:

  1. Mudah mengejar tinggi dan rendah, perlu menyesuaikan kontrol parameter
  2. Pasar bergejolak bisa sering mengalami sinyal salah.
  3. Ketidakmampuan untuk membedakan antara penembusan normal dan abnormal, yang memerlukan penilaian dalam kombinasi dengan indikator atau pola lain
  4. Setiap terobosan hanya memiliki satu kesempatan untuk masuk, tidak dapat melacak tren

Hal ini dapat dioptimalkan dengan menyesuaikan siklus parameter, yang dikombinasikan dengan penyaringan indikator lainnya.

Arah optimasi

Strategi ini dapat dioptimalkan dari beberapa arah:

  1. Menambahkan parameter untuk menyesuaikan panjang interval untuk menyesuaikan dengan siklus pasar yang berbeda
  2. Tambahkan indikator seperti garis rata-rata, Brinks, dan filter sinyal
  3. Optimalkan kombinasi bentuk K-line untuk menghindari kesalahan penembusan palsu
  4. Menambahkan modul re-entry dan stop loss untuk strategi yang dapat melacak tren

Meringkaskan

Strategi ini secara keseluruhan sederhana dan praktis, dapat secara efektif menangkap situasi unilateral yang tiba-tiba melalui penyesuaian ruang lingkup dan penilaian kuantitatif. Namun, ada juga risiko misinformasi tertentu yang memerlukan penyesuaian parameter yang sesuai dan penggunaan alat lain untuk mendapatkan efek maksimal.

Kode Sumber Strategi
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © EvoCrypto

//@version=4
strategy("Ranged Volume Strategy - evo", shorttitle="Ranged Volume", format=format.volume)

// INPUTS {
Range_Length    =   input(5,        title="Range Length",                       minval=1)

Heikin_Ashi     =   input(true,     title="Heikin Ashi Colors")
Display_Bars    =   input(true,     title="Show Bar Colors")
Display_Break   =   input(true,     title="Show Break-Out")
Display_Range   =   input(true,     title="Show Range")
// }

// SETTINGS {
Close           =   Heikin_Ashi ? security(heikinashi(syminfo.tickerid), timeframe.period, close)    : close
Open            =   Heikin_Ashi ? security(heikinashi(syminfo.tickerid), timeframe.period, open)     : open

Positive        =    volume
Negative        =   -volume

Highest         =   highest(volume, Range_Length)
Lowest          =   lowest(-volume, Range_Length)

Up              =   Highest > Highest[1] and Close > Open
Dn              =   Highest > Highest[1] and Close < Open

Volume_Color    =   
 Display_Break and Up   ? color.new(#ffeb3b, 0)     : 
 Display_Break and Dn   ? color.new(#f44336, 0)     : 
 Close > Open           ? color.new(#00c0ff, 60)    : 
 Close < Open           ? color.new(#000000, 60)    : na 
// }

//PLOTS {
plot(Positive,                      title="Positive Volume",    color=Volume_Color,             style=plot.style_histogram,  linewidth=4)
plot(Negative,                      title="Negative Volume",    color=Volume_Color,             style=plot.style_histogram,  linewidth=4)

plot(Display_Range ? Highest : na,  title="Highest",            color=color.new(#000000, 0),    style=plot.style_line,       linewidth=2)
plot(Display_Range ? Lowest  : na,  title="Lowest",             color=color.new(#000000, 0),    style=plot.style_line,       linewidth=2)

barcolor(Display_Bars ? Volume_Color : na)
// }

if (Up)
    strategy.entry("Long Entry", strategy.long)
if (Dn)
    strategy.entry("Short Entry", strategy.short)