Strategi ini menggunakan Bollinger Bands untuk mengukur trend pasaran dan menggabungkan isyarat lebar jalur untuk mengenal pasti peluang dagangan, bertujuan untuk pertumbuhan portofolio pelaburan yang stabil.
Jangan ragu untuk mengubah parameter dan menguji strategi ini.
Jika anda berpuas hati dengan hasil yang ada dan ingin mengotomatiskan strategi ini, yang boleh dilakukan melalui amaran, anda perlu menukarnya kepada kajian dan menambah amaran dalam kod.
Strategi ini menggunakan Bollinger Bands dan lebar jalur untuk menentukan kemasukan dan keluar.
Bollinger Bands termasuk band atas, band tengah dan band bawah. Band tengah adalah purata bergerak sederhana n-periode, lalai n = 16. Band atas adalah band tengah + k * penyimpangan standard, band bawah adalah band tengah - k * penyimpangan standard, lalai k = 3. Apabila harga mendekati band atas, ia menunjukkan overvaluation atau overbought. Apabila harga mendekati band bawah, ia menunjukkan undervaluation atau oversold.
Indikator lebar jalur menunjukkan turun naik harga berbanding dengan band tengah. Ia dikira oleh (band atas - band bawah) / band tengah * 1000. Apabila lebar jalur di bawah 20, ia menunjukkan turun naik rendah atau penyatuan. Apabila lebar jalur melebihi 50, ia mewakili peningkatan turun naik.
Strategi ini mencari peluang panjang apabila lebar jalur adalah antara 20-50 dan harga pecah di bawah jalur bawah.
Kelebihan strategi ini termasuk:
Bollinger Bands mengukur arah trend, mengurangkan risiko daripada pecah palsu
Isyarat lebar jalur dengan tepat mengesan tindakan terhad jangkauan, mengelakkan kehilangan besar dari perubahan besar
Backtest menunjukkan hampir 80% keuntungan dalam tempoh 1 tahun, nisbah risiko-balasan yang sangat tinggi
Pengeluaran maksimum di bawah 5%, mengawal risiko dengan berkesan dan mengekalkan pertumbuhan portfolio yang stabil
Logik yang mudah dan jelas, mudah difahami dan dilaksanakan, digunakan secara meluas untuk pelbagai aset
Risiko strategi ini termasuk:
Tetapan parameter Bollinger yang buruk mungkin kehilangan peluang perdagangan yang baik
Kekerapan dagangan yang rendah semasa pasaran lembu atau lembu yang berterusan, keuntungan terhad
Data backtest yang tidak mencukupi, prestasi sebenar mungkin berbeza dari backtest
Stop loss boleh diambil semasa pergerakan melampau, yang membawa kepada kerugian besar
Kos urus niaga yang tinggi juga mengurangkan keuntungan sebenar
Penyelesaian:
Mengoptimumkan parameter dan menyesuaikan tempoh Bollinger berdasarkan pasaran
Memperkenalkan penunjuk tambahan untuk menangani keadaan pasaran yang tidak normal
Mengumpul data yang mencukupi dan ujian belakang di pelbagai pasaran untuk mengesahkan kestabilan
Sesuaikan Stop Loss dengan sewajarnya untuk mengelakkan kerugian besar dari pergerakan melampau
Pilih platform dagangan dengan komisen rendah untuk mengurangkan kos urus niaga
Strategi ini boleh ditingkatkan dalam aspek berikut:
Tambah pengesahan jumlah untuk mengelakkan pembocoran palsu
Gabungkan dengan penunjuk trend untuk mengenal pasti arah trend
Gunakan pembelajaran mesin untuk menyesuaikan parameter automatik dan menyesuaikan diri dengan pasaran
Tambah penapis korelasi untuk mengelakkan perdagangan aset yang tidak berkaitan
Mengoptimumkan mengambil keuntungan / berhenti kerugian untuk lebih banyak keuntungan semasa aliran naik
Memperkenalkan lebih banyak penapis keadaan untuk meningkatkan kadar kemenangan
Uji kombinasi pelbagai jangka masa untuk mendapat keuntungan daripada pelbagai kitaran
Membina portfolio yang diindeks untuk mengembangkan pendedahan
Gunakan pembelajaran mesin untuk menghasilkan & mengesahkan strategi baru secara automatik
Secara keseluruhan, strategi penembusan Bollinger Band ini diuji dengan baik dan dapat menghasilkan pulangan yang stabil di pasaran terhad. Logik terasnya mudah dan jelas, mudah dipahami dan digunakan. Tetapi penambahbaikan lanjut dalam pengoptimuman parameter, kawalan risiko dan pengurusan portfolio diperlukan untuk keuntungan yang stabil di pasaran yang kompleks. Ini adalah strategi trend asas, dan boleh ditingkatkan dengan memperkenalkan lebih banyak penunjuk teknikal dan mekanisme pengurusan risiko, atau digabungkan dengan pembelajaran mesin untuk automasi. Ringkasnya, strategi ini membuka pintu untuk perdagangan algoritma untuk pemula, dan juga menyediakan kemungkinan bagi peniaga berpengalaman untuk mengoptimumkan strategi.
/*backtest start: 2023-10-30 00:00:00 end: 2023-11-06 00:00:00 period: 3m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Bollinger Bands BAT/USDT 30min", overlay=true ) /// Indicators ///Bollinger Bands source = close length = input(16, minval=1) mult = input(3, step=0.1, minval=0.001, maxval=50) basis = sma(source, length) dev = mult * stdev(source, length) upper = basis + dev lower = basis - dev plot(basis, color=color.red) p1 = plot(upper, color=color.blue) p2 = plot(lower, color=color.blue) fill(p1, p2) //Bollinger bands width bbw = (upper-lower)/basis*1000 //plot(bbw, color=color.blue) upper_bbw_input = input(title="BBW Upper Threshold", step=1, minval=0, defval=50) lower_bbw_input = input(title="BBW Lower Threshold", step=1, minval=0, defval=20) // Backtesting Period testStartYear = input(2019, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testStopYear = input(2020, "Backtest Stop Year") testStopMonth = input(12, "Backtest Stop Month") testStopDay = input(31, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0) testPeriod() => true // Take Profit tp_inp = input(8, title='Take Profit %', step=0.1)/100 take_level = strategy.position_avg_price * (1 + tp_inp) //Entry Strategy entry_long = crossover(source, lower) and (bbw < upper_bbw_input) and (bbw > lower_bbw_input) exit_long = cross(high,upper) or close < lower if testPeriod() strategy.entry(id="LongBB", long=true, comment="LongBB", when=entry_long) strategy.exit("Take Profit Long","LongBB",limit=take_level) strategy.close(id="LongBB", when=exit_long )