Sumber dimuat naik... memuat...

Strategi Perdagangan VWAP

Penulis:ChaoZhang, Tarikh: 2024-04-29 14:20:39
Tag:EMAVWAP

img

Ringkasan

Strategi ini adalah strategi dagangan berdasarkan EMA, VWAP, dan jumlah. Idea utama adalah untuk menjana isyarat pembukaan apabila harga penutupan memecahkan VWAP dan EMA, dan jumlah dagangan lebih besar daripada jumlah lilin sebelumnya dalam masa dagangan tertentu. Ia juga menetapkan stop loss dan mengambil keuntungan, serta syarat untuk menutup kedudukan dalam tempoh masa tertentu.

Prinsip Strategi

  1. Mengira penunjuk EMA dan VWAP.
  2. Tentukan sama ada ia berada dalam masa dagangan yang ditetapkan.
  3. Keadaan kemasukan panjang: harga penutupan lebih besar daripada VWAP dan EMA, jumlah lebih besar daripada lilin sebelumnya, dan harga penutupan lebih besar daripada harga pembukaan.
  4. Syarat kemasukan pendek: harga penutupan adalah lebih rendah daripada VWAP dan EMA, jumlahnya lebih besar daripada lilin sebelumnya, dan harga pembukaan lebih besar daripada harga penutupan.
  5. Keadaan keluar yang panjang: harga penutupan jatuh di bawah VWAP atau EMA, mencapai tahap stop loss atau mengambil keuntungan, atau mencapai masa keluar yang ditetapkan.
  6. Keadaan keluar pendek: harga penutupan pecah di atas VWAP atau EMA, mencapai tahap stop loss atau mengambil keuntungan, atau mencapai masa keluar yang ditentukan.

Kelebihan Strategi

  1. Ia mengambil kira trend harga (EMA), nilai pasaran yang saksama (VWAP), dan jumlah dagangan secara serentak, menjadikan syarat pembukaan lebih ketat, yang membantu meningkatkan kadar kemenangan strategi.
  2. Ia menetapkan stop loss dan mengambil keuntungan untuk mengawal risiko dan mengunci keuntungan.
  3. Ia mengehadkan masa dagangan dan masa keluar untuk mengelakkan risiko semasa jam bukan dagangan dan memegang semalaman.

Risiko Strategi

  1. Strategi ini mungkin tidak berfungsi dengan baik di pasaran yang tidak menentu, kerana terobosan yang kerap dan penarikan balik boleh membawa kepada banyak pembukaan dan penutupan, meningkatkan kos transaksi dan slippage.
  2. Tahap stop loss tetap, yang boleh diaktifkan sebelum waktunya apabila pasaran turun naik secara ganas, menyebabkan strategi mengalami kerugian yang besar.
  3. Strategi ini tidak mengambil kira kedalaman pasaran sebenar dan status pesanan, yang mungkin menghadapi masalah seperti tergelincir dan kegagalan pembukaan dalam perdagangan sebenar.

Arah Pengoptimuman Strategi

  1. Pertimbangkan untuk menambah lebih banyak keadaan penapisan, seperti penunjuk ATR dan RSI, untuk mengesahkan lagi kekuatan trend dan momentum.
  2. Tahap Stop Loss dan Take Profit boleh ditetapkan secara dinamik, seperti mengikut ATR atau peratusan Stop Loss, untuk menyesuaikan diri dengan turun naik pasaran yang berbeza.
  3. Mengoptimumkan parameter, seperti panjang EMA, sumber VWAP, tahap stop loss dan mengambil keuntungan, dan lain-lain, untuk meningkatkan kestabilan dan keuntungan strategi.
  4. Pertimbangkan untuk menambah pengurusan kedudukan, seperti menyesuaikan jumlah pembukaan mengikut turun naik atau nisbah modal, untuk mengawal risiko keseluruhan.

Ringkasan

Dengan mengkaji secara komprehensif trend harga, nilai wajar pasaran, dan jumlah dagangan, strategi ini berdagang dalam masa dagangan tertentu. Walaupun stop loss, mengambil keuntungan, dan masa dagangan yang terhad ditetapkan, ia masih perlu memberi perhatian kepada risiko seperti pasaran yang tidak stabil dan slippage dalam aplikasi sebenar.


/*backtest
start: 2024-04-27 00:00:00
end: 2024-04-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA, VWAP, Volume Strategy", overlay=true, process_orders_on_close=true)

// Inputs
emaLength = input.int(21, title="EMA Length")
vwapSource = input.source(defval=hlc3, title='VWAP Source')
stopLossPoints = input.float(100, title="Stop Loss (points)")
targetPoints = input.float(200, title="Target (points)")
session = input("0950-1430", title='Only take entry during')
exit = input(defval='1515-1525', title='Exit Trade')

tradein = not na(time(timeframe.period, session))
exit_time = not na(time(timeframe.period, exit))

// Calculate indicators
ema = ta.ema(close, emaLength)
vwapValue = ta.vwap(vwapSource)

// Entry Conditions
longCondition = close > vwapValue and close > ema and volume > volume[1] and close > open and tradein
shortCondition = close < vwapValue and close < ema and volume > volume[1] and open > close and tradein

// Exit Conditions
longExitCondition = ta.crossunder(close, vwapValue) or ta.crossunder(close, ema) or close - strategy.position_avg_price >= targetPoints or close - strategy.position_avg_price <= -stopLossPoints or exit_time
shortExitCondition = ta.crossover(close, vwapValue) or ta.crossover(close, ema) or strategy.position_avg_price - close >= targetPoints or strategy.position_avg_price - close <= -stopLossPoints or exit_time

// Plotting
plot(vwapValue, color=color.blue, title="VWAP")
plot(ema, color=color.green, title="EMA")

// Strategy
if longCondition
    strategy.entry("Long", strategy.long)

if shortCondition
    strategy.entry("Short", strategy.short)

if longExitCondition
    strategy.close('Long', immediately=true)

if shortExitCondition
    strategy.close("Short", immediately=true)


Berkaitan

Lebih lanjut