Bollinger Band Breakout Digabungkan dengan Pulangan Min Tahap Empat Jam Strategi Perdagangan Kuantitatif

BBANDS SMA SD TP SL
Tarikh penciptaan: 2024-12-12 11:24:28 Akhirnya diubah suai: 2024-12-12 11:24:28
Salin: 0 Bilangan klik: 168
1
fokus pada
1237
Pengikut

Bollinger Band Breakout Digabungkan dengan Pulangan Min Tahap Empat Jam Strategi Perdagangan Kuantitatif

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan kuantitatif pada tahap empat jam berdasarkan indikator Bollinger Bands, yang menggabungkan konsep perdagangan yang melanggar trend dan pulangan rata-rata. Strategi ini menangkap pergerakan pasaran dengan memecahkan Bollinger Bands, sambil memanfaatkan ciri-ciri pulangan rata-rata harga untuk membuat keuntungan, dan dengan menghentikan risiko kawalan kerugian.

Prinsip Strategi

Logik teras strategi adalah berdasarkan elemen utama berikut:

  1. Menggunakan purata bergerak selama 20 kitaran sebagai garisan tengah dalam pita Brin, dan menggunakan 2 kali perbezaan standard sebagai selang
  2. Isyarat bukaan: apabila entiti K-baris ((rata-rata harga bukaan dan harga tutup) terbuka lebih banyak apabila ia menembusi lintasan atas, terbuka kosong apabila ia menembusi lintasan bawah
  3. Isyarat kedudukan kosong: Apabila memegang kedudukan berbilang kepala, jika kedua-dua harga penutupan dan harga pembukaan K secara berturut-turut adalah lebih rendah daripada harga teratas dan harga penutupan adalah lebih rendah daripada harga pembukaan, kedudukan kosong menggunakan logik sebaliknya
  4. Kawalan risiko: Tetapkan stop loss pada titik tertinggi / terendah K semasa untuk memastikan kerugian tunggal dapat dikawal

Kelebihan Strategik

  1. Logik dagangan yang jelas: menggabungkan dua jenis pemikiran dagangan trend dan regresi yang dapat berfungsi dengan baik dalam pelbagai keadaan pasaran
  2. Pengendalian risiko yang sempurna: Stop loss dinamik berdasarkan turun naik K-line yang boleh mengawal penarikan balik dengan berkesan
  3. Menapis isyarat palsu: mengesahkan penembusan dengan menilai kedudukan entiti K-Line dan bukan hanya berdasarkan harga penutupan, mengurangkan kerugian akibat penembusan palsu
  4. Pengurusan dana yang munasabah: penyesuaian saiz pegangan berdasarkan pergerakan hak dan kepentingan akaun, memastikan keuntungan dan mengawal risiko

Risiko Strategik

  1. Risiko pasaran goyah: mungkin sering mencetuskan isyarat pecah palsu dalam keadaan goyah di atas pilar, yang menyebabkan hentian berterusan
  2. Risiko Leverage: Penggunaan 3 kali ganda Leverage boleh menyebabkan kerugian yang lebih besar apabila turun naik
  3. Risiko penyetempatan stop loss: penyetempatan stop loss pada titik tertinggi / terendah K-baris mungkin terlalu longgar, meningkatkan kerugian tunggal
  4. Ketergantungan pada kitaran masa: tahap empat jam mungkin bertindak balas terlalu lambat dan terlepas dalam keadaan pasaran tertentu

Arah pengoptimuman strategi

  1. Memperkenalkan penapis trend: anda boleh menambah indikator penilaian trend untuk tempoh yang lebih lama, untuk berdagang di arah trend utama
  2. Optimumkan hentian: pertimbangkan untuk menyesuaikan jarak hentian secara dinamik menggunakan ATR atau lebar jalur Brin
  3. Meningkatkan pengurusan kedudukan: menyesuaikan kelipatan leverage secara dinamik mengikut kadar turun naik atau kekuatan trend
  4. Menambah penilaian keadaan pasaran: memperkenalkan indikator kuantiti atau kadar turun naik untuk mengenal pasti keadaan pasaran semasa, pilihan untuk membuka kedudukan

ringkaskan

Ini adalah strategi yang menggabungkan trend mengikuti dan ciri-ciri pulangan rata-rata indikator Brin, dengan syarat pembukaan kedudukan yang ketat dan langkah-langkah kawalan risiko, mencapai matlamat untuk mendapatkan keuntungan yang stabil dalam pasaran yang sedang berkembang dan bergolak. Kelebihan utama strategi ini adalah logik perdagangan yang jelas dan sistem kawalan risiko yang sempurna, tetapi masih perlu memberi perhatian kepada pengoptimuman penggunaan leverage dan penilaian persekitaran pasaran, untuk meningkatkan lagi kestabilan dan kemampuan keuntungan strategi.

Kod sumber strategi
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger 4H Follow", overlay=true, initial_capital=300, commission_type=strategy.commission.percent, commission_value=0.04)
// StartYear = input(2022,"Backtest Start Year") 
// StartMonth = input(1,"Backtest Start Month") 
// StartDay = input(1,"Backtest Start Day")

// testStart = timestamp(StartYear,StartMonth,StartDay,0,0)

// EndYear = input(2023,"Backtest End Year")
// EndMonth = input(12,"Backtest End Month")
// EndDay = input(31,"Backtest End Day")

// testEnd = timestamp(EndYear,EndMonth,EndDay,0,0)

lev = 3

// Input parameters
length = input.int(20, title="Bollinger Band Length")
mult = input.float(2.0, title="Bollinger Band Multiplier")

// Bollinger Bands calculation
basis = ta.sma(close, length)
upperBand = basis + mult * ta.stdev(close, length)
lowerBand = basis - mult * ta.stdev(close, length)

// Conditions for Open Long
openLongCondition = strategy.position_size == 0 and close > open and (close + open) / 2 > upperBand

// Conditions for Open Short
openShortCondition = strategy.position_size == 0 and close < open and (close + open) / 2 < lowerBand

// Conditions for Close Long
closeLongCondition = strategy.position_size > 0 and strategy.position_size > 0 and (close < upperBand and open < upperBand and close < open)

// Conditions for Close Short
closeShortCondition = strategy.position_size < 0 and strategy.position_size < 0 and (close > lowerBand and open > lowerBand and close > open)


// Long entry
if openLongCondition
    strategy.entry("Long", strategy.long, qty=strategy.equity * lev / close)
    strategy.exit("Long SL", from_entry="Long", stop=low)  // Set Stop-Loss

// Short entry
if openShortCondition
    strategy.entry("Short", strategy.short, qty=strategy.equity * lev / close)
    strategy.exit("Short SL", from_entry="Short", stop=high)  // Set Stop-Loss

// Long exit
if closeLongCondition
    strategy.close("Long", comment = "TP")

// Short exit
if closeShortCondition
    strategy.close("Short", comment = "TP")

// Plot Bollinger Bands
plot(upperBand, color=color.yellow, title="Upper Band")
plot(lowerBand, color=color.yellow, title="Lower Band")