
Hệ thống nắm bắt xu hướng động lượng ba chu kỳ là một chiến lược giao dịch theo xu hướng và động lượng dựa trên quy tắc, nó tích hợp ba mô hình kỹ thuật độc đáo (ASO, kênh SSL và MBI) thành một công cụ tổng hợp. Chiến lược này được thiết kế dành cho các nhà giao dịch ưa thích các điểm vào được lọc tốt, giảm nhiễu nhiễu và cấu trúc giao dịch rõ ràng. Phương pháp tổng hợp này đảm bảo độ tin cậy của tín hiệu bằng cách yêu cầu sự nhất quán của ba chỉ số độc lập và sử dụng ATR (Phạm vi trung bình thực tế) để thiết lập các mức dừng và dừng động, từ đó thực hiện khả năng tự điều khiển rủi ro.
Lập luận cốt lõi của chiến lược này dựa trên sự phối hợp của ba chỉ số kỹ thuật chính:
ASO tính toán tâm trạng thị trường bằng cách sử dụng công thức tùy chỉnh kết hợp áp lực trong đĩa với động lực phạm vi nhóm. Chỉ số này có ba mô hình tính toán, có thể nhấn mạnh các khía cạnh khác nhau của thị trường một cách linh hoạt. ASO tạo ra tín hiệu chéo, đây là yếu tố xác nhận quan trọng trong chiến lược.
Kênh SSL: Đây là một phương pháp theo dõi xu hướng cổ điển dựa trên đường trung bình di chuyển của điểm cao và điểm thấp. Nó giúp lọc các tín hiệu giả và làm cho giao dịch phù hợp với hướng thị trường rộng hơn.
Chỉ số phá vỡ động lực (MBI): tìm kiếm trường hợp giá phá vỡ cực gần đây. Nó hoạt động như một cơ chế kích hoạt cuối cùng sau khi các bộ lọc khác được sắp xếp.
Tín hiệu giao dịch chỉ được tạo ra khi các điều kiện sau được đáp ứng:
Cụ thể, điều kiện đầu vào nhiều đầu là: MBI là tích cực (để biểu thị sự phá vỡ lên) ASO lạc quan (ASO Bulls > ASO Bears), ASO vừa tạo ra giao điểm và SSL đang ở trạng thái lạc quan. Điều kiện đầu vào không ngược lại. Một khi kích hoạt giao dịch, hệ thống sẽ sử dụng nhân số ATR để thiết lập mức dừng và dừng động, cho phép quản lý rủi ro thích nghi với biến động của thị trường.
Cơ chế xác nhận nhiều lần: Chiến lược này làm giảm đáng kể các tín hiệu giả mạo và cải thiện chất lượng giao dịch bằng cách yêu cầu sự nhất quán của ba chỉ số độc lập. Phương pháp “chuyển lọc ba lần” này đảm bảo rằng chỉ có tín hiệu xu hướng mạnh sẽ kích hoạt giao dịch.
Quản lý rủi ro thích ứng: Chiến lược sử dụng ATR để tính toán mức dừng và dừng lỗ, cho phép điều chỉnh tự động theo biến động của thị trường. Điều này đảm bảo tính nhất quán của lỗ hổng rủi ro trong các điều kiện thị trường khác nhau.
Cài đặt tham số linh hoạt: Chính sách cho phép người dùng điều chỉnh các tham số của từng thành phần, bao gồm chu kỳ ASO và phương pháp tính toán, chu kỳ trung bình di chuyển SSL, thời gian xem xét đột phá MBI và các thiết lập liên quan đến ATR, để có thể tối ưu hóa cho các môi trường thị trường khác nhau và sở thích rủi ro cá nhân.
Cấu trúc giao dịch rõ ràng: Các quy tắc của chiến lược này rõ ràng và dễ hiểu, cung cấp cho các nhà giao dịch các điều kiện nhập cảnh và xuất cảnh rõ ràng, giảm nhu cầu phán đoán chủ quan.
Giao dịch không chồng chéo: Chiến lược được thiết kế để không mở giao dịch mới trước khi giao dịch hiện tại đóng cửa, điều này giúp quản lý rủi ro và ngăn chặn giao dịch quá mức.
Kết hợp xu hướng với động lực: Bằng cách kết hợp các chỉ số theo dõi xu hướng (SSL) và phá vỡ động lực (MBI), chiến lược này có thể xác nhận động lực trong khi nắm bắt xu hướng, thường dẫn đến tín hiệu giao dịch đáng tin cậy hơn.
Giải pháp: Bạn có thể xem xét điều chỉnh các tham số của các chỉ số để phù hợp với các môi trường thị trường khác nhau hoặc nới lỏng một số điều kiện thích hợp trong thị trường biến động cao.
Giải pháp: Thực hiện tổng quát phản hồi và tối ưu hóa tham số để tìm ra sự kết hợp tham số tốt nhất cho thị trường và khung thời gian cụ thể. Xem xét sử dụng phản hồi từng bước để đánh giá tác động của sự thay đổi tham số đối với hiệu suất.
Giải pháp: Xem xét thêm bộ lọc cường độ xu hướng hoặc cơ chế điều chỉnh biến động, điều chỉnh hành vi chiến lược trong điều kiện thị trường cực đoan. Các cơ chế dừng lỗ mạnh hơn cũng có thể được thực hiện để giảm thiểu sự rút lui lớn tiềm năng.
Giải pháp: Thêm mô phỏng điểm trượt vào phản hồi và sử dụng đơn giá giới hạn thay vì đơn giá thị trường trong giao dịch thực. Xem xét thêm biên độ an toàn bổ sung trong chiến lược để đối phó với rủi ro thực hiện.
Giải pháp: Xem xét kết hợp các bộ lọc cơ bản hoặc các chỉ số cảm xúc thị trường để bổ sung cho tín hiệu kỹ thuật. Ví dụ, bạn có thể thêm các điều kiện biến động để tránh giao dịch khi thị trường biến động quá mức.
Điều chỉnh tham số động: cơ chế để tự động điều chỉnh tham số chiến lược dựa trên điều kiện thị trường (như biến động hoặc cường độ xu hướng). Ví dụ, nhân ATR có thể được mở rộng trong môi trường biến động cao và thu nhỏ trong môi trường biến động thấp. Điều này có thể thích ứng tốt hơn với các tình trạng thị trường khác nhau, tăng cường sự ổn định của chiến lược.
Thêm bộ lọc môi trường thị trường: giới thiệu các bộ lọc bổ sung để xác định môi trường thị trường hiện tại (như xu hướng, biến động hoặc ngẫu nhiên) và điều chỉnh hành vi chiến lược theo môi trường khác nhau. Ví dụ, điều kiện nhập cảnh có thể nghiêm ngặt hơn trong thị trường biến động, trong khi điều kiện nhập cảnh có thể được nới lỏng trong thị trường có xu hướng mạnh.
Quản lý vị trí phân đoạn: Thực hiện hệ thống quản lý vị trí phức tạp hơn, cho phép nhập và xuất phân đoạn dựa trên cường độ tín hiệu, biến động thị trường hoặc các yếu tố khác. Điều này có thể giúp giảm thiểu rủi ro của phương pháp giao dịch “tất cả hoặc không có gì” và cung cấp kiểm soát rủi ro chi tiết hơn.
Tối ưu hóa bộ lọc thời gian: Cải thiện chức năng lọc thời gian theo dõi hiện tại, thêm bộ lọc thời gian trong ngày hoặc bộ lọc thời gian theo điều kiện thị trường cụ thể. Một số thị trường có thể thể hiện các đặc điểm xu hướng rõ ràng hơn trong một khoảng thời gian nhất định, chiến lược tối ưu hóa cho các khoảng thời gian này có thể cải thiện hiệu suất tổng thể.
Cải thiện chỉ số: Cân nhắc cải tiến hoặc thay thế các chỉ số hiện có. Ví dụ, có thể sử dụng trung bình di chuyển thích ứng thay vì trung bình di chuyển đơn giản trong SSL, hoặc khám phá các phương pháp tính toán thay thế của ASO để nắm bắt tốt hơn sự thay đổi của tâm trạng thị trường.
Tăng cường học máy: giới thiệu các thuật toán học máy để tối ưu hóa lựa chọn tham số hoặc dự đoán chiến lược nào có thể hoạt động tốt nhất trong điều kiện thị trường. Điều này có thể giúp hệ thống học hỏi từ dữ liệu lịch sử và thích ứng với sự thay đổi thị trường trong tương lai.
Tối ưu hóa dừng / dừng lỗ: thực hiện các chiến lược dừng phức tạp hơn, chẳng hạn như theo dõi dừng hoặc dừng động dựa trên mức hỗ trợ / kháng cự. Cũng như vậy, có thể xem xét các cơ chế dừng lỗ thông minh dựa trên cấu trúc thị trường, chứ không chỉ dựa vào ATR.
Hệ thống nắm bắt xu hướng động lượng ba lần là một chiến lược giao dịch toàn diện, cung cấp một phương pháp theo dõi xu hướng được lọc chặt chẽ bằng cách tích hợp chỉ số ASO cảm xúc, kênh xu hướng SSL và chỉ số phá vỡ động lượng MBI. Ưu điểm chính của chiến lược này nằm ở cơ chế xác nhận nhiều lần và hệ thống quản lý rủi ro tự điều chỉnh, giúp giảm tín hiệu giả và thích ứng với các điều kiện biến động thị trường khác nhau.
Mặc dù có những rủi ro tiềm ẩn như quá trình lọc và nhạy cảm của tham số, nhưng các vấn đề này có thể được giảm thiểu hiệu quả thông qua tối ưu hóa tham số thích hợp và các kỹ thuật quản lý rủi ro bổ sung. Các hướng tối ưu hóa trong tương lai có thể bao gồm điều chỉnh tham số động, lọc môi trường thị trường và hệ thống quản lý vị trí phức tạp hơn, có tiềm năng nâng cao hơn nữa hiệu suất và sự ổn định của chiến lược.
Nhìn chung, phương pháp lọc ba cung cấp một công cụ có giá trị cho các nhà giao dịch tìm kiếm một cấu trúc rõ ràng và tín hiệu giao dịch đáng tin cậy. Bằng cách kết hợp phân tích cảm xúc, nhận dạng xu hướng và xác nhận động lực, chiến lược này có thể xác định các cơ hội giao dịch có khả năng cao trong nhiều điều kiện thị trường, trong khi vẫn quản lý rủi ro thận trọng. Đối với các nhà giao dịch sẵn sàng dành thời gian để tối ưu hóa tham số và điều chỉnh chiến lược, phương pháp này có thể trở thành một phần mạnh mẽ trong hệ thống giao dịch của họ.
/*backtest
start: 2024-06-16 00:00:00
end: 2025-06-14 08:00:00
period: 3d
basePeriod: 3d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Darkoexe
//@version=5
strategy("PMZ's Triple Filter Trend Strategy {Darkoexe}", overlay=true, initial_capital=10000, pyramiding=2, margin_long=50, margin_short=50)
length=input.int(10,"ASO Period?",minval=1,maxval=100)
mode=input.int(0,"ASO Calculation Method:",minval=0,maxval=2)
intrarange=high-low
grouplow=ta.lowest(low,length)
grouphigh=ta.highest(high,length)
groupopen=open[length-1]
grouprange=grouphigh-grouplow
K1=intrarange==0 ? 1 : intrarange
K2=grouprange==0 ? 1 : grouprange
intrabarbulls=((((close-low)+(high-open))/2)*100)/K1
groupbulls=((((close-grouplow)+(grouphigh-groupopen))/2)*100)/K2
intrabarbears=((((high-close)+(open-low))/2)*100)/K1
groupbears=((((grouphigh-close)+(groupopen-grouplow))/2)*100)/K2
TempBufferBulls= mode==0 ? (intrabarbulls+groupbulls)/2 : mode==1 ? intrabarbulls : groupbulls
TempBufferBears= mode==0 ? (intrabarbears+groupbears)/2 : mode==1 ? intrabarbears : groupbears
ASOBulls=ta.sma(TempBufferBulls,length)
ASOBears=ta.sma(TempBufferBears,length)
//ASO
// Modification
var cross = false
var isASObull = ASOBulls>ASOBears ? true : false
if(ASOBulls>ASOBears and isASObull == false)
isASObull := true
cross := true
else if(ASOBulls<ASOBears and isASObull == true)
isASObull := false
cross := true
else
cross := false
//SSL
len=input.int(title="SSL Period", defval=10)
smaHigh=ta.sma(high, len)
smaLow=ta.sma(low, len)
float Hlv = na
Hlv := close > smaHigh ? 1 : close < smaLow ? -1 : Hlv[1]
sslDown = Hlv < 0 ? smaHigh: smaLow
sslUp = Hlv < 0 ? smaLow : smaHigh
//Modification
var isSSLbull = sslUp>sslDown ? true: false
if(sslUp>sslDown)
isSSLbull := true
else if(sslUp<sslDown)
isSSLbull := false
//MBI
per = input(12,title="MBI Period")
H = ta.highest(hl2,per)
hi = H[1]
L = ta.lowest(hl2,per)
lo = L[1]
cl = close
ind = cl>hi? 1 : cl<lo? -1 : 0
//Modification
var longCondition = false
var shortCondition = false
if(ind>0 and isASObull==true and cross==true and isSSLbull==true)
longCondition := true
else if(ind<0 and isASObull==false and cross==true and isSSLbull==false)
shortCondition := true
// Define strategy parameters
// risk_percent = input(2, title="Risk Percentage")
targetATR = input(1, title="Take Profit ATR ratio")
stopLossATR = input(1.5, title="Stop loss ATR ratio")
atrPeriod = input(14, title="ATR period")
ATR = ta.atr(atrPeriod)
// Calculate take profit level based on the reward ratio
take_profit_price = longCondition? close + (targetATR*ATR): shortCondition? close - (targetATR*ATR): 0
stop_loss_price = longCondition? close - (stopLossATR*ATR): shortCondition? close + (stopLossATR*ATR): 0
if (longCondition and strategy.opentrades == 0)
// take_profit_price = close + targetATR*ATR
// stop_loss_price = close - (stopLossATR*ATR)
strategy.entry("My Long Entry Id", strategy.long)
strategy.exit("Exit", from_entry="My Long Entry Id", stop=stop_loss_price, limit=take_profit_price)
longCondition := false
else if (shortCondition and strategy.opentrades == 0)
// take_profit_price = close - targetATR*ATR
// stop_loss_price = close + (stopLossATR*ATR)
strategy.entry("My Short Entry Id", strategy.short)
strategy.exit("Exit", from_entry="My Short Entry Id", stop=stop_loss_price, limit=take_profit_price)
shortCondition := false