Strategi dagangan jangka pendek berdasarkan Bollinger Bands, Moving Averages dan RSI

BB MA RSI
Tarikh penciptaan: 2024-05-14 15:40:44 Akhirnya diubah suai: 2024-05-14 15:40:44
Salin: 2 Bilangan klik: 720
1
fokus pada
1617
Pengikut

Strategi dagangan jangka pendek berdasarkan Bollinger Bands, Moving Averages dan RSI

Gambaran keseluruhan

Strategi ini bertujuan untuk menangkap pergerakan harga jangka pendek dengan menggunakan gabungan Brinband (BB), Moving Average (MA) dan RSI (RSI) yang agak kuat. Strategi ini dilakukan apabila harga lebih tinggi daripada rata-rata naik dan bergerak, dan RSI menunjukkan keadaan oversold. Strategi ini menguruskan risiko dan mengunci keuntungan dengan peratusan stop loss dan stop loss, dan menyesuaikan harga tempat masuk mengikut peringkat akaun Bybit pedagang untuk mengambil kira kesan komisen.

Prinsip Strategi

Strategi ini berdasarkan kepada prinsip-prinsip berikut:

  1. Blinken: Apabila harga naik ke atas landasan, ia menunjukkan bahawa pasaran mungkin akan naik ke atas.
  2. Purata bergerak: harga lebih tinggi daripada purata bergerak, menunjukkan bahawa ia sedang dalam trend menaik.
  3. Indeks Relatif Lemah: Apabila RSI berada di bawah paras oversold, ia menunjukkan bahawa pasaran mungkin berbalik dan harga mungkin naik.

Strategi ini menggunakan gabungan ketiga-tiga indikator ini, apabila harga menembusi Brin dan berada di atas rata-rata bergerak, dan RSI berada di kawasan oversold, strategi ini menganggap bahawa pasaran mungkin mempunyai peluang untuk naik, dan oleh itu melakukan entri berbilang. Pada masa yang sama, strategi ini menetapkan harga hentian dan berhenti untuk mengawal risiko dan mengunci keuntungan.

Kelebihan Strategik

  1. Gabungan pelbagai indikator: Strategi ini mengambil kira Brinks, Moving Averages dan RSI untuk memberikan analisis pasaran yang lebih menyeluruh.
  2. Pengesanan Trend: Strategi dapat mengenal pasti trend pasaran semasa melalui Brinks dan moving averages.
  3. Isyarat oversold: menggunakan indikator RSI untuk mengenal pasti potensi oversold dan menangkap kemungkinan peluang untuk berbalik.
  4. Pengurusan risiko: Strategi ini menetapkan stop loss dan stop loss berdasarkan peratusan untuk membantu mengawal risiko dan mengunci keuntungan.
  5. Pertimbangan komisen: Harga kemasukan disesuaikan dengan peringkat akaun Bybit peniaga untuk mengambil kira kesan komisen.

Risiko Strategik

  1. Isyarat yang salah: Mana-mana petunjuk teknikal boleh menghasilkan isyarat yang salah, yang menyebabkan strategi melakukan perdagangan yang tidak perlu.
  2. Ketidakstabilan pasaran: Dalam jangka masa pendek, pasaran mungkin mengalami ketidaktentuan yang kuat, yang menyebabkan hentian tercetus atau kehilangan potensi keuntungan.
  3. Trend reversal: Strategi ini mengandaikan bahawa trend semasa akan berterusan, tetapi sebenarnya trend mungkin berbalik secara tiba-tiba, menyebabkan kerugian.
  4. Kesan komisen: Walaupun strategi mengambil kira komisen, perdagangan yang kerap masih boleh menyebabkan kos komisen meningkat dan menjejaskan hasil keseluruhan.

Arah pengoptimuman strategi

  1. Pengoptimuman parameter: Pengoptimuman parameter Brinks, purata bergerak dan RSI untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
  2. Gabungan pelbagai ruang: Anda boleh mempertimbangkan untuk memasukkan syarat perdagangan kosong untuk memanfaatkan peluang pasaran yang berbeza.
  3. Stop Loss Dinamis: Mengubah tahap stop loss dan stop loss mengikut pergerakan pasaran yang tidak menentu untuk mengawal risiko dan mengunci keuntungan.
  4. Gabungan penunjuk lain: Pertimbangkan untuk memperkenalkan penunjuk teknikal lain, seperti MACD, ATR, dan lain-lain, untuk meningkatkan kebolehpercayaan strategi.
  5. Pengurusan wang: Kaedah pengurusan wang yang dioptimumkan, seperti saiz kedudukan yang disesuaikan dengan risiko, untuk meningkatkan pulangan yang disesuaikan dengan risiko strategi.

ringkaskan

Strategi ini menggunakan kombinasi Brinband, Moving Average dan RSI untuk mengenal pasti peluang perdagangan berlainan arah dalam jangka pendek. Ia menggunakan Brinband dan Moving Average untuk menentukan trend, menggunakan RSI untuk mengenal pasti keadaan oversold, dan menetapkan stop loss untuk menguruskan risiko. Strategi ini mempertimbangkan kesan komisen dan disesuaikan dengan peringkat akaun Bybit peniaga.

Kod sumber strategi
/*backtest
start: 2023-05-08 00:00:00
end: 2024-05-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@BryanAaron

//@version=5
strategy("Bybit . BB Short-Term Trading Strategy - Long Only", overlay=true)

// Input parameters
bbLength = input(45, title="BB Length")
bbMultiplier = input(1.0, title="BB Multiplier")
maLength = input(90, title="MA Length")
rsiLength = input(5, title="RSI Length")
rsiUpperThreshold = input(85, title="RSI Upper Threshold")
rsiLowerThreshold = input(45, title="RSI Lower Threshold")
slPerc = input(2.0, title="Stop Loss %")
tpPerc = input(4.0, title="Take Profit %")
bybitAccountLevel = input.string("VIP 0", title="Bybit Account Level", options=["VIP 0", "VIP 1", "VIP 2", "VIP 3", "VIP 4"])

// Calculate Bollinger Bands
[bbMiddle, bbUpper, bbLower] = ta.bb(close, bbLength, bbMultiplier)

// Calculate moving average
ma = ta.sma(close, maLength)

// Calculate RSI
rsi = ta.rsi(close, rsiLength)

// Trading conditions
longCondition = close > bbUpper and close > ma and rsi < rsiLowerThreshold
shortCondition = close < bbLower and close < ma and rsi > rsiUpperThreshold

// Entry and exit signals
var bool longEntry = false
var bool shortEntry = false

if (longCondition and not longEntry)
    longEntry := true
    shortEntry := false
else if (shortCondition and not shortEntry)
    shortEntry := true
    longEntry := false
else if (not longCondition and not shortCondition)
    longEntry := false
    shortEntry := false

// Set commission based on Bybit account level
commissionPerc = switch bybitAccountLevel
    "VIP 0" => 0.075
    "VIP 1" => 0.065
    "VIP 2" => 0.055
    "VIP 3" => 0.045
    "VIP 4" => 0.035
    => 0.075

// Adjust entry prices based on commission
longEntryPrice = close * (1 + commissionPerc / 100)
shortEntryPrice = close * (1 - commissionPerc / 100)

// Calculate stop loss and take profit prices
longStopPrice = longEntryPrice * (1 - slPerc / 100)
longProfitPrice = longEntryPrice * (1 + tpPerc / 100)
shortStopPrice = shortEntryPrice * (1 + slPerc / 100)
shortProfitPrice = shortEntryPrice * (1 - tpPerc / 100)

// Plot signals
plotshape(longEntry, title="Long Entry", location=location.belowbar, style=shape.triangleup, size=size.small, color=color.green)
plotshape(shortEntry, title="Short Entry", location=location.abovebar, style=shape.triangledown, size=size.small, color=color.red)

// Entry and exit
if (longEntry)
    strategy.entry("Long", strategy.long, limit=longEntryPrice, stop=longStopPrice, comment="Long Entry")
    strategy.exit("Long TP/SL", from_entry="Long", limit=longProfitPrice, stop=longStopPrice, comment="Long Exit")
else if (shortEntry)
    strategy.entry("Short", strategy.short, limit=shortEntryPrice, stop=shortStopPrice, comment="Short Entry")
    strategy.exit("Short TP/SL", from_entry="Short", limit=shortProfitPrice, stop=shortStopPrice, comment="Short Exit")
else
    strategy.close_all(comment="Close All")

// Plot Bollinger Bands
plot(bbUpper, color=color.blue, title="BB Upper")
plot(bbMiddle, color=color.orange, title="BB Middle")
plot(bbLower, color=color.blue, title="BB Lower")

// Plot moving average
plot(ma, color=color.purple, title="MA")