Strategi Terobosan Rentang Dinamis


Tanggal Pembuatan: 2023-11-21 15:03:19 Akhirnya memodifikasi: 2023-12-01 15:00:31
menyalin: 0 Jumlah klik: 691
1
fokus pada
1617
Pengikut

Strategi Terobosan Rentang Dinamis

Ringkasan

Strategi ini didesain berdasarkan indikator Brin Belt untuk strategi perdagangan breakout yang dinamis. Strategi ini menggabungkan filter entitas K-line dan filter warna untuk mencari peluang entry breakout di dekat lintasan bawah Brin Belt. Strategi ini didasarkan pada filter entitas.

Prinsip Strategi

Perhitungan indikator

Pertama, garis dasar dan garis bawah dari Brin Belt berdasarkan titik terendah:

src = low 
basis = sma(src, length)
dev = mult * stdev(src, length) 
lower = basis - dev

di mana src adalah titik rendah, length adalah periode perhitungan, basis adalah garis rata-rata, dev adalah deviasi standar, dan lower adalah tren bawah.

Umumnya mult disetel ke 2, yang berarti subrail adalah selisih standar.

Kondisi Filter

Strategi ini menambahkan dua kriteria filter:

K-line entitas filter Dengan menggunakan ukuran entitas nbody dan abody rata-rata, sinyal perdagangan hanya dihasilkan jika nbody lebih besar dari setengah abody.

Filter warna K-Line close > open) tidak melakukan lebih dari satu kali. Ini untuk menghindari hbox head false breakout.

Sinyal perdagangan

Sinyal multisignal dihasilkan ketika kondisi berikut terpenuhi:

low < lower  // 价格突破下轨
close < open or usecol == false // 色彩过滤
nbody > abody / 2 or usebod == false // 实体过滤

Bila ukuran entitas kembali lebih besar dari setengah dari rata-rata, maka akan terjadi posisi kosong:

close > open and nbody > abody / 2

Manajemen Posisi

Strategi Menghitung Jumlah Transaksi Secara Otomatis Untuk Meningkatkan Indeks:

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

Pengendalian Risiko

Syarat tahun, bulan, dan hari bergabung, membatasi perdagangan hanya dalam jangka waktu tanggal yang ditentukan:

when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))

Keunggulan Strategis

Zona perdagangan dinamis

Brin downtrack adalah area dukungan yang dinamis yang dapat menangkap peluang rebound setelah tren pasar.

Mekanisme penyaringan ganda

Kombinasi dengan entitas K-line dan penilaian warna, efektif menyaring penembusan palsu.

Manajemen posisi otomatis

Posisi tumbuh 100% dengan indeks, manajemen risiko otomatis.

Tentukan jangka waktu transaksi

Menetapkan rentang tanggal untuk mengurangi risiko dari volatilitas pasar pada waktu tertentu.

Risiko Strategis

Terlalu banyak waktu kosong

Ketika pasar berada dalam periode bull market yang panjang, Brin Belt bergerak cepat di rel tengah dan rel atas, sehingga dapat menyebabkan waktu kosong yang terlalu lama.

Solusi

Anda dapat menggunakan indikator tren untuk menilai, dan menangguhkan strategi Anda jika Anda melihat garis tengah dan panjang sebagai pasar banteng, untuk menghindari posisi kosong yang terlalu panjang.

Penembusan gagal

Setelah terjatuh dari rel bawah, mungkin terjadi penyesuaian dan pengujian kembali.

Solusi

Tambahkan stop loss line, stop loss proporsional di bawah support. Atau tambahkan logika penilaian kegagalan untuk mencoba lagi, stop loss cepat.

Optimasi Strategi

Tambahkan Stop Loss Logic

Berdasarkan data retrospektif, tentukan posisi stop loss di bawah dukungan yang masuk akal.

Optimalkan parameter kondisi filter

Sesuaikan siklus abody filter entitas, penggunaan filter COLOR, dan lain-lain. Temukan kombinasi parameter optimal.

Pengertian dan Pengertian

Meningkatkan penilaian tren garis tengah dan panjang, menghentikan strategi saat menilai pasar bullish. Mengurangi waktu kosong.

Meringkaskan

Strategi ini digabungkan dengan dukungan Brinks, yang dirancang untuk mencari peluang bouncing dengan probabilitas tinggi. Strategi ini dirancang untuk mencari peluang bouncing dengan probabilitas tinggi dengan menggunakan penyaringan entitas, penyaringan warna, dan strategi penembusan. Dalam aplikasi praktis, parameter dapat terus dioptimalkan berdasarkan hasil pengembalian, dan menambahkan modul penilaian stop loss dan tren untuk mengendalikan risiko, sehingga mendapatkan kinerja yang lebih baik.

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

//Noro
//2018

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

//Settings
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
length = input(25, defval = 25, minval = 1, maxval = 200, title = "BB Period")
usebod = input(false, defval = false, title = "Use Body-Filter")
usecol = input(false, defval = false, title = "Use Color-Filter")
showar = input(false, defval = false, title = "Show Arrows")
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")

//Bollinger
src = low
mult = 2
basis = sma(src, length)
dev = mult * stdev(src, length)
lower = basis - dev
plot(lower, color = lime, linewidth = 3, title="Bottom Line")

//Body Filter
nbody = abs(close - open)
abody = sma(nbody, 10)
body = nbody > abody / 2 or usebod == false

//Signals
up1 = low < lower and (close < open or usecol == false) and body
exit = close > open and nbody > abody / 2

//Arrows
needar = up1 and showar
plotarrow(needar ? 1 : na)

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

if up1
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
    strategy.close_all()