Strategi stop-profit dan stop-loss dinamis panjang dan pendek berdasarkan VWAP dan sinyal lintas periode


Tanggal Pembuatan: 2024-03-08 17:37:21 Akhirnya memodifikasi: 2024-03-08 17:37:21
menyalin: 7 Jumlah klik: 693
1
fokus pada
1617
Pengikut

Strategi stop-profit dan stop-loss dinamis panjang dan pendek berdasarkan VWAP dan sinyal lintas periode

Ringkasan

Strategi ini menggunakan VWAP (trading volume weighted average price) dari day line sebagai sinyal untuk masuk dan keluar. Ketika closing price melewati VWAP untuk melakukan over, stop loss diatur di bawah VWAP di garis K-low sebelumnya, dan target set 3 poin di atas harga opening; ketika closing price melewati VWAP di bawah trigger shorting, stop loss diatur di atas VWAP di garis K-high sebelumnya, dan target set 3 poin di bawah harga opening. Strategi ini tidak mencakup kondisi keluar, dan perdagangan akan terus berlangsung sampai muncul sinyal reversal.

Prinsip Strategi

  1. Mendapatkan data VWAP dari garis matahari sebagai dasar untuk penilaian tren dan sinyal perdagangan.
  2. Perhitungan apakah harga penutupan saat ini naik / turun melalui VWAP, masing-masing sebagai kondisi pemicu over dan under.
  3. Bila melakukan over, jika garis K terdepan berada di bawah VWAP, maka digunakan sebagai stop loss, jika tidak, maka langsung menggunakan VWAP sebagai stop loss; sebaliknya jika melakukan shorting.
  4. Setelah membuka posisi, masing-masing mengatur 3 titik penutupan tetap.
  5. Strategi terus berjalan sampai sinyal reversal menyala dan membuka posisi baru.

Mengetahui tren dari data VWAP lintas-siklus, sekaligus memanfaatkan stop loss dinamis dan stop loss titik-titik tetap, dapat secara efektif menangkap tren, mengontrol risiko penarikan, dan mengunci keuntungan tepat waktu.

Analisis Keunggulan

  1. Sederhana dan efektif: Strategi logis yang jelas, hanya menggunakan satu indikator VWAP, dapat mencapai penilaian tren dan pemicu sinyal, mudah untuk diterapkan dan dioptimalkan.
  2. Stop loss dinamis: Stop loss yang diatur berdasarkan titik tinggi dan rendah pada garis K sebelumnya, dapat lebih beradaptasi dengan fluktuasi pasar dan mengurangi risiko.
  3. Fixed Point Stop: Menetapkan harga target dengan fixed point, membantu mengunci keuntungan tepat waktu dan menghindari laba kembali.
  4. Stop loss tepat waktu: Strategi ini akan segera melonggarkan posisi saat sinyal reversal terjadi, tidak akan menimbulkan kerugian tambahan pada posisi yang telah menguntungkan, dan akan membuka posisi baru untuk menangkap tren baru.

Analisis risiko

  1. Optimasi parameter: strategi menggunakan 3 titik tetap sebagai stop, dalam perdagangan nyata mungkin perlu dioptimalkan sesuai dengan standar yang berbeda dan karakteristik pasar, memilih parameter terbaik.
  2. Kondisi Guncang: Dalam situasi yang guncang, sering masuk dan keluar dapat menyebabkan biaya transaksi yang lebih tinggi dan mempengaruhi keuntungan.
  3. Keberlanjutan tren: Strategi bergantung pada tren, jika pasar berada di zona goyah, atau tren kurang konsisten, mungkin akan ada lebih banyak sinyal perdagangan, membawa lebih banyak risiko.

Arah optimasi

  1. Filter tren: menambahkan indikator tren lain seperti moving average, MACD, dan lain-lain untuk mengkonfirmasi kedua tren, meningkatkan keandalan sinyal.
  2. Stop-loss dinamis: Mengadaptasi stop-loss secara dinamis berdasarkan volatilitas pasar, ATR, dan lain-lain untuk lebih menyesuaikan diri dengan pasar.
  3. Manajemen Posisi: Dimensi posisi setiap transaksi disesuaikan secara dinamis berdasarkan dana akun, preferensi risiko, dan lain-lain.
  4. Pemilihan waktu perdagangan: Memilih waktu perdagangan yang optimal sesuai dengan karakteristik indikator dan tingkat aktivitas perdagangan untuk meningkatkan efisiensi strategi.

Meringkaskan

Strategi ini menggunakan data VWAP lintas-siklus untuk penilaian tren dan pemicu sinyal, sementara mengontrol risiko dan mengunci keuntungan dengan stop loss dinamis dan stop count titik tetap. Ini adalah strategi perdagangan kuantitatif yang sederhana dan efektif. Optimalisasi strategi dapat meningkatkan stabilitas dan potensi keuntungan lebih lanjut melalui penyaringan tren, stop loss dinamis, manajemen posisi, dan pilihan waktu perdagangan.

Kode Sumber Strategi
/*backtest
start: 2024-03-06 00:00:00
end: 2024-03-07 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('Pine Script Tutorial Example Strategy 1', overlay=true, initial_capital=1000, default_qty_value=100, default_qty_type=strategy.percent_of_equity)
// fastEMA = ta.ema(close, 24)
// slowEMA = ta.ema(close, 200)
// Higher Time Frame
float sl = na
float tgt = na
posSize = 1
vwap_1d = request.security(syminfo.tickerid, "1D", ta.vwap(close))
// plot(vwap_1d)

// To avoid differences on historical and realtime bars, you can use this technique, which only returns a value from the higher timeframe on the bar after it completes:
// indexHighTF = barstate.isrealtime ? 1 : 0
// indexCurrTF = barstate.isrealtime ? 0 : 1
// nonRepaintingVWAP = request.security(syminfo.tickerid, "1D", close[indexHighTF])[indexCurrTF]
// plot(nonRepaintingVWAP, "Non-repainting VWAP")

enterLong = ta.crossover(close, vwap_1d)
exitLong  = ta.crossunder(close, vwap_1d)

enterShort = ta.crossunder(close, vwap_1d)
exitShort  = ta.crossover(close, vwap_1d)

if enterLong
    sl := low[1]>vwap_1d ?low[1]:vwap_1d
    tgt:=close+3
    strategy.entry("EL", strategy.long, qty=posSize)
    strategy.exit('exitEL', 'EL', stop=sl, limit=tgt)
if enterShort
    sl := high[1]<vwap_1d ?high[1]:vwap_1d
    tgt := close-3
    strategy.entry("ES", strategy.short, qty=posSize)
    strategy.exit('exitES', 'ES', stop=sl, limit=tgt)

// if exitLong
//     strategy.close("EL")
// if exitShort
//     strategy.close("ES")





// goLongCondition1 = ta.crossover(close, vwap_1d)
// timePeriod = time >= timestamp(syminfo.timezone, 2021, 01, 01, 0, 0)
// notInTrade = strategy.position_size <= 0
// if goLongCondition1 and timePeriod and notInTrade
//     stopLoss = low[1]
//     takeProfit = close+3
//     strategy.entry('long', strategy.long)
//     strategy.exit('exit', 'long', stop=stopLoss, limit=takeProfit)
plot(close, color=color.new(#00c510, 0))
plot(vwap_1d, color=color.new(#f05619, 0))
plot(sl, color=color.new(#fbff00, 0))
plot(tgt, color=color.new(#00e1ff, 0))