Strategi mengikuti arah aliran berasaskan VWAP


Tarikh penciptaan: 2024-02-29 15:26:56 Akhirnya diubah suai: 2024-02-29 15:26:56
Salin: 0 Bilangan klik: 944
1
fokus pada
1617
Pengikut

Strategi mengikuti arah aliran berasaskan VWAP

Gambaran keseluruhan

Strategi ini berdasarkan VWAP dan EMA sebagai penunjuk arah trend, VWAP mewakili harga tipikal dan EMA200 mewakili trend garis panjang tengah. Apabila harga lebih tinggi daripada VWAP dan EMA200, ia lebih tinggi daripada VWAP dan EMA200, dan ia lebih rendah daripada VWAP dan EMA200.

Prinsip Strategi

Logik utama strategi ini adalah menggunakan VWAP dan EMA untuk menentukan trend harga.

  • VWAP mewakili harga harga tipikal, yang dapat mencerminkan kos purata peserta pasaran. Apabila harga lebih tinggi daripada VWAP mewakili peningkatan kekuatan pembeli, lakukan lebih banyak; apabila harga lebih rendah daripada VWAP, mewakili peningkatan kekuatan penjual, harus kosong.
  • EMA200 mewakili garis tengah harga yang bergerak ke arah trend. Harga di atas EMA200 mewakili garis tengah yang lebih tinggi, dan harus dilakukan lebih banyak; harga di bawah EMA200 mewakili garis tengah yang lebih rendah, dan harus dilakukan.

Oleh itu, strategi ini terlebih dahulu menilai sama ada harga lebih tinggi daripada VWAP dan EMA200 pada masa yang sama, dan jika ya, lakukan lebih banyak; jika harga lebih rendah daripada VWAP dan EMA200 pada masa yang sama, kosongkan. Seperti yang dapat dilihat, strategi ini bergantung terutamanya pada VWAP dan EMA untuk menilai keputusan pembelian dan penjualan.

Di samping itu, strategi ini juga menetapkan titik hentian berhenti. Setelah melakukan lebih banyak, atur hentian menjadi 3.5% dari harga masuk, hentian menjadi 1.4%; setelah melakukan pelepasan, atur hentian menjadi 2.5% dari harga masuk, hentian menjadi 0.9% . Ini dapat mengelakkan kerugian yang terlalu besar.

Kelebihan Strategik

Kelebihan utama strategi ini adalah bahawa ia sangat dipercayai untuk menilai trend menggunakan VWAP dan EMA.

  • VWAP dapat menggambarkan dengan tepat kos purata peserta pasaran, yang merupakan petunjuk yang sangat baik untuk menilai trend;
  • EMA200 dapat mencerminkan trend garis tengah dengan jelas dan dapat menentukan arah trend besar dengan tepat.

Oleh itu, penggunaan VWAP dan EMA dalam kombinasi sangat dipercayai untuk menentukan trend. Apabila kedua-duanya menentukan trend, peluang untuk berjaya dalam operasi adalah tinggi.

Selain itu, menetapkan titik hentian hentian boleh mengelakkan kerugian tunggal yang terlalu besar.

Risiko Strategik

Risiko utama strategi ini adalah bahawa VWAP dan EMA mungkin menghantar isyarat yang salah.

  • Apabila pasaran bergolak, harga mungkin keluar dari VWAP untuk jangka pendek dan memberi isyarat yang salah.
  • Apabila trend baru baru sahaja bermula, EMA mungkin tertinggal dari perubahan harga, menyebabkan strategi terlepas peluang terbaik untuk masuk.

Di samping itu, ia mungkin tidak disesuaikan dengan tetapan stop loss, dan risiko kerugian tunggal yang terlalu besar masih wujud.

Untuk menyelesaikan masalah di atas, kita boleh mengoptimumkan tetapan parameter VWAP dan EMA, supaya mereka lebih baik untuk mengenal pasti permulaan trend baru. Di samping itu, anda boleh menetapkan Hentian Hentian yang menyesuaikan diri, supaya Hentian Hentian disesuaikan dengan turun naik harga.

Arah pengoptimuman strategi

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  • Mengoptimumkan parameter VWAP untuk mencari kombinasi parameter VWAP yang lebih stabil untuk menilai trend.
  • Mengoptimumkan kitaran EMA untuk mencari parameter EMA yang lebih tepat untuk menilai trend.
  • Menambah petunjuk lain untuk trend penghakiman, seperti Brinband, KDJ dan lain-lain yang digabungkan dengan VWAP dan EMA, untuk meningkatkan ketepatan penghakiman.
  • Tetapkan stop loss yang menyesuaikan diri. Dengan peraturan tertentu, tingkat stop loss boleh disesuaikan dengan turun naik harga, untuk mengelakkan stop loss terlalu tinggi.
  • Menggabungkan pengurusan kedudukan. Sesuaikan saiz kedudukan mengikut petunjuk seperti penarikan balik, jumlah kerugian, dan strategi kawalan risiko keseluruhan.

ringkaskan

Strategi ini secara keseluruhannya adalah strategi mengikuti trend yang sangat dipercayai. Ia menggunakan VWAP dan EMA untuk menentukan arah trend, idea yang jelas dan mudah, peluang untuk masuk adalah besar apabila kedua-duanya memberikan isyarat yang konsisten. Dengan menetapkan hentian hentian yang munasabah, risiko dapat dikendalikan.

Kod sumber strategi
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//26m Binance BTCUSDTPERP
//@version=4
strategy("VWAP Trend Follower", initial_capital=100, overlay=true, commission_type=strategy.commission.percent, commission_value=0.04, default_qty_type = strategy.percent_of_equity, default_qty_value = 90, currency = currency.USD )

/// INITIALISE STRATEGY ///
price=close[1]
vprice=vwap(price)
trend=ema(price, 200)

/// RISK MANAGEMENT ///
long_tp_inp = input(3.5, title='Long Take Profit %',step=0.1)/100
long_sl_inp = input(1.4, title='Long Stop Loss %',step=0.1)/100
short_tp_inp = input(2.5, title='Short Take Profit %',step=0.1)/100
short_sl_inp = input(0.9, title='Short Stop Loss %',step=0.1)/100
long_take_level = strategy.position_avg_price * (1 + long_tp_inp)
long_stop_level = strategy.position_avg_price * (1 - long_sl_inp)
short_take_level = strategy.position_avg_price * (1 - short_tp_inp)
short_stop_level = strategy.position_avg_price * (1 + short_sl_inp)
//long_trailing = input(5, title='Trailing Stop Long',step=0.1) / 100
//short_trailing = input(5, title='Trailing Stop short',step=0.1) / 100

/// STRATEGY CONDITIONS ///
aLong= price > trend and price > vprice
entry_long = aLong and aLong[2] and aLong[1]
aShort= price < trend and price < vprice 
entry_short = aShort and aShort[2] and aShort[1]
//exit_long = 
//exit_short =
//entry_price_long=valuewhen(entry_long,close,0)
//entry_price_short=valuewhen(entry_short,close,0)

/// PLOTTING ///
plot(vprice,                color=#5875E1, linewidth=2)
plot(trend,                 color=#D965E1, linewidth=1)
plotshape(series=aLong,     color=#71E181,style=shape.labelup)
plotshape(series=aShort,    color=#E18BA5,style=shape.labeldown)
//plot(long_take_level,     color=#00E676, linewidth=2)
//plot(long_stop_level,     color=#FF5252, linewidth=1)
//plot(short_take_level,    color=#4CAF50, linewidth=2)
//plot(short_stop_level,    color=#FF5252, linewidth=1)

/// PERIOD ///
testStartYear   = input(2019, "Backtest Start Year")
testStartMonth  = input(1, "Backtest Start Month")
testStartDay    = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear    = input(2020, "Backtest Stop Year")
testStopMonth   = input(12, "Backtest Stop Month")
testStopDay     = input(31, "Backtest Stop Day")
testPeriodStop  = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
testPeriod() => true

//// STRATEGY EXECUTION ////

if testPeriod()
    if strategy.position_size == 0 or strategy.position_size > 0
        strategy.entry(id="Long", long=true, when=entry_long, comment="Long")
        strategy.exit("Take Profit/ Stop Loss","Long", limit=long_take_level, stop=long_stop_level,comment="Exit Long")//,trail_points=entry_price_long * long_trailing / syminfo.mintick, trail_offset=entry_price_long * long_trailing / syminfo.mintick)
//        strategy.close(id="Long", when=exit_long, comment = "Exit Long")

    if strategy.position_size == 0 or strategy.position_size < 0
        strategy.entry(id="Short", long=false, when=entry_short, comment = "Short")
        strategy.exit("Take Profit/ Stop Loss","Short", limit=short_take_level , stop=short_stop_level,comment = "Exit Short")//, trail_points=entry_price_short * short_trailing / syminfo.mintick, trail_offset=entry_price_short * short_trailing / syminfo.mintick)
//        strategy.close(id="Short", when=exit_short, comment = "Exit Short")