Chiến lược dừng lỗ và dừng lãi động dài hạn và ngắn hạn dựa trên tín hiệu VWAP và tín hiệu chéo kỳ


Ngày tạo: 2024-03-08 17:37:21 sửa đổi lần cuối: 2024-03-08 17:37:21
sao chép: 7 Số nhấp chuột: 693
1
tập trung vào
1617
Người theo dõi

Chiến lược dừng lỗ và dừng lãi động dài hạn và ngắn hạn dựa trên tín hiệu VWAP và tín hiệu chéo kỳ

Tổng quan

Chiến lược này sử dụng VWAP của đường mặt trời (giá trung bình trọng lượng giao dịch) làm tín hiệu để vào và ra khỏi. Khi giá đóng cửa vượt qua VWAP, kích hoạt nhiều hơn, dừng lỗ được đặt ở mức thấp K trước của VWAP, giá mục tiêu được đặt ở mức 3 điểm trên giá mở; khi giá đóng cửa vượt qua VWAP, kích hoạt trống, dừng lỗ được đặt ở mức cao K trước của VWAP, giá mục tiêu được đặt ở mức 3 điểm dưới giá mở.

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

  1. Lấy dữ liệu VWAP của đường nét mặt trời để sử dụng làm cơ sở cho các phán đoán xu hướng và tín hiệu giao dịch.
  2. Xác định giá đóng cửa hiện tại có đi lên / đi xuống qua VWAP, tương ứng với điều kiện kích hoạt thặng dư và thặng dư.
  3. Khi thực hiện giao dịch, nếu K-line trước thấp hơn VWAP, nó sẽ được sử dụng làm điểm dừng, nếu không, VWAP sẽ được sử dụng trực tiếp như một điểm dừng; trái ngược lại, là nhị phân.
  4. Sau khi mở kho, hãy thiết lập 3 điểm dừng cố định.
  5. Chiến lược tiếp tục hoạt động cho đến khi kích hoạt tín hiệu ngược và mở một vị trí mới.

Xác định xu hướng thông qua dữ liệu VWAP xuyên chu kỳ, đồng thời sử dụng các điểm dừng động và điểm dừng cố định, có thể nắm bắt hiệu quả tình hình xu hướng, kiểm soát rủi ro rút lui và khóa lợi nhuận kịp thời.

Phân tích lợi thế

  1. Đơn giản và hiệu quả: Chiến lược logic rõ ràng, chỉ sử dụng một chỉ số VWAP, bạn có thể thực hiện phán đoán xu hướng và kích hoạt tín hiệu, đơn giản và dễ thực hiện và tối ưu hóa.
  2. Hạn chế động: Đặt Hạn chế dựa trên điểm cao và thấp của đường K trước, có thể thích ứng tốt hơn với biến động của thị trường, giảm rủi ro.
  3. Đặt điểm cố định: Đặt giá mục tiêu bằng số điểm cố định, giúp khóa lợi nhuận kịp thời và tránh lợi nhuận quay trở lại.
  4. Đặt dừng lỗ kịp thời: Chiến lược sẽ thanh toán ngay lập tức khi kích hoạt tín hiệu đảo ngược, không gây ra tổn thất thêm cho các cổ phiếu đã có lợi nhuận, đồng thời mở một vị trí mới để nắm bắt xu hướng mới.

Phân tích rủi ro

  1. Tối ưu hóa tham số: Chiến lược sử dụng 3 điểm cố định làm điểm dừng, giao dịch thực tế có thể cần tối ưu hóa để chọn tham số tốt nhất theo các tiêu chuẩn và đặc điểm thị trường khác nhau.
  2. Trong tình huống xung đột, việc nhập và xuất thường xuyên có thể dẫn đến chi phí giao dịch cao hơn, ảnh hưởng đến lợi nhuận.
  3. Xu hướng liên tục: Chiến lược phụ thuộc vào xu hướng, nếu thị trường ở trong khu vực biến động, hoặc xu hướng liên tục kém, có thể có nhiều tín hiệu giao dịch, mang lại nhiều rủi ro hơn.

Hướng tối ưu hóa

  1. Trình lọc xu hướng: Thêm các chỉ số xu hướng khác như trung bình di chuyển, MACD, v.v. để xác nhận xu hướng lần thứ hai, tăng độ tin cậy tín hiệu.
  2. Động lực dừng: Động lực điều chỉnh số điểm dừng dựa trên biến động của thị trường, các chỉ số như ATR, để phù hợp hơn với thị trường.
  3. Quản lý vị trí: Điều chỉnh động kích thước vị trí cho mỗi giao dịch dựa trên các yếu tố như số tiền tài khoản, sở thích rủi ro.
  4. Lựa chọn thời gian giao dịch: Lựa chọn thời gian giao dịch tốt nhất, tùy thuộc vào đặc điểm của chỉ số và mức độ hoạt động giao dịch, để tăng hiệu quả chiến lược.

Tóm tắt

Chiến lược này sử dụng dữ liệu VWAP xuyên chu kỳ để phán đoán xu hướng và kích hoạt tín hiệu, đồng thời kiểm soát rủi ro và khóa lợi nhuận bằng cách sử dụng dừng động và dừng số điểm cố định. Đây là một chiến lược giao dịch định lượng đơn giản và hiệu quả.

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