Bollinger Band Breakout Reversion Strategy Trading


Tarikh penciptaan: 2024-03-08 14:08:53 Akhirnya diubah suai: 2024-03-08 14:08:53
Salin: 2 Bilangan klik: 358
1
fokus pada
1237
Pengikut

Bollinger Band Breakout Reversion Strategy Trading

Gambaran keseluruhan

Strategi ini adalah berdasarkan pada indikator Bollinger Bands, dan idea utamanya adalah untuk menunggu harga kembali ke dalam Bollinger Bands selepas harga menembusi Bollinger Bands ke atas atau ke bawah, dan kemudian membina kedudukan yang sama dengan arah penembusan di titik pemulihan. Strategi ini menggunakan ciri-ciri harga yang sering berbalik di kawasan yang melampau, untuk menangkap titik-titik perubahan pasaran dengan kombinasi keadaan penembusan Bollinger Bands dan kembali, dengan harapan untuk mendapatkan peluang yang lebih tinggi.

Prinsip Strategi

  1. Hitung lintasan tengah, lintasan atas, dan lintasan bawah untuk tali pinggang Brin. Lintasan tengah adalah purata bergerak, lintasan atas dan lintasan bawah adalah lintasan tengah ditambah tolak perbezaan piawai tertentu.
  2. Menentukan sama ada harga menembusi jalur atas atau bawah Brin Belt. Jika harga penutupan melebihi jalur atas, ia dianggap sebagai penembusan ke atas; jika harga penutupan jatuh dari jalur bawah, ia dianggap sebagai penembusan ke bawah.
  3. Jika berlaku penembusan ke atas, rekodkan harga tertinggi yang melanggar garis K sebagai puncak. Jika berlaku penembusan ke bawah, rekodkan harga terendah yang melanggar garis K sebagai puncak. Puncak digunakan untuk menilai kemudiannya sama ada harga kembali.
  4. Selepas berlaku penembusan, tunggu harga kembali ke dalam kawasan Brin. Jika pada masa ini harga penutupan berada di antara rantaian atas dan bawah, maka harga dianggap telah kembali.
  5. Apabila harga kembali, jika garis K terdahulu adalah ke atas, ia akan pecah.[1]and inside), maka ia akan terbuka dengan pelbagai arah; jika garis K yang terdahulu adalah ke arah bawah (break_down)[1]and inside), dan kosong.
  6. Pentadbiran pegangan: Jika pegangan berbilang, harga penutupan di atas melintasi rel, maka rata; jika pegangan kosong, harga penutupan di bawah melintasi rel, maka rata.

Analisis kelebihan

  1. Brin mempunyai kemampuan beradaptasi yang kuat dan dapat menyesuaikan diri secara dinamik dengan turun naik harga, yang membantu menangkap trend dan turun naik.
  2. Berbanding dengan strategi Brin Belt Breakthrough yang sederhana, ia menambah syarat untuk kembali, yang dapat mengelakkan pengejaran dan meningkatkan kualiti permainan.
  3. Syarat pegangan sejajar adalah rujukan, mudah digunakan, dan dapat melindungi keuntungan dengan baik.
  4. Parameter yang boleh disesuaikan seperti panjang, kelipatan penyimpangan dan lain-lain adalah fleksibel.

Analisis risiko

  1. Pilihan parameter Brin yang tidak betul boleh menyebabkan masuk terlalu awal atau terlalu lewat, mempengaruhi prestasi strategi. Ia boleh dikurangkan dengan mengoptimumkan parameter.
  2. Ia mungkin berlaku apabila harga bergoyang di sekitar Brin Belt, yang menyebabkan kos dagangan meningkat.
  3. Jika trendnya kuat, harga tidak akan kembali ke dalam kawasan Brin untuk jangka masa yang lama dan mungkin akan kehilangan keuntungan trend.
  4. Penggunaan indikator Brin Belt semata-mata mungkin tidak berkesan untuk sesetengah baka atau sesetengah keadaan, dan perlu digabungkan dengan isyarat lain.

Arah pengoptimuman

  1. Anda boleh mempertimbangkan untuk memperkenalkan lebih banyak syarat penapisan, seperti harga yang berjalan di atas Brin untuk seketika dan kemudian menembusi lebih dipercayai, atau sudut MA, indikator penghakiman trend seperti ADX untuk penilaian tambahan.
  2. Dalam keadaan gegaran, anda boleh menambah senarai harga terhad dan pemasa untuk mengelakkan perdagangan buta.
  3. Pada bahagian kedudukan rata, anda boleh menggabungkan ATR atau garis rata untuk mengawal masa permainan.
  4. Mengoptimumkan parameter dan analisis ciri untuk pelbagai tanda dan kitaran, memilih tanda dan kitaran dagangan yang sesuai.
  5. Anda boleh mempertimbangkan untuk memasukkan pengurusan kedudukan, seperti meningkatkan kedudukan apabila kadar turun naik berkurangan, dan mengurangkan kedudukan apabila kadar turun naik meningkat.

ringkaskan

Strategi perdagangan Brin Belt Breakthrough Return adalah strategi perdagangan kuantitatif yang mudah dan praktikal. Ia menggunakan tindak balas harga terhadap keadaan yang melampau, membina keadaan pembukaan posisi terbuka melalui alat Brin Belt, dapat menangkap titik permulaan dan titik akhir trend, mengawal perdagangan yang kerap.

Kod sumber strategi
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-27 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(shorttitle="BB", title="Bollinger Bands", 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(1.7, minval=0.001, maxval=50, title="StdDev")

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
offset = input.int(0, "Offset", minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))

break_up = close > upper
break_down = close < lower
inside = close > lower and close < upper

sell_condition = break_up[1] and inside
buy_condition = break_down[1] and inside

// Conditions to close trades
close_sell_condition = close > basis
close_buy_condition = close < basis

trade_condition = sell_condition or buy_condition

// Tracking the high of the breakout candle
var float peak = na

if (not trade_condition)
    peak := close
if (break_up and peak < high)
    peak := high
if (break_down and peak > low)
    peak := low

// Entering positions
if (buy_condition)
    strategy.entry("Buy", strategy.long)
if (sell_condition)
    strategy.entry("Sell", strategy.short)

// Exiting positions when close crosses the basis
if (strategy.position_size > 0 and close_sell_condition) // If in a long position and close crosses above basis
    strategy.close("Buy")
if (strategy.position_size < 0 and close_buy_condition) // If in a short position and close crosses below basis
    strategy.close("Sell")