Chiến lược giao dịch cân bằng dài hạn và ngắn hạn trung bình động


Ngày tạo: 2023-11-13 17:59:42 sửa đổi lần cuối: 2023-11-13 18:00:09
sao chép: 1 Số nhấp chuột: 641
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch cân bằng dài hạn và ngắn hạn trung bình động

Tổng quan

Chiến lược giao dịch cân bằng đa luồng trung bình là một chiến lược giao dịch cân bằng đa luồng sử dụng các đường trung bình di chuyển golden và death giao nhau trong các chu kỳ khác nhau. Chiến lược này kết hợp cùng với nhiều hiệu ứng hình ảnh như hiển thị màu K-line, màu nền và dấu hình để hỗ trợ quan sát sự thay đổi xu hướng. Chiến lược này phù hợp cho các nhà giao dịch trung cấp cao hơn quen thuộc với lý thuyết đường trung bình di chuyển.

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

Chiến lược này đầu tiên xác định hai tham số có thể điều chỉnh được của người dùng: chu kỳ đường trung bình hoạt động len1 và chu kỳ đường trung bình chuẩn len2. Chu kỳ đường trung bình hoạt động ngắn, có thể nắm bắt các thay đổi xu hướng ngắn hạn; chu kỳ đường trung bình chuẩn dài, có thể lọc tiếng ồn thị trường ngắn hạn. Người dùng có thể tự do chọn 5 loại trung bình di chuyển khác nhau: trung bình di chuyển chỉ số EMA, trung bình di chuyển đơn giản SMA, trung bình di chuyển có trọng WMA, trung bình di chuyển có trọng lượng DEMA, trung bình di chuyển có hai chỉ số DEMA và trung bình di chuyển có trọng lượng VWMA.

Khi đường trung bình ngắn hạn đi qua đường trung bình dài hạn, tạo ra tín hiệu vàng, mở nhiều lệnh; khi đường trung bình ngắn hạn đi qua đường trung bình dài hạn, tạo ra tín hiệu chết, mở đơn trống. Giao dịch cân bằng đa không gian làm tăng cơ hội kiếm lợi nhuận. Ngoài ra, màu của đường K cũng cho thấy xu hướng đa không gian hiện tại.

Hình dạng đánh dấu trực quan cho thấy vị trí của vàng và chết. Màu nền hỗ trợ phán đoán xu hướng. Chiến lược này có hai chế độ giao dịch được lựa chọn cùng một lúc là kim cân bằng đa không và kim chỉ nhiều đầu.

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

  1. Đồng thời kết hợp nhiều chỉ số đường trung bình, tín hiệu giao dịch đáng tin cậy hơn
  2. Giao dịch cân bằng đa không gian, tăng cơ hội lợi nhuận
  3. Có thể tùy chỉnh loại đường trung bình và độ dài chu kỳ để phù hợp với môi trường thị trường khác nhau
  4. Sự thay đổi trong xu hướng phán đoán trực quan kết hợp với nhiều hiệu ứng hình ảnh
  5. Cấu trúc mã rõ ràng, dễ hiểu và tái phát triển

Rủi ro và giải pháp

  1. Nguy cơ tín hiệu sai lệch

    • Sử dụng kết hợp đường trung bình khác nhau để giảm tín hiệu sai lệch
    • Thêm các điều kiện xuất cảnh khác như đường dừng lỗ
  2. Một chu kỳ cụ thể phù hợp hơn với rủi ro của chiến lược

    • Kiểm tra các tham số chu kỳ khác nhau để tìm chu kỳ tốt nhất
    • Tối ưu hóa code để thay đổi động các tham số chu kỳ
  3. Giao dịch trên không tăng nguy cơ thua lỗ

    • Điều chỉnh quản lý vị trí
    • Chỉ chọn phương thức giao dịch đa đầu

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

  1. Tăng Stop Loss Line để kiểm soát lỗ đơn
  2. Thêm các điều kiện để tái nhập
  3. Tối ưu hóa chiến lược quản lý vị thế
  4. Khám phá các tín hiệu giao dịch mới như chỉ số biến động
  5. Các tham số chu kỳ tối ưu hóa động
  6. Tối ưu hóa trọng lượng của các loại trung bình di chuyển

Tóm tắt

Chiến lược giao dịch cân bằng đa luồng đồng bằng tích hợp các lợi thế của chỉ số đồng bằng, thực hiện giao dịch cân bằng đa luồng. Chiến lược này có hiệu quả trực quan, dễ dàng nắm bắt xu hướng thị trường; và các tham số có thể tùy chỉnh, khả năng thích ứng mạnh mẽ.

Mã nguồn chiến lược
/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("MASelect Crossover Strat", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
av1 = input(title="Active MA", defval="EMA", options=["EMA", "SMA", "WMA", "DEMA", "VWMA"])
av2 = input(title="Base MA", defval="EMA", options=["EMA", "SMA", "WMA", "DEMA", "VWMA"])
len1 = input(20, "Active Length")
len2 = input(100, "Base Length")
src = input(close, "Source")
strat = input(defval="Long+Short", options=["Long+Short", "Long Only"])

ema1 = ema(src, len1)
ema2 = ema(src, len2)
sma1 = sma(src, len1)
sma2 = sma(src, len2)
wma1 = wma(src, len1)
wma2 = wma(src, len2)
e1 = ema(src, len1)
e2 = ema(e1, len1)
dema1 = 2 * e1 - e2
e3 = ema(src, len2)
e4 = ema(e3, len2)
dema2 = 2 * e3 - e4
vwma1 = vwma(src, len1)
vwma2 = vwma(src, len2)

ma1 = av1 == "EMA"?ema1:av1=="SMA"?sma1:av1=="WMA"?wma1:av1=="DEMA"?dema1:av1=="VWMA"?vwma1:na
ma2 = av2 == "EMA"?ema2:av2=="SMA"?sma2:av2=="WMA"?wma2:av2=="DEMA"?dema2:av2=="VWMA"?vwma2:na

co = crossover(ma1, ma2)
cu = crossunder(ma1, ma2)
barcolor(co?lime:cu?yellow:na)
col = ma1 >= ma2?lime:red
bgcolor(co or cu?yellow:col)
plotshape(co, style=shape.triangleup, location=location.belowbar)
plotshape(cu, style=shape.triangledown)
plot(ma1, color=col, linewidth=3), plot(ma2, style=circles, linewidth=1)

strategy.entry("Buy", strategy.long, when=co)
if strat=="Long+Short"
    strategy.entry("Sell", strategy.short, when=cu)
else
    strategy.close("Buy", when=cu)