Chiến lược giao dịch thuật toán ngắn hạn đa chỉ số

Tác giả:ChaoZhang, Ngày: 2023-09-14 19:46:55
Tags:

Bài viết này giới thiệu chi tiết một chiến lược giao dịch thuật toán ngắn hạn kết hợp nhiều chỉ số. Nó sử dụng một nhóm các chỉ số kỹ thuật mạnh mẽ để tạo ra các tín hiệu giao dịch trong khung thời gian thấp hơn như biểu đồ 15 phút.

I. Chiến lược logic

Cốt lõi của chiến lược này là sử dụng sự kết hợp của nhiều chỉ số, chủ yếu bao gồm:

(1) Hệ thống trung bình di chuyển kép: Tính toán một trung bình di chuyển Hull nhanh và một chậm và đánh giá xu hướng dựa trên sự chéo chéo của chúng.

(2) Hệ thống Ichimoku: Tính toán chuyển đổi và đường cơ sở trong số những người khác, và xác định xu hướng và mức hỗ trợ / kháng cự dựa trên đám mây Ichimoku.

(3) Kênh Donchian: Xây dựng một kênh sử dụng giá cao nhất và thấp nhất để xác định sự đột phá giá.

(4) MACD: Tính toán MACD và đường tín hiệu, thực hiện giao dịch dựa trên giao dịch chéo của chúng.

Chỉ khi các chỉ số này đạt được sự đồng thuận về đánh giá xu hướng, các tín hiệu giao dịch đáng tin cậy sẽ được tạo ra.

Lấy các vị trí dài khi Hull MA nhanh vượt qua trên Hull MA chậm, và các đường Ichimoku vượt qua trên đám mây, và kênh Donchian phá vỡ, và MACD vượt qua trên đường tín hiệu.

Giá đóng cửa thanh hàng ngày cũng được kết hợp để tránh bị mắc kẹt trong sự đảo ngược.

Ngoài ra, chiến lược chứa logic dừng lỗ và lấy lợi nhuận để kiểm soát rủi ro và lợi nhuận cho mỗi giao dịch.

II. Lợi thế của Chiến lược

Ưu điểm lớn nhất của chiến lược này là sự bổ sung của các kết hợp chỉ số, giúp cải thiện chất lượng tín hiệu. Các chỉ số khác nhau đánh giá xu hướng từ nhiều góc độ, chỉ đồng ý nhất trí để tạo ra tín hiệu, tránh những hạn chế của chỉ số duy nhất.

Thứ hai, sự kết hợp nhiều khung thời gian cũng là một lợi thế đáng kể.

Cuối cùng, cơ chế dừng lỗ và lấy lợi nhuận cũng đảm bảo rủi ro có thể kiểm soát được cho mỗi giao dịch.

III. Các rủi ro tiềm ẩn

Mặc dù thiết kế chiến lược hợp lý, rủi ro giao dịch cũng nên được lưu ý:

Thứ nhất, sự kết hợp nhiều chỉ số làm tăng khó khăn tối ưu hóa.

Thứ hai, dừng lỗ có thể bị ảnh hưởng trong các động thái xu hướng mạnh mẽ, dẫn đến tổn thất không cần thiết.

Cuối cùng, các phán quyết nhiều khung thời gian cũng có thể đưa ra các tình huống khó hiểu.

Nhìn chung, chiến lược kết hợp các chỉ số theo cách khoa học và có thể trở thành một hệ thống giao dịch thuật toán ngắn hạn hiệu quả thông qua kiểm tra và tối ưu hóa tham số.

IV. Tóm tắt

Tóm lại, bài viết này đã giới thiệu chi tiết một chiến lược giao dịch thuật toán ngắn hạn kết hợp nhiều chỉ số. Nó sử dụng sự kết hợp của hai đường trung bình động, Ichimoku, kênh Donchian, MACD và nhiều hơn nữa để cải thiện chất lượng tín hiệu. Nó cũng sử dụng phân tích nhiều khung thời gian và logic dừng lỗ / lấy lợi nhuận để kiểm soát rủi ro. Với tối ưu hóa, chiến lược này có thể trở thành một hệ thống hiệu quả cho giao dịch có hệ thống ngắn hạn.


/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// Any timeFrame ok but good on 15 minute & 60 minute , Ichimoku + Daily-Candle_cross(DT) + HULL-MA_cross + MacD combination 420 special blend
strategy("Custom 15m strat",overlay=true)
keh=input(title="Double HullMA",defval=14, minval=1)
dt = input(defval=0.0010, title="Decision Threshold (0.001)", step=0.0001)`
SL = input(defval=-500.00, title="Stop Loss in $", step=1)
TP = input(defval=25000.00, title="Target Point in $", step=1)
ot=1
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(close[1],round(keh/2))
nma1=wma(close[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
d=n1>n2?red:green
confidence=(security(syminfo.tickerid, 'D', close)-security(syminfo.tickerid, 'D', close[1]))/security(syminfo.tickerid, 'D', close[1])
conversionPeriods = input(9, minval=1, title="Conversion Line Periods")
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods")
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
LS=close, offset = -displacement
MACD_Length = input(9)
MACD_fastLength = input(12)
MACD_slowLength = input(26)
MACD = ema(close, MACD_fastLength) - ema(close, MACD_slowLength) //macd
aMACD = ema(MACD, MACD_Length) //signal
closelong = n1<n2 and close<n2 and confidence<dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closelong)
    strategy.close("Long")
closeshort = n1>n2 and close>n2 and confidence>dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closeshort)
    strategy.close("Short")
longCondition = n1>n2 and strategy.opentrades<ot and confidence>dt and close>n2 and leadLine1>leadLine2 and open<LS and MACD>aMACD
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = n1<n2 and strategy.opentrades<ot and confidence<dt and close<n2 and leadLine1<leadLine2 and open>LS and MACD<aMACD
if (shortCondition)
    strategy.entry("Short",strategy.short)

a1=plot(n1,color=c)
a2=plot(n2,color=c)
plot(cross(n1, n2) ? n1 : na, style = circles, color=b, linewidth = 4)
plot(cross(n1, n2) ? n1 : na, style = line, color=d, linewidth = 4)
plot(conversionLine, color=#0496ff, title="Conversion Line")
plot(baseLine, color=#991515, title="Base Line")
//plot(longCondition == true ? 4000:4100,title="long")
plot(close, offset = -displacement, color=#459915, title="Lagging Span")
p1=plot (leadLine1, offset = displacement, color=green,  title="Lead 1")
p2=plot (leadLine2, offset = displacement, color=red,  title="Lead 2")
fill(p1, p2, color = leadLine1 > leadLine2 ? green : red)
// remove the "//" from before the plot script if want to see the indicators on chart

Thêm nữa