Strategi terobosan sabuk Bohr


Tanggal Pembuatan: 2023-09-21 10:38:13 Akhirnya memodifikasi: 2023-09-21 10:38:13
menyalin: 0 Jumlah klik: 607
1
fokus pada
1617
Pengikut

Ringkasan

Strategi ini didasarkan pada desain indikator Bollinger Bands, ketika harga menembus Bollinger Bands dan turun ke bawah, maka diambil tindakan over atau under. Strategi ini mengambil keuntungan dengan menangkap tren penembusan.

Prinsip Strategi

  1. Perhitungan lintasan tengah, lintasan atas, dan lintasan bawah
  2. Lebih banyak saat menembus rel; kosong saat menembus rel
  3. Setting Start Time, Limiting Trading Zone (Mengatur waktu mulai dan berhenti, dan membatasi trading zone)
  4. Setting Holding Time, dengan default pada hari yang sama

Secara khusus, strategi ini pertama-tama menghitung SMA rel tengah dengan panjang, dan rel atas dan bawah yang dihitung dengan standar diferensial multipel. Ketika harga penutupan dari bawah ke atas menerobos rel bawah, masuk lebih banyak; Ketika dari atas ke bawah menerobos rel atas, masuk kosong.

Strategi ini mencoba untuk menangkap situasi ekspansi setelah harga menembus tren naik turun. Pada saat menembus tren turun, melihat kekuatan multilateral meningkat, dan pada saat menembus tren naik, melihat kekuatan kosong meningkat, saat ini perdagangan menguntungkan.

Analisis Keunggulan

  1. Sederhana, Intuitif, Mudah Dimengerti dan Dilakukan
  2. Indikator Bollinger Bands memiliki kemampuan untuk melacak tren, untuk melihat apakah ada perubahan.
  3. Parameter yang dapat disesuaikan secara fleksibel untuk berbagai siklus dan varietas
  4. “Saya tidak tahu apa-apa tentang itu”, katanya.
  5. Dapat membuka multihead atau kosong trading secara terpisah

Analisis risiko

  1. Penembusan palsu Risiko penembusan. Setelah penembusan, harga mungkin kembali naik.
  2. Parameter harus disesuaikan sesuai dengan periode yang berbeda.
  3. Potensi kerugian memperluas risiko. Memperluas skala terobosan dapat memperluas kerugian tunggal.
  4. Biaya transaksi memperluas risiko.

Risiko ini dapat dikurangi dengan mengoptimalkan kondisi masuk, menambahkan strategi stop loss, dan memperkenalkan filter tren.

Arah optimasi

  1. Optimalkan parameter untuk menyesuaikan dengan siklus yang berbeda
  2. Menambahkan persyaratan untuk masuk kembali dan menaikkan posisi untuk melacak tren
  3. Meningkatkan strategi stop loss untuk mengendalikan risiko
  4. Menetapkan waktu transaksi untuk menghindari berita penting
  5. Evaluasi kondisi penyaring tren dengan penyaring kurva
  6. Uji waktu yang berbeda dan bandingkan hasilnya

Meringkaskan

Strategi ini didasarkan pada strategi Bollinger Bands, yang mengambil keuntungan dengan menangkap tren yang terjadi. Keuntungan adalah ide yang sederhana dan mudah diimplementasikan. Kelemahannya adalah mudah untuk tertipu oleh tren yang berputar.

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

//Noro
//2018

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

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")

length = input(20, minval=1)
mult = input(1.0, minval=0.001, maxval=50)

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")

source = close
basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev

up = close < lower
dn = close > upper
exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)

if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))

if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))
    
if time > timestamp(toyear, tomonth, 31, 00, 00) or exit
    strategy.close_all()