Strategi ini didasarkan pada indikator Bollinger Bands. Ini menangkap tren pasar dengan pergi pendek ketika harga menyentuh band atas dan pergi panjang ketika menyentuh band bawah. Selain itu, strategi ini memperkenalkan konsep piramida, di mana akan terus menambahkan posisi dalam arah asli jika jumlah posisi belum mencapai maksimum yang ditetapkan.
Bollinger Bands terdiri dari tiga garis. Band tengah adalah rata-rata bergerak sederhana dari harga penutupan. Band atas dan bawah adalah sejumlah penyimpangan standar di atas dan di bawah band tengah. Karena harga selalu berfluktuasi di sekitar rata-rata, band atas dan bawah Bollinger Bands dapat dilihat sebagai rentang tekanan untuk harga. Ketika harga menembus band atas, itu menunjukkan tren naik yang kuat dan posisi panjang dapat diambil; istirahat di bawah band bawah menunjukkan tren menurun yang kuat dan posisi pendek dapat diambil. Pada saat yang sama, ketika jumlah posisi kurang dari maksimum yang ditetapkan, strategi akan terus menambahkan posisi berdasarkan posisi asli, memperkuat intensitas penangkapan tren.
Strategi ini memanfaatkan karakteristik tren Bollinger Bands. Dengan memasuki posisi ketika harga menyentuh band atas dan bawah, dan memperkuat intensitas penangkapan tren melalui piramida, gagasan keseluruhan sederhana dan efektif. Namun, strategi ini juga memiliki keterlambatan dan sensitivitas parameter tertentu. Dalam aplikasi praktis, perhatian perlu dibayar untuk mengoptimalkan parameter dan manajemen posisi.
/*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)