Strategi mengikuti tren berbasis Bollinger Bands


Tanggal Pembuatan: 2024-01-18 16:37:56 Akhirnya memodifikasi: 2024-01-18 16:37:56
menyalin: 0 Jumlah klik: 380
1
fokus pada
1224
Pengikut

Strategi mengikuti tren berbasis Bollinger Bands

Ringkasan

Strategi ini menggunakan indikator pita Brin untuk menentukan arah tren harga, dikombinasikan dengan rata-rata bergerak cepat untuk masuk. Ketika harga menerobos lintasan pita Brin dan melewati rata-rata bergerak cepat, sinyal bergerak lambat dilakukan sebagai sinyal ganda. Ketika harga jatuh dari lintasan pita Brin dan melewati rata-rata bergerak lambat di bawah rata-rata bergerak cepat, sinyal berhenti dilakukan sebagai ATR.

Prinsip Strategi

Strategi ini terdiri dari indikator Brinks dan Moving Average.

Indikator Brin BeltBentuknya terdiri dari rel tengah, rel atas, dan rel bawah. rel tengah adalah rata-rata bergerak sederhana n hari. rel atas dan rel bawah masing-masing memiliki perbedaan standar k kali lebih besar dari rel tengah. Ketika harga mendekati rel atas, ia mewakili overbought, dan ketika harga mendekati rel bawah, ia mewakili oversold.

Indikator rata-rata bergerakGunakan rata-rata bergerak cepat dan rata-rata bergerak lambat. Parameter rata-rata bergerak cepat adalah 40, parameter rata-rata bergerak lambat adalah 120.

Menurut aturan indikator di atas, sinyal perdagangan spesifik untuk strategi ini adalah sebagai berikut:

Buat lebih banyak sinyal.: Harga penutupan menembus Brin Belt dan melewati rata-rata bergerak lambat pada rata-rata bergerak cepat

Sinyal kosong: Harga penutupan turun dari lintasan tengah Brin dan melewati rata-rata bergerak lambat di bawah rata-rata bergerak cepat

Cara menghentikan kerugianStop loss ATR, stop loss minus 4 kali nilai ATR dari harga saat ini

Analisis Keunggulan

Strategi ini menggabungkan indikator Bollinger Bands dan Moving Averages untuk secara efektif menentukan arah tren harga dan menghindari sering membuka posisi karena kondisi yang bergolak.

Blink band dapat mencerminkan tren harga dengan jelas dan menghasilkan sinyal tren yang kuat ketika harga menembus tren tengah. Blink band dapat secara efektif menilai overbought dan oversold, dan menghindari mengejar harga tinggi dan rendah dalam kondisi goyangan.

Fork-dead-fork yang bergerak cepat dan lambat juga merupakan cara yang umum digunakan untuk menilai tren. Kombinasi dengan indikator Bollinger Bands, dapat lebih akurat menentukan waktu masuk.

Metode ATR stop loss memungkinkan stop loss untuk beradaptasi dengan fluktuasi pasar, secara efektif mengontrol kerugian tunggal.

Analisis risiko

Risiko terbesar dari strategi ini adalah bahwa harga akan segera mundur setelah terobosan rel tengah dan tidak dapat memperoleh keuntungan secara efektif. Ini akan menyebabkan kerugian. Solusinya adalah menyesuaikan parameter moving average dengan tepat sehingga parameter indikator lebih sesuai dengan karakteristik pasar.

Risiko lain adalah bahwa dalam situasi yang bergejolak, indikator BRI dan indikator moving average akan mengirimkan sinyal yang salah. Anda harus mempertimbangkan untuk melewatkan sinyal perdagangan dan menunggu situasi tren yang lebih jelas.

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Menyesuaikan parameter indikator BRI dengan karakteristik pasar yang berbeda dalam siklus

  2. Menyesuaikan parameter rata-rata bergerak cepat dan lambat untuk membuat indikator lebih cocok dengan varietas perdagangan tertentu

  3. Menambahkan indikator tambahan untuk kombinasi, meningkatkan stabilitas strategi

  4. Mengoptimalkan manajemen posisi, memperbesar posisi dalam kondisi tren, mengurangi posisi dalam kondisi goncangan

  5. Mencoba berbagai cara untuk menghentikan kerugian dan mencari solusi yang lebih baik

Meringkaskan

Strategi ini secara keseluruhan merupakan strategi pelacakan tren yang lebih khas. Strategi ini menggabungkan indikator Bollinger Bands dan Moving Average untuk menentukan tren harga dan peluang perdagangan. Strategi ini menghasilkan sinyal yang lebih jelas dan cocok untuk perdagangan kuantitatif otomatis.

Kode Sumber Strategi
/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Robrecht99

//@version=5
strategy("Trend Following with Bollinger Bands", overlay=true, margin_long=100, margin_short=100, pyramiding=4)

// Bollinger Bands //

length = input.int(20, minval=1, group="Bollinger Bands Inputs")
src = input(close, title="Source", group="Bollinger Bands Inputs")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500, group="Bollinger Bands Inputs")
plot(basis, "Basis", color=color.orange, offset = offset)
p1 = plot(upper, "Upper", color=color.orange, offset = offset)
p2 = plot(lower, "Lower", color=color.orange, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(255, 0, 255, 95))

// Moving Averages //

len1 = input.int(40, minval=1, title="Length Fast MA", group="Moving Average Inputs")
len2 = input.int(120, minval=1, title="Length Slow MA", group="Moving Average Inputs")
src1 = input(close, title="Source Fast MA")
src2 = input(close, title="Source Slow MA")
maColorFast = input.color(color.new(color.red, 0), title = "Color Fast MA", group = "Moving Average Inputs", inline = "maFast")
maColorSlow = input.color(color.new(color.purple, 0), title = "Color Slow MA", group = "Moving Average Inputs", inline = "maSlow")
fast = ta.ema(src1, len1) 
slow = ta.ema(src2, len2)
plot(fast, color=maColorFast, title="Fast EMA")
plot(slow, color=maColorSlow, title="Slow EMA")

// ATR Inputs //
strategy.initial_capital = 50000

lengthATR = input.int(title="ATR Period", defval=14, minval=1, group="ATR Input")
risk = input(title="Risk Per Trade", defval=0.01, group="ATR Input")
multiplier = input(title="ATR Multiplier", defval=2, group="ATR Inputs")
atr = ta.atr(length)
amount = (risk * strategy.initial_capital / (2 * atr))

// Buy and Sell Conditions //

entrycondition1 = ta.crossover(fast, slow)
entrycondition2 = fast > slow
sellcondition1 = ta.crossunder(fast, slow)
sellcondition2 = slow > fast

// Buy and Sell Signals //

if (close > basis and entrycondition2)
    strategy.entry("long", strategy.long, qty=amount)
    stoploss = close - atr * 4
    strategy.exit("exit sl", stop=stoploss, trail_offset=stoploss)
if (sellcondition1 and sellcondition2)
    strategy.close(id="long")

if (close < basis and sellcondition2)
    strategy.entry("short", strategy.short, qty=amount)
    stoploss = close + atr * 4
    strategy.exit("exit sl", stop=stoploss, trail_offset=stoploss)
if (entrycondition1 and entrycondition2)
    strategy.close(id="short")