Strategi henti untung dan henti rugi dinamik panjang dan pendek berdasarkan VWAP dan isyarat rentas tempoh


Tarikh penciptaan: 2024-03-08 17:37:21 Akhirnya diubah suai: 2024-03-08 17:37:21
Salin: 7 Bilangan klik: 693
1
fokus pada
1617
Pengikut

Strategi henti untung dan henti rugi dinamik panjang dan pendek berdasarkan VWAP dan isyarat rentas tempoh

Gambaran keseluruhan

Strategi ini menggunakan VWAP (Value-Wage Average Price) pada garis harian sebagai isyarat untuk masuk dan keluar. Apabila harga tutup melalui VWAP, ia akan mencetuskan lebih banyak, dan stop loss akan diletakkan di bawah garis K terendah di bawah VWAP, dan harga sasaran akan diletakkan 3 titik di atas harga bukaan. Apabila harga tutup melalui VWAP, ia akan mencetuskan kosong, dan stop loss akan diletakkan di atas garis K teratas di atas VWAP, dan harga sasaran akan diletakkan 3 titik di bawah harga bukaan.

Prinsip Strategi

  1. Mengambil data VWAP dari garis matahari sebagai asas untuk penilaian trend dan isyarat dagangan.
  2. Menentukan sama ada harga penutupan semasa naik atau turun melalui VWAP, sebagai syarat pemicu untuk melakukan over dan short.
  3. Apabila melakukan plus, jika garis K terdahulu rendah di bawah VWAP, ia akan digunakan sebagai titik hentian, jika tidak, VWAP akan digunakan secara langsung sebagai hentian; sebaliknya.
  4. Selepas membuka simpanan, masing-masing menetapkan 3 titik penangguhan tetap.
  5. Strategi ini akan terus berjalan sehingga isyarat pembalikan berlaku dan kedudukan baru dibuka.

Mengetahui trend melalui data VWAP sepanjang tempoh, dan menggunakan stop loss dinamik dan stop loss titik tetap, anda dapat memahami trend, mengawal risiko penarikan balik, dan mengunci keuntungan tepat pada masanya.

Analisis kelebihan

  1. Mudah dan berkesan: Strategi logik jelas, hanya menggunakan satu petunjuk VWAP, anda boleh mencapai trend penilaian dan isyarat pemicu, mudah untuk dilaksanakan dan dioptimumkan.
  2. Hentian dinamik: Hentian yang ditetapkan berdasarkan kedudukan tinggi dan rendah pada garis K terdahulu, dapat menyesuaikan diri dengan lebih baik dengan turun naik pasaran, mengurangkan risiko.
  3. Penangguhan titik tetap: menetapkan harga sasaran dengan nombor titik tetap, membantu mengunci keuntungan tepat pada masanya dan mengelakkan pembalikan keuntungan.
  4. Hentikan Kerosakan Pada Masa Yang Tepat: Strategi ini akan segera melonggarkan kedudukan apabila mencetuskan isyarat pembalikan, tidak akan menyebabkan kerugian tambahan kepada kedudukan yang telah menguntungkan, dan akan membuka kedudukan baru untuk menangkap trend baru.

Analisis risiko

  1. Pengoptimuman parameter: Strategi menggunakan 3 titik tetap sebagai halangan, perdagangan sebenar mungkin memerlukan pengoptimuman mengikut ciri-ciri standard dan pasaran yang berbeza, memilih parameter terbaik.
  2. Keadaan yang tidak menentu: Dalam keadaan yang tidak menentu, masuk dan keluar yang kerap boleh menyebabkan kos dagangan yang lebih tinggi, yang menjejaskan keuntungan.
  3. Kesinambungan trend: strategi bergantung kepada keadaan trend, jika pasaran berada di dalam pergerakan berkala, atau kecenderungan yang kurang berterusan, lebih banyak isyarat perdagangan mungkin muncul, membawa lebih banyak risiko.

Arah pengoptimuman

  1. Penapisan trend: Tambah petunjuk trend lain seperti purata bergerak, MACD, dan lain-lain untuk pengesahan kedua trend, meningkatkan kebolehpercayaan isyarat.
  2. Hentian dinamik: Mengubah nilai hentian secara dinamik mengikut turun naik pasaran, ATR dan lain-lain untuk menyesuaikan diri dengan pasaran.
  3. Pengurusan Kedudukan: Mengubah saiz kedudukan setiap dagangan secara dinamik mengikut faktor seperti dana akaun, keutamaan risiko.
  4. Pemilihan masa dagangan: Memilih masa dagangan yang optimum mengikut ciri-ciri tanda dan tahap aktiviti dagangan, meningkatkan kecekapan strategi.

ringkaskan

Strategi ini menggunakan data VWAP untuk membuat penilaian dan isyarat trend sepanjang tempoh, sambil mengawal risiko dan mengunci keuntungan dengan cara menghentikan kehilangan dan berhenti berhenti, merupakan strategi perdagangan kuantitatif yang mudah dan berkesan. Pengoptimuman strategi dengan penapisan trend, berhenti bergerak, pengurusan kedudukan dan pilihan masa perdagangan dapat meningkatkan lagi kestabilan dan potensi keuntungan. Tetapi dalam aplikasi praktikal, masih perlu memperhatikan ciri-ciri pasaran, kos perdagangan dan faktor pengoptimuman parameter untuk mencapai prestasi strategi yang lebih baik.

Kod 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))