Strategi Beli Turun Harga dalam Trend Turun dengan Stop Loss

Penulis:ChaoZhang, Tarikh: 2024-01-05 14:18:05
Tag:

img

Ringkasan

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.

Logika Strategi

  1. 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.

  2. 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.

  3. Apabila RSI <40 dan harga mendekati band bawah Bollinger, ia ditentukan sebagai peluang panjang penyerapan rendah untuk menubuhkan kedudukan panjang.

  4. Apabila RSI >50 atau keuntungan melebihi 50%, tutup kedudukan panjang untuk mengambil keuntungan dan mengurangkan kerugian.

Analisis Kelebihan

  1. Gunakan RSI untuk menentukan arah trend pasaran yang berpotensi untuk mengelakkan perdagangan terhadap trend.

  2. Mengenal pasti masa kemasukan yang tepat yang digabungkan dengan Bollinger Bands untuk mencari titik penyerapan yang rendah.

  3. Menggunakan metodologi kejutan trend untuk mengelakkan terperangkap.

  4. Mekanisme berhenti keuntungan dan berhenti kerugian yang fleksibel untuk memaksimumkan keuntungan.

Analisis Risiko

  1. Parameter Bollinger yang tidak betul mungkin gagal untuk mencari kawasan sokongan dengan betul.

  2. Terobosan trend atau terobosan palsu boleh membawa kepada kesilapan dalam pertimbangan overbought dan oversold.

  3. Penentuan titik stop profit dan stop loss yang tidak betul boleh membawa kepada keluar awal atau peningkatan kerugian.

Arahan pengoptimuman

  1. Mengoptimumkan parameter Bollinger untuk mengenal pasti kawasan sokongan dan rintangan yang lebih tepat.

  2. Masukkan penunjuk lain seperti MACD dan KDJ untuk menapis isyarat palsu.

  3. Secara dinamik mengoptimumkan algoritma berhenti keuntungan dan berhenti kerugian untuk memaksimumkan keuntungan sambil meminimumkan kerugian.

Ringkasan

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())



Lebih lanjut