Bài viết này sẽ giới thiệu chi tiết về một chiến lược giao dịch định lượng đường ngắn với nhiều chỉ số. Chiến lược này sử dụng một tập hợp các chỉ số kỹ thuật mạnh mẽ để tạo ra tín hiệu giao dịch trong khoảng thời gian thấp (ví dụ: 15 phút).
A. Nguyên tắc chiến lược
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ố, bao gồm:
(1) Hệ thống hai đường đồng nhất: tính hai đường trung bình di chuyển của Hull một cách nhanh và chậm, và định hướng xu hướng dựa trên mối quan hệ chéo của chúng.
(2) Hệ thống Ichimoku: tính toán đường chuyển đổi, đường chuẩn, v.v., và kết hợp với xu hướng phán đoán hình dạng đám mây và kháng cự hỗ trợ.
(3) Cổng Donchian: Xây dựng cổng thông qua giá cao nhất và giá thấp nhất để đánh giá giá phá vỡ.
(4) MACD: Tính MACD và đường tín hiệu và hoạt động dựa trên sự giao nhau của chúng.
Các chỉ số này sẽ tạo ra một tín hiệu giao dịch đáng tin cậy hơn khi chúng đồng thuận với các phán đoán xu hướng.
Khi Hull MA nhanh vượt qua Hull MA chậm, AND Ichimoku vượt qua đường viền AND Donchian vượt qua đường viền AND MACD vượt qua đường tín hiệu, hãy làm nhiều hơn; ngược lại, hãy đánh giá trống.
Trong khi đó, sự thay đổi của giá đóng cửa hàng ngày của K-line được sử dụng như một sự phán đoán phụ trợ để tránh bị lật ngược.
Ngoài ra, chiến lược này có logic dừng lỗ và dừng lại, điều khiển rủi ro và lợi nhuận cho mỗi giao dịch.
2 - Lợi thế chiến lược
Lợi thế lớn nhất của chiến lược này là các chỉ số kết hợp với nhau để 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ỉ có một sự đồng thuận mới tạo ra tín hiệu, điều này tránh được sự hạn chế của chỉ số đơn lẻ.
Thứ hai, sự kết hợp nhiều chu kỳ thời gian cũng là một lợi thế lớn. Phán quyết trợ giúp của Kline hàng ngày có thể lọc ra nguy cơ bị mắc kẹt trong thời gian ngắn của chu kỳ thấp.
Cuối cùng, các chiến lược có hệ thống dừng lỗ cũng giúp kiểm soát rủi ro của mỗi giao dịch.
Ba, rủi ro tiềm ẩn
Mặc dù chiến lược này được thiết kế hợp lý, nhưng giao dịch cũng cần lưu ý đến những rủi ro sau:
Đầu tiên, việc kết hợp nhiều chỉ số làm tăng sự khó khăn trong việc tối ưu hóa các tham số, thiết lập sai có thể dẫn đến quá tối ưu hóa.
Thứ hai, trong một xu hướng mạnh, các điểm dừng có thể bị phá vỡ và gây ra tổn thất.
Cuối cùng, việc đánh giá nhiều chu kỳ thời gian cũng có những trường hợp complexesignals khó đánh giá.
Nhìn chung, chiến lược này là một chiến lược định lượng đường ngắn hiệu quả, có thể được tối ưu hóa liên tục thông qua kiểm tra tham số.
Bốn nội dung, tóm tắt
Bài viết này mô tả chi tiết về một chiến lược giao dịch định lượng đường ngắn với nhiều chỉ số. Nó sử dụng các chỉ số như đường trung bình đôi, Ichimoku, kênh Donchian, MACD để kết hợp, cải thiện chất lượng tín hiệu. Đồng thời sử dụng phán đoán nhiều chu kỳ thời gian và kiểm soát rủi ro logic dừng lỗ.
/*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