Vì Sao Bot Giao Dịch Làm Cháy Tài Khoản?
· #risk-management #trading-bots #drawdown #systematic-trading #gold-trading
Phần lớn bot giao dịch làm cháy tài khoản không sai về thị trường. Chúng sai về cách chịu lỗ. Chúng gồng thêm vào lệnh đang thua, chúng tính rủi ro theo từng biểu đồ thay vì theo cả tài khoản, và chúng mang theo những giới hạn an toàn chưa từng được ai kiểm tra. Một bot được xây để sống sót làm ngược lại cả ba điều đó, và vì vậy nó trông kém ấn tượng hơn trong backtest.
MasterVP · Hành trình giao dịch hệ thống
Bài viết bởi người sáng lập KenKem, một kỹ sư phần mềm hai mươi năm kinh nghiệm, từng giao dịch vàng bằng tay trước khi xây dựng bộ công cụ nghiên cứu đứng sau MasterVP. Là một quant trader tự học, mình đã đánh giá thấp một phần của công việc này lâu hơn mọi phần khác: không phải việc tìm ra lợi thế, mà là việc giữ tài khoản sống đủ lâu để thu được lợi thế đó. Đây là chia sẻ kiến thức từ quá trình ấy, không phải khuyến nghị giao dịch bất cứ thứ gì, và mọi con số bên dưới đều là kết quả backtest hoặc mô phỏng trên dữ liệu tick thật, có ghi ngày và ghi rõ loại.
Vì sao bot martingale hay grid trông rất đẹp trong backtest?
Vì nó đẩy khoản lỗ ra khỏi tầm mắt, chứ không đẩy khoản lỗ ra khỏi tài khoản.
Martingale tăng khối lượng sau mỗi lệnh thua để một lệnh thắng gỡ lại toàn bộ những gì đã mất trước đó. Grid liên tục mở thêm vị thế theo từng khoảng giá khi giá đi ngược, rồi đóng cả rổ lệnh khi giá hồi lại một chút. Trung bình giá xuống là cùng ý tưởng đó nhưng làm bằng tay. Cả ba biến nhiều khoản lỗ nhỏ đã chốt thành một vài khoản lỗ lớn chưa chốt, và một đường cong vẽ từ các lệnh đã đóng chỉ cho thấy phần được phép đóng.
Đó là lý do đường cong mượt cho tới đúng ngày nó không còn mượt. Khoản lỗ chưa bao giờ biến mất. Nó bị chồng lên, và cả chồng đó đến hạn trong một nhịp giá không hồi lại. Đường equity có tính cả vị thế đang mở nói ra sự thật đó sớm hơn nhiều so với đường balance, nên câu đầu tiên đáng hỏi về bất kỳ con bot có đường cong mượt nào là mình đang nhìn đường nào trong hai đường ấy.
Chuyện gì xảy ra khi mình thực sự dựng grid và martingale rồi kiểm tra?
Mọi phiên bản đều thua hệ thống một vị thế đơn giản.
Tháng 7 năm 2026, mình dựng một chế độ rổ lệnh vào tick engine trong Dquants engine mình tự phát triển: nhiều vị thế cùng lúc trên cùng tín hiệu, một biến thể martingale thêm lệnh ngược chiều giá, một biến thể pyramid thêm lệnh cùng chiều giá, và một cơ chế thoát theo cả rổ. Mình viết quy tắc đạt hay trượt ra trước khi chạy bất cứ thứ gì, rồi kiểm tra mười một biến thể đã đăng ký trước trên dữ liệu tick vàng thật từ 2024 tới 2026, so với hệ thống một vị thế thông thường. Drawdown được đo trên equity có tính cả khoản lỗ đang mở, vì drawdown chỉ tính trên balance sẽ tô đẹp cho grid.
Không biến thể nào trong mười một cái thắng được nhóm đối chứng, cả về kết quả ròng lẫn tốc độ leo ra khỏi drawdown. Biến thể martingale kết thúc dưới mức không. Khoảng cách đủ lớn để mình dừng ở đó thay vì quét thêm.
Cơ chế ở đây chỉ là số học thông thường. Lợi thế trên mỗi lệnh của mình mỏng, và mỗi chân lệnh trong rổ đều phải trả spread riêng. Chồng năm, sáu vị thế lên một tín hiệu thì mình trả phí năm, sáu lần cho cùng một ý tưởng. Chia nhỏ rủi ro cho các chân lệnh đúng là có làm giảm drawdown, nhưng giảm rủi ro trên một vị thế duy nhất cũng làm giảm drawdown y như vậy mà không kéo theo các chi phí khác. Chế độ rổ lệnh vẫn tắt và chưa bao giờ được đưa vào Expert Advisor.
Bài kiểm tra đã loại nó là bài mình giờ áp dụng cho mọi ý tưởng về rủi ro, và trước đó nó cũng đã loại pyramiding và việc giữ hai vị thế: điều chỉnh khối lượng của hệ thống gốc về cùng mức drawdown rồi so sánh. Thay đổi nào cũng kiếm được nhiều tiền hơn bằng cách nhận nhiều rủi ro hơn. Câu hỏi công bằng duy nhất là nó có còn thắng khi drawdown bằng nhau hay không.
Vì sao drawdown là con số đầu tiên cần hỏi?
Vì drawdown quyết định một người có trụ lại được với chiến lược hay không, còn lợi nhuận thì không.
Tính đến tháng 8 năm 2026, trên bản phát hành 1.19, hệ thống vàng năm phút ở mức rủi ro tiêu chuẩn đã sụt 12,68% từ đỉnh xuống đáy trên tài khoản thử nghiệm 100.000 đô la, từ tháng 1 năm 2024 tới tháng 5 năm 2026, qua 2.187 lệnh trên dữ liệu tick thật. Con số đó chỉ có ý nghĩa khi đặt cạnh số vốn gốc và khoảng thời gian đo, nên mình ghi rõ cả hai. Một phần trăm drawdown không kèm tài khoản nào phía sau chỉ là trang trí. Mình đã viết thêm về tỷ lệ giữa nỗi đau và tiến triển này trong bài về Calmar ratio.
Mình cũng không tính khối lượng dựa trên con số đó. Một bài stress test trước đây trên cấu hình đã khóa, ở mức rủi ro cao hơn, đã xáo trộn các lệnh 20.000 lần để tập dượt những đường đi chưa xảy ra. Đường trung vị chạm drawdown khoảng 24%, cứ hai mươi đường thì có một đường vượt quá khoảng 38%, và lần xáo trộn tệ nhất chạm khoảng 55%. Dải kết quả đó là lý do ghi chú của mình nói phải chuẩn bị cho mức đỉnh 30 tới 40 phần trăm. Một mức drawdown đo được gần với sàn của những gì có thể xảy ra hơn là trần.
Làm sao giảm drawdown mà không chỉ đơn giản là giao dịch nhỏ lại?
Bỏ đi những lệnh mang theo thiệt hại, và giảm khối lượng khi tài khoản đang bị tổn thương.
Hai cơ chế sống sót qua một nghiên cứu đăng ký trước gồm năm cơ chế. Cơ chế thứ nhất là đứng ngoài ngày chi phí cao. Hệ thống đo spread lớn cỡ nào so với biên độ gần đây của thị trường và đứng ngoài cả ngày khi khoản phí đó ăn quá nhiều vào phần một lệnh có thể kiếm được. Nó bỏ qua khoảng một lệnh trong ba, tập trung vào giai đoạn khắc nghiệt năm 2024. Cơ chế thứ hai là giảm rủi ro khi drawdown: khi tài khoản nằm đủ xa dưới đỉnh equity của chính nó, các vị thế mới được mở nhỏ hơn, và khối lượng đầy đủ quay lại khi tài khoản hồi phục. Trong một bài so sánh trực tiếp trên MetaTrader 5 với cùng dữ liệu, cùng khoảng thời gian và cùng tài khoản, từ tháng 1 năm 2024 tới tháng 5 năm 2026 trên tick thật, hai công tắc đó đã cắt mức lỗ từ đỉnh xuống đáy tệ nhất từ khoảng 57% xuống khoảng 22%, và khoản lỗ nửa năm tệ nhất còn khoảng một phần ba.
Ba cơ chế thất bại cũng quan trọng không kém. Giới hạn lỗ theo ngày không giúp được gì, vì những ngày xấu mà nó cắt lại nằm ngay trước những đợt hồi phục mà nó cũng chặn luôn. Lệnh dừng cứng khi chạm drawdown thì là thảm họa. Còn hạ mục tiêu chốt lời, cách trực giác để chốt sớm cho yên tâm, đã làm drawdown tệ hơn lần thứ tám trong quá trình nghiên cứu của mình, vì chính những lệnh thắng lớn mới là thứ kéo tài khoản ra khỏi hố.
Có một tác dụng phụ khiến mình bất ngờ. Mức rủi ro mạnh tay nhất trong ba mức nhận rủi ro trên mỗi lệnh gấp bốn lần mức thận trọng, nhưng drawdown của nó chỉ lớn hơn khoảng ba lần, 21,17% so với 6,94%. Cơ chế giảm rủi ro khi drawdown đã kích hoạt trên hơn một nửa số lệnh của mức mạnh tay và gần như không bao giờ kích hoạt ở mức thận trọng. Lớp bảo vệ khiến rủi ro trở nên phi tuyến, và đó chính là lý do không thể lấy một kết quả rồi nhân tỷ lệ lên để dự đoán kết quả khác.
Vì sao đơn vị rủi ro là tài khoản, không phải biểu đồ?
Vì hai hệ thống trên cùng một tài khoản có thể lỗ trên cùng một nhịp giá, và tài khoản không quan tâm hệ thống nào gây ra.
Mình chạy một phiên bản năm phút và một phiên bản mười phút của cùng một ý tưởng đấu giá. Theo từng tháng, hai hệ thống tương quan khoảng +0,59, nhìn giống đa dạng hóa, và theo một nghĩa thì đúng là vậy: drawdown của cặp này thấp hơn đáng kể so với tổng của hai chân, và điều đó giữ vững trong năm trên năm giai đoạn nửa năm. Nhưng tương quan theo tháng chỉ trả lời chuyện hai hệ thống có cùng thắng cùng thua hay không. Nó không trả lời có bao nhiêu rủi ro cùng phơi ra trước một nhịp giá bất lợi tại cùng một thời điểm, nên mình đo riêng điều đó trên các lệnh khớp thật.
Hai khung thời gian thường xuyên vào lệnh trên cùng một cú phá vỡ, cách nhau vài phút, cùng một hướng. Phần chồng lấn cùng hướng chiếm 20,2% thời gian danh mục có lệnh trên thị trường, còn chồng lấn ngược hướng chỉ 0,8%. Xét về rủi ro đang mở, chúng là một tín hiệu được thể hiện ở hai tốc độ. Ngày tệ nhất tính gộp cả hai vẫn chưa tới một nửa đường bảo vệ theo ngày mà chúng đang chạy. Đó là nửa khiến mình yên tâm, và mình chỉ biết được điều đó vì mình đã thôi giả định rằng các mức rủi ro cộng lại một cách lịch sự.
Đó là lý do Account Guardian trong Expert Advisor làm việc ở cấp tài khoản. Nó theo dõi tổng equity so với một đường lỗ theo ngày và một đường drawdown tổng, và can thiệp trước khi một trong hai đường bị vượt qua chứ không phải sau đó. Nó được chia sẻ giữa mọi Expert Advisor của KenKem trên cùng terminal, để tất cả tôn trọng một giới hạn chung thay vì mỗi cái tự vi phạm giới hạn riêng, và nó cố ý không phân biệt hệ thống nào đã mở vị thế. Mặc định nó tắt, và các mức phần trăm do trader tự đặt theo tài khoản hoặc quy tắc của quỹ mà họ đang giao dịch.
Một giới hạn an toàn có thể chính là thứ làm cháy tài khoản không?
Có, và đó là kiểu thất bại mình ít ngờ tới nhất khi mới bắt đầu.
Code bảo vệ hỏng một cách lặng lẽ. Khi nó sai, thường chẳng có gì hiện ra: nó không bao giờ kích hoạt, hoặc kích hoạt quá sớm và làm mất tiền mà không ai để ý. Tháng 8 năm 2026 mình đã kiểm toán lớp bảo vệ của mình đúng vì lý do đó, và cuộc kiểm toán tìm ra những lỗi thật.
Hai bộ preset năm phút mà chính mình đã phát hành đặt lệnh dừng khi chạm drawdown ở mức thấp hơn drawdown mà chính mức rủi ro của chúng tạo ra, và lệnh dừng đó không thể tự đặt lại. Trong backtest, cả hai đơn giản là ngừng giao dịch từ tháng 4 năm 2024 và không bao giờ chạy lại, dừng ở lệnh thứ 104 trên tổng số 2.233. Cuộc kiểm toán phát hiện ra chuyện này, không phải khách hàng, và cả hai preset đã bị rút lại.
Lỗi thứ hai tệ hơn, vì nhìn qua nó có vẻ rất có trách nhiệm. Trên một preset dành cho prop firm, đường đóng lệnh cưỡng bức của guardian lại nằm phía trên cơ chế chặn mở lệnh mới của chính Expert Advisor, nên tài khoản có thể bị đóng sạch trước khi nó kịp ngừng nhận thêm rủi ro. Mình mô phỏng bài đánh giá từ toàn bộ 567 ngày bắt đầu khả dĩ trong khung thời gian. Ở ngày tệ nhất, cùng một đường đi mà khi không có guardian kết thúc khung thời gian ở mức lỗ khoảng 1,9%, thì khi có guardian lại bị đóng cưỡng bức ở mức lỗ 8% và bị khóa. Chuyện đó xảy ra ở 2 trên 567 ngày bắt đầu, với mức rủi ro cao hơn mức được phát hành, còn ở mức được phát hành thì tài khoản chưa bao giờ tới gần đường đó. Bản sửa sắp xếp lại thứ tự các đường để cơ chế chặn mở lệnh luôn tác động trước, và nó không thay đổi gì trên bất kỳ đường đi nào khác.
567 ngày bắt đầu đó chồng lấn nhau rất nhiều và cùng lấy mẫu lại từ một lịch sử duy nhất, nên chúng đo kết quả phụ thuộc bao nhiêu vào thời điểm bắt đầu, chứ không nói gì về tương lai. Nhưng chừng đó vẫn đủ để bắt được một thiết lập bảo vệ đang gây hại. Một giới hạn chưa từng được kiểm tra chỉ là một phỏng đoán mang cái nhãn rất tự tin.
Bài đánh giá của prop firm phơi ra điều gì mà tài khoản bán lẻ che đi?
Đường đi, và chi phí.
Một tài khoản bán lẻ tha thứ gần như mọi thứ: không giới hạn lỗ theo ngày, không có sàn cố định, thời gian hồi phục không giới hạn. Bài đánh giá mà mình dùng để kiểm tra có giới hạn lỗ theo ngày cứng 5% và giới hạn lỗ tổng cứng 10% tính từ một mức sàn cố định không bao giờ nâng lên theo lợi nhuận, trên spread rộng hơn đáng kể, có tính hoa hồng và phí qua đêm. Một ngày tệ là kết thúc lượt thử, nên thứ tự các khoản lỗ xuất hiện bỗng quan trọng ngang với tổng của chúng.
Hệ thống năm phút tốt nhất của mình đã không sống sót qua cuộc chuyển nhà đó. Kỳ vọng trên mỗi lệnh bị nén khoảng 60% trên nguồn dữ liệu ấy, và drawdown tiến sát tới chỉ còn cách đường thất bại của quỹ 0,8 điểm. Giảm khối lượng sẽ làm drawdown vừa khung, nhưng để nguyên vấn đề thật, một khung thời gian nhanh phải trả một khoản phí cố định trên mỗi lệnh. Spread là chi phí cố định cho mỗi lệnh, trong khi dư địa để một lệnh vận động tăng gần theo căn bậc hai của khung thời gian, nên câu trả lời là một khung thời gian chậm hơn, nơi cùng khoản phí đó chiếm tỷ trọng nhỏ hơn. Phiên bản mười phút là thứ đang chạy ở đó.
Giờ mình chủ động kiểm tra trên nơi khó hơn. Một kết quả chỉ tồn tại trên sàn dễ chịu nhất của bạn là kết quả về cái sàn đó.
Điều gì vẫn là quyết định của trader?
Toàn bộ phần rủi ro, và điều đó là có chủ đích.
Trong Expert Advisor, phần lõi chiến lược được biên dịch sẵn và khóa lại, để hành vi đã kiểm định không thể bị phá hỏng chỉ vì xoay một nút. Thứ trader tự đặt là phần phải phù hợp với tài khoản của chính họ: rủi ro trên mỗi lệnh, những khung giờ phiên được phép giao dịch, và có bật guardian hay không cùng vị trí các đường của nó. Expert Advisor thực thi đúng các quy tắc đã được cấu hình. Không ai giao dịch tiền của người khác thay họ, và phần cấu hình rủi ro vẫn là trách nhiệm của trader.
Một con bot lấy cảm xúc ra khỏi cú bấm lệnh không lấy trách nhiệm ra khỏi phần cài đặt. Nó dời toàn bộ trách nhiệm đó về trước khi phiên giao dịch bắt đầu, và đó đúng là chỗ của nó.
Câu hỏi thường gặp
Vì sao bot martingale sớm muộn cũng thất bại? Vì nó biến nhiều khoản lỗ nhỏ thành một khoản lỗ hiếm gặp nhưng rất lớn. Tăng khối lượng sau mỗi lệnh thua làm đường cong mượt chừng nào thị trường còn hồi lại, và chỉ một nhịp giá không hồi là thu hết mọi thứ một lần. Trong bài kiểm tra tháng 7 năm 2026 của mình trên tick vàng thật, biến thể martingale kết thúc dưới mức không, trong khi hệ thống một vị thế đơn giản vẫn đứng trên mọi biến thể rổ lệnh.
Bot grid có an toàn hơn nếu mỗi vị thế trong lưới đều nhỏ không? Chân lệnh nhỏ hơn làm giảm drawdown, nhưng một vị thế đơn nhỏ hơn cũng vậy, mà không kèm chi phí phát sinh. Mỗi chân lệnh trong grid đều trả spread riêng, nên một lợi thế mỏng bị pha loãng khắp cả rổ. Không biến thể nào trong mười một biến thể rổ lệnh mình kiểm tra thắng được vị thế đơn, cả về kết quả ròng lẫn khả năng hồi phục.
Nên kỳ vọng một bot giao dịch có drawdown bao nhiêu? Nhiều hơn mức backtest cho thấy. Backtest chỉ là một đường đi qua lịch sử, và xáo trộn chính các lệnh đó sẽ tạo ra những đường tệ hơn. Trên hệ thống của mình, mức sụt từ đỉnh xuống đáy đo được là 12,68% ở mức rủi ro tiêu chuẩn, trong khi một bài stress test 20.000 đường đi trước đây cho thấy cứ hai mươi đường thì có một đường vượt quá khoảng 38%, nên mình chuẩn bị cho mức đỉnh 30 tới 40 phần trăm.
Giới hạn lỗ theo ngày có làm giảm drawdown không? Trong nghiên cứu của mình thì không, và nó còn có thể gây hại. Những ngày xấu mà giới hạn theo ngày cắt đi thường nằm ngay trước những đợt hồi phục mà nó cũng chặn luôn. Trong một nghiên cứu đăng ký trước gồm năm cơ chế kiểm soát rủi ro, nó không giúp được gì, còn lệnh dừng cứng khi chạm drawdown thì là thảm họa.
Chốt lời sớm hơn có làm giảm rủi ro không? Trong nghiên cứu của mình, nó đã cho kết quả ngược lại tám lần riêng biệt. Chốt sớm cắt đúng những lệnh thắng lớn vốn kéo tài khoản ra khỏi drawdown. Hai cơ chế thực sự hiệu quả là đứng ngoài những ngày spread quá đắt và giao dịch nhỏ lại khi nằm dưới đỉnh equity, và cùng nhau chúng cắt mức lỗ tệ nhất từ khoảng 57% xuống khoảng 22%.
Chạy hai bot trên cùng một tài khoản có phải đa dạng hóa thật không? Một phần thôi, và ít hơn vẻ ngoài khi cả hai cùng giao dịch một công cụ. Hệ thống năm phút và mười phút của mình tương quan khoảng +0,59 theo từng tháng, nhưng chúng thường vào lệnh trên cùng một cú phá vỡ, với phần chồng lấn cùng hướng chiếm 20,2% thời gian danh mục có lệnh. Rủi ro phải được đo ở cấp tài khoản, không phải theo từng biểu đồ.
Bộ ngắt mạch cấp tài khoản trong Expert Advisor là gì? Là một lớp theo dõi equity của cả tài khoản thay vì các lệnh của một chiến lược. Trong Expert Advisor của MasterVP, đó là Account Guardian: được chia sẻ giữa mọi Expert Advisor của KenKem trên terminal, không phân biệt hệ thống nào mở vị thế, và được thiết kế để tác động trước khi đường lỗ theo ngày hoặc đường lỗ tổng bị vượt qua. Mặc định nó tắt, và đường đóng lệnh cưỡng bức của nó phải nằm giữa cơ chế chặn mở lệnh mới của chính Expert Advisor và đường thất bại của quỹ, để việc nhận thêm rủi ro dừng lại trước và tài khoản được đóng trước khi chạm giới hạn của quỹ. Mình học được thứ tự đó sau một lần làm sai.
Vì sao bot giao dịch hay trượt bài thử thách prop firm? Vì bài đánh giá của prop firm kiểm tra đường đi, không phải mức trung bình. Giới hạn cứng theo ngày và mức sàn cố định nghĩa là một ngày tệ sẽ kết thúc lượt thử, còn spread rộng hơn cộng hoa hồng khiến một lợi thế mỏng càng mỏng thêm. Hệ thống năm phút tốt nhất của chính mình từng tiến sát tới chỉ còn cách đường thất bại của một quỹ 0,8 điểm, và mình đã chuyển nó sang khung thời gian chậm hơn thay vì chỉ giảm khối lượng.
Nếu bạn muốn xem những ý tưởng này trở thành sản phẩm như thế nào, MasterVP là phương pháp giao dịch trong ngày của riêng mình, xây trên nền lý thuyết volume profile công khai. Nó có bản Master Volume Profiler indicator trên TradingView và MetaTrader 5, cho bạn thấy cách đọc thị trường và để quyết định vào lệnh cho bạn, và bản Master Volume Sniper trên MQL5 market, một Expert Advisor thực thi các quy tắc và thiết lập rủi ro mà bạn tự cấu hình.
Bài viết được tổng hợp từ các bài về rủi ro và sống sót trong loạt nhật ký xây dựng MasterVP. Chỉ nhằm mục đích giáo dục. Không phải lời khuyên đầu tư. Các con số được trích dẫn là kết quả backtest và mô phỏng trên dữ liệu tick thật, và kết quả trong quá khứ không đảm bảo kết quả trong tương lai. Mỗi trader tự chịu trách nhiệm về thiết lập rủi ro và quyết định của mình.