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

EMA VWAP
Ngày tạo: 2024-04-29 14:20:39 sửa đổi lần cuối: 2024-04-29 14:20:39
sao chép: 6 Số nhấp chuột: 842
1
tập trung vào
1617
Người theo dõi

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

Tổng quan

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ể, tín hiệu mở vị trí được tạo ra khi giá đóng cửa phá vỡ 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 đó. Đồng thời, thiết lập các điều kiện dừng lỗ và dừng, và thanh toán vị trí trong một khoảng thời gian cụ thể.

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

  1. Tính toán chỉ số EMA và VWAP.
  2. Trong thời gian giao dịch được chỉ định.
  3. Điều kiện mở nhiều đầu: Giá đóng cửa 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 cửa lớn hơn giá mở cửa.
  4. Điều kiện mở đầu trống: Giá đóng cửa nhỏ 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. Điều kiện bán hàng đa đầu: Giá đóng cửa giảm xuống VWAP hoặc EMA, đạt điểm dừng hoặc điểm dừng lỗ, hoặc đến thời gian ra đi được chỉ định.
  6. Điều kiện Bảng Bảng Bị Hạn: Giá đóng cửa phá vỡ VWAP hoặc EMA, đạt điểm dừng hoặc điểm dừng lỗ, hoặc đến thời gian ra đi được chỉ định.

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

  1. Trong khi đó, tính đến 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ở vị trí nghiêm ngặt hơn có thể giúp tăng tỷ lệ chiến thắng của chiến lược.
  2. Cài đặt Stop Loss và Stop Stop để 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 sân, tránh rủi ro khi không giao dịch và giữ vị trí 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 một thị trường chấn động, vì sự phá vỡ và rút lui thường xuyên có thể dẫn đến nhiều lần mở và đóng vị trí, 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 chịu tổn thất lớn hơn.
  3. Chiến lược này không tính đến độ sâu của thị trường thực tế và tình trạng ủy thác, có thể gặp phải các vấn đề như trượt điểm và thất bại trong giao dịch trực tiếp.

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

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

Tóm tắt

Chiến lược này giao dịch trong một thời gian giao dịch cụ thể bằng cách xem xét tổng hợp xu hướng giá cả, 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 rung động và điểm trượt. Trong tương lai, có thể tăng cường sự ổn định và khả năng sinh lời của chiến lược bằng cách thêm các điều kiện lọc, tối ưu hóa tham số và quản lý vị trí.

Mã nguồn chiến lược
/*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)