Strategi Dagangan Trend Breakout Bollinger Bands

Penulis:ChaoZhang, Tarikh: 2024-02-27 18:00:39
Tag:

img

Ringkasan

Strategi Perdagangan Trend Breakout Bollinger Bands direka untuk mengenal pasti pembalikan trend yang berpotensi pada tahap harga yang melampau berbanding dengan turun naik baru-baru ini.

Logika Strategi

Logik strategi teras terdiri daripada komponen berikut:

  1. Bollinger Bands digambarkan sebagai EMA 20 tempoh +/- 1.5 penyimpangan standard untuk mengenal pasti band atas dan bawah.

  2. Mengesan apabila harga ditutup di luar Bollinger Bands 2 tempoh yang lalu untuk menjangkakan kemungkinan pembalikan.

  3. Isyarat masuk yang dicetuskan apabila bar semasa memecahkan tinggi / rendah lilin dari 2 tempoh yang lalu yang ditutup di luar jalur bertentangan.

  4. Stop loss ditetapkan di luar bar semasa.

  5. Ambil keuntungan berdasarkan nisbah risiko-balasan yang telah ditentukan.

Kelebihan

Kelebihan utama strategi ini ialah:

  1. Bollinger Bands menyesuaikan diri dengan perubahan turun naik pasaran. Band yang lebih luas di pasaran turun naik mengurangkan kemungkinan isyarat palsu.

  2. Bertujuan untuk menangkap pembalikan trend seawal harga kembali ke dalam band.

  3. Pengurusan risiko yang fleksibel dengan input nisbah risiko-balasan yang boleh disesuaikan.

  4. Pengujian balik yang kuat menghasilkan pasaran trend dengan pergerakan arah yang berterusan.

  5. Masuk perdagangan automatik, keluar dan pengurusan sekali dikodkan ke dalam platform dagangan.

Risiko

Risiko utama yang perlu dipertimbangkan:

  1. Potensi kerugian whipsaw di pasaran bukan trend yang terikat julat.

  2. Stop loss hanya menyumbang kepada julat bar semasa, jadi jurang boleh menyebabkan pembubaran yang tidak diingini.

  3. Sukar untuk menilai prestasi tanpa pengujian belakang yang luas dalam keadaan pasaran yang berbeza.

  4. Kesalahan pengekodan boleh membawa kepada penempatan pesanan atau pengurusan perdagangan yang tidak disengajakan.

Risiko boleh dikurangkan melalui penapis tambahan, menilai prestasi dengan cara yang kukuh dan menguji dengan teliti sebelum digunakan secara langsung.

Peningkatan

Beberapa cara untuk meningkatkan strategi ini:

  1. Menambah penapis seperti jumlah, RSI atau MACD untuk meningkatkan masa dan ketepatan isyarat.

  2. Mengoptimumkan panjang Bollinger Bands atau kelipatan penyimpangan standard untuk instrumen tertentu.

  3. Menggunakan nisbah risiko-balasan yang berbeza bagi setiap pasaran berdasarkan jangkaan backtest.

  4. Menggabungkan hentian adaptif yang jejak harga sekali menguntungkan.

  5. Membina sebagai algoritma dengan berjalan automatik perintah pada kemasukan.

Pengoptimuman yang teliti dan pemilihan keselamatan akan menjadi kunci untuk berjaya melaksanakan strategi ini di pasaran hidup.

Kesimpulan

Bollinger Bands Breakout Trend Trading Strategy menawarkan pendekatan berasaskan peraturan untuk memasuki trend yang muncul di pelbagai pasaran. Dengan menggabungkan band adaptif yang menyumbang kepada turun naik dan isyarat pecah awal, ia bertujuan untuk menangkap pergerakan apabila momentum meningkat. Walau bagaimanapun, seperti semua strategi sistematik, ia memerlukan analisis sejarah yang kukuh dan pengurusan risiko untuk memperhitungkan perubahan rejim sepanjang kitaran pasaran.


/*backtest
start: 2024-02-25 00:00:00
end: 2024-02-26 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Scriptâ„¢ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/


//@version=5
strategy("Bollinger Band Strategy with Early Signal (v5)", overlay=true)

// Inputs
length = 20
mult = 1.5
src = close
riskRewardRatio = input(3.0, title="Risk-Reward Ratio")

// Calculating Bollinger Bands
basis = ta.ema(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev

// Plotting Bollinger Bands
plot(upper, "Upper Band", color=color.red)
plot(lower, "Lower Band", color=color.green)

// Tracking Two Candles Ago Crossing Bollinger Bands
var float twoCandlesAgoUpperCrossLow = na
var float twoCandlesAgoLowerCrossHigh = na

if (close[2] > upper[2])
    twoCandlesAgoUpperCrossLow := low[2]
if (close[2] < lower[2])
    twoCandlesAgoLowerCrossHigh := high[2]

// Entry Conditions
longCondition = (not na(twoCandlesAgoLowerCrossHigh)) and (high > twoCandlesAgoLowerCrossHigh)
shortCondition = (not na(twoCandlesAgoUpperCrossLow)) and (low < twoCandlesAgoUpperCrossLow)

// Plotting Entry Points
plotshape(longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Strategy Execution
if (longCondition)
    stopLoss = low - (high - low) * 0.05
    takeProfit = close + (close - stopLoss) * riskRewardRatio
    strategy.entry("Buy", strategy.long)
    strategy.exit("Exit Buy", "Buy", stop=stopLoss, limit=takeProfit)

if (shortCondition)
    stopLoss = high + (high - low) * 0.05
    takeProfit = close - (stopLoss - close) * riskRewardRatio
    strategy.entry("Sell", strategy.short)
    strategy.exit("Exit Sell", "Sell", stop=stopLoss, limit=takeProfit)



Lebih lanjut