
Chiến lược biến động ngẫu nhiên tổng hợp một số chỉ số kỹ thuật khác nhau như đường chéo trung bình, chỉ số MACD và trung bình di chuyển của Hull, tạo thành một hệ thống quyết định giao dịch khoa học và có hệ thống. Chiến lược này tập trung vào việc nắm bắt các điểm chuyển hướng trong tình huống biến động để phát hiện và nắm bắt cơ hội tiềm năng trong tình huống.
Đầu tiên, chiến lược này sử dụng một đường xoay và đường chuẩn được gửi cùng một lúc. Trong đó, đường xoay được tính bằng giá cao nhất và giá thấp nhất trung bình trong 9 chu kỳ, và đường chuẩn được tính bằng giá cao nhất và giá thấp nhất trung bình trong 24 chu kỳ.
Thứ hai, MACD là một chỉ số theo dõi xu hướng quan trọng, cũng được sử dụng trong chiến lược này. MACD được tính toán bằng cách tính toán chênh lệch giữa các đường tín hiệu ngắn hạn (12 ngày) và dài hạn (24 ngày) và sau đó tính toán đường tín hiệu (9 ngày).
Hơn nữa, trung bình di chuyển của Hull được đưa vào chiến lược này để giảm độ trễ của trung bình di chuyển và tăng độ nhạy của tín hiệu biến giá. Cách tính toán của nó là: nhân WMA nửa chu kỳ với 2, trừ WMA toàn chu kỳ, sau đó tính WMA chu kỳ mở.
Cuối cùng, chiến lược này tổng hợp kết quả của nhiều chỉ số trên để tạo ra một hệ thống quyết định giao dịch đáng tin cậy hơn. Các hoạt động mua và bán thực tế sẽ xảy ra khi một cổ phiếu gửi, MACD và Hull MA và nhiều chỉ số khác nhau phát ra tín hiệu đồng bộ.
Giao diện đa chỉ số, sử dụng tổng hợp một nhóm, MACD và ba chỉ số Hull MA, tạo ra sức mạnh quyết định mạnh mẽ hơn.
Giảm tín hiệu giả, có thể xác minh giữa các chỉ số khác nhau, giảm khả năng sai lệch trong một chỉ số.
Tăng hiệu quả hoạt động, chỉ giao dịch khi có nhiều chỉ số phù hợp, tránh giao dịch thường xuyên.
Các tham số có thể điều chỉnh, các tham số chỉ số có thể được điều chỉnh theo thị trường, tăng khả năng thích ứng chiến lược.
Hull MA đã cải thiện tính toán trung bình di chuyển để bắt kịp sự thay đổi giá cả sớm hơn.
Các nhà nghiên cứu cho rằng các chiến dịch trên không có nguy cơ gây ra các tín hiệu sai.
Thiết lập tham số chỉ số không đúng cũng ảnh hưởng đến hiệu suất của chiến lược.
Nếu bạn tập trung quá nhiều vào các tín hiệu biến động, bạn có thể sẽ bỏ lỡ xu hướng.
Hull MA là một chỉ số mới, hiệu quả lâu dài vẫn chưa được chứng minh.
Các nhà đầu tư có thể sẽ không nắm bắt được tất cả các cơ hội trong thời gian.
Có thể thử nghiệm thêm các chỉ số khác, chẳng hạn như Bollinger Bands, để tối ưu hóa hơn nữa hệ thống ra quyết định.
Các tham số chỉ số có thể được điều chỉnh để tìm ra sự kết hợp tham số tối ưu.
Có thể giới thiệu cơ chế dừng lỗ động để kiểm soát tổn thất đơn lẻ.
Có thể kết hợp các chỉ số đánh giá xu hướng để tránh bỏ lỡ cơ hội xu hướng.
Tối ưu hóa quản lý vị trí, điều chỉnh tần suất giao dịch và vị trí của các thị trường khác nhau.
Chiến lược rung động ngẫu nhiên sử dụng nhiều chỉ số và phương pháp phân tích kỹ thuật để tìm kiếm cơ hội giao dịch trong tình huống rung động. Nó có những đặc điểm như lợi thế về bảng chỉ số, giảm tín hiệu giả và tăng hiệu quả hoạt động. Nhưng cũng có một số rủi ro cần được thử nghiệm và tối ưu hóa thêm để phù hợp với tình huống thị trường rộng lớn hơn để tìm ra sự cân bằng tối ưu giữa rủi ro và lợi nhuận.
/*backtest
start: 2022-10-30 00:00:00
end: 2023-11-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Ichimoku Kinko Hyo + HULL-MA_X + MacD", shorttitle="@m", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=1000, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
keh=input(title="Double HullMA",defval=12, minval=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
TenkanSenPeriods = input(9, minval=1, title="Tenkan Sen Periods")
KijunSenPeriods = input(24, minval=1, title="Kijun Sen Periods")
SenkouSpanBPeriods = input(51, minval=1, title="Senkou Span B Periods")
displacement = input(24, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
TenkanSen = donchian(TenkanSenPeriods)
KijunSen = donchian(KijunSenPeriods)
SenkouSpanA = avg(TenkanSen, KijunSen)
SenkouSpanB = donchian(SenkouSpanBPeriods)
LS=close, offset = -displacement
MACD_Length = input(9)
MACD_fastLength = input(12)
MACD_slowLength = input(24)
MACD = ema(close, MACD_fastLength) - ema(close, MACD_slowLength)
aMACD = ema(MACD, MACD_Length)
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 = 3)
plot(TenkanSen, color=blue, title="Tenkan Sen", linewidth = 2)
plot(KijunSen, color=maroon, title="Kijun Sen", linewidth = 3)
plot(close, offset = -displacement, color=orange, title="Chikou Span", linewidth = 2)
p1=plot (SenkouSpanA, offset = displacement, color=green, title="Senkou Span A", linewidth = 2)
p2=plot (SenkouSpanB, offset = displacement, color=red, title="Senkou Span B", linewidth = 3)
fill(p1, p2, color = SenkouSpanA > SenkouSpanB ? green : red)
closelong = n1<n2 and close<n2 and (MACD<aMACD or TenkanSen<KijunSen or close<KijunSen)
if (closelong)
strategy.close("Long")
closeshort = n1>n2 and close>n2 and (MACD>aMACD or TenkanSen>KijunSen or close>KijunSen)
if (closeshort)
strategy.close("Short")
longCondition = n1>n2 and close>n2 and MACD>aMACD and (TenkanSen>KijunSen or close>KijunSen)
if (longCondition)
strategy.entry("Long",strategy.long)
shortCondition = n1<n2 and close<n2 and MACD<aMACD and (TenkanSen<KijunSen or close<KijunSen)
if (shortCondition)
strategy.entry("Short",strategy.short)