Sumber dimuat naik... memuat...

Bollinger Breakout dengan Kebalikan Rata 4H Strategi Dagangan Kuantitatif

Penulis:ChaoZhang, Tarikh: 2024-12-12 11:24:28
Tag:BBANDSSMASDTPSL

img

Ringkasan

Strategi ini adalah sistem perdagangan kuantitatif jangka masa 4 jam berdasarkan Bollinger Bands, menggabungkan konsep perdagangan trend breakout dan mean reverson. Strategi ini menangkap momentum pasaran melalui breakout Bollinger Bands sambil menggunakan harga mean reverson untuk mengambil keuntungan dan melaksanakan stop-loss untuk kawalan risiko. Ia menggunakan leverage 3x, memastikan pulangan sambil mempertimbangkan pengurusan risiko dengan teliti.

Prinsip Strategi

Logik teras adalah berdasarkan elemen utama berikut:

  1. Menggunakan purata bergerak 20 tempoh sebagai jalur tengah, dengan 2 penyimpangan standard untuk julat turun naik
  2. Isyarat masuk: Panjang apabila badan lilin (rata-rata terbuka dan dekat) pecah di atas jalur atas, pendek apabila pecah di bawah jalur bawah
  3. Isyarat keluar: Tutup kedudukan panjang apabila dua lilin berturut-turut mempunyai kedua-dua harga terbuka dan ditutup di bawah jalur atas dan ditutup di bawah terbuka; logik terbalik untuk kedudukan pendek
  4. Kawalan risiko: Tetapkan stop-loss pada titik tertinggi/rendah lilin semasa untuk memastikan kerugian terkawal setiap perdagangan

Kelebihan Strategi

  1. Logik perdagangan yang jelas: Menggabungkan pendekatan perdagangan trend dan pembalikan untuk prestasi yang baik dalam pelbagai keadaan pasaran
  2. Kawalan risiko komprehensif: Melaksanakan stop-loss dinamik berdasarkan turun naik lilin untuk kawalan pengeluaran yang berkesan
  3. Penapisan isyarat palsu: mengesahkan pecah menggunakan kedudukan badan lilin dan bukannya hanya harga penutupan untuk mengurangkan kerugian pecah palsu
  4. Pengurusan wang yang baik: Mengatur saiz kedudukan secara dinamik berdasarkan ekuiti akaun, pulangan penyeimbangan dan risiko

Risiko Strategi

  1. Risiko pasaran sampingan: Boleh mencetuskan isyarat pecah palsu yang kerap di pasaran yang berbeza, yang membawa kepada hentian berturut-turut
  2. Risiko leverage: leverage 3x boleh menyebabkan kerugian yang ketara semasa turun naik yang melampau
  3. Risiko penetapan stop-loss: Menggunakan titik tinggi/rendah lilin untuk berhenti mungkin terlalu longgar, meningkatkan kerugian setiap perdagangan
  4. Kebergantungan jangka masa: jangka masa 4 jam mungkin bertindak balas terlalu perlahan dalam keadaan pasaran tertentu, peluang yang hilang

Arahan Pengoptimuman Strategi

  1. Melaksanakan penapis trend: Tambah penunjuk trend jangka panjang untuk berdagang dalam arah trend utama
  2. Mengoptimumkan pendekatan stop loss: Pertimbangkan untuk menggunakan lebar ATR atau Bollinger Band untuk jarak stop loss dinamik
  3. Meningkatkan pengurusan kedudukan: Sesuaikan leverage secara dinamik berdasarkan turun naik atau kekuatan trend
  4. Tambah analisis keadaan pasaran: Masukkan penunjuk jumlah atau turun naik untuk mengenal pasti keadaan pasaran untuk kemasukan selektif

Ringkasan

Strategi ini menggabungkan ciri-ciri Bollinger Bands mengikuti trend dan pembalikan purata, mencapai pulangan yang stabil di kedua-dua pasaran trend dan julat melalui syarat kemasukan / keluar yang ketat dan langkah kawalan risiko.


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

Berkaitan

Lebih lanjut