Strategi trading short selling ketika Bollinger Band melintasi di bawah harga dengan RSI Callback

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

img

Gambaran umum

Strategi ini menggunakan Bollinger Bands untuk menentukan apakah harga telah memasuki area overbought dan menggabungkan indikator RSI untuk mengidentifikasi peluang callback.

Prinsip Perdagangan

Strategi ini didasarkan pada prinsip-prinsip berikut:

  1. Ketika harga penutupan melintasi di atas Bollinger Upper Band, itu menunjukkan aset telah memasuki wilayah overbought dan kemungkinan callback.
  2. Indikator RSI secara efektif menentukan tingkat overbought/oversold.
  3. Pergi short ketika harga penutupan melintasi di bawah Upper Band
  4. Posisi close ketika RSI menarik kembali dari zona overbought atau stop loss dipicu

Analisis Keuntungan

Keuntungan dari strategi ini:

  1. Bollinger Bands menentukan tingkat overbought/oversold secara akurat, meningkatkan tingkat keberhasilan perdagangan
  2. RSI menyaring sinyal pecah palsu, menghindari kerugian yang tidak perlu
  3. Rasio risiko dan imbalan yang tinggi diperoleh dengan mengontrol risiko secara efektif

Analisis Risiko

Risiko dalam strategi ini:

  1. Harga mungkin terus naik setelah memecahkan di atas Upper Band, menyebabkan kerugian lebih lanjut
  2. Kegagalan untuk menarik RSI tepat waktu menghasilkan amplifikasi kerugian
  3. Posisi pendek unidirectional tidak meninggalkan ruang untuk perdagangan dalam konsolidasi

Risiko dapat diminimalkan dengan:

  1. Mengatur stop loss dengan benar untuk stop out tepat waktu
  2. Menambahkan indikator untuk mengkonfirmasi callback RSI
  3. Menggunakan rata-rata bergerak untuk menentukan konsolidasi

Arahan Optimasi

Strategi ini dapat ditingkatkan dengan:

  1. Mengoptimalkan parameter Bollinger untuk lebih banyak aset
  2. Parameter RSI yang disesuaikan untuk sinyal yang lebih baik
  3. Menambahkan lebih banyak indikator untuk menentukan titik pembalikan tren
  4. Mengintegrasikan logika perdagangan panjang
  5. Mengimplementasikan stop loss dinamis berdasarkan volatilitas

Kesimpulan

Ringkasnya, ini adalah strategi scalping pendek cepat overbought yang khas. Ini memanfaatkan Bollinger Bands untuk entri perdagangan dan RSI untuk menyaring sinyal. Risiko dikelola melalui penempatan stop loss yang bijaksana. Peningkatan lebih lanjut dapat datang dari penyesuaian parameter, menambahkan indikator, memperluas logika perdagangan dll.


/*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 banyak