Chiến lược theo xu hướng dựa trên việc làm mịn chênh lệch trung bình


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

Chiến lược theo xu hướng dựa trên việc làm mịn chênh lệch trung bình

Tổng quan

Chiến lược này là một chiến lược chỉ số sử dụng các điểm cao thấp trong ngắn hạn và sự chênh lệch giữa chi phí trung bình trong ngắn hạn và dài hạn để đánh giá xu hướng. Chiến lược này nhằm tăng độ nhạy của đường ngắn, giảm tổn thất trong tổng hợp bằng cách tăng hàm phẳng trung bình trước và sau để giảm tổn thất nhỏ trong tổng hợp, trong khi vẫn giữ lợi nhuận lớn khi xuất hiện trong dải sóng.

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

  1. Tính chi phí ngắn hạn: Sử dụng hàm ta.highest và ta.lowest để tính giá cao nhất và giá thấp nhất của dòng shortTerm root K gần đây nhất, sau đó lấy trung bình là chi phí ngắn hạn

  2. Tính chi phí dài hạn: Sử dụng hàm ta.sma để tính trung bình di chuyển đơn giản của giá đóng cửa gần đây của đường longTerm root K như chi phí dài hạn

  3. Tính trung bình: chi phí ngắn hạn trừ chi phí dài hạn

  4. Đường trung bình trơn: Đường trung bình được xử lý trơn để giảm sai lầm, ở đây ta.sma được sử dụng để làm trung bình di chuyển đơn giản

  5. Xác định xu hướng: thiết lập ngưỡng giá, khi trung bình mịn lớn hơn ngưỡng thì được đánh giá là xu hướng tăng, khi thấp hơn ngưỡng âm thì được đánh giá là xu hướng giảm

  6. Nhập và ra sân: theo dõi xu hướng tăng khi chơi nhiều, theo dõi xu hướng giảm khi chơi ít

Phân tích lợi thế

  1. Tăng độ nhạy cảm ngắn hạn để nắm bắt cơ hội nhanh chóng
  2. Phương pháp xử lý trơn tru, giảm khả năng sai lầm
  3. Thiết lập các kênh để giảm bớt các khoản đầu tư không cần thiết
  4. Theo dõi xu hướng, dừng lỗ kịp thời

Phân tích rủi ro

  1. Tập trung ngắn hạn dễ bị mắc kẹt và cần mở rộng phạm vi dừng lỗ một cách thích hợp
  2. Các tham số cần được thử nghiệm nhiều lần, chẳng hạn như số ngày ngắn hoặc dài, tham số trơn trung bình, các thiết lập không đúng có thể gây ra quá nhạy cảm hoặc chậm chạp
  3. Cần thiết lập chiều rộng đường dẫn hợp lý, quá lớn hoặc quá nhỏ là vấn đề
  4. Những người này có thể bị giam giữ trong nhà tù nhiều lần trong những cơn bão.

Phương pháp giải quyết rủi ro:

  1. Tăng cường mức độ dừng lỗ thích hợp, tránh bị giam giữ
  2. Tối ưu hóa thiết lập tham số, cân bằng độ nhạy và tỷ lệ sai lệch
  3. Kiểm tra và tối ưu hóa các tham số kênh
  4. Điều kiện lọc thêm để tránh không cần thiết phải đặt hàng trong tình trạng động đất

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

  1. Tối ưu hóa các điểm cao và thấp trong ngắn hạn, như tính toán chi phí ngắn hạn mượt mà hơn như PA hoặc trọng lượng
  2. Kiểm tra các phương pháp tính toán chi phí dài hạn khác nhau
  3. Thử các thuật toán phẳng khác nhau
  4. Tối ưu hóa các tham số kênh
  5. Thêm các bộ lọc mở kho, như phá vỡ, tăng khối lượng giao dịch và nhiều hơn nữa
  6. Tham gia cơ hội giao dịch đảo ngược

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 rất đơn giản và trực tiếp. So với các chỉ số như trung bình di chuyển phổ biến, nó có thể đánh giá xu hướng chuyển đổi nhanh hơn bằng cách tính toán chênh lệch chi phí ngắn và dài hạn. Đồng thời, xử lý trơn tru cũng làm cho các tham số của nó có nhiều không gian tối ưu hóa, có thể cân bằng độ nhạy và tỷ lệ sai lệ bằng cách điều chỉnh các tham số trơn tru.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © dead0001ing1

//@version=5
strategy("Trend-Following Indicator", overlay=true)

// 設置參數
shortTerm = input(5, "Short Term")
longTerm = input(20, "Long Term")
smooth = input(5, "Smoothing")
threshold = input(0, "Threshold")

// 計算短期成本
shortH = ta.highest(high, shortTerm)
shortL = ta.lowest(low, shortTerm)
shortCost = (shortH + shortL) / 2

// 計算長期成本
longCost = ta.sma(close, longTerm)

// 計算均差
deviation = shortCost - longCost

// 平滑均差
smoothedDeviation = ta.sma(deviation, smooth)

// 判斷順勢
isTrendingUp = smoothedDeviation > threshold
isTrendingDown = smoothedDeviation < -threshold

// 顯示順勢信號
plotshape(isTrendingUp, title="Trending Up", location=location.belowbar, color=color.green, style=shape.labelup, text="Up", size=size.small)
plotshape(isTrendingDown, title="Trending Down", location=location.abovebar, color=color.red, style=shape.labeldown, text="Down", size=size.small)

// 定義進出場策略
if isTrendingUp
    strategy.entry("Long", strategy.long)
    strategy.close("Long", when=isTrendingDown)
if isTrendingDown
    strategy.entry("Short", strategy.short)
    strategy.close("Short", when=isTrendingUp)