Strategi ini melaksanakan trend automatik selepas perdagangan dengan mengira Bollinger Bands untuk mengenal pasti penurunan dan puncak dan menggunakan purata bergerak jangka panjang dan jangka pendek untuk menentukan arah trend keseluruhan.
Komponen utama strategi adalah:
Mengira Bollinger Bands dengan band atas dan bawah berdasarkan harga dekat dan penyimpangan standard.
Menentukan trend jangka panjang dan jangka pendek menggunakan SMA 300 tempoh dan 20 tempoh.
Menghasilkan isyarat beli apabila penutupan pecah di bawah band bawah manakala SMA panjang berada di atas dan SMA pendek muncul.
Menghasilkan isyarat jual apabila penutupan pecah di atas jalur atas manakala SMA panjang berada di bawah dan SMA pendek bertukar ke bawah.
Gunakan pesanan OCO untuk menetapkan stop loss dan mengambil keuntungan.
Dengan reka bentuk ini, strategi secara automatik dapat mengenal pasti peluang membeli dan menjual puncak di sepanjang arah trend utama.
Kelebihan strategi ini termasuk:
Pengesanan trend automatik tanpa penilaian manual.
Secara sistematik menangkap kejatuhan untuk peluang membeli.
Secara sistematik mengenal pasti peluang jualan puncak untuk mengambil keuntungan.
Kawalan risiko yang berkesan menggunakan stop loss dan mengambil keuntungan.
Menapis isyarat yang tidak sah untuk meningkatkan kadar kemenangan.
Trend fleksibel mengikut penyesuaian kedudukan.
Logik yang jelas dan mudah difahami dan dioptimumkan.
Risiko utama yang perlu dipertimbangkan:
Pemilihan sekuriti yang tidak sesuai boleh gagal menjejaki trend.
Penyesuaian parameter yang tidak betul boleh menyebabkan overtrading atau perdagangan yang terlepas.
Pembalikan trend daripada peristiwa tiba-tiba boleh membawa kepada kerugian yang lebih besar.
Stop loss terlalu ketat boleh menyebabkan berhenti berlebihan.
Kecairan yang tidak mencukupi boleh menghalang pelaksanaan penuh.
Penyesuaian berlebihan dengan tempoh backtesting yang tidak mencukupi.
Penyelesaian termasuk: memilih saham cair dengan trend yang jelas; mengoptimumkan parameter; berhati-hati dengan berita; santai stop loss; menilai jumlah dagangan sebenar; memperluaskan tempoh backtest.
Beberapa cara untuk mengoptimumkan strategi:
Mengoptimumkan parameter seperti tempoh Bollinger, pengganda penyimpangan standard dan tempoh purata bergerak.
Tambah kaedah stop loss seperti trailing stop atau moving average stop untuk mengawal risiko dengan lebih baik.
Memasukkan saiz kedudukan berdasarkan tahap utama untuk meningkatkan kecekapan penggunaan modal.
Tambah penapis kelantangan untuk mengelakkan pecah tidak sah dengan jumlah yang rendah.
Tambah penunjuk kekuatan relatif untuk menentukan bias beli / jual.
Memperkenalkan pembelajaran mesin untuk penyesuaian parameter automatik dan penilaian strategi.
Gabungkan dengan strategi lain untuk mewujudkan portfolio pelbagai strategi untuk ketahanan yang lebih besar.
Pengoptimuman ini boleh meningkatkan lagi prestasi dan kestabilan strategi.
Strategi ini menawarkan pendekatan yang jelas dan mudah difahami untuk membeli secara sistematik penurunan dan menjual puncak di sepanjang trend. Dengan kawalan risiko yang betul, ia mempunyai potensi keuntungan yang baik. Penambahbaikan lanjut boleh dibuat melalui penyesuaian parameter, pengubahsuaian stop loss, ukuran kedudukan, dll. Strategi ini berfungsi sebagai asas yang kukuh untuk trend automatik selepas perdagangan.
/*backtest start: 2023-09-23 00:00:00 end: 2023-10-23 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Buy Dip Sell Rip Strategy", overlay=true) source = close length = input(15, minval=1) mult = input(1.25, minval=0.001, maxval=50) longMAPeriod = input(300, minval=5) shortMAPeriod = input(20, minval=5) basis = sma(source, length) longMA = sma(source, longMAPeriod) prevLongMA = sma(close[1],longMAPeriod) shortMA = sma(source, shortMAPeriod) dev = mult * stdev(source, length) upper = basis + dev lower = basis - dev buyEntry = crossover(source, lower) sellEntry = crossunder(source, upper) if (source > lower and source[1] < lower) if (longMA < source and shortMA>source) strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands", comment="BBandLE") else strategy.close("BBandSE") else strategy.cancel(id="BBandLE") if (source > upper and source[1] < upper) if (longMA > source and shortMA < source) strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands", comment="BBandSE") else strategy.close("BBandLE") else strategy.cancel(id="BBandSE") //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)