Strategi Dagangan Jualan Singkat Apabila Bollinger Band Melalui Di Bawah Harga Dengan RSI Callback

Penulis:ChaoZhang, Tarikh: 2023-12-26 12:08:44
Tag:

img

Ringkasan

Strategi ini menggunakan Bollinger Bands untuk menentukan sama ada harga telah memasuki kawasan overbought dan menggabungkan penunjuk RSI untuk mengenal pasti peluang callback.

Prinsip Perdagangan

Strategi ini berdasarkan prinsip-prinsip berikut:

  1. Apabila harga penutupan melintasi di atas Bollinger Upper Band, ia menunjukkan aset telah memasuki wilayah overbought dan panggilan balik mungkin.
  2. Indikator RSI secara berkesan menentukan tahap overbought/oversold. RSI > 70 dianggap overbought
  3. Pergi pendek apabila harga penutupan melintasi di bawah Band Atas
  4. Posisi ditutup apabila RSI menarik balik dari zon overbought atau stop loss dicetuskan

Analisis Kelebihan

Kelebihan strategi ini:

  1. Bollinger Bands menentukan tahap overbought / oversold dengan tepat, meningkatkan kadar kejayaan perdagangan
  2. RSI menapis isyarat pecah palsu, mengelakkan kerugian yang tidak perlu
  3. Nisbah risiko dan ganjaran yang tinggi yang diperolehi dengan mengawal risiko dengan berkesan

Analisis Risiko

Risiko dalam strategi ini:

  1. Harga boleh terus naik selepas memecahkan di atas Upper Band, membawa kepada kerugian lanjut
  2. Kegagalan penarikan balik RSI tepat pada masanya mengakibatkan peningkatan kerugian
  3. Posisi pendek satu arah tidak meninggalkan ruang untuk perdagangan dalam penyatuan

Risiko boleh dikurangkan dengan:

  1. Menyesuaikan stop loss dengan betul untuk stop out tepat pada masanya
  2. Menambah penunjuk untuk mengesahkan panggilan balik RSI
  3. Menggunakan purata bergerak untuk menentukan penyatuan

Arahan pengoptimuman

Strategi ini boleh ditingkatkan dengan:

  1. Mengoptimumkan parameter Bollinger untuk lebih banyak aset
  2. Parameter RSI yang disesuaikan untuk isyarat yang lebih baik
  3. Menambah lebih banyak penunjuk untuk menentukan titik pembalikan trend
  4. Menggabungkan logik perdagangan panjang
  5. Melaksanakan stop loss dinamik berdasarkan turun naik

Kesimpulan

Ringkasnya, ini adalah strategi scalping pendek cepat yang terlalu banyak dibeli. Ia memanfaatkan Bollinger Bands untuk entri perdagangan dan RSI untuk menapis isyarat. Risiko dikendalikan melalui penempatan stop loss yang berhati-hati. Peningkatan lanjut boleh datang dari penyesuaian parameter, menambah penunjuk, memperluaskan logik perdagangan dan lain-lain.


/*backtest
start: 2023-11-01 00:00:00
end: 2023-11-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Coinrule


strategy("Bollinger Band Below Price with RSI",
         overlay=true,
         initial_capital=1000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=70,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2022, 1, 1, 0, 0)
notInTrade = strategy.position_size <= 0

//Bollinger Bands Indicator
length = input.int(20, minval=1)
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))

// RSI inputs and calculations
lengthRSI = 14
RSI = ta.rsi(close, lengthRSI)



// Configure trail stop level with input options
longTrailPerc = input.float(title='Trail Long Loss (%)', minval=0.0, step=0.1, defval=3) * 0.01
shortTrailPerc = input.float(title='Trail Short Loss (%)', minval=0.0, step=0.1, defval=3) * 0.01

// Determine trail stop loss prices
//longStopPrice = 0.0
shortStopPrice = 0.0

//longStopPrice := if strategy.position_size > 0
    //stopValue = close * (1 - longTrailPerc)
    //math.max(stopValue, longStopPrice[1])
//else
    //0

shortStopPrice := if strategy.position_size < 0
    stopValue = close * (1 + shortTrailPerc)
    math.min(stopValue, shortStopPrice[1])
else
    999999


//Entry and Exit
strategy.entry(id="short", direction=strategy.short, when=ta.crossover(close, upper) and RSI < 70 and timePeriod and notInTrade)

if (ta.crossover(upper, close) and RSI > 70 and timePeriod)
    strategy.exit(id='close', limit = shortStopPrice)











Lebih lanjut