Tài nguyên đang được tải lên... tải...

Chiến lược giao dịch VWAP

Tác giả:ChaoZhang, Ngày: 2024-04-29 14:20:39
Tags:EMAVWAP

VWAP交易策略

Thông tin chi tiết

Chiến lược này là một chiến lược giao dịch dựa trên EMA, VWAP và khối lượng giao dịch. Ý tưởng chính là trong một thời gian giao dịch cụ thể, khi giá đóng cửa vượt qua VWAP và EMA, và khối lượng giao dịch lớn hơn khối lượng giao dịch trên đường K trước đó.

Nguyên tắc chiến lược

  1. Tính toán EMA và VWAP.
  2. Các công ty có thể tham gia vào hoạt động giao dịch trong thời gian nhất định.
  3. Điều kiện mở nhiều đầu: giá đóng lớn hơn VWAP và EMA, khối lượng giao dịch lớn hơn đường K trước đó và giá đóng lớn hơn giá mở.
  4. Các điều kiện mở trần: giá đóng cửa thấp hơn VWAP và EMA, khối lượng giao dịch lớn hơn đường K trước, và giá mở cửa lớn hơn giá đóng cửa.
  5. Các điều kiện giao dịch đa đầu: giá đóng cửa giảm so với VWAP hoặc EMA, đạt đến điểm dừng hoặc dừng lỗ, hoặc đạt đến thời gian rời khỏi thị trường.
  6. Điều kiện đứng trống: Giá đóng cửa vượt qua VWAP hoặc EMA, đạt đến điểm dừng hoặc dừng lỗ, hoặc đạt đến thời gian rời khỏi thị trường.

Lợi thế chiến lược

  1. Khi xem xét xu hướng giá (EMA), giá trị công bằng thị trường (VWAP) và khối lượng giao dịch, các điều kiện mở đầu chặt chẽ hơn sẽ giúp tăng tỷ lệ chiến lược.
  2. Đặt stop-loss và stop-gap để kiểm soát rủi ro và khóa lợi nhuận.
  3. Giới hạn thời gian giao dịch và thời gian rời khỏi, tránh rủi ro giao dịch trong giờ không giao dịch và giữ hàng qua đêm.

Rủi ro chiến lược

  1. Chiến lược này có thể không hoạt động tốt trong thị trường biến động, vì các bước phá vỡ và rút lui thường xuyên có thể dẫn đến nhiều lần mở và dừng, làm tăng chi phí giao dịch và điểm trượt.
  2. Điểm dừng lỗ là cố định và có thể được kích hoạt trước khi thị trường biến động mạnh, khiến chiến lược mất nhiều hơn.
  3. Chiến lược này không tính đến độ sâu thị trường thực tế và các tình huống ủy quyền, có thể gặp phải các vấn đề như điểm trượt và thất bại khi giao dịch thực tế.

Chiến lược tối ưu hóa hướng

  1. Có thể xem xét thêm các điều kiện lọc, chẳng hạn như các chỉ số ATR, RSI, để xác định thêm cường độ xu hướng và động lực.
  2. Stop Loss và Stop Loss Point có thể được thiết lập để động, chẳng hạn như theo ATR hoặc stop loss tỷ lệ phần trăm, để phù hợp với biến động thị trường khác nhau.
  3. Các thông số như chiều dài EMA, nguồn VWAP, stop-loss, stop-gap, v.v. có thể được tối ưu hóa để tăng tính ổn định và lợi nhuận của chiến lược.
  4. Bạn có thể xem xét tham gia quản lý vị trí, chẳng hạn như điều chỉnh khối lượng đầu tư theo tỷ lệ biến động hoặc tỷ lệ vốn để kiểm soát rủi ro tổng thể.

Tóm lại

Chiến lược này được thực hiện trong một thời gian giao dịch cụ thể bằng cách xem xét toàn diện xu hướng giá, giá trị công bằng của thị trường và khối lượng giao dịch. Mặc dù đã thiết lập lệnh dừng lỗ và giới hạn thời gian giao dịch, nhưng trong ứng dụng thực tế, vẫn cần chú ý đến các rủi ro như thị trường biến động và điểm trượt. Trong tương lai, chiến lược có thể được cải thiện độ vững chắc và khả năng lợi nhuận bằng cách thêm nhiều điều kiện lọc, tối ưu hóa các tham số và quản lý vị trí.


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


Nội dung liên quan

Nhiều hơn nữa