Chiến lược giao dịch tự động tương lai toàn diện cho cả dài và ngắn

Tác giả:ChaoZhang, Ngày: 2024-02-18 14:25:04
Tags:

img

Chiến lược này làChiến lược giao dịch tự động tương lai toàn diện cho cả dài và ngắn. Nó tích hợp SuperTrend, QQE và Trend Indicator A-V2 để tự động phát hiện tín hiệu giao dịch và thực hiện giao dịch dài / ngắn. Chiến lược này nhằm mục đích xác định xu hướng thị trường chính và đạt được lợi nhuận ổn định với kiểm soát rủi ro tốt.

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

Chiến lược bao gồm ba phần chính:

  1. Chỉ số SuperTrend xác định xu hướng thị trường chính. Khi giá phá vỡ trên đường xu hướng tăng, nó chỉ ra xu hướng tăng. Khi giá phá vỡ dưới đường xu hướng giảm, nó chỉ ra xu hướng giảm.

  2. Chỉ số QQE kết hợp RSI để xác định tình trạng mua quá mức / bán quá mức. Mức mua quá mức / bán quá mức động được tính dựa trên trung bình và độ lệch chuẩn của RSI. RSI trên mức trên cho thấy tín hiệu mua quá mức và RSI dưới mức thấp hơn cho thấy tín hiệu bán quá mức.

  3. Chỉ số xu hướng A-V2 đánh giá xu hướng bằng cách so sánh đường EMA nhanh và chậm.

Khi đánh giá hướng thị trường, tín hiệu dài được kích hoạt khi SuperTrend cho thấy xu hướng tăng, QQE không bán quá mức và tín hiệu mua A-V2 xảy ra.

Ưu điểm

  1. Sử dụng nhiều chỉ số cải thiện độ tin cậy và giảm tín hiệu sai.

  2. Khám phá tín hiệu tự động mà không cần can thiệp bằng tay làm giảm lỗi của con người.

  3. Sự kết hợp hữu cơ của các chỉ số cung cấp kiểm soát rủi ro hiệu quả trong khi khám phá các cơ hội giao dịch.

  4. Các tham số có thể tùy chỉnh để đáp ứng nhu cầu của người dùng.

  5. Hỗ trợ cả giao dịch chỉ dài và dài / ngắn để linh hoạt.

Rủi ro và giải pháp

  1. Chỉ số có thể tạo ra tín hiệu sai trong điều kiện thị trường cực đoan.

  2. Chi phí giao dịch và trượt có thể làm xói mòn lợi nhuận.

  3. Thiết lập tham số không đầy đủ dẫn đến hiệu suất kém. Hãy thử các giá trị khác nhau để tìm cấu hình tối ưu.

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

  1. Tăng khả năng học máy để tự động tối ưu hóa các thông số dựa trên dữ liệu lịch sử.

  2. Kết hợp nhiều yếu tố cấu trúc thị trường vi mô như khối lượng để phát hiện tín hiệu tốt hơn.

  3. Thực hiện các kỹ thuật giao dịch tần số cao để tự động gửi lệnh.

Kết luận

Chiến lược này kết hợp các chỉ số để đánh giá cấu trúc thị trường và đạt được lợi nhuận ổn định dưới sự kiểm soát rủi ro. Nó xem xét cả hướng xu hướng và tình trạng mua quá mức / bán quá mức cho các quyết định giao dịch chi tiết.


/*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"}]
*/

//@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")


Thêm nữa