Chiến lược biến động dựa trên phương sai và trung bình động


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

Chiến lược biến động dựa trên phương sai và trung bình động

Chiến lược này được gọi là “Chiến lược dao động dựa trên chênh lệch và đường trung bình di chuyển”, nó sử dụng chênh lệch dao động của 30 đường K và ba đường trung bình di chuyển ((MA5, MA15 và MA30) để đưa ra quyết định giao dịch.

Ý tưởng chính của chiến lược là đo lường sự biến động của thị trường bằng cách tính toán chênh lệch của độ dao động của giá và kết hợp với các đường trung bình di chuyển trong các chu kỳ khác nhau để đánh giá xu hướng. Chiến lược sẽ thực hiện mua khi có sự biến động thấp và đường trung bình ngắn hạn nằm trên đường trung bình dài hạn. Đồng thời, chiến lược đặt điều kiện dừng lỗ và dừng để kiểm soát rủi ro và khóa lợi nhuận.

Các nguyên tắc của chiến lược có thể được chia thành các bước sau:

  1. Tính trung bình di chuyển 5, 15 và 30 ngày (MA5, MA15 và MA30)
  2. Tính toán độ dao động của 30 đường K trong quá khứ ((giá chênh lệch giữa giá cao nhất và giá thấp nhất chia cho giá đóng cửa) và nhân nó với 1.000.000 để dễ dàng quan sát.
  3. Xác định điều kiện mua: Phân số nhỏ hơn 35 và MA5 lớn hơn MA15, MA15 lớn hơn MA30
  4. Định nghĩa điều kiện dừng lỗ: giá đóng cửa thấp hơn MA30 hoặc MA5 thấp hơn MA30
  5. Xác định điều kiện dừng: chênh lệch lớn hơn 500
  6. Khi điều kiện mua được đáp ứng, chiến lược mở thêm; khi điều kiện dừng lỗ hoặc dừng lỗ được đáp ứng, chiến lược hỏng.

Những ưu điểm của chiến lược này bao gồm:

  1. Kết hợp các chỉ số biến động và xu hướng, có thể giao dịch khi xu hướng rõ ràng và biến động thấp, tránh giao dịch trong môi trường thị trường biến động mạnh mẽ.
  2. Sử dụng trung bình di chuyển trên nhiều chu kỳ cho phép đánh giá toàn diện hơn về hướng của xu hướng và cải thiện độ chính xác của giao dịch.
  3. Thiết lập các điều kiện dừng và dừng rõ ràng, kiểm soát rủi ro hiệu quả và khóa lợi nhuận.

Những rủi ro chính của chiến lược này là:

  1. Chiến lược này có thể xảy ra khi xu hướng thị trường không rõ ràng hoặc biến động đột ngột.
  2. Các thiết lập về điều kiện dừng lỗ và dừng lại có thể không phù hợp với tất cả các môi trường thị trường và cần được điều chỉnh theo thực tế.
  3. Chiến lược này phụ thuộc vào dữ liệu lịch sử và có thể không phản ứng kịp thời với các sự kiện bất ngờ hoặc biến động bất thường của thị trường.

Để tối ưu hóa chiến lược này, chúng ta có thể xem xét các hướng sau:

  1. Đối với các điều kiện mua, các điểm chênh lệch và moving average có thể được tìm kiếm bằng cách đo đạc và tối ưu hóa tham số.
  2. Các điều kiện dừng và dừng có thể giới thiệu thêm các chỉ số kỹ thuật hoặc chỉ số cảm xúc thị trường như RSI, MACD, v.v. để tăng độ tin cậy của tín hiệu.
  3. Các cơ chế quản lý rủi ro của thị trường, chẳng hạn như điều chỉnh vị trí, điều chỉnh tỷ lệ biến động, có thể được xem xét để đối phó với sự thay đổi của môi trường thị trường.

Nói chung, “Chiến lược dao động dựa trên chênh lệch và trung bình di chuyển” là một chiến lược giao dịch kết hợp biến động và chỉ số xu hướng. Nó đo lường sự biến động của thị trường bằng cách tính toán chênh lệch của biến động giá và kết hợp với trung bình di chuyển của các chu kỳ khác nhau để đánh giá xu hướng, giao dịch trong môi trường thị trường thích hợp.

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

//@version=5
strategy("Variance and Moving Averages Strategy", overlay=true)

// 计算MA5、MA15和MA30
ma5 = ta.sma(close, 5)
ma15 = ta.sma(close, 15)
ma30 = ta.sma(close, 30)

// 计算过去30根K线的波动幅度(最高价和最低价)的方差
variance = ta.variance((high - low) / close, 30) * 1000000

// 定义买入条件
buy_condition = variance < 35 and ma5 > ma15 and ma15 > ma30

// 定义止损条件 close < ma30 or ma5 < ma30
stop_loss_condition = true

// 定义止盈条件
take_profit_condition = variance > 500

// 执行交易逻辑
if (buy_condition)
    strategy.entry("Long", strategy.long)
if (stop_loss_condition)
    strategy.close("Long")
if (take_profit_condition)
    strategy.close("Long")
    
// 绘制MA5、MA15和MA30
// plot(ma5, color=color.blue, title="MA5")
// plot(ma15, color=color.orange, title="MA15")
// plot(ma30, color=color.red, title="MA30")

// 绘制方差
hline(0.0004, color=color.green, linestyle=hline.style_dashed, title="Variance < 0.0004")
hline(0.0005, color=color.red, linestyle=hline.style_dashed, title="Variance > 0.0005")
plot(variance, color=color.white, title="Variance")