Chiến lược giao dịch định lượng nhiều chỉ báo


Ngày tạo: 2023-12-28 17:46:45 sửa đổi lần cuối: 2023-12-28 17:46:45
sao chép: 0 Số nhấp chuột: 814
1
tập trung vào
1623
Người theo dõi

Chiến lược giao dịch định lượng nhiều chỉ báo

Tổng quan

Chiến lược này được gọi là chiến lược giao dịch định lượng đa chỉ số, là một chiến lược giao dịch định lượng tích hợp nhiều chỉ số kỹ thuật. Chiến lược này kết hợp ba chỉ số SuperTrend, QQE và Trend Indicator để tạo thành một hệ thống giao dịch tổng hợp phân tích thị trường đa chiều.

Ý tưởng chính của nó là thông qua sự kết hợp của các chỉ số khác nhau, trong khi nắm bắt các xu hướng chính của thị trường, để tăng độ chính xác phán đoán, cung cấp cho các nhà giao dịch một tín hiệu giao dịch ổn định và hiệu quả. Chiến lược này xem xét cả phán đoán xu hướng, cũng xem xét trường hợp quá mua quá bán, và cuối cùng được hỗ trợ bởi phán đoán trung bình dài hạn, tạo thành một hệ thống logic giao dịch được xác minh nhiều lớp.

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

Logic giao dịch cốt lõi của chiến lược này dựa trên kết hợp của ba chỉ số sau:

  1. Chỉ số SuperTrend: được sử dụng để xác định liệu giá có đang trong xu hướng tăng hay giảm. Khi giá đóng phá vỡ đường lên hoặc đường xuống, tạo ra tín hiệu mua và bán tương ứng.

  2. Chỉ số QQE: Phiên bản cải tiến của RSI, kết hợp các đặc điểm đảo ngược trung bình, được sử dụng để đánh giá thị trường có đang quá mua hay quá bán không. Phương pháp điều chỉnh động lực theo chênh lệch tiêu chuẩn của RSI để đánh giá giá thấp, đánh giá chính xác tín hiệu đảo ngược.

  3. Trend Indicator A-V2: tính EMA trung bình của giá và EMA trung bình của giá mở, đánh giá hướng xu hướng bằng cách so sánh mối quan hệ lớn nhỏ.

Ba chỉ số trên đều có trọng tâm, SuperTrend quan tâm đến xu hướng và điểm đảo ngược, QQE quan tâm đến tình trạng quá mua quá bán, chỉ số A-V2 hỗ trợ phán đoán xu hướng trung và dài hạn. Chiến lược này kết hợp chúng một cách hữu cơ để tạo thành hệ thống quyết định giao dịch.

Các giao dịch cụ thể sẽ diễn ra như sau:

Một tín hiệu mua được tạo ra khi SuperTrend là xu hướng tăng và chỉ số QQE cho thấy RSI nằm dưới mức bán quá mức và đường trung bình A-V2 đang có xu hướng tăng.

Một tín hiệu bán được tạo ra khi SuperTrend là xu hướng giảm và chỉ số QQE cho thấy RSI ở trên mức quá mua và đường trung bình A-V2 đang có xu hướng giảm.

Sự kết hợp của nhiều chỉ số trên có thể khai thác tối đa các cơ hội thị trường, giao dịch ổn định và hiệu quả, trong khi đảm bảo tính chính xác của phán đoán.

Phân tích lợi thế chiến lược

Những ưu điểm chính của chiến lược này là:

  1. Kết hợp các chỉ số, phán đoán chính xác hơn. Chiến lược này tích hợp nhiều chỉ số, các chỉ số khác nhau có thể xác minh lẫn nhau, làm tăng đáng kể độ chính xác của phán đoán.

  2. Nhiều giao dịch hai chiều, bao phủ toàn diện hơn. Cho phép thực hiện nhiều giao dịch hai chiều, có thể thu được lợi nhuận tốt trong cả hai biến động của thị trường.

  3. Kiểm soát rủi ro tốt hơn. Các chỉ số được kết hợp để tránh rủi ro sai lầm do chỉ số đơn lẻ. Ngoài ra, các chỉ số tự bao gồm như QQE cũng có thể kiểm soát rủi ro.

  4. Dễ sử dụng, điều chỉnh tham số linh hoạt. Thiết lập tham số đầu vào đơn giản, người dùng có thể tùy chỉnh tham số theo sở thích của mình, linh hoạt để phù hợp với thị trường khác nhau.

  5. Nó có thể được áp dụng cho tất cả các thị trường lớn. Nó có thể được áp dụng cho các thị trường như chứng khoán, ngoại hối, tiền điện tử, đặc biệt phù hợp với các nhà giao dịch kỹ thuật.

Phân tích rủi ro chiến lược

Những điểm nguy cơ chính của chiến lược này là:

  1. Các chỉ số đánh giá có nguy cơ bị lệch. Nếu xảy ra đột phá giá bất thường, có thể dẫn đến sự lệch trong đánh giá chỉ số, dẫn đến một số rủi ro.

  2. Rủi ro đảo ngược xu hướng thị trường. Chiến lược này tập trung vào việc phát hiện cơ hội xu hướng, có thể dẫn đến tổn thất lớn nếu có sự thay đổi cơ bản lớn gây ra sự đảo ngược thị trường.

  3. Rủi ro gây ra bởi tham số không đúng. Nếu tham số của người dùng được thiết lập không đúng, dẫn đến sai lệch trong đánh giá chỉ số, cũng có thể ảnh hưởng xấu đến tín hiệu.

Các biện pháp kiểm soát và giải quyết rủi ro chính là: 1) Xác minh các chỉ số khác để tránh lỗi chỉ số đơn lẻ; 2) Kiểm soát kích thước vị trí thích hợp, kiểm soát tổn thất đơn lẻ; 3) Đặt các tham số điều chỉnh theo thị trường khác nhau.

Hướng tối ưu hóa chiến lược

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

  1. Tăng chiến lược dừng lỗ để khóa lợi nhuận, giảm rút lui. Bạn có thể tăng mức dừng lỗ sau khi một số lợi nhuận xuất hiện trên vị trí, hoặc thêm dừng di chuyển.

  2. Kết hợp với nhiều chỉ số phán đoán, tăng sự ổn định của hệ thống phán đoán. Các tín hiệu hệ thống xác nhận hỗ trợ như MACD, DMI, OBV.

  3. Thêm cơ chế quản lý vị trí dựa trên biến động. Đổi ứng vị trí cụ thể cho mỗi giao dịch theo biến động của thị trường.

  4. Tối ưu hóa thiết lập tham số chỉ số. Bạn có thể thử nghiệm các tham số nào phù hợp hơn với chiến lược này bằng cách phản hồi với thời gian dài hơn, để có được sự kết hợp tham số tốt hơn.

  5. Các thị trường khác nhau sử dụng các cụm tham số khác nhau. Tùy theo hiệu quả thực tế của chiến lược trên các thị trường khác nhau (thị trường chứng khoán, ngoại hối, tiền điện tử, v.v.), chọn các tham số tối ưu để tăng sự ổn định của chiến lược.

Tóm tắt

Chiến lược này tích hợp sử dụng ba chỉ số SuperTrend, QQE và A-V2 để tạo thành một chiến lược giao dịch định lượng toàn diện và ổn định. Nó kết hợp phán đoán xu hướng, phán đoán mua quá mức và xác minh xu hướng trung và dài hạn, có thể phát hiện hiệu quả cơ hội thị trường và kiểm soát chặt chẽ rủi ro giao dịch. Lợi thế của chiến lược này rõ ràng, đáng để các nhà giao dịch kỹ thuật chứng minh tối ưu hóa trong thử nghiệm, cũng cung cấp tài liệu tham khảo quý giá cho các chiến lược khác.

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

//@version=4
//author:盧振興 芙蓉中華中學畢業 育達科技大學畢業碩士
//參考資料 : QQE MOD By:Mihkel00 ,SuperTrend By:KivancOzbilgic , TrendIndicator A-V2 By:Dziwne

strategy("綜合交易策略", shorttitle="Comprehensive Strategy", overlay=true)

// 添加單邊或多空參數
OnlyLong = input(true, title="單邊")

// SuperTrend 参数
PeriodsST = input(9, title="ST ATR Period")
MultiplierST = input(3.9, title="ST ATR Multiplier")
srcST = input(hl2, title="ST Source")

atrST = atr(PeriodsST)
upST = srcST - (MultiplierST * atrST)
upST := close[2] > upST[1] ? max(upST, upST[1]) : upST
dnST = srcST + (MultiplierST * atrST)
dnST := close[2] < dnST[1] ? min(dnST, dnST[1]) : dnST
trendST = 1
trendST := nz(trendST[1], trendST)
trendST := trendST == -1 and close[2] > dnST[1] ? 1 : trendST == 1 and close[2] < upST[1] ? -1 : trendST

// QQE 参数
RSI_PeriodQQE = input(6, title='QQE RSI Length')
SFQQE = input(5, title='QQE RSI Smoothing')
QQE = input(3, title='QQE Fast Factor')
ThreshHoldQQE = input(3, title="QQE Thresh-hold")
srcQQE = input(close, title="QQE RSI Source")

Wilders_PeriodQQE = RSI_PeriodQQE * 2 - 1

RsiQQE = rsi(srcQQE, RSI_PeriodQQE)
RsiMaQQE = ema(RsiQQE, SFQQE)
AtrRsiQQE = abs(RsiMaQQE[1] - RsiMaQQE)
MaAtrRsiQQE = ema(AtrRsiQQE, Wilders_PeriodQQE)
darQQE = ema(MaAtrRsiQQE, Wilders_PeriodQQE) * QQE

basisQQE = sma(RsiMaQQE - 50, 50)
devQQE = 0.35 * stdev(RsiMaQQE - 50, 50)
upperQQE = basisQQE + devQQE
lowerQQE = basisQQE - devQQE

qqeCondition = RsiMaQQE[1] - 50 > upperQQE[1] ? true : RsiMaQQE[1] - 50 < lowerQQE[1] ? false : na

// Trend Indicator A-V2 参数
ma_periodA_V2 = input(52, title="TIA-V2 EMA Period")
oA_V2 = ema(open, ma_periodA_V2)
cA_V2 = ema(close, ma_periodA_V2)
trendIndicatorAV2Condition = cA_V2[1] >= oA_V2[1] ? true : false

// 综合交易逻辑
longCondition = trendST == 1 and qqeCondition and trendIndicatorAV2Condition
shortCondition = trendST == -1 and not qqeCondition and not trendIndicatorAV2Condition

// 针对多单的开平仓逻辑
if (OnlyLong)
    if (longCondition)
        strategy.entry("Buy", strategy.long)        
    else
        strategy.close("Buy")

// 多空都做时的逻辑
if (not OnlyLong)
    if (longCondition)
        strategy.entry("Buy", strategy.long)
    else if (shortCondition)
        strategy.entry("Sell",strategy.short)

    // 添加多空平仓逻辑
    if (not longCondition)
        strategy.close("Buy")
    if (not shortCondition)
        strategy.close("Sell")

// 可视化信号
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition and not OnlyLong, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")