Strategi ini didasarkan pada indikator Bollinger Bands, dikombinasikan dengan indikator momentum untuk menerapkan strategi perdagangan kombinasi reversi Bollinger Bands dan momentum breakout.
Strategi ini menggunakan garis tengah Bollinger Bands sma sebagai indikator rata-rata bergerak, dan secara dinamis menyesuaikan lebar band melalui param mult * stdev. Ketika harga menembus garis tengah dari bawah, ini menunjukkan momentum ke atas diperoleh dan dengan demikian pergi panjang. Ketika harga menembus garis tengah dari atas, ini menunjukkan momentum ke bawah diperoleh dan dengan demikian pergi pendek. Setelah memasuki posisi panjang / pendek, parameter stop loss dan take profit diatur untuk melacak keuntungan dan mengendalikan risiko.
Secara khusus, Bollinger Bands dihitung dengan dua parameter - panjang dan mult. Panjang menentukan periode garis tengah dan mult menentukan lebar band. enterLong dan enterShort menilai waktu breakout. exitLong dan exitShort menghitung stop loss dan mengambil harga profit berdasarkan harga masuk dan persentase target.
Strategi ini menggabungkan kemunduran ke rata-rata dan momentum, yang memungkinkan untuk menangkap tren utama sejak awal. Dibandingkan dengan hanya melacak rata-rata bergerak, penilaian momentum tambahan berdasarkan lebar Bollinger Bands dapat menyaring beberapa breakout palsu. Stop loss dan take profit ditetapkan langsung berdasarkan harga masuk tanpa intervensi manual.
Parameter seperti periode, lebar pita dan stop loss range dapat dioptimalkan untuk membuat strategi dapat disesuaikan dengan kondisi pasar yang berbeda.
Strategi ini menggabungkan kekuatan reversi dan momentum Bollinger Bands, yang memungkinkannya untuk menangkap beberapa tren sejak awal. Melalui penyesuaian parameter dapat beradaptasi dengan tahap pasar yang berbeda. Perhitungan stop loss / take profit langsung mengurangi intervensi manual. Masih ada ruang untuk perbaikan, misalnya menggabungkan lebih banyak indikator bantu. Ini akan ditingkatkan secara bertahap dalam penelitian dan optimalisasi lebih lanjut.
/*backtest start: 2023-11-13 00:00:00 end: 2023-11-20 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("BURATINO", overlay=true) // Входные параметры length = input(20, minval=1, title="Length") mult = input(2.0, minval=0.1, maxval=5, title="Multiplier") target_percent = input(0.5, minval=0.1, title="Target Percent") stop_loss_percent = input(95, minval=0.1, title="Stop Loss Percent") // Расчет полос Боллинджера basis = sma(close, length) dev = mult * stdev(close, length) upper = basis + dev lower = basis - dev // Переворот снизу вверх через среднюю линию Боллинджера для открытия лонга enterLong = cross(close, basis) and close[1] < basis[1] // Переворот сверху вниз через среднюю линию Боллинджера для открытия шорта enterShort = cross(basis, close) and close[1] > basis[1] // Закрытие лонга после роста цены на указанный процент или падения на указанный процент exitLong = close >= strategy.position_avg_price * (1 + (target_percent / 100)) or close <= strategy.position_avg_price * (1 - (stop_loss_percent / 100)) // Закрытие шорта после падения цены на указанный процент или роста на указанный процент exitShort = close <= strategy.position_avg_price * (1 - (target_percent / 100)) or close >= strategy.position_avg_price * (1 + (stop_loss_percent / 100)) // Управление позициями и ограничениями на открытие противоположных позиций strategy.entry("Long", strategy.long, when = enterLong and strategy.position_size == 0) strategy.entry("Short", strategy.short, when = enterShort and strategy.position_size == 0) strategy.close("Long", when = exitLong) strategy.close("Short", when = exitShort) // Визуализация полос Боллинджера plot(basis, color=color.blue, title="Basis") plot(upper, color=color.red, title="Upper") plot(lower, color=color.green, title="Lower")