Chiến lược định lượng Golden Cross

Tác giả:ChaoZhang, Ngày: 2023-12-26 17:02:29
Tags:

img

Tổng quan

Chiến lược số lượng đường chéo vàng động đôi là một chiến lược giao dịch định lượng dựa trên các chỉ số kỹ thuật. Nó xác định xu hướng thị trường bằng cách tính toán hai đường chéo động của các giai đoạn khác nhau và cho phép giao dịch rủi ro thấp. Khi đường chéo động ngắn hơn vượt qua đường chéo động dài hơn, một tín hiệu đường chéo vàng được tạo ra để đi dài. Khi đường chéo ngắn hơn vượt xuống dưới đường chéo dài hơn, một tín hiệu đường chéo chết được tạo ra để đi ngắn. Chiến lược này cũng kết hợp các chỉ số kênh giá để tránh phá vỡ sai.

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

Chiến lược định lượng Golden Cross dựa trên lý thuyết trung bình động. Trung bình động có thể lọc hiệu quả tiếng ồn của thị trường và chỉ ra hướng xu hướng dài hạn. Khi trung bình động ngắn hơn vượt qua trên trung bình động dài hơn, nó chỉ ra sự đảo ngược trên thị trường và là tín hiệu mua. Khi trung bình động ngắn hơn vượt qua dưới trung bình động dài hơn, nó chỉ ra sự đảo ngược xuống và là tín hiệu bán. Chiến lược này đặt ra hai nhóm trung bình động - đầu tiên là trung bình động 2 ngày và 3 ngày, và thứ hai là trung bình động 420 ngày. Một tín hiệu mua 2 ngày được tạo ra khi trung bình mua vượt qua trên trung bình động 3 ngày, và một tín hiệu bán được tạo ra khi nó vượt qua dưới.

Logic chính của mã chiến lược là:

  1. Tính toán trung bình di chuyển 2 ngày, 3 ngày và 420 ngày
  2. Đánh giá thập giá vàng và thập giá chết giữa trung bình di chuyển 2 ngày và 3 ngày
  3. Sử dụng trung bình động 420 ngày để lọc tín hiệu và tránh phá vỡ sai
  4. Tạo tín hiệu mua và bán

Các nguyên tắc cụ thể là:

  1. Tính toán trung bình di chuyển đơn giản 2 ngày n2ma và trung bình di chuyển đơn giản 3 ngày nma dựa trên giá đóng của 3 ngày qua
  2. Tính toán rvwma trung bình di chuyển cân nhắc 420 ngày của giá đóng cửa từ 420 ngày qua
  3. Một tín hiệu mua được tạo ra khi n2ma vượt trên nma
  4. Một tín hiệu bán được tạo ra khi n2ma vượt dưới nma
  5. Sử dụng rvwma để lọc tín hiệu, tạo tín hiệu mua chỉ khi n2ma dưới rvwma và tín hiệu bán chỉ khi n2ma trên rvwma

Nó nắm bắt các cơ hội đảo ngược xu hướng sau các điều chỉnh ngắn hạn bằng cách xác định các điểm chuyển đổi với hai đường băng trung bình động và thiết lập các bộ lọc tham số để tránh các giao dịch sai lầm.

Phân tích lợi thế

Chiến lược định lượng Golden Cross Double Moving Average có những lợi thế sau:

  1. Đơn giản và đáng tin cậy: Sử dụng hai đường chéo trung bình động để xác định xu hướng giá ngắn hạn, tạo ra các tín hiệu đơn giản và rõ ràng
  2. Độ nhạy cao: Các thông số trung bình động 2 ngày và 3 ngày được thiết lập để đủ nhạy để nhanh chóng nắm bắt sự thay đổi giá ngắn hạn
  3. Bộ lọc tiếng ồn: Bao gồm các chỉ số kênh giá để lọc hiệu quả tiếng ồn và tránh giao dịch sai
  4. Khả năng thích nghi mạnh mẽ: Lý thuyết của hai đường chéo trung bình động có thể thích nghi với các sản phẩm và khung thời gian khác nhau, làm cho nó dễ dàng thực hiện
  5. Dễ dàng tối ưu hóa: Không gian tối ưu hóa lớn bằng cách thay đổi các kết hợp tham số trung bình động và điều chỉnh các tham số bộ lọc
  6. Xác nhận giao dịch thực: Chiến lược giao dịch chéo giữa hai đường trung bình động đã được xác nhận trong giao dịch trực tiếp với hiệu suất tương đối ổn định

Phân tích rủi ro

Chiến lược định lượng Golden Cross Double Moving Average cũng có những rủi ro sau:

  1. Rủi ro khôi phục: Sự phục hồi ngắn hạn có thể kích hoạt dừng
  2. Rủi ro đảo ngược xu hướng: Các sự kiện đột ngột dẫn đến sự đảo ngược xu hướng dài hạn có thể gây ra tổn thất
  3. Rủi ro tối ưu hóa tham số: Các thông số không phù hợp có thể làm suy giảm hiệu suất chiến lược
  4. Nguy cơ tối ưu hóa quá mức: Tối ưu hóa tham số quá mức có thể dẫn đến quá phù hợp
  5. Rủi ro sai lệch giao dịch trực tiếp: Sự khác biệt giữa backtesting và giao dịch trực tiếp có thể ảnh hưởng đến hiệu suất

Các phương pháp sau đây có thể được sử dụng để giảm rủi ro:

  1. Đặt stop loss hợp lý để kiểm soát lỗ đơn
  2. Kết hợp các yếu tố cơ bản để tránh giao dịch chống lại thị trường
  3. Chọn các sản phẩm phù hợp và thời gian tối ưu hóa
  4. Thực hiện kiểm tra độ nhạy của tham số đúng
  5. Thêm xác minh giao dịch trực tiếp

Hướng dẫn tối ưu hóa

Chiến lược định lượng Golden Cross Dual Moving Average cũng có thể được tối ưu hóa trong các khía cạnh sau:

  1. Tối ưu hóa tham số: Điều chỉnh các thông số chỉ số trung bình và kênh để chọn sự kết hợp thông số tối ưu.

  2. Lựa chọn thời gian: Chọn các thông số trung bình động phù hợp nhất dựa trên các đặc điểm sản phẩm khác nhau.

  3. Tối ưu hóa chiến lược dừng lỗ: Thiết lập dừng động, dừng kéo theo vv để tránh dừng rút lại.

  4. Tối ưu hóa giao dịch theo hướng: Kết hợp các chỉ số xu hướng và áp dụng các hoạt động theo xu hướng để ngăn chặn giao dịch chống xu hướng.

  5. Sự kết hợp học máy: Sử dụng LSTM, RNN và các mô hình học sâu khác để hỗ trợ đánh giá chất lượng tín hiệu và xác định thời gian nhập.

Kết luận

Chiến lược định lượng Golden Cross định lượng giá ngắn hạn thông qua nguyên tắc đơn giản của chuyển trung bình chéo. Thiết lập các chỉ số kênh lọc hiệu quả các tín hiệu sai. Chiến lược có logic đơn giản và dễ thực hiện. Điều chỉnh tham số linh hoạt có thể với hiệu suất tương đối tốt được xác nhận trong giao dịch trực tiếp. Đây là một chiến lược định lượng được khuyến cáo có thể được nâng cấp thông qua tối ưu hóa tham số, tối ưu hóa dừng lỗ, học máy và nhiều hơn nữa để đạt được hiệu suất tốt hơn. Chiến lược này phù hợp với giao dịch thuật toán trên các sản phẩm như tiền điện tử và cổ phiếu.


/*backtest
start: 2023-12-24 00:00:00
end: 2023-12-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//                                                Indicator420 by SeaSide420
strategy("Indicator420 strategy", overlay=true)
q=input(title="HullMA",defval=420)
z=input(title="HullMA cross",defval=3)
a=input(title="VWMA",defval=14)
rvwma=vwma(close,round(a))
rvwma2=vwma(close,round(a*2))
rvwma3=vwma(close,round(a*3))
n2ma=2*wma(close,round(z/2))
nma=wma(close,z)
diff=n2ma-nma
sqn=round(sqrt(z))
n2ma1=2*wma(close[1],round(z/2))
nma1=wma(close[1],z)
diff1=n2ma1-nma1
sqn1=round(sqrt(z))
n2ma2=2*wma(close[2],round(q/2))
nma2=wma(close[2],q)
diff2=n2ma2-nma2
sqn2=round(sqrt(q))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
n3=wma(diff2,sqn)
b=n1>n2?red:lime
c=n1>n2?green:red
d=n3>rvwma3?red:green
e=rvwma2>rvwma3?green:red
f=n1>n2?red:green
//plot(rvwma3, color=e, linewidth=1)
plot(cross(rvwma, rvwma2) ? rvwma : na, style = line,color=e, linewidth = 1)
plot(cross(n1, n2) ? n1 : na, style = line,color=b, linewidth = 3)
plot(cross(n1, n2) ? n1 : na, style = circles,color=c, linewidth = 4)
closelong = n1<n2
if (closelong)
    strategy.close("Long")
closeshort = n1>n2
if (closeshort)
    strategy.close("Short") 
longCondition = n1>n2 and strategy.opentrades<1 and n1<rvwma3
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = n1<n2 and strategy.opentrades<1 and n1>rvwma3
if (shortCondition)
    strategy.entry("Short",strategy.short)

Thêm nữa