KenKem Journal

Vì Sao Một Lệnh Scalp Vàng Đã Bắt Đầu Bằng Một Khoản Lỗ?

· #trading-costs #xauusd #scalping #session-filters #systematic-trading

Vì khoản phí của một vòng vào ra bị trừ trước khi ý tưởng giao dịch kịp đúng hay sai. Với XAUUSD, một pip là 0.01, và tùy khung giờ cùng tùy sàn, spread mình thấy chạy trong khoảng 15 đến 57 pip, nên một vòng vào ra thường tốn 30 đến 60 pip. Mọi lệnh đều trả khoản phí đó, dù ý tưởng tốt hay không.

Là một quant tự học, đã có một thời gian dài mình tin rằng câu trả lời nằm ở điểm vào tốt hơn. Hai thay đổi tạo ra khác biệt lớn nhất trong phần việc về vàng của mình lại không liên quan gì tới điểm vào. Đó là một mô hình chi phí mình không nới, và một nhóm khung giờ mình đã ngừng giao dịch hoàn toàn.

Sơ đồ so sánh một đơn vị rủi ro 70 pip với chi phí vòng vào ra 40 pip, cho thấy bao nhiêu phần của đơn vị rủi ro bị ăn mất trước khi giá kịp di chuyển
Khoản mà một lệnh scalp phải trả trước khi nó kịp đúng hay sai. Hình minh họa mang tính sơ đồ cho ví dụ bên dưới, không phải dữ liệu đo được.

Một vòng vào ra trên vàng thật sự tốn bao nhiêu?

Trong điều kiện mình quan sát được, khoảng 30 đến 60 pip, và điều quan trọng là mình có thể biết trước con số đó.

Khi mình đặt nó cạnh một cái stop, vấn đề không còn trừu tượng nữa. Mình lấy một cái stop cách giá 70 pip, thuần túy như một ví dụ minh họa chứ không phải một thiết lập mình khuyến nghị. Một vòng vào ra 40 pip đã ăn hơn nửa đơn vị rủi ro đó trước khi giá kịp di chuyển. Lệnh đó phải đúng khá nhiều chỉ để quay về hòa. Mình không xem đây là lời than phiền về sàn. Đây là phí vào cửa, được công bố ngay trong spread, và phải trả ở mọi lệnh.

Phần lớn chiến lược scalping mình từng test không chết vì điểm vào xấu. Chúng chết vì mình đã đo chúng mà quên trừ phí vào cửa. Vì vậy, trong DQuants engine mình tự phát triển, spread bị tính ở mọi lệnh mô phỏng, và mình luôn giả định điều kiện thật mỏng hơn backtest chứ không bao giờ tốt hơn.

Vì sao một mục tiêu chốt lời quá gần lại giống một lần tung đồng xu?

Vì khoản phí bị trừ khỏi mọi lệnh thắng, nhưng lại bị tính đủ ở mọi lệnh thua.

Mình lấy lại đúng phép tính đó. Nếu vòng vào ra tốn 40 pip và stop là 70 pip, thì một mục tiêu đặt ở đúng 70 pip không trả lại trọn một đơn vị rủi ro. Nó chỉ trả phần còn lại sau khi trừ phí, và chính khoảng chênh đó quyết định một tỷ lệ thắng cao có thật sự sinh lời hay không. Đây cũng là lý do tỷ lệ thắng đứng một mình gần như không nói lên điều gì với mình. Một chiến lược có thể đúng phần lớn thời gian mà tài khoản vẫn mòn dần, nếu mỗi lệnh thắng đều bị bào bớt còn mỗi lệnh thua bị tính đủ.

Câu hỏi đáng hỏi về mục tiêu chốt lời đầu tiên không phải là mục tiêu đó chạm bao nhiêu lần, mà là khi chạm thì còn lại bao nhiêu sau khi trừ phí. Một mục tiêu không vượt qua được chi phí với biên đủ rộng thì không phải là mục tiêu, đó chỉ là một lần tung đồng xu có thêm vài bước.

Stop hẹp tới mức nào thì quá hẹp với vàng?

Có một khoảng cách mà dưới ngưỡng đó, spread không còn là chi phí nữa, spread trở thành chiến lược.

Logic khá đơn giản. Stop càng hẹp thì vòng vào ra càng ăn một tỷ lệ lớn hơn của nó, và kết quả càng bị quyết định bởi khoản phí thay vì bởi thị trường. Qua một điểm nào đó, siết stop không làm giảm rủi ro nữa, nó chỉ chuyển quyền quyết định từ ý tưởng giao dịch sang spread.

Còn một lý do thứ hai khiến stop quá hẹp khó sống với vàng, và lý do đó không liên quan tới chi phí. Stop đặt ngay bên trong swing gần nhất nằm đúng vùng mà nhiễu thông thường hay chạm tới. Khi stop bị quét ở đó, mình không xem đó là xui, mà là stop đã nằm trong vùng đông nhất của biểu đồ. Một cái stop có hai việc: giúp mình sai với chi phí thấp, và đủ xa để phí cùng nhiễu không phải thứ ra quyết định. Trong phần nghiên cứu về vàng của mình, mình giữ một mức sàn cho khoảng cách stop vì đúng lý do đó, và mình đặt stop ra ngoài swing gần nhất thay vì để nó nằm trong vùng râu nến.

Cái núm nào làm một backtest tầm thường trông đẹp lên?

Giả định chi phí, chứ không phải logic vào lệnh.

Bỏ chi phí, hoặc để trượt giá quá nhẹ, có thể biến một scalper bình thường thành một scalper trông ổn trên màn hình. Chiến lược không thay đổi gì cả. Mình chỉ ngừng bắt nó trả phí để tồn tại. Đó chính là cái núm, và đó là thứ mình chốt trước khi nhìn kết quả chứ không phải sau.

Mình mất khá lâu để xây DQuants framework của riêng mình nhằm rút ngắn đáng kể toàn bộ quy trình phát triển, từ khâu kiểm định giả thuyết cho tới lúc triển khai, và mô hình chi phí là thiết lập duy nhất trong đó mình không đụng vào sau khi kết quả đã hiện lên màn hình. Spread bị tính ở mọi lệnh, điều kiện thật được giả định mỏng hơn bài test, và một cấu hình phải vượt ngưỡng ở mức chi phí thực tế đó trên một cửa sổ out of sample thật sự tách biệt. Một con số đẹp trên cửa sổ dễ và chi phí dễ không phải bằng chứng, nó chỉ là một bức ảnh. Quy tắc đó là lý do mình loại nhiều chiến lược hơn số mình giữ, và là lý do những chiến lược mình giữ luôn được công bố kèm drawdown chứ không giấu phần đó đi.

Sơ đồ một ngày giao dịch với bốn khung giờ bị lọc bỏ: phiên Á trầm lắng, khoảng đệm sau mỗi lần mở phiên, đoạn cuối phiên New York, và khoảng thời gian quanh các tin kinh tế đã lên lịch
Bốn khung giờ mà hệ thống của mình không vào lệnh nào. Hình minh họa mang tính sơ đồ cho một quy tắc về lịch, không phải dữ liệu đo được.

Vì sao mình xóa hẳn một phần ba thời gian giao dịch trong ngày?

Vì khung giờ đó không khớp với thứ mà phương pháp của mình đang đòi hỏi ở thị trường.

Phiên Á của vàng thường trầm và có xu hướng hồi về trung bình. Một cách tiếp cận theo momentum cần giá đi tiếp, nhưng trong khung giờ đó thị trường thường không làm vậy. Tín hiệu vẫn xuất hiện, phí vẫn bị tính, và kết quả nằm gần với nhiễu. Vì vậy, trong phần việc của mình, khung giờ đó được tắt mặc định. Không phải vì giờ đó xấu một cách tuyệt đối, mà vì nó đi ngược lại tiền đề mà chiến lược đang chạy trên đó.

Thị trường không có nghĩa vụ cư xử giống nhau cả ngày cho một chiến lược. Ghép một phương pháp với đúng khung giờ nó được thiết kế cho sẽ tốt hơn việc tinh chỉnh điểm vào trong khung giờ mà tiền đề vốn đã sai. Cổng lọc phiên là một trong những thứ đầu tiên mình kiểm tra khi một cấu hình yếu đi, trước khi mình đụng vào bất kỳ tham số vào lệnh nào.

Vì sao mình bỏ qua những phút đầu tiên của một phiên?

Vì lúc mở phiên chưa thật sự là phiên. Đó là cuộc tranh cãi trước khi phiên hình thành.

Khi một phiên lớn mở ra, đoạn đầu thường là lúc thị trường tự tìm xem nó nghĩ gì. Các mức bị phá rồi trả lại, biên độ chưa hình thành, và một cú phá cùng cú đảo của nó có thể xảy ra trong vài cây nến. Một phương pháp được xây để bám cấu trúc thì lúc đó gần như chưa có cấu trúc nào để bám.

Nên mình đệm qua đoạn mở phiên thay vì giao dịch nó. Chờ thì mất vài tín hiệu. Không chờ thì mất đúng những tín hiệu đó cộng thêm phí, ngay trong khung giờ mà chúng ít có ý nghĩa nhất. Việc mình vào sớm một phiên không phải là lợi thế, và mình không cần có mặt trong cuộc tranh cãi đó.

Đoạn cuối phiên New York có vấn đề gì?

Thị trường im hơn còn con người ồn hơn, và đó là tỷ lệ tệ nhất có thể.

Thanh khoản mỏng đi, người tham gia đóng sổ, và những cú chạy xuất hiện lúc đó thường là điều chỉnh vị thế chứ không phải xu hướng. Đó cũng là khung giờ mà một người đang âm trong ngày dễ với thêm một lệnh nữa nhất, đúng vào điều kiện ít đỡ nổi nó nhất. Vì vậy mình coi đoạn cuối phiên là đã đóng, chứ không phải một cơ hội cuối.

Những khung giờ mình muốn giao dịch nhất hiếm khi là khung giờ mà dữ liệu ủng hộ. Viết quy tắc ra từ trước là thứ duy nhất ngăn được mình một cách ổn định, và đó chính là lý do mình chuyển sang cách tiếp cận thuật toán ngay từ đầu. Quy tắc thì không mệt, và nó cũng không muốn gỡ lại ngày hôm đó.

Vì sao mình đứng ngoài quanh các tin đã lên lịch?

Vì vàng không trôi từ từ qua một con số kinh tế lớn. Vàng nhảy.

Quanh các tin quan trọng đã lên lịch, những cú chạy một đến ba trăm pip là chuyện bình thường, và spread giãn ra đúng lúc đó. Cả hai vế đều quan trọng. Cú chạy có thể quét stop theo một hướng chẳng liên quan gì tới setup, còn phí để có mặt trong lệnh lại cao nhất đúng lúc khớp lệnh tệ nhất.

Với mình, chuyện này không phải dự báo. Đó là một lịch đã được công bố trước, nên đứng ngoài là một quyết định về lịch chứ không phải một dự đoán. Có khác biệt thật giữa một chiến lược sống sót qua tin và một chiến lược đơn giản là không có mặt trong thị trường lúc đó, và mình muốn thành thật về việc mình đã xây cái nào.

Coi chi phí và khung giờ là đầu vào thì thay đổi được điều gì?

Ít lệnh hơn, và phần đuôi những cú thua mà sau đó mình không giải thích nổi cũng nhỏ đi rất nhiều.

Việc này không biến một ý tưởng yếu thành một ý tưởng mạnh. Không có gì làm được điều đó. Thứ nó làm được là ngăn hai lỗ rò lớn nhất và dễ đoán nhất khỏi việc trở nên vô hình trong nghiên cứu: một khoản phí bị tính bất kể ý tưởng có tốt hay không, và một nhóm khung giờ mà tiền đề của phương pháp đơn giản là không đúng. Cả hai đều có thể biết trước. Cả hai đều không cần một dự báo nào. Đó là lý do chúng là hai thứ đầu tiên mình sửa và hai thứ cuối cùng mình chịu nới.

Câu hỏi thường gặp

Một vòng vào ra XAUUSD tốn bao nhiêu pip? Trong điều kiện mình giao dịch và nghiên cứu, thường là 30 đến 60 pip cho một vòng vào ra đầy đủ. Với vàng, một pip là 0.01, và spread mình quan sát được thay đổi theo giờ và theo sàn trong khoảng chừng 15 đến 57 pip, nên chi phí là một khoảng chứ không phải một hằng số. Con số đáng quan tâm không phải bản thân spread, mà là spread tính theo tỷ lệ trên khoảng cách stop.

Vì sao tỷ lệ thắng cao không đồng nghĩa với có lãi? Vì chi phí rơi xuống hai vế một cách bất đối xứng. Mỗi lệnh thắng bị trừ đi vòng vào ra, còn mỗi lệnh thua bị tính đủ cả stop lẫn vòng vào ra đó, nên một mục tiêu chỉ vừa đủ vượt phí sẽ trả về ít hơn một đơn vị rủi ro trong khi khoản lỗ vẫn nguyên vẹn. Một chiến lược có thể đúng phần lớn thời gian mà vẫn mất tiền, và đó là lý do mình không lấy tỷ lệ thắng làm con số dẫn dắt.

Stop scalping có thể hẹp tới đâu trước khi spread lấn át? Không có một con số chung, nhưng phép thử nằm ở tỷ lệ chứ không nằm ở khoảng cách. Khi vòng vào ra đã ăn một phần lớn của stop, chính spread chứ không phải thị trường đang quyết định phần lớn kết quả, và siết thêm cũng không làm giảm rủi ro. Trong phần nghiên cứu về vàng của mình, mình giữ một mức sàn cho khoảng cách stop và đặt nó ra ngoài swing gần nhất thay vì trong vùng râu nến thường chạm tới.

Mình có nên giao dịch phiên Á với vàng không? Điều đó phụ thuộc hoàn toàn vào giả định của phương pháp bạn dùng, và đó là quyết định của bạn chứ không phải của mình. Thứ mình có thể nói là điều mình thấy trong phần việc của mình: phiên Á của vàng thường trầm và hồi về trung bình, nên một cách tiếp cận theo momentum đang đòi hỏi một hành vi mà khung giờ đó phần lớn không cung cấp. Hệ thống của mình tắt khung giờ đó mặc định vì đúng lý do này, không vì lý do nào khác.

Điều gì xảy ra trong mười lăm phút đầu sau khi mở phiên? Vì biên độ chưa hình thành. Các mức bị phá rồi bị trả lại, và một cú phá cùng cú đảo của nó có thể xảy ra trong cùng vài cây nến, nên một phương pháp bám cấu trúc gần như chưa có gì để bám. Đệm qua đoạn mở phiên khiến mình mất vài tín hiệu, còn vào lệnh trong đoạn đó khiến mình mất đúng những tín hiệu ấy cộng thêm phí, vào lúc ít mang thông tin nhất của phiên.

Một người giao dịch hệ thống xử lý tin tác động mạnh như thế nào? Mình xử lý nó như một bài toán lịch, không phải một bài toán dự báo. Các tin đó được công bố trước, nên hệ thống của mình lọc một khoảng quanh chúng và không vào lệnh nào bên trong. Quanh các tin này, những cú chạy một đến ba trăm pip là bình thường trong khi spread giãn ra cùng lúc, nghĩa là mức khớp lệnh tệ nhất và cú chạy khó giải thích nhất thường tới cùng nhau.

Phần nào của MasterVP đọc biểu đồ, và phần nào giao dịch? Cả hai đều tồn tại, và sự phân chia đó rất quan trọng. MasterVP Profiler là indicator, có trên TradingView và trên MetaTrader 5: nó cho bạn thấy cách đọc thị trường, nơi khối lượng thực sự giao dịch và cấu trúc biểu đồ hình thành ra sao, còn quyết định đặt lệnh vẫn thuộc về bạn. Nó không phải dịch vụ tín hiệu. Phần thực thi nằm ở phía Expert Advisor, là MasterVP Sniper trên MQL5 market, và phần đó chỉ giao dịch theo đúng quy tắc mà người dùng tự cấu hình.

Những con số trong bài có phải kết quả giao dịch thật không? Không. Toàn bộ nội dung trên là phép tính nghiên cứu và kỷ luật backtest, không phải bản ghi lợi nhuận thật, và mình sẽ không ám chỉ điều ngược lại. Các khoảng spread là điều kiện quan sát được, phép so sánh 40 với 70 pip là một ví dụ minh họa chứ không phải một kết quả, và mô hình chi phí của mình vẫn giả định điều kiện thật mỏng hơn bài test chứ không tốt hơn.


Được viết bởi KenKem, một kỹ sư phần mềm và nhà sáng lập với hai mươi năm kinh nghiệm, đang học giao dịch định lượng một cách công khai và công bố lại toàn bộ quá trình, kể cả những lần bị loại.

Bài viết này được biên soạn từ nhóm bài về chi phí scalping và khung giờ phiên trong chuỗi nhật ký xây dựng của KenKem. 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à điều kiện giao dịch quan sát được và ví dụ minh họa, không phải kết quả giao dịch thật. Hiệu suất trong quá khứ không đảm bảo kết quả trong tương lai.

← All journal articles

Chat