Sumber daya yang dimuat... Pemuatan...

VWAP dan RSI Dynamic Bollinger Bands Take Profit dan Stop Loss Strategi

Penulis:ChaoZhang, Tanggal: 2024-06-14 15:18:39
Tag:VWAPRSIBBATR

img

Gambaran umum

Strategi ini menggabungkan tiga indikator teknis: VWAP (Volume Weighted Average Price), RSI (Relative Strength Index), dan Bollinger Bands, untuk menerapkan strategi perdagangan kuantitatif yang sederhana dan mudah digunakan dengan mengambil keuntungan dan stop loss dinamis. Ide utama dari strategi ini adalah menggunakan indikator VWAP untuk menentukan tren harga selama periode yang lalu, sambil menggunakan indikator RSI dan Bollinger Bands untuk menentukan apakah harga berada dalam kisaran overbought atau oversold, sehingga menentukan sinyal perdagangan. Setelah sinyal perdagangan ditentukan, strategi menghitung tingkat take profit dan stop loss dinamis berdasarkan indikator ATR (Average True Range) untuk mengendalikan risiko dan mengunci keuntungan.

Prinsip Strategi

  1. Menghitung nilai indikator teknis VWAP, RSI, dan Bollinger Bands.
  2. Tentukan apakah tren harga naik, turun, atau ke samping dengan menilai hubungan antara harga penutupan dan VWAP selama 15 lilin terakhir.
  3. Jika harga berada di bawah Bollinger Band bagian bawah, RSI kurang dari 45, dan sinyal VWAP menunjukkan tren menurun, sinyal panjang dihasilkan; jika harga berada di atas Bollinger Band bagian atas, RSI lebih besar dari 55, dan sinyal VWAP menunjukkan tren naik, sinyal pendek dihasilkan.
  4. Setelah sinyal perdagangan ditentukan, strategi menghitung tingkat take profit dan stop loss berdasarkan indikator ATR, dengan rasio take profit to stop loss 1,5:1.
  5. Jika posisi panjang dipegang, ketika RSI lebih besar atau sama dengan 90, strategi menutup posisi panjang; jika posisi pendek dipegang, ketika RSI kurang dari atau sama dengan 10, strategi menutup posisi pendek.

Keuntungan Strategi

  1. Dengan menggabungkan beberapa indikator teknis, keandalan sinyal perdagangan ditingkatkan.
  2. Penggunaan keuntungan dan stop loss dinamis dapat secara efektif mengendalikan risiko dan mengunci keuntungan.
  3. Struktur kode jelas dan mudah dipahami dan dioptimalkan.
  4. Berlaku pada berbagai lingkungan pasar, termasuk tren dan pasar sampingan.

Risiko Strategi

  1. Pada saat volatilitas pasar tinggi, perdagangan yang sering dapat menyebabkan biaya transaksi yang tinggi.
  2. Jika pasar mengalami kejadian yang tidak terduga atau perilaku irasional, strategi dapat menghasilkan sinyal perdagangan yang salah.
  3. Pengaturan parameter strategi mungkin perlu disesuaikan sesuai dengan lingkungan pasar yang berbeda untuk memastikan efektivitas strategi.

Arah Optimasi Strategi

  1. Cobalah menyesuaikan pengaturan parameter VWAP, RSI, dan Bollinger Bands agar sesuai dengan lingkungan pasar dan instrumen perdagangan yang berbeda.
  2. Memperkenalkan indikator teknis lainnya, seperti MACD, KDJ, dll, untuk meningkatkan keandalan sinyal perdagangan.
  3. Mengoptimalkan metode perhitungan mengambil keuntungan dan stop loss, seperti menggunakan trailing stop loss atau profit protection stop loss, untuk mengontrol risiko dengan lebih baik dan mengunci keuntungan.
  4. Menggabungkan analisis fundamental, seperti data ekonomi dan perubahan kebijakan, untuk meningkatkan kinerja keseluruhan strategi.

Ringkasan

Strategi ini menggabungkan tiga indikator teknis: VWAP, RSI, dan Bollinger Bands, untuk menerapkan strategi perdagangan kuantitatif yang sederhana dan mudah digunakan.


/*backtest
start: 2024-06-06 00:00:00
end: 2024-06-13 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("VWAP and RSI Strategy", overlay=true)

// VWAP calculation
vwap = ta.vwap(close)

// RSI calculation
rsi_length = 16
rsi = ta.rsi(close, rsi_length)

// Bollinger Bands calculation
bb_length = 14
bb_std = 2.0
[bb_middle, bb_upper, bb_lower] = ta.bb(close, bb_length, bb_std)

// Variables for VWAP signal calculation
backcandles = 15
float vwapsignal = na

// Function to check if last 15 candles are above or below VWAP
calc_vwapsignal(backcandles) =>
    upt = true
    dnt = true
    for i = 0 to backcandles - 1
        if close[i] < vwap[i]
            upt := false
        if close[i] > vwap[i]
            dnt := false
    if upt and dnt
        3
    else if upt
        2
    else if dnt
        1
    else
        0

// Calculate VWAP signal for each bar
vwapsignal := calc_vwapsignal(backcandles)

// Calculate total signal
totalsignal = 0
if vwapsignal == 2 and close <= bb_lower and rsi < 45
    totalsignal := 2
else if vwapsignal == 1 and close >= bb_upper and rsi > 55
    totalsignal := 1



// Define strategy entry and exit conditions
slatr = 1.2 * ta.atr(7)
TPSLRatio = 1.5

if (totalsignal == 2 and strategy.opentrades == 0)
    strategy.entry("Long", strategy.long, stop=close - slatr, limit=close + slatr * TPSLRatio)

if (totalsignal == 1 and strategy.opentrades == 0)
    strategy.entry("Short", strategy.short, stop=close + slatr, limit=close - slatr * TPSLRatio)

// Additional exit conditions based on RSI
if (strategy.opentrades > 0)
    if (strategy.position_size > 0 and rsi >= 90)
        strategy.close("Long")
    if (strategy.position_size < 0 and rsi <= 10)
        strategy.close("Short")


Berkaitan

Lebih banyak