Chiến lược giao dịch vàng dựa trên động lượng và độ lệch chuẩn


Ngày tạo: 2024-02-20 16:27:18 sửa đổi lần cuối: 2024-02-20 16:27:18
sao chép: 0 Số nhấp chuột: 819
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch vàng dựa trên động lượng và độ lệch chuẩn

Tổng quan

Chiến lược này đánh giá tình trạng quá mua và quá bán của thị trường bằng cách tính toán độ lệch của giá vàng so với chỉ số di chuyển trung bình 21 ngày, kết hợp với chênh lệch chuẩn, sử dụng chiến lược theo dõi xu hướng khi độ lệch đạt đến một mức độ chênh lệch chuẩn nhất định, đồng thời thiết lập cơ chế dừng lỗ để kiểm soát rủi ro.

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

  1. Tính trung bình di chuyển chỉ số 21 ngày như trục trung tâm
  2. Tính lệch giữa giá vàng và đường trung bình di chuyển
  3. Tiêu chuẩn hóa độ lệch, chuyển đổi thành Z-Score
  4. Khi Z-Score trên là 0.5, làm nhiều hơn; khi Z-Score dưới là -0.5, làm trống
  5. Z-Score giảm xuống 0.5/-0.5 và ngang hàng
  6. Khi Z-Score vượt quá 33, dừng lỗ

Phân tích lợi thế

Đây là một chiến lược theo dõi xu hướng của thị trường quá mua và quá bán dựa trên động lực giá cả và chênh lệch tiêu chuẩn, với những lợi thế sau:

  1. Sử dụng đường trung bình di chuyển như một hỗ trợ / kháng cự động để nắm bắt xu hướng
  2. Tỷ lệ chênh lệch tiêu chuẩn và Z-Score là những yếu tố quan trọng trong việc đánh giá quá mức mua và quá mức bán để giảm tín hiệu giả.
  3. Sử dụng chỉ số trung bình di chuyển, có ảnh hưởng lớn hơn và nhạy cảm hơn với giá gần đây
  4. Z-Score tiêu chuẩn hóa độ lệch giá, làm cho quy tắc đánh giá trở nên thống nhất
  5. Thiết lập cơ chế dừng lỗ, có thể dừng lỗ kịp thời, kiểm soát rủi ro

Phân tích rủi ro

Chiến lược này cũng có một số rủi ro:

  1. Đường trung bình di chuyển được sử dụng như một chuẩn để đánh giá, tạo ra tín hiệu sai khi giá tăng cao hoặc phá vỡ rõ ràng
  2. Mức phân biệt tiêu chuẩn và Z-Score cần được thiết lập đúng cách, quá lớn hoặc quá nhỏ sẽ ảnh hưởng đến hiệu suất chiến lược
  3. Thiết lập dừng lỗ không đúng, có thể quá quyết liệt, gây ra tổn thất không cần thiết
  4. Sự kiện bất ngờ gây ra biến động giá lớn, gây ra lỗ hổng và bỏ lỡ cơ hội xu hướng

Giải pháp:

  1. Thiết lập các tham số trung bình di chuyển hợp lý, Xác định xu hướng chính
  2. Tìm điểm tối ưu bằng cách đo lại các tham số chênh lệch chuẩn tối ưu
  3. Thiết lập chính sách kiểm tra Trailing Stop
  4. Đánh giá lại tình hình thị trường một cách kịp thời sau khi sự cố xảy ra và điều chỉnh các tham số chiến lược

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

Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:

  1. Sử dụng chỉ số tỷ lệ dao động như ATR thay vì chỉ số chuẩn đơn giản để xác định sự thèm ăn rủi ro tốt hơn
  2. Thử các loại đường trung bình di chuyển khác nhau để tìm ra đường trung bình phù hợp hơn
  3. Tối ưu hóa các tham số trung bình di chuyển, xác định chu kỳ trung bình tốt nhất
  4. Tối ưu hóa ngưỡng Z-Score, tìm các tham số hiệu suất chiến lược tốt nhất
  5. Tăng các phương thức dừng dựa trên tỷ lệ biến động để giảm lỗ thông minh và hợp lý hơn

Tóm tắt

Chiến lược này nói chung là một chiến lược theo dõi xu hướng cơ bản hợp lý. Nó sử dụng trung bình di chuyển để xác định hướng xu hướng chính, đồng thời thông qua xử lý tiêu chuẩn hóa độ lệch giá, có thể xác định rõ ràng tình trạng quá mua quá bán của thị trường, do đó tạo ra tín hiệu giao dịch. Thiết lập phương thức dừng lỗ hợp lý cũng giúp chiến lược kiểm soát rủi ro trong khi đảm bảo lợi nhuận. Bằng cách tối ưu hóa các tham số hơn nữa và thêm nhiều phán đoán điều kiện, chiến lược có thể trở nên ổn định, đáng tin cậy và có giá trị ứng dụng rất mạnh.

Mã nguồn chiến lược
/*backtest
start: 2024-01-20 00:00:00
end: 2024-02-19 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("GC Momentum Strategy with Stoploss and Limits", overlay=true)

// Input for the length of the EMA
ema_length = input.int(21, title="EMA Length", minval=1)

// Exponential function parameters
steepness = 2

// Calculate the EMA
ema = ta.ema(close, ema_length)

// Calculate the deviation of the close price from the EMA
deviation = close - ema

// Calculate the standard deviation of the deviation
std_dev = ta.stdev(deviation, ema_length)

// Calculate the Z-score
z_score = deviation / std_dev

// Long entry condition if Z-score crosses +0.5 and is below 3 standard deviations
long_condition = ta.crossover(z_score, 0.5)

// Short entry condition if Z-score crosses -0.5 and is above -3 standard deviations
short_condition = ta.crossunder(z_score, -0.5)

// Exit long position if Z-score converges below 0.5 from top
exit_long_condition = ta.crossunder(z_score, 0.5)

// Exit short position if Z-score converges above -0.5 from below
exit_short_condition = ta.crossover(z_score, -0.5)

// Stop loss condition if Z-score crosses above 3 or below -3
stop_loss_long = ta.crossover(z_score, 3)
stop_loss_short = ta.crossunder(z_score, -3)

// Enter and exit positions based on conditions
if (long_condition)
    strategy.entry("Long", strategy.long)
if (short_condition)
    strategy.entry("Short", strategy.short)
if (exit_long_condition)
    strategy.close("Long")
if (exit_short_condition)
    strategy.close("Short")
if (stop_loss_long)
    strategy.close("Long")
if (stop_loss_short)
    strategy.close("Short")

// Plot the Z-score on the chart
plot(z_score, title="Z-score", color=color.blue, linewidth=2)

// Optional: Plot zero lines for reference
hline(0.5, "Upper Threshold", color=color.red)
hline(-0.5, "Lower Threshold", color=color.green)