Strategi ini berdasarkan pada penunjuk Bollinger Bands. Ia menangkap trend pasaran dengan pergi pendek apabila harga menyentuh band atas dan pergi panjang apabila ia menyentuh band bawah. Di samping itu, strategi memperkenalkan konsep piramid, di mana ia akan terus menambah kedudukan dalam arah asal jika bilangan kedudukan tidak mencapai maksimum yang ditetapkan.
Band Bollinger terdiri daripada tiga garis. Band tengah adalah purata bergerak mudah harga penutupan. Band atas dan bawah adalah sebilangan tertentu penyimpangan standard di atas dan di bawah band tengah. Oleh kerana harga sentiasa turun naik di sekitar purata, band atas dan bawah Bollinger Bands boleh dilihat sebagai julat tekanan untuk harga. Apabila harga memecahkan band atas, ia menunjukkan trend menaik yang kuat dan kedudukan panjang boleh diambil; pecah di bawah band bawah menunjukkan trend menurun yang kuat dan kedudukan pendek boleh diambil. Pada masa yang sama, apabila bilangan kedudukan kurang daripada maksimum yang ditetapkan, strategi akan terus menambah kedudukan berdasarkan kedudukan asal, memperkuat intensiti penangkapan trend.
Strategi ini menggunakan ciri-ciri trend Bollinger Bands. Dengan memasuki kedudukan apabila harga menyentuh band atas dan bawah, dan memperkuat intensiti penangkapan trend melalui piramid, idea keseluruhan adalah mudah dan berkesan. Walau bagaimanapun, ia juga mempunyai kelewatan dan kepekaan parameter tertentu. Dalam aplikasi praktikal, perhatian perlu dibayar untuk mengoptimumkan parameter dan pengurusan kedudukan.
/*backtest start: 2024-03-01 00:00:00 end: 2024-03-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Bands Breakout Strategy", overlay=true) // Définition des paramètres length = input(20, title="Bollinger Bands Length") multiplier = input(2.0, title="Multiplier") pyramiding = input(5, title="Pyramiding") // Calcul des bandes de Bollinger basis = ta.sma(close, length) dev = multiplier * ta.stdev(close, length) upper_band = basis + dev lower_band = basis - dev // Règles d'entrée buy_signal = close <= lower_band sell_signal = close >= upper_band // Gestion des positions if (buy_signal) strategy.entry("Buy", strategy.long) if (sell_signal) strategy.entry("Sell", strategy.short) // Pyramiding if (strategy.opentrades < pyramiding) strategy.entry("Buy", strategy.long) else if (strategy.opentrades > pyramiding) strategy.entry("Sell", strategy.short) // Tracé des bandes de Bollinger plot(basis, color=color.blue) plot(upper_band, color=color.red) plot(lower_band, color=color.green)