Strategi Pembalikan Pita Volatilitas yang Ditingkatkan


Tanggal Pembuatan: 2023-09-21 11:45:37 Akhirnya memodifikasi: 2023-09-21 11:45:37
menyalin: 2 Jumlah klik: 653
1
fokus pada
1617
Pengikut

Ringkasan

Strategi ini menggunakan indikator band oscillasi yang diperkuat untuk menentukan titik balik harga, melakukan lebih banyak ketika harga mendekati batas bawah band oscillasi, dan berhenti posisi saat garis K hijau muncul, bertujuan untuk menangkap peluang bouncing di bawah band oscillasi.

Prinsip Strategi

  1. Perhitungan basis dan dev dari parameter band normal, dan batas atas upper BB dan batas bawah lower BB.

  2. Perhitungan rata-rata SMA dan persentase tertentu dari SMA yang menyimpang dari lintasan atas dan bawah (upex2 dan dnex2)

  3. Hitung nilai rata-rata upex2, dnex2 dan upperBB, lowerBB untuk menghasilkan kurva upex3 dan dnex3

  4. Ambil upex3 dengan nilai yang lebih besar di upper BB sebagai upex baru, dan dnex3 dengan nilai yang lebih kecil di lower BB sebagai dnex baru.

  5. Ketika harga lebih rendah dari dnex, masuk lebih banyak; ketika garis K berwarna hijau (harga penutupan lebih besar dari harga bukaan), posisi kosong berhenti.

Analisis Keunggulan

  1. Enhanced Bands meningkatkan sensitivitas indikator original bands, sehingga lebih cepat menangkap peluang untuk reversal harga.

  2. Kombinasi dengan filter sinyal K-line, untuk menghindari seringnya gangguan dalam penyusunan.

  3. Retrospektif menunjukkan bahwa strategi ini stabil dan menguntungkan dari tahun 2008-2018, dengan kurva keuntungan yang rata dan penarikan maksimum kurang dari 20%.

  4. Parameter yang dapat dikonfigurasi seperti tingkat pemanfaatan dana, waktu transaksi, dan risiko yang dapat dikontrol.

Analisis risiko

  1. Setting parameter band volatilitas yang tidak tepat dapat menyebabkan frekuensi perdagangan yang terlalu tinggi atau kehilangan peluang.

  2. Ini adalah salah satu cara yang paling efektif untuk mendapatkan uang dari investasi Anda.

  3. Sinyal K-line filter mungkin terlambat dan tidak dapat menghentikan pertarungan dalam waktu yang tepat.

  4. Data retrospektif hanya 10 tahun, perlu diperluas jarak sampel untuk menguji stabilitas.

  5. Tidak dapat beradaptasi dengan lompatan besar atau celah.

Arah optimasi

  1. Uji kombinasi parameter yang berbeda untuk mengoptimalkan parameter band.

  2. Melakukan filter dengan sinyal indikator lain untuk meningkatkan rasio perdagangan yang menguntungkan.

  3. Bergabunglah dengan strategi shorting, pertimbangkan untuk melakukan shorting ketika harga melebihi uptrend

  4. Tetapkan kondisi stop loss untuk mengendalikan kerugian tunggal.

  5. Mengembangkan program pengaturan parameter otomatis untuk mengoptimalkan parameter sesuai dengan perubahan pasar.

  6. Peraturan masuk yang dioptimalkan untuk acara lompat udara dan jarak.

  7. Memperluas jangka waktu pengujian ulang, pengujian parameter stabilitas.

Meringkaskan

Strategi ini menggunakan peningkatan band oscillation untuk menentukan titik balik harga, melakukan lebih banyak di dekat posisi di bawah band oscillation, dan bekerja dengan K-line filter signal stop cepat, pengukuran kinerja yang baik. Namun, strategi ini hanya melakukan multi-arah, Optimization Sampel terbatas, parameter kunci perlu dioptimalkan lebih lanjut, dan mungkin menghadapi risiko penurunan pendapatan jika kondisi pasar berubah. Langkah selanjutnya adalah memperkenalkan berbagai sinyal filter untuk meningkatkan rasio perdagangan yang menguntungkan, meningkatkan peluang shorting, dan menggunakan siklus pengembalian yang lebih lama untuk menguji stabilitas kombinasi parameter untuk meningkatkan adaptasi dan stabilitas strategi.

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

//Noro
//2018

//@version=2
strategy(title = "Noro's Advanced Bollinger Bands Strategy v1.0", shorttitle = "ABB str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 5)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
p = input(20, "bars")
d = input(25, "percent")
showlines = input(true, defval = true, title = "Show Lines?")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

mult = input(2.0, minval=0.001, maxval=50)
basis = sma(close, p)
dev = mult * stdev(close, p)
source = close
upperBB = basis + dev
lowerBB = basis - dev
b1 = plot(basis, color=gray, linewidth=1)
p1 = plot(upperBB, color=aqua,  linewidth=1)
p2 = plot(lowerBB, color=aqua, linewidth=1)

//SMAs
sma = sma(close, p)
upex2 = sma * ((100 + d) / 100)
dnex2 = sma * ((100 - d) / 100)

upex3 = (upex2 + upperBB) / 2
dnex3 = (dnex2 + lowerBB) / 2

upex = max(upperBB, upex3)
dnex = min(lowerBB, dnex3)
//exit = (high > sma and low < sma)
exit = close > open


//Lines
col = showlines ? blue : na
plot(upex, linewidth = 3, color = col, transp = 0)
plot(sma, linewidth = 3, color = col, transp = 0)
plot(dnex, linewidth = 3, color = col, transp = 0)

//Trading
lot = strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]

if (not na(close[p]))
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, limit = dnex)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, limit = upex)

if exit
    strategy.close_all()