Chiến lược này cho phép đánh giá chính xác các xu hướng bằng cách kết hợp sử dụng chỉ số trung bình di chuyển Hull kép, chỉ số trung bình di chuyển có trọng lượng, chỉ số MACD và chỉ số cường độ thực. Nó có thể tự động thích ứng với sự thay đổi của môi trường thị trường và có khả năng thích ứng mạnh mẽ.
Chỉ số cốt lõi của chiến lược này là trung bình di chuyển Hull kép, được tính bằng hai tham số kiểm soát khê và tè. Hai tham số này xác định chu kỳ của đường nhanh và đường chậm, tương ứng.
Chỉ số hỗ trợ phán đoán có trọng lượng trung bình di chuyển meh1 khi giá cao hơn meh1 thì là tình trạng tăng giá; khi giá thấp hơn meh1 thì là tình trạng giảm giá
Một chỉ số phán đoán hỗ trợ khác là MACD. Nó được tính bằng đường MACD của đường trung bình di chuyển nhanh trừ đường trung bình di chuyển chậm và đường tín hiệu của đường trung bình di chuyển MACD.
Chỉ số phán quyết phụ trợ cuối cùng là TSI, được tính toán bằng cách tính toán trơn kép tỷ lệ thay đổi giá. Kích thước giá trị tuyệt đối của nó đại diện cho động lực thay đổi giá. Trong các điều kiện mua và bán, đánh giá đường tín hiệu của TSI, kiểm soát thời gian của các mục nhập và xuất cảnh.
Kết hợp các tín hiệu của các chỉ số này, bạn có thể đánh giá chính xác xu hướng và tự động điều chỉnh các tham số để đồng bộ với thị trường.
Sử dụng trung bình di chuyển Hull kép như là chỉ số phán đoán chính, cộng với việc sử dụng nhiều chỉ số khác, có thể cải thiện độ chính xác phán đoán và giảm tín hiệu giả.
Sử dụng chỉ số TSI để xác định thời gian ra thị trường và thời gian ra thị trường, bạn có thể kiểm soát rủi ro.
Nhiều tham số có thể tự điều chỉnh, có khả năng thích ứng, có thể tự động thích ứng với sự thay đổi của thị trường.
Sử dụng các chỉ số kết hợp và tham số tự thích ứng với tư duy, làm cho chiến lược ổn định tốt, lợi nhuận liên tục.
Mặc dù đã thêm vào chỉ số TSI để đánh giá thời gian, nhưng các chỉ số được sử dụng trong thuật toán vẫn là loại xu hướng, nếu gặp phải thị trường vút rung động, nó sẽ làm tăng biến động lợi nhuận.
Thiết lập tham số không đúng cách có thể dẫn đến thất bại của chiến lược và cần thiết phải thiết lập tham số hợp lý dựa trên kinh nghiệm của riêng bạn.
Các danh mục đa chỉ số làm tăng số lượng tính toán, tăng khả năng báo cáo sai trên các cổ phiếu và khoảng thời gian có khối lượng dữ liệu lớn, cần kiểm soát phạm vi dữ liệu.
Cần giám sát hiệu quả tính toán của chỉ số để ngăn chặn sự nhiễu loạn dữ liệu bất thường.
Có thể thử nghiệm thêm các chỉ số phụ trợ khác, chẳng hạn như chỉ số BOLL, để tín hiệu chính xác hơn và đáng tin cậy hơn.
Tối ưu hóa logic ra thị trường, thiết lập điều kiện dừng lỗ, kiểm soát lỗ hổng đơn lẻ.
Đào tạo và tối ưu hóa các tham số của các giống giao dịch để thích ứng tốt hơn với các giống khác nhau.
Thêm mô-đun thích ứng tham số để tham số chiến lược có thể tự động điều chỉnh theo hiệu quả giao dịch gần đây.
Chiến lược này tích hợp lợi thế của nhiều chỉ số, sử dụng các chỉ số kết hợp để đánh giá xu hướng, trong khi kiểm soát rủi ro, tăng độ chính xác của phán đoán. Bằng cách tối ưu hóa tham số và tối ưu hóa logic, chiến lược có thể thích ứng tốt hơn với sự thay đổi của thị trường, thu được nhiều lợi nhuận hơn trên cơ sở giảm tổn thất liên tục. Chiến lược này ổn định và có thể được áp dụng trong dài hạn cho các loại như cổ phiếu và tiền điện tử.
/*backtest
start: 2023-11-18 00:00:00
end: 2023-12-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
// Quad-HullMA-cross & VWMA & MacD & TSI combination <<<<< by SeaSide420 >>>>>>
strategy("MultiCross420", overlay=true, calc_on_order_fills= true, calc_on_every_tick=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0)
keh=input(title="Double HullMA 1",defval=7, minval=1)
teh=input(title="Double HullMA 2",defval=14, minval=1)
meh=input(title="VWMA",defval=1, minval=1)
meh1=vwma(close,round(meh))
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma,sqn=round(sqrt(keh))
n2ma1=2*wma(close[2],round(keh/2))
nma1=wma(close[2],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
n2ma3=2*wma(close,round(teh/2))
nma2=wma(close,teh)
diff2=n2ma3-nma2,sqn2=round(sqrt(teh))
n2ma4=2*wma(close[2],round(teh/2))
nma3=wma(close[2],teh)
diff3=n2ma4-nma3,sqn3=round(sqrt(teh))
n3=wma(diff2,sqn2)
n4=wma(diff3,sqn3)
fastLength = input(title="MacD fastLength", defval=7)
slowlength = input(title="MacD slowlength", defval=14)
MACDLength = input(title="MacD Length", defval=3)
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
a1=plot(n1,color=c),a2=plot(n2,color=c)
plot(cross(n1, n2) ? n1 : na, style = cross, color=b, linewidth = 3)
a3=plot(n3,color=c),a4=plot(n4,color=c)
plot(cross(n3, n4) ? n1 : na, style = cross, color=b, linewidth = 3)
//a5=plot(meh1,color=c)
long = input(title="TSI Long Length", defval=5)
short = input(title="TSI Short Length", defval=3)
signal = input(title="TSI Signal Length", defval=2)
linebuy = input(title="TSI Upper Line", defval=4)
linesell = input(title="TSI Lower Line", defval=-4)
price = close
double_smooth(src, long, short) =>
fist_smooth = ema(src, long)
ema(fist_smooth, short)
pc = change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
closelong = n1<n2 and n3<n4 and n1>meh1
if (closelong)
strategy.close("Long")
closeshort = n1>n2 and n3>n4 and n1<meh1
if (closeshort)
strategy.close("Short")
longCondition = strategy.opentrades<1 and n1>n2 and MACD>aMACD and n1<meh1 and n3>n4 and ema(tsi_value, signal)>linesell
if (longCondition)
strategy.entry("Long",strategy.long)
shortCondition = strategy.opentrades<1 and n1<n2 and MACD<aMACD and n1>meh1 and n3<n4 and ema(tsi_value, signal)<linebuy
if (shortCondition)
strategy.entry("Short",strategy.short)