Bollinger Bands Span Strategi Dagangan


Tarikh penciptaan: 2023-12-19 14:08:45 Akhirnya diubah suai: 2023-12-19 14:08:45
Salin: 0 Bilangan klik: 358
1
fokus pada
1166
Pengikut

Bollinger Bands Span Strategi Dagangan

Gambaran keseluruhan

Strategi ini berdasarkan pada tren atas dan bawah Bollinger Bands, menilai harga melakukan lebih banyak apabila ia menembusi tren Bollinger Bands, dan kosong apabila ia menembusi tren Bollinger Bands, dan merupakan strategi jenis trend-following.

Prinsip Strategi

Strategi ini menggunakan lintasan tengah, lintasan atas, dan lintasan bawah dalam Brin Belt untuk menilai julat harga yang melampau. Lintasan tengah adalah purata bergerak sederhana harga penutupan 25 kitaran terakhir, dan lintasan atas dan bawah adalah jarak perbezaan piawai di bawah garis lintasan tengah.

Jika harga lebih rendah daripada garisan bawah, beli lebih banyak; jika harga lebih tinggi daripada garisan atas, jual kosong. Apabila lebih banyak, atur garis stop loss sebagai harga masuk kali ganda faktor stop loss, garis stop loss sebagai harga masuk kali ganda faktor stop stop.

Strategi ini juga menambah beberapa peraturan tambahan, seperti hanya membenarkan satu isyarat dalam tempoh 24 jam untuk mengelakkan transaksi yang tidak perlu.

Kelebihan Strategik

  1. Menggunakan Brinband untuk menentukan Jarak Harga yang tidak normal, merupakan strategi trend tracking yang dapat menangkap trend harga
  2. Parameter yang ditetapkan mengikut prinsip stop loss yang boleh mengawal kerugian tunggal
  3. Terdapat beberapa peraturan tambahan untuk mengelakkan isyarat berulang dan transaksi yang tidak berguna.

Risiko Strategik

  1. Julat Brin tidak sepenuhnya mewakili trend harga dan mungkin memberi isyarat yang salah
  2. Pemilihan masa isyarat yang salah boleh menyebabkan kerugian
  3. Tempoh yang lama tanpa trend dan pergerakan yang tidak menentu boleh menyebabkan pembelian yang tidak perlu

Langkah kawalan risiko:

  1. Menyesuaikan parameter Brinband untuk mengoptimumkan masa isyarat penembusan
  2. Kaedah untuk menilai trend besar
  3. Tetapkan marjin stop loss mengikut varieti dan keadaan pasaran

Arah pengoptimuman strategi

  1. Anda boleh mempertimbangkan untuk mengoptimumkan parameter Brin Belt secara adaptif, menjadikan Brin Belt lebih dekat dengan keadaan pasaran semasa
  2. Ia boleh digabungkan dengan petunjuk lain untuk menilai kebolehpercayaan isyarat trend dan mengelakkan isyarat yang salah
  3. Model pembelajaran mesin boleh digunakan untuk mengenal pasti secara automatik masa terbaik untuk membeli dan menjual

ringkaskan

Strategi ini secara keseluruhannya adalah strategi trend-following yang mudah, menggunakan Brinband untuk menilai harga yang tidak normal dan mengikuti trend, terdapat ruang untuk pengoptimuman dalam pengoptimuman parameter, kawalan risiko dan penapisan isyarat, tetapi idea terasnya mudah dan jelas, sesuai untuk strategi pembelajaran permulaan.

Kod 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")