Strategi ini menggunakan penunjuk RSI untuk menentukan arah trend pasaran yang berpotensi, digabungkan dengan penunjuk Bollinger Bands untuk mengenal pasti kawasan sokongan dan rintangan utama, dan mencari peluang penyerapan rendah di pasaran kejutan trend untuk menubuhkan kedudukan panjang dan mengambil keuntungan di kawasan yang terlalu banyak dibeli.
Gunakan penunjuk RSI untuk menentukan arah trend pasaran yang berpotensi. RSI di bawah 40 dianggap sebagai kawasan oversold di mana pasaran boleh menjadi bullish. RSI di atas 50 dianggap sebagai kawasan overbought di mana pasaran boleh menjadi bearish.
Gunakan penunjuk Bollinger Bands untuk mengenal pasti kawasan sokongan dan rintangan utama. Band tengah Bollinger Bands adalah garis purata pergerakan harga, dan band atas dan bawah membentuk saluran penyimpangan standard harga. Harga yang mendekati band bawah memberikan peluang penyerapan yang rendah.
Apabila RSI <40 dan harga mendekati band bawah Bollinger, ia ditentukan sebagai peluang panjang penyerapan rendah untuk menubuhkan kedudukan panjang.
Apabila RSI >50 atau keuntungan melebihi 50%, tutup kedudukan panjang untuk mengambil keuntungan dan mengurangkan kerugian.
Gunakan RSI untuk menentukan arah trend pasaran yang berpotensi untuk mengelakkan perdagangan terhadap trend.
Mengenal pasti masa kemasukan yang tepat yang digabungkan dengan Bollinger Bands untuk mencari titik penyerapan yang rendah.
Menggunakan metodologi kejutan trend untuk mengelakkan terperangkap.
Mekanisme berhenti keuntungan dan berhenti kerugian yang fleksibel untuk memaksimumkan keuntungan.
Parameter Bollinger yang tidak betul mungkin gagal untuk mencari kawasan sokongan dengan betul.
Terobosan trend atau terobosan palsu boleh membawa kepada kesilapan dalam pertimbangan overbought dan oversold.
Penentuan titik stop profit dan stop loss yang tidak betul boleh membawa kepada keluar awal atau peningkatan kerugian.
Mengoptimumkan parameter Bollinger untuk mengenal pasti kawasan sokongan dan rintangan yang lebih tepat.
Masukkan penunjuk lain seperti MACD dan KDJ untuk menapis isyarat palsu.
Secara dinamik mengoptimumkan algoritma berhenti keuntungan dan berhenti kerugian untuk memaksimumkan keuntungan sambil meminimumkan kerugian.
Strategi ini menentukan arah trend yang berpotensi dengan RSI, digabungkan dengan Bollinger Bands untuk mengenal pasti kawasan sokongan, merealisasikan pembelian rendah menjual tinggi, yang merupakan strategi kejutan trend biasa. Dengan pengoptimuman yang betul, ia boleh menjadi strategi kuantitatif yang boleh dipercayai dan stabil yang menguntungkan.
/*backtest start: 2023-12-28 00:00:00 end: 2024-01-04 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("price drop buy in", overlay=true, initial_capital=1000, max_bars_back=24) // === INPUT BACKTEST RANGE === FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2018, title = "From Year", minval = 2017) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2017) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => true // create function "within window of time" ///////////// RSI RSIlength = input(60,title="RSI Period Length") RSIoverSold = 40 RSIoverBought = 50 price = close vrsi = rsi(close, RSIlength) smaLong = sma(close,80) smaShort = sma(close,40) ///////////// Bollinger Bands BBlength = input(20, minval=1,title="Bollinger Period Length") BBmult = 2 // input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation") BBbasis = sma(price, BBlength) BBdev = BBmult * stdev(price, BBlength) BBupper = BBbasis + BBdev BBlower = BBbasis - BBdev longcondition = (price < BBlower and vrsi < RSIoverSold) // vrsi < RSIoverSold shortcondition = (RSIoverBought and strategy.openprofit > 50 ) or price > BBupper if(longcondition) strategy.entry('buy', strategy.long, when = window()) if(shortcondition) strategy.entry('sell', strategy.short, when = window())