Strategi perdagangan breakout jalur ganda berdasarkan Bollinger Bands


Tanggal Pembuatan: 2024-02-05 14:05:47 Akhirnya memodifikasi: 2024-02-05 14:05:47
menyalin: 4 Jumlah klik: 660
1
fokus pada
1617
Pengikut

Strategi perdagangan breakout jalur ganda berdasarkan Bollinger Bands

Ringkasan

Strategi ini adalah strategi perdagangan breakout dua jalur yang didasarkan pada Brin Belt. Strategi ini menggunakan upstream dan downstream dari Brin Belt sebagai sinyal beli dan jual, dan menetapkan stop loss untuk mengendalikan risiko.

Prinsip Strategi

Strategi ini menggunakan uptrend dan downtrend dari Brin Belt. Brin Belt terdiri dari dua jalur standar deviasi yang sesuai dengan garis rata-rata. Sinyal jual dihasilkan ketika harga mendekati atau menembus Brin Belt dan sinyal beli dihasilkan ketika harga mendekati atau menembus Brin Belt.

Secara khusus, strategi ini memetakan Bollinger Bands dengan menghitung rata-rata periode yang ditentukan (misalnya 20 hari) dan dua kali selisih standarnya. Garis atas adalah rata-rata ditambah dua kali selisih standar, dan garis bawah adalah rata-rata dikurangi dua kali selisih standar.

Keunggulan Strategis

Strategi ini memanfaatkan karakteristik Brin band, yang dapat mengirim sinyal perdagangan ketika harga mengalami fluktuasi yang tidak biasa, sehingga menangkap peluang untuk membalikkan harga. Berbeda dengan strategi yang hanya mengikuti garis rata, strategi ini dapat menghasilkan sinyal perdagangan ketika fluktuasi meningkat, menghindari risiko false breakout sampai batas tertentu.

Strategi ini menambahkan mekanisme stop loss dibandingkan dengan strategi dua jalur yang sederhana. Ini dapat secara efektif mengendalikan kerugian yang disebabkan oleh sinyal yang salah secara individual. Pengaturan titik stop loss juga lebih masuk akal, lebih dekat dari rata-rata, dan menghindari kerugian yang berlebihan yang disebabkan oleh stop loss yang terlalu radikal.

Risiko Strategis

Risiko terbesar dari strategi ini adalah bahwa Bollinger Bands itu sendiri tidak dapat memastikan keefektifan sinyal perdagangan. Ketika terjadi situasi khusus di pasar, harga mungkin mengalami fluktuasi besar yang tidak wajar, di mana sinyal perdagangan yang dikeluarkan oleh Bollinger Bands mungkin salah.

Selain itu, pengaturan stop loss juga bisa terlalu radikal atau konservatif, yang dapat mempengaruhi hasil akhir. Jika stop loss terlalu besar, sinyal yang efektif mungkin akan sering dihentikan; dan jika stop loss terlalu kecil, tidak dapat mengontrol kerugian secara efektif.

Arah optimasi strategi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. menguji kombinasi parameter yang berbeda, seperti periode rata-rata, perkalian standar deviasi, dan persentase stop loss, untuk mencari parameter yang optimal;

  2. Menambahkan penilaian indikator lainnya, membentuk kondisi penyaringan ganda, dan menghindari sinyal yang salah;

  3. Optimalisasi strategi stop loss, seperti penggunaan stop loss yang bergerak, stop loss batch, dan lain-lain sebagai pengganti stop loss sederhana;

  4. Blink yang digabungkan dengan periode waktu yang berbeda untuk mengkonfirmasi sinyal transaksi, menghindari kebocoran.

Meringkaskan

Strategi ini secara keseluruhan merupakan strategi yang praktis yang menggabungkan pelacakan tren dan penembusan dua jalur. Strategi ini dapat menangkap peluang reversal ketika fluktuasi harga meningkat, dan menetapkan stop loss untuk mengendalikan risiko. Dengan cara seperti pengoptimalan parameter, peningkatan filter sinyal, dan pengoptimalan strategi stop loss, stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut.

Kode Sumber Strategi
/*backtest
start: 2024-01-28 00:00:00
end: 2024-02-04 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands Strategy by Royce Mars", overlay=true)

length = input.int(20, minval=1)
maType = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
stopLossPercent = input.float(1.0, title="Stop Loss Percent", minval=0.1, maxval=10, step=0.1)

ma(source, length, _type) =>
    switch _type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

basis = ma(src, length, maType)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev

// Buy and Sell Conditions
buyCondition = close <= lower
sellCondition = close >= upper

// Stop Loss Condition
stopLossCondition = close < basis * (1 - stopLossPercent / 100)

// Strategy Execution
strategy.entry("Buy", strategy.long, when=buyCondition)
strategy.close("Buy", when=sellCondition or stopLossCondition)

strategy.entry("Sell", strategy.short, when=sellCondition)
strategy.close("Sell", when=buyCondition)

// Plotting on the Chart
plotshape(buyCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar)
plotshape(sellCondition or stopLossCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)

// Plotting the Bollinger Bands
plot(basis, "Basis", color=color.orange)
p1 = plot(upper, "Upper Band", color=color.blue)
p2 = plot(lower, "Lower Band", color=color.blue)
fill(p1, p2, title="Background", color=color.rgb(33, 150, 243, 95))