Repainting là gì
Repaint (chỉ báo vẽ lại) là khi chỉ báo thay đổi giá trị hoặc tín hiệu ở những nến đã đóng. Trên biểu đồ lịch sử bạn chỉ thấy phiên bản cuối cùng. Lúc giá đang chạy thì có thể chỉ báo đã hiển thị khác.
Cần tách ra hai hiện tượng hay bị gọi chung là repaint:
- Dao động trên nến chưa đóng. Mọi chỉ báo tính theo giá đóng cửa đều nhảy theo giá khi nến hiện tại chưa đóng. Đây là hành vi bình thường. Nó chỉ gây hại nếu bạn coi tín hiệu là chắc chắn trước khi nến đóng.
- Vẽ lại quá khứ thật sự. Chỉ báo dùng dữ liệu của các nến đến sau để sửa điểm ở nến cũ. Đây mới là loại làm hỏng cách bạn đánh giá chiến lược.
Có thêm một dạng gần giống: chỉ báo xác nhận trễ. Giá trị không đổi, nhưng chỉ xuất hiện sau vài nến và được gắn ngược về nến cũ. Xem thêm Chỉ báo sớm và trễ.
Sẵn sàng thử trên tài khoản thật hoặc demo?
Liên kết đối tác · giao dịch có rủi ro thua lỗ cao
Ví dụ minh họa bằng hình vẽ
Hình dưới là biểu đồ vẽ tay, không phải giá thật. Đường ZigZag nối các đỉnh và đáy.
Ở thời điểm A, người xem thấy một "đáy" tại X. Đến thời điểm B, đáy đó biến mất và chỉ báo vẽ đáy mới tại Y. Nhìn lại lịch sử, bạn chỉ thấy Y, đúng ngay điểm thấp nhất. Bạn không biết rằng ở thời điểm A chỉ báo đã chỉ sai chỗ.
Những chỉ báo hay vẽ lại
| Chỉ báo / loại | Hiện tượng | Ghi chú |
|---|---|---|
| ZigZag | Dời hoặc xóa điểm đỉnh/đáy cuối cùng | Vẽ lại quá khứ thật sự |
| Fractals | Mũi tên xuất hiện sau khi có thêm nến, gắn ngược về nến cũ | Xác nhận trễ |
| Kênh hồi quy tuyến tính | Toàn bộ kênh tính lại mỗi khi có nến mới | Hình dạng kênh cũ không còn |
| Đường trung bình "căn giữa" (centered MA) | Dùng nến tương lai để tính điểm giữa | Đoạn cuối luôn thay đổi |
| Chỉ báo đa khung thời gian | Nến khung lớn chưa đóng được vẽ lên khung nhỏ | Xem Phân tích đa khung thời gian |
| Chỉ báo tự viết, đóng gói không mã nguồn | Có thể đọc dữ liệu nến tương lai | Khó kiểm tra nếu không thấy mã |
Các chỉ báo như SMA, EMA, RSI hay MACD không vẽ lại nến đã đóng nếu dùng cài đặt chuẩn. Heikin Ashi chỉ thay đổi ở nến hiện tại.
Repaint đánh lừa backtest như thế nào
Backtest là kiểm tra một quy tắc giao dịch trên dữ liệu quá khứ. Chỉ báo repaint làm sai lệch kết quả theo những cách sau:
- Backtest bằng mắt. Bạn cuộn biểu đồ lịch sử và thấy tín hiệu nằm đúng đỉnh, đúng đáy. Đó là phiên bản đã sửa, không phải thứ bạn nhìn thấy khi giá đang chạy.
- Nhìn trước tương lai (look-ahead bias). Chỉ báo đa khung thời gian hoặc chỉ báo đọc nến tương lai cho phép quy tắc "biết trước" kết quả. Trong lịch sử thì có, trong giao dịch thực thì không.
- Tín hiệu biến mất. Tín hiệu từng xuất hiện rồi bị xóa sẽ không được tính vào thống kê. Các lần vào lệnh thua vì tín hiệu giả vì thế bị bỏ sót.
- Sai thời điểm vào lệnh. Với chỉ báo xác nhận trễ, tín hiệu gắn ở nến cũ nhưng thực tế chỉ dùng được sau vài nến. Giá vào lệnh khi giao dịch thực sẽ khác.
Kết quả là đường vốn trong backtest trông mượt hơn nhiều so với thực tế. Giao dịch CFD và forex có đòn bẩy có thể thua lỗ nhanh, và một backtest bị thổi phồng khiến bạn đánh giá thấp rủi ro đó. Đọc thêm tại Quản lý rủi ro.
Cách tự kiểm tra một chỉ báo
- Quan sát trực tiếp. Gắn chỉ báo lên biểu đồ, chụp màn hình định kỳ, sau đó so với lịch sử. Nếu điểm cũ bị dời đi thì chỉ báo có vẽ lại.
- Dùng chế độ kiểm thử theo từng tick. Trong Strategy Tester của MetaTrader, chạy chế độ trực quan để xem chỉ báo hình thành từng nến một, thay vì chỉ nhìn biểu đồ cuối cùng.
- Chỉ đọc tín hiệu khi nến đã đóng. Viết quy tắc dựa trên nến đã đóng, không dựa trên nến đang chạy.
- Đọc mã nguồn nếu có. Hãy cảnh giác khi chỉ báo dùng dịch chuyển âm, tham chiếu nến có chỉ số tương lai hoặc lấy dữ liệu khung lớn chưa đóng.
- Thử tiến (forward test). Chạy quy tắc trên tài khoản demo trong thời gian đủ dài để so với backtest.
Vẽ lại không có nghĩa là chỉ báo vô dụng. ZigZag vẫn giúp nhìn cấu trúc thị trường trong quá khứ. Điều cần thiết là biết chỉ báo đang làm gì và đừng coi phiên bản lịch sử là tín hiệu thời gian thực. Các công cụ khác có tại Phân tích kỹ thuật.
Câu hỏi thường gặp
Chỉ báo repaint có phải là lừa đảo không?
Không nhất thiết. Nhiều chỉ báo vẽ lại vì cách tính của chúng, ví dụ ZigZag. Vấn đề nằm ở chỗ người bán hoặc người dùng trình bày biểu đồ lịch sử như thể đó là tín hiệu thời gian thực.
Nến hiện tại thay đổi có tính là repaint không?
Thường thì không. Nến chưa đóng làm mọi chỉ báo dao động theo. Repaint thật sự là khi giá trị ở nến đã đóng bị thay đổi.
Fractals có vẽ lại không?
Fractals cần thêm nến sau đỉnh hoặc đáy mới xác nhận được, rồi gắn mũi tên ngược về nến cũ. Đó là xác nhận trễ. Khi backtest, bạn phải tính thời điểm vào lệnh từ lúc tín hiệu được xác nhận.
Backtest trong MetaTrader có miễn nhiễm với repaint không?
Không hoàn toàn. Tester tính chỉ báo theo từng nến nên giảm được lỗi nhìn bằng mắt. Tuy vậy, chỉ báo tự viết có lỗi nhìn trước tương lai hoặc dùng dữ liệu đa khung thời gian vẫn có thể cho kết quả sai.
Làm sao biết chỉ báo mua về có repaint?
Hãy chạy chỉ báo trực tiếp trên biểu đồ, lưu ảnh chụp theo thời gian rồi so với lịch sử. Nếu không có mã nguồn để kiểm tra, hãy coi mọi kết quả quảng cáo dựa trên biểu đồ lịch sử là chưa được chứng minh.
