Strategi Perdagangan Rentang Bollinger Bands


Tanggal Pembuatan: 2023-12-19 14:08:45 Akhirnya memodifikasi: 2023-12-19 14:08:45
menyalin: 0 Jumlah klik: 639
1
fokus pada
1621
Pengikut

Strategi Perdagangan Rentang Bollinger Bands

Ringkasan

Strategi ini didasarkan pada tren naik dan turun di Bollinger Bands, menentukan harga melakukan lebih banyak ketika harga menembus tren Bollinger Bands, dan kosong saat menembus tren bawah, dan merupakan jenis strategi pelacakan tren.

Prinsip Strategi

Strategi ini menggunakan rel tengah, rel atas, dan rel bawah di Brin Belt untuk menilai kisaran harga ekstrim. rel tengah adalah rata-rata bergerak sederhana dari harga penutupan 25 periode terakhir, dengan rel atas dan bawah masing-masing adalah jarak standar berikutnya dari rel tengah. Ketika harga melintasi dari bawah rel atas atau dari garis rel bawah, menunjukkan bahwa harga telah terobosan, termasuk perilaku harga yang tidak biasa, dan keputusan perdagangan dapat dibuat.

Jika harga di bawah garis bawah, beli lebih banyak; Jika harga lebih tinggi dari garis atas, jual kosong. Untuk melakukan lebih banyak, atur garis stop loss sebagai harga masuk kali faktor stop loss, garis stop loss sebagai harga masuk kali faktor stop loss.

Strategi ini juga menambahkan beberapa aturan tambahan, seperti hanya satu sinyal yang diizinkan dalam 24 jam, untuk menghindari transaksi yang tidak perlu.

Keunggulan Strategis

  1. Menggunakan Brin band untuk menentukan kisaran harga yang tidak biasa, merupakan strategi pelacakan tren yang dapat menangkap tren harga
  2. Parameter yang terkait diatur sesuai dengan prinsip Stop Loss Barrier, yang dapat mengontrol kerugian tunggal
  3. Beberapa aturan tambahan telah ditambahkan untuk menghindari sinyal yang berulang dan transaksi yang tidak berguna.

Risiko Strategis

  1. Jangkauan Brin tidak sepenuhnya mewakili tren harga, dan dapat memberikan sinyal yang salah
  2. Waktu yang salah untuk sinyal penembusan dapat menyebabkan kerugian
  3. Pasar yang sedang tren, jangka waktu yang tidak tren, dan pergerakan yang tidak menentu dapat menyebabkan pembelian yang tidak perlu

Tindakan pengendalian risiko:

  1. Menyesuaikan parameter pita Brin untuk mengoptimalkan waktu sinyal penembusan
  2. Perbandingan dengan Indikator lain untuk menilai tren
  3. Setel stop loss margin berdasarkan varietas dan kondisi pasar

Arah optimasi strategi

  1. Hal ini dapat dipertimbangkan untuk mengoptimalkan parameter Brin Belt secara adaptif agar lebih dekat dengan kondisi pasar saat ini.
  2. Dapat digabungkan dengan indikator lain untuk menilai keandalan sinyal tren dan menghindari sinyal yang salah
  3. Model pembelajaran mesin dapat digabungkan untuk secara otomatis mengidentifikasi saat terbaik untuk membeli dan menjual.

Meringkaskan

Strategi ini secara keseluruhan merupakan strategi pelacakan tren yang sederhana, menggunakan Brin band untuk menilai abnormalitas harga dan melacak tren, ada ruang untuk pengoptimalan dalam hal optimasi parameter, kontrol risiko, dan pemfilteran sinyal, tetapi ide intinya sederhana dan jelas, cocok untuk strategi pembelajaran pemula.

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

//@version=5
strategy("I11L OIL Bot",overlay=true, initial_capital=1000000,default_qty_value=1000000,default_qty_type=strategy.cash,commission_type=strategy.commission.percent,commission_value=0.00)

leverage = input.float(1,"Leverage (x)",step=1)
SL_Factor = 1 - input.float(1,"Risk Capital per Trade (%)", minval=0.1, maxval=100, step=0.05) / 100 / leverage
TP_Factor = input.float(2, step=0.1)
invertBuyLogic = input.bool(false)
 
lookbackDistance = input.int(25)
devMult = input.float(2,step=0.1)

var lastSellHour = 0
var disableAdditionalBuysThisDay = false


if(time > lastSellHour + 1000 * 60 * 60 * 6)
    disableAdditionalBuysThisDay := false
if(strategy.position_size != strategy.position_size[1])
    disableAdditionalBuysThisDay := true
    lastSellHour := time

source = close

//Trade Logic
basis = ta.sma(source, lookbackDistance)
dev = devMult * ta.stdev(source, lookbackDistance)
upper = basis + dev
lower = basis - dev
isBuy = ta.crossunder(source, upper)
isBuyInverted = ta.crossover(source, lower)

plot(upper, color=color.white)
plot(lower, color=color.white)

strategy.initial_capital = 50000

if((invertBuyLogic ? isBuyInverted : isBuy) and not(disableAdditionalBuysThisDay))
    strategy.entry("Long", strategy.long, (strategy.initial_capital / close) * leverage)

if(strategy.position_size > 0)
    strategy.exit("SL Long", "Long", stop=strategy.position_avg_price * SL_Factor)
    strategy.close("Long",  when=close > strategy.position_avg_price * (1 + (1 - SL_Factor) * TP_Factor), comment="TP Long")