Cách hoạt động của việc đếm xung lực, lý do kích thước cửa sổ quyết định mọi thứ, lý do bỏ qua xung lực giúp luồng lệnh không bị xem là độc hại và cách xây dựng, lọc, tối ưu hóa một chiến lược tự động dựa trên xung lực.
Chiến lược giao dịch xung lực vào lệnh theo hướng của một đợt biến động giá ngắn và tập trung, dựa trên giả định rằng đợt bùng nổ đó là dấu hiệu rõ ràng cho sự bắt đầu của một chuyển động, chứ không phải nhiễu. Thay vì đọc các chỉ báo trên những nến đã đóng, hệ thống xung lực đếm các chuyển động giá riêng biệt trong một cửa sổ thời gian ngắn, kiểm tra xem có đủ số lượng chuyển động cùng hướng và đủ lớn để trở nên đáng kể hay không, rồi xem cụm đó là một tín hiệu định hướng. Toàn bộ sự thành công hoặc thất bại của phương pháp này phụ thuộc vào bốn con số: độ dài cửa sổ, số lượng xung lực tối thiểu, kích thước xung lực tối thiểu và những gì xảy ra giữa tín hiệu với thời điểm vào lệnh.
Trong bối cảnh này, xung lực là một chuyển động giá riêng biệt theo một hướng, xảy ra nhanh chóng và lớn hơn đáng kể so với mức biến động cơ sở gần đây của công cụ. Đây là một sự kiện vi cấu trúc, không phải mô hình biểu đồ. Nó có ba đặc điểm mà chiến lược có thể đo trực tiếp:
| Đặc điểm | Nội dung đo lường | Lý do quan trọng |
|---|---|---|
| Hướng | Chuyển động tăng hay giảm | Cụm chỉ có ý nghĩa khi các thành phần cùng hướng |
| Độ lớn | Quy mô chuyển động theo điểm hoặc pip | Lọc bỏ các dao động cực nhỏ mà mọi nguồn giá liên tục tạo ra |
| Thời điểm | Chuyển động xảy ra khi nào trong cửa sổ quan sát | Các xung lực phân tán trong mười phút không tạo thành một đợt bùng nổ tập trung |
Lý do sử dụng xung lực thay vì nến là độ phân giải. Một nến một phút nén mọi thứ xảy ra trong phút đó thành bốn con số, khiến một đợt chuyển động nhanh theo một hướng rồi từ từ quay lại trông giống hệt một chuyển động chậm và đều. Đếm chính các chuyển động sẽ giữ lại thông tin mà nến loại bỏ.
Giao dịch xung lực nằm giữa giao dịch động lượng và giao dịch phá vỡ, đồng thời thường bị gắn nhãn sai là một trong hai. Sự khác biệt mang tính thực tế chứ không phải học thuật, vì chúng thay đổi nội dung được đo lường và thời điểm vào lệnh.
| Phương pháp | Yếu tố kích hoạt | Khung thời gian điển hình | Nguyên nhân thất bại chính |
|---|---|---|---|
| Giao dịch xung lực | Một cụm chuyển động giá nhanh theo một hướng trong cửa sổ ngắn | Vài giây đến vài phút | Phản ứng với nhiễu khi các ngưỡng quá lỏng |
| Giao dịch phá vỡ | Giá vượt qua một mức đã xác định hoặc ranh giới của vùng giá | Vài phút đến vài giờ | Phá vỡ giả tại các mức rõ ràng |
| Giao dịch động lượng | Giá trị của chỉ báo — tốc độ thay đổi hoặc bộ dao động — trên nến đã đóng | Vài phút đến vài ngày | Độ trễ: tín hiệu xuất hiện sau chuyển động |
| Hồi quy về giá trị trung bình | Giá lệch khỏi mức trung bình và được kỳ vọng sẽ quay lại | Bất kỳ | Giao dịch ngược một xu hướng thực sự |
Lưu ý rằng giao dịch xung lực và hồi quy về giá trị trung bình có giả định cốt lõi hoàn toàn trái ngược. Hồi quy về giá trị trung bình cho rằng một chuyển động mạnh là phản ứng thái quá và sẽ bị đảo ngược. Giao dịch xung lực cho rằng một chuyển động mạnh chứa thông tin và sẽ tiếp tục. Cả hai đều đúng ở những thời điểm khác nhau. Đây chính là lý do các bộ lọc được mô tả bên dưới quan trọng hơn bản thân logic vào lệnh.
Một tín hiệu xung lực hiệu quả là sự kết hợp của nhiều điều kiện, được đánh giá liên tục khi có giá mới. Mỗi điều kiện loại bỏ một nhóm tín hiệu dương giả cụ thể.
# 1. Cửa sổ quan sát: khoảng thời gian nhìn lại để đếm window = 60 seconds # 2. Điều kiện số lượng: bao nhiêu xung lực phải cùng hướng impulses_up >= min_count # ví dụ: 3 hoặc 4 # 3. Điều kiện kích thước: mỗi xung lực phải đủ lớn để được tính impulse_size >= min_size # tính bằng điểm, theo từng công cụ # 4. Sự chiếm ưu thế: cửa sổ không được cân bằng impulses_up > impulses_down # Nếu cả bốn điều kiện đều được đáp ứng, cửa sổ được phân loại là sự kiện xung lực # và chiến lược chuẩn bị vào lệnh mua.
Cửa sổ là tham số đơn lẻ có ảnh hưởng lớn nhất. Nếu quá ngắn, sẽ không bao giờ có đủ bằng chứng để đạt số lượng tối thiểu, khiến chiến lược không giao dịch hoặc giao dịch dựa trên hai chuyển động tình cờ trùng nhau. Nếu quá dài, các chuyển động không liên quan ở những thời điểm khác nhau sẽ bị tính chung, khiến hệ thống mua vào một chuyển động đã cạn kiệt.
| Cửa sổ | Hành vi | Phù hợp với |
|---|---|---|
| 10 đến 30 giây | Phản ứng rất nhanh, nhiều tín hiệu và nhiều tín hiệu dương giả hơn | Công cụ có độ biến động cao, quản lý rủi ro chặt chẽ và thoát lệnh nhanh |
| 1 phút | Điểm khởi đầu cân bằng cho phần lớn công cụ | Vàng, chỉ số và các cặp tiền tệ chính |
| 2 đến 5 phút | Ít tín hiệu hơn nhưng có độ tin cậy cao hơn và vào lệnh muộn hơn | Công cụ chậm hơn và nắm giữ vị thế theo phong cách swing |
Kích thước xung lực tối thiểu phải được xác định tương ứng với công cụ, không phải dưới dạng một con số chung. Một chuyển động đáng kể đối với vàng có thể chỉ là nhiễu nền trên chỉ số và là một sự kiện lớn trên cặp tiền tệ có độ biến động thấp. Có hai phương pháp khả thi: đặt ngưỡng theo số điểm cố định cho từng công cụ và kiểm tra lại hàng quý, hoặc liên kết nó với một thước đo biến động như khoảng dao động thực trung bình để ngưỡng thích nghi khi điều kiện thay đổi. Phiên bản cố định dễ hiểu và dễ tối ưu hóa hơn. Phiên bản thích ứng chịu được sự thay đổi chế độ thị trường tốt hơn.
Khi một cửa sổ được phân loại là sự kiện xung lực, cách triển khai đơn giản sẽ mở vị thế ngay lập tức. Đây hiếm khi là lựa chọn tốt nhất vì hai lý do riêng biệt.
Lý do đầu tiên là giá. Phần cuối của một đợt bùng nổ là thời điểm tệ nhất để được khớp lệnh: spread thường ở mức rộng nhất và mức giá bạn nhận được là mức mà không ai khác mong muốn. Một khoảng dừng ngắn có chủ đích cho phép spread trở lại bình thường trước khi lệnh được gửi.
Lý do thứ hai là dấu vết. Luồng lệnh liên tục xuất hiện trong vài mili giây sau một chuyển động giá nhanh có hình dạng đặc trưng, và các hệ thống đánh giá chất lượng khớp lệnh phía nhà môi giới được thiết kế để nhận diện những hình dạng đó. Việc thêm độ trễ giữa yếu tố kích hoạt và thời điểm vào lệnh, đồng thời thay đổi độ dài của nó, khiến luồng lệnh trông giống giao dịch theo hướng thông thường. Chúng tôi đã trình bày cách điều này tương tác với việc khớp lệnh trong cách nhà môi giới thực sự định giá và khớp lệnh cho bạn.
Đây là phần quyết định liệu một chiến lược có thể tồn tại lâu dài trên tài khoản bán lẻ hay không. Nhà môi giới không lọc lệnh vì chiến lược có lợi nhuận. Họ lọc các lệnh xuất hiện trong khi giá đang biến động, bởi các lệnh đó được khớp theo mức giá mà địa điểm giao dịch chưa cập nhật xong. Đó là ý nghĩa thực tế của “luồng lệnh độc hại”: nhận được khớp lệnh từ một báo giá cũ, gây thiệt hại cho nhà môi giới, trong vài mili giây khi giá vẫn đang chuyển động.
Một chiến lược xung lực được xây dựng theo cách mô tả ở đây sẽ làm điều ngược lại. Xung lực không được giao dịch. Nó được quan sát, đếm và chủ động bỏ qua. Không có lệnh nào tồn tại khi chuyển động đang diễn ra. Chỉ sau khi đợt bùng nổ kết thúc và vài giây trôi qua, chiến lược mới gửi lệnh. Khi đó, lệnh được khớp theo giá thị trường hiện tại giống như bất kỳ giao dịch theo hướng nào khác. Không sử dụng báo giá cũ, không khai thác lợi thế độ trễ và không có đặc điểm nào để bộ lọc khớp lệnh nhận diện.
Kết quả thực tế là luồng lệnh trông đúng với bản chất của nó: một nhà giao dịch nhìn thấy chuyển động, chờ đợi rồi mới vào lệnh. Do đó, độ trễ không phải sự thỏa hiệp bị áp đặt lên chiến lược. Nó là tính năng cho phép chiến lược hoạt động trên một tài khoản bình thường mà không kích hoạt các biện pháp đối phó được mô tả trong cách nhà môi giới thực sự định giá và khớp lệnh cho bạn.
Sau khoảng trễ, chiến lược xung lực cần một quy tắc xác định trạng thái “thị trường đồng thuận với tín hiệu”. Có hai câu trả lời hợp lý, thể hiện hai quan điểm trái ngược về những gì xảy ra ngay sau đợt bùng nổ.
Vào lệnh xác nhậnChờ giá di chuyển thêm một khoảng đã xác định theo hướng tín hiệu, chẳng hạn 10 điểm, trước khi vào lệnh. Tín hiệu chỉ được chấp nhận nếu thị trường tiếp tục di chuyển. Quan điểm: một chuyển động thực sự sẽ tiếp tục ngay lập tức. |
Vào lệnh khi giá điều chỉnhChờ giá di chuyển một khoảng đã xác định ngược với tín hiệu, chẳng hạn 10 điểm, rồi vào lệnh tại đó theo hướng ban đầu. Quan điểm: hướng xung lực là đúng và đợt điều chỉnh ngay sau đó chỉ là nhiễu. |
Hai chế độ không thể thay thế cho nhau và có hiệu quả khác nhau tùy theo công cụ. Những công cụ tiếp tục xu hướng rõ ràng sau một đợt bùng nổ phù hợp với vào lệnh xác nhận. Những công cụ tăng quá mức rồi nhanh chóng quay lại phù hợp với vào lệnh khi điều chỉnh. Thử nghiệm cả hai trên cùng dữ liệu trong khi giữ nguyên mọi yếu tố khác là cách nhanh nhất để tìm hiểu chế độ hiện tại của công cụ.
Vào lệnh theo xung lực tạo ra một vấn đề cụ thể khi thoát. Thời điểm vào lệnh được điều chỉnh theo một đợt bùng nổ biến động, nghĩa là lệnh dừng lỗ cố định đặt ở khoảng cách thông thường có khả năng cao bất thường bị kích hoạt bởi phần đuôi của chính đợt bùng nổ đã tạo ra tín hiệu. Từ đó có ba quy tắc.
Thứ nhất, xác định khoảng dừng lỗ theo mức biến động đã tạo ra tín hiệu, không phải theo giá trị mặc định cho toàn tài khoản. Thứ hai, sử dụng mức chốt lời như một giới hạn tối đa thay vì cách thoát chính, bởi các chuyển động xung lực thành công thường tiếp tục xa hơn một mục tiêu cố định. Thứ ba, để trailing stop thực hiện phần việc chính. Trailing stop được kích hoạt sau một mức di chuyển đã xác định và bám theo ở một khoảng cách cụ thể sẽ biến lần tiếp diễn xung lực lớn thỉnh thoảng xuất hiện thành giao dịch bù đắp cho các tín hiệu giả. Trên thực tế, các tham số trailing, không phải tham số vào lệnh, thường là yếu tố phân biệt một hệ thống xung lực cận biên với một hệ thống có lợi nhuận.
Việc phát hiện xung lực được thiết kế có chủ đích để nhạy, vì vậy các bộ lọc đảm nhiệm việc quản lý rủi ro. Bốn bộ lọc quan trọng nhất là:
| Bộ lọc | Nội dung bị chặn |
|---|---|
| Bộ lọc biến động | Các tín hiệu được tạo ra trong điều kiện chuyển động bình thường của công cụ đã vượt ngưỡng xung lực, khiến mọi cửa sổ đều trông như một đợt bùng nổ |
| Bộ lọc tin tức và sự kiện nguồn giá | Vào lệnh trong lúc công bố tin đã lên lịch và khi nguồn giá bất thường, lúc đợt bùng nổ phản ánh dữ liệu mới hoặc khoảng trống báo giá thay vì ý định định hướng |
| Bộ lọc phiên | Tín hiệu trong những giờ giao dịch thưa thớt, khi một số ít báo giá có thể vượt ngưỡng số lượng mà không có sự tham gia thực sự của thị trường |
| Bộ lọc spread | Vào lệnh tại thời điểm spread rộng nhất, chính là lúc hệ thống xung lực bị cám dỗ giao dịch nhiều nhất |
Các ngưỡng xung lực không thể được chuyển nguyên trạng giữa các môi trường. Cùng một chiến lược trên hai tài khoản sẽ nhìn thấy hai bức tranh khác nhau, bởi độ chi tiết của nguồn giá, tần suất báo giá, spread thông thường và độ trễ khớp lệnh đều khác nhau giữa các địa điểm giao dịch. Một ngưỡng số lượng tạo ra bốn tín hiệu mỗi ngày trên một nguồn giá có thể tạo ra bốn mươi tín hiệu trên một nguồn khác.
Điều đó khiến tối ưu hóa trở thành yêu cầu, không phải sự tinh chỉnh, đồng thời khiến chất lượng của môi trường thử nghiệm mang tính quyết định. Việc tối ưu hóa logic xung lực trên dữ liệu nến gần như vô nghĩa, bởi các sự kiện được đếm xảy ra bên trong nến. Một phép thử hữu ích cần có lịch sử tick thực, độ trễ khớp lệnh được mô hình hóa và spread lịch sử được áp dụng cho từng tick thay vì một giá trị cố định. Phương pháp của chúng tôi được mô tả trong SharpTrader Backtester and Optimizer, hoạt động trên các luồng tick thực với độ trễ khớp lệnh có thể cấu hình.
Một trình tự thực tế giúp duy trì lưới tham số ở mức có thể quản lý:
| Giai đoạn | Tối ưu hóa | Giữ cố định |
|---|---|---|
| 1 | Tham số xung lực: cửa sổ, số lượng tối thiểu và kích thước tối thiểu | Thoát lệnh và các bộ lọc ở giá trị mặc định hợp lý |
| 2 | Tham số trailing: khoảng kích hoạt và khoảng bám theo | Các tham số xung lực được tìm thấy trong giai đoạn 1 |
| 3 | Dừng lỗ và chốt lời | Các tham số xung lực và trailing |
| 4 | Bộ lọc: biến động, phiên và spread | Tất cả nội dung trên |
Chạy cả bốn giai đoạn cùng lúc tạo ra hàng trăm nghìn tổ hợp và một kết quả thường bị quá khớp với một khoảng hai tuần cụ thể. Tối ưu hóa theo từng giai đoạn giúp mỗi lượt thử vẫn có thể diễn giải và hoàn tất trong thời gian ngắn hơn nhiều.
Logic xung lực cần các công cụ thực sự tạo ra những đợt bùng nổ. Vàng và chỉ số cổ phiếu là môi trường tự nhiên vì cả hai đều biến động theo những đợt đẩy tập trung và có đủ sự tham gia để một cụm chuyển động cùng hướng thường phản ánh luồng lệnh thực. Các cặp tiền tệ chính cũng phù hợp, nhưng có tần suất tín hiệu thấp hơn và mục tiêu nhỏ hơn. Công cụ thưa thớt, chậm chạp là lựa chọn không phù hợp: ngưỡng xung lực không bao giờ được đạt tới hoặc được đạt tới do hiện tượng bất thường của báo giá thay vì giao dịch thực.
Bốn kiểu thất bại giải thích phần lớn các kết quả đáng thất vọng. Đặt ngưỡng kích thước xung lực quá thấp, khiến những dao động thông thường được tính là xung lực và hệ thống giao dịch liên tục. Tối ưu hóa trên dữ liệu nến, tạo ra các tham số mô tả một môi trường mà chiến lược thực tế không bao giờ giao dịch. Vào lệnh ngay khi có tín hiệu kích hoạt, tối đa hóa cả spread phải trả lẫn mức độ dễ nhận biết của luồng lệnh. Và sử dụng lại tham số của một nhà giao dịch khác, tương đương với việc đeo kính thuốc của người khác: nhà môi giới, nguồn giá và độ trễ của họ.
Tất cả nội dung trên mô tả logic. Việc biến nó thành một hệ thống hoạt động không cần giám sát đòi hỏi xử lý những phần phức tạp về vận hành hơn là khái niệm: liên tục đếm xung lực trên nhiều công cụ, độ trễ có thể cấu hình, cả hai chế độ vào lệnh, quản lý trailing và các bộ lọc có thể được bật riêng. Đó là những gì TrendPulse triển khai, với mọi ngưỡng được cung cấp dưới dạng tham số để có thể tối ưu hóa theo từng công cụ và từng nhà môi giới thay vì được phân phối như một hộp đen cố định.
Chiến lược giao dịch xung lực vào lệnh theo hướng của một đợt biến động giá ngắn và tập trung. Chiến lược đếm các chuyển động giá riêng biệt trong một cửa sổ thời gian cố định và xem một cụm xung lực cùng hướng vượt qua cả ngưỡng số lượng lẫn kích thước là tín hiệu vào lệnh định hướng.
Giao dịch động lượng đọc các chỉ báo trên nến đã đóng, vì vậy tín hiệu xuất hiện sau khi khung thời gian xác nhận chuyển động. Giao dịch xung lực đo chính các chuyển động giá trong một cửa sổ vài giây nên phản ứng ngay từ đầu chuyển động. Có sự đánh đổi giữa độ phân giải và độ tin cậy: tín hiệu xung lực xuất hiện sớm hơn nhưng có nhiều nhiễu hơn.
Ba hoặc bốn xung lực cùng hướng trong cửa sổ một phút là điểm khởi đầu phổ biến. Con số phù hợp phụ thuộc vào công cụ và nguồn giá: một địa điểm cung cấp báo giá chi tiết hơn sẽ ghi nhận nhiều xung lực hơn cho cùng một chuyển động giá thực, vì vậy ngưỡng cần được hiệu chỉnh cho từng nhà môi giới thay vì sao chép.
Thông thường là không. Phần cuối của một đợt bùng nổ là lúc spread rộng nhất và mức khớp lệnh tệ nhất. Luồng lệnh liên tục xuất hiện trong vài mili giây sau một chuyển động nhanh cũng dễ bị nhà môi giới nhận diện. Một khoảng trễ ngắn trước khi vào lệnh giúp cải thiện kết quả khớp và bình thường hóa dấu vết, đổi lại bạn có thể mất vài điểm trong những chuyển động thực sự nhanh.
Vào lệnh xác nhận chờ giá di chuyển thêm một khoảng đã xác định theo hướng tín hiệu trước khi vào, nhờ đó lọc bỏ những tín hiệu không tiếp tục. Vào lệnh khi điều chỉnh chờ giá hồi ngược với tín hiệu rồi vào theo hướng ban đầu, chấp nhận tỷ lệ thành công thấp hơn để đổi lấy giá tốt hơn và mức dừng lỗ chặt hơn.
Không, nếu chính xung lực được bỏ qua. Luồng lệnh độc hại là các lệnh được khớp trong khi giá đang biến động, dựa trên một báo giá mà địa điểm giao dịch chưa cập nhật xong. Chiến lược có thiết kế này không gửi lệnh trong khi giá đang chuyển động: nó quan sát đợt bùng nổ, bỏ qua rồi vào lệnh vài giây sau theo giá thị trường hiện tại. Không có báo giá cũ hay lợi thế độ trễ, vì vậy luồng lệnh không thể phân biệt với giao dịch theo hướng thông thường.
Chỉ khi sử dụng dữ liệu tick thực. Các sự kiện mà chiến lược xung lực đếm xảy ra bên trong nến, vì vậy kiểm thử dựa trên nến không thể nhìn thấy chúng và tạo ra tham số cho một môi trường không tồn tại. Một phép thử có ý nghĩa cần lịch sử tick, spread lịch sử áp dụng trên từng tick và độ trễ khớp lệnh được mô hình hóa.
Những công cụ di chuyển trong các đợt bùng nổ tập trung có sự tham gia thực sự phía sau: trước tiên là vàng và chỉ số cổ phiếu, sau đó là các cặp tiền tệ chính với tần suất tín hiệu thấp hơn. Công cụ thưa thớt hoặc chậm không phù hợp vì ngưỡng không bao giờ được đạt tới hoặc được đạt tới do hiện tượng bất thường của báo giá thay vì luồng lệnh thực.
Nhận các bài viết, báo cáo nghiên cứu và thông tin phát hành sản phẩm mới ngay khi chúng tôi xuất bản.
TrendPulse triển khai khả năng phát hiện xung lực, vào lệnh có độ trễ, cả hai chế độ xác nhận và quản lý trailing, với mọi ngưỡng đều có thể được tối ưu hóa trên chính nhà môi giới của bạn.