Sumber dimuat naik... memuat...

VWAP dan RSI Bollinger Band Dinamik Ambil Keuntungan dan Hentikan Strategi Kerugian

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

img

Ringkasan

Strategi ini menggabungkan tiga penunjuk teknikal: VWAP (Volume Weighted Average Price), RSI (Relative Strength Index), dan Bollinger Bands, untuk melaksanakan strategi perdagangan kuantitatif yang mudah dan mudah digunakan dengan mengambil keuntungan dinamik dan menghentikan kerugian.

Prinsip Strategi

  1. Mengira nilai penunjuk teknikal VWAP, RSI, dan Bollinger Bands.
  2. Tentukan sama ada trend harga adalah ke atas, ke bawah, atau ke sisi dengan menilai hubungan antara harga penutupan dan VWAP selama 15 lilin terakhir.
  3. Jika harga di bawah Bollinger Band bawah, RSI kurang daripada 45, dan isyarat VWAP menunjukkan trend menurun, isyarat panjang dihasilkan; jika harga di atas Bollinger Band atas, RSI lebih besar daripada 55, dan isyarat VWAP menunjukkan trend menaik, isyarat pendek dihasilkan.
  4. Setelah isyarat perdagangan ditentukan, strategi mengira tahap mengambil keuntungan dan menghentikan kerugian berdasarkan penunjuk ATR, dengan nisbah mengambil keuntungan untuk menghentikan kerugian 1.5:1.
  5. Jika kedudukan panjang dipegang, apabila RSI lebih besar daripada atau sama dengan 90, strategi menutup kedudukan panjang; jika kedudukan pendek dipegang, apabila RSI kurang daripada atau sama dengan 10, strategi menutup kedudukan pendek.

Kelebihan Strategi

  1. Dengan menggabungkan beberapa penunjuk teknikal, kebolehpercayaan isyarat perdagangan ditingkatkan.
  2. Penggunaan mengambil keuntungan dinamik dan menghentikan kerugian dapat mengawal risiko dengan berkesan dan mengunci keuntungan.
  3. Struktur kod adalah jelas dan mudah difahami dan dioptimumkan.
  4. Boleh digunakan untuk pelbagai persekitaran pasaran, termasuk pasaran trend dan sampingan.

Risiko Strategi

  1. Dalam masa turun naik pasaran yang tinggi, perdagangan yang kerap boleh membawa kepada kos transaksi yang tinggi.
  2. Jika pasaran mengalami peristiwa yang tidak dijangka atau tingkah laku yang tidak rasional, strategi mungkin menghasilkan isyarat perdagangan yang salah.
  3. Tetapan parameter strategi mungkin perlu disesuaikan mengikut persekitaran pasaran yang berbeza untuk memastikan keberkesanan strategi.

Arahan Pengoptimuman Strategi

  1. Cuba menyesuaikan tetapan parameter VWAP, RSI, dan Bollinger Bands untuk menyesuaikan diri dengan persekitaran pasaran dan instrumen perdagangan yang berbeza.
  2. Memperkenalkan penunjuk teknikal lain, seperti MACD, KDJ, dan lain-lain, untuk meningkatkan kebolehpercayaan isyarat perdagangan.
  3. Mengoptimumkan kaedah pengiraan mengambil keuntungan dan menghentikan kerugian, seperti menggunakan kehilangan berhenti yang berturut-turut atau perlindungan keuntungan, untuk mengawal risiko dengan lebih baik dan mengunci keuntungan.
  4. Menggabungkan analisis asas, seperti data ekonomi dan perubahan dasar, untuk meningkatkan prestasi keseluruhan strategi.

Ringkasan

Strategi ini menggabungkan tiga penunjuk teknikal: VWAP, RSI, dan Bollinger Bands, untuk melaksanakan strategi perdagangan kuantitatif yang mudah dan mudah digunakan. Strategi ini menggunakan mengambil keuntungan dinamik dan menghentikan kerugian untuk mengawal risiko dengan berkesan dan mengunci keuntungan. Walaupun strategi ini mempunyai beberapa risiko berpotensi, dengan tetapan parameter yang munasabah dan pengoptimuman berterusan, dipercayai bahawa strategi ini dapat mencapai hasil yang baik dalam perdagangan sebenar.


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