Strategi perdagangan penjejakan pintar berdasarkan Bollinger Bands


Tarikh penciptaan: 2024-01-17 14:05:36 Akhirnya diubah suai: 2024-01-17 14:05:36
Salin: 1 Bilangan klik: 590
1
fokus pada
1617
Pengikut

Strategi perdagangan penjejakan pintar berdasarkan Bollinger Bands

Gambaran keseluruhan

Strategi ini adalah berdasarkan reka bentuk penunjuk Bollinger Bands, yang melakukan shortcuts apabila harga menembusi Bollinger Bands ke atas, dan melakukan lebih banyak apabila ia menembusi bawah, untuk mencapai perdagangan yang dijejaki secara pintar.

Prinsip Strategi

Strategi ini menggunakan garis tengah, atas, dan bawah yang berasaskan indikator dalam Brin Belt. Garis tengah adalah purata bergerak harga penutupan n hari, garis atas adalah dua perbezaan standard yang menyimpang di atas garis tengah, dan garis bawah adalah dua perbezaan standard yang menyimpang di bawah garis tengah. Apabila harga bergerak dari arah bawah, lakukan lebih banyak; apabila harga bergerak dari arah atas, lakukan kosong.

Secara khusus, strategi ini menilai dua indikator utama:

  1. ta.crossover ((source, lower): harga penutupan menembusi ke bawah, melakukan lebih

  2. ta.crossunder{source, upper}: naik ke arah harga penutupan, melakukan pengurangan

Apabila triggering keadaan kedudukan kosong, gunakan fungsi strategy.cancel () untuk melonggarkan kedudukan semasa.

Analisis kelebihan strategi

Strategi ini mempunyai kelebihan utama:

  1. Reka bentuk berdasarkan indikator Brin Belt, yang dapat menangkap turun naik pasaran dan mengesan pergerakan harga dengan berkesan
  2. Peraturan jelas, mudah difahami dan dilaksanakan
  3. Parameter yang boleh disesuaikan seperti panjang kitaran, perkalian perbezaan piawai, dan sebagainya
  4. Keupayaan strategi pengoptimuman seperti hentian bergerak, hentian tetap dan hentian bergerak boleh dikonfigurasi

Analisis risiko strategi

Strategi ini mempunyai beberapa risiko:

  1. Penembusan tali pinggang Brin mudah dipalsukan dan boleh menyebabkan isyarat palsu
  2. Kesan bergantung pada pengoptimuman parameter, pilihan parameter yang salah boleh menjejaskan keuntungan
  3. Kesukaran untuk menjejaki hentian kerugian, ketidakupayaan untuk mengawal kerugian individu dengan berkesan

Penyelesaian:

  1. Digabungkan dengan indikator lain untuk menapis isyarat dan mengelakkan penembusan palsu
  2. Lakukan ujian parameter dan pilih kombinasi parameter yang terbaik
  3. Tambah klip stop loss bergerak atau trend track

Arah pengoptimuman strategi

Strategi ini boleh dioptimumkan lagi:

  1. Meneroka arah trend dengan penunjuk lain untuk mengelakkan pasaran yang tidak sesuai dengan strategi Brin Belt
  2. Uji kesesuaian parameter kitaran yang berbeza untuk mencari kitaran yang optimum
  3. Menambah mekanisme berhenti bergerak atau berhenti mengikut trend untuk mengawal kerugian tunggal

ringkaskan

Strategi ini adalah berdasarkan reka bentuk indikator Brin, menggunakan harga untuk menjejaki secara automatik. Strategi ini mudah difahami, sensitif terhadap turun naik pasaran, dan dapat mengoptimumkan lagi kesan melalui pengoptimuman parameter dan hentian kerugian. Secara umum, strategi ini sesuai untuk indeks saham atau pasaran komoditi yang lebih bergelombang.

Kod sumber strategi
/*backtest
start: 2023-12-17 00:00:00
end: 2024-01-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands Strategy with alerts (incl. pending orders) via TradingConnector to Forex", overlay=true)
source = close
length = input.int(20, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev
buyEntry = ta.crossover(source, lower)
sellEntry = ta.crossunder(source, upper)
if (ta.crossover(source, lower))
	strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands", comment="BBandLE")
    alert(message='long price='+str.tostring(lower), freq=alert.freq_once_per_bar_close)
else
	strategy.cancel(id="BBandLE")
    alert(message='cancel long', freq=alert.freq_once_per_bar_close)
if (ta.crossunder(source, upper))
	strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands", comment="BBandSE")
    alert(message='short price='+str.tostring(upper), freq=alert.freq_once_per_bar_close)
else
	strategy.cancel(id="BBandSE")
    alert(message='cancel short', freq=alert.freq_once_per_bar_close)
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

//Lines of code added to the original built-in script: 14, 17, 20 and 23 only.
//They trigger alerts ready to be executed on real markets through TradingConnector
//available for Forex, indices, crypto, stocks - anything your broker offers for trading via MetaTrader4/5