BB Moving Average Breakout Strategi

SMA EMA SMMA RMA WMA VWMA STDDEV
Tarikh penciptaan: 2024-06-14 15:21:03 Akhirnya diubah suai: 2024-06-14 15:21:03
Salin: 1 Bilangan klik: 624
1
fokus pada
1617
Pengikut

BB Moving Average Breakout Strategi

Gambaran keseluruhan

Strategi ini berdasarkan pada Bollinger Bands, menghasilkan isyarat perdagangan dengan cara harga menembusi Bollinger Bands ke arah bawah. Apabila harga menembusi ke arah atas, lakukan lebih banyak, dan apabila ia menembusi ke arah bawah, kosong.

Prinsip Strategi

  1. Mengira purata bergerak untuk tempoh yang ditetapkan sebagai lintasan tengah dalam pita Brin, anda boleh memilih pelbagai jenis purata bergerak seperti SMA, EMA, SMMA, WMA dan VWMA.
  2. Pengiraan perbezaan piawai pada garisan tengah ditambah atau dikurangkan dengan beberapa kali ganda sebagai garisan atas dan bawah pada garisan Brin.
  3. Apabila harga menembusi tren naik, ia menghasilkan isyarat melakukan lebih banyak, dan apabila ia menembusi tren turun ia menghasilkan isyarat melakukan lebih sedikit.
  4. Jika memegang lebih banyak pilihan, tutup apabila harga jatuh ke bawah; jika memegang kosong, tutup apabila harga menembusi.

Analisis kelebihan

  1. Brinband dapat mengukur turun naik pasaran dengan baik dan memberikan isyarat perdagangan yang jelas apabila turun naik harga meningkat.
  2. Strategi ini juga menetapkan syarat-syarat berhenti untuk mengawal risiko dengan berkesan.
  3. Parameter strategi boleh disesuaikan, boleh dioptimumkan mengikut pelbagai jenis dan kitaran, dengan kebolehpasangan dan fleksibiliti tertentu.

Analisis risiko

  1. Dalam pasaran yang bergolak, harga yang sering menembusi Bollinger Bands boleh menyebabkan isyarat dagangan terlalu kerap, dan dengan itu meningkatkan kos dagangan.
  2. Brin mempunyai kemunduran tertentu, apabila pasaran berubah dengan cepat, isyarat perdagangan mungkin tertunda.
  3. Pilihan parameter Brin yang tidak betul boleh menyebabkan prestasi strategi yang tidak baik, yang perlu dioptimumkan mengikut pelbagai jenis dan kitaran.

Arah pengoptimuman

  1. Kaedah seperti pengenalan indikator trend atau pengenalan corak tingkah laku harga boleh dipertimbangkan untuk mengesahkan semula isyarat perdagangan untuk mengurangkan perdagangan rugi yang disebabkan oleh pecah palsu.
  2. Keadaan hentian boleh dioptimumkan, seperti menetapkan hentian dinamik berdasarkan petunjuk seperti ATR, atau memperkenalkan kaedah seperti hentian pengesanan untuk mengawal risiko lebih lanjut.
  3. Parameter strategi boleh dioptimumkan dengan menggunakan algoritma genetik, grid search dan lain-lain untuk mencari kombinasi parameter yang optimum.

ringkaskan

Strategi BB Breakout adalah strategi perdagangan berdasarkan indikator Bollinger Bands, dengan menangkap peluang harga untuk menembusi Bollinger Bands dan turun ke bawah. Strategi ini mempunyai kelebihan bahawa isyaratnya jelas, mudah dilaksanakan, dan mempunyai langkah-langkah kawalan risiko tertentu. Tetapi strategi ini juga mempunyai beberapa batasan, seperti frekuensi perdagangan yang mungkin terlalu tinggi, isyarat lag, dan sebagainya. Oleh itu, dalam aplikasi praktikal, anda boleh mempertimbangkan untuk memperbaiki strategi dari segi pengesahan isyarat, pengoptimuman stop loss, pengoptimuman parameter, dan sebagainya, untuk meningkatkan kestabilan dan keuntungan strategi.

Kod sumber strategi
/*backtest
start: 2023-06-08 00:00:00
end: 2024-06-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("BB Strategy", overlay=true)

// Input parameters
length = input.int(20, minval=1, title="Length")
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")
offset = input.int(0, "Offset", minval=-500, maxval=500, title="Offset")

// Moving average function
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)

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

// Plot Bollinger Bands
plot(basis, "Basis", color=color.blue, offset=offset)
p1 = plot(upper, "Upper", color=color.red, offset=offset)
p2 = plot(lower, "Lower", color=color.green, offset=offset)
fill(p1, p2, title="Background", color=color.rgb(33, 150, 243, 95))

// Strategy logic
longCondition = ta.crossover(close, upper)
shortCondition = ta.crossunder(close, lower)

// Strategy entries and exits
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)
if (shortCondition and strategy.position_size > 0)
    strategy.close("Long")
if (longCondition and strategy.position_size < 0)
    strategy.close("Short")