Nến trong giao dịch: cách các lệnh khớp tạo nền tảng phân tích thị trường
Từ dữ liệu đến trực quan hóa: Thuật toán tổng hợp các luồng lệnh khớp tốc độ cao thô thành các nến thị trường có cấu trúc.
Biểu đồ nến xuất hiện ở khắp nơi: từ các terminal chuyên nghiệp đến bot crypto meme. Nhưng "nến" là gì và nó được xây dựng từ luồng lệnh khớp như thế nào? Trong bài viết này, chúng ta sẽ phân tích quá trình, xác định các trường hợp phức tạp và cung cấp công cụ trực quan hóa tương tác để bạn có thể theo dõi sự hình thành nến theo thời gian thực.
Hãy thử công cụ trực quan hóa: candle-trade-visualizer.vercel.app
Tóm tắt
- Nến — tóm tắt gọn về giá và khối lượng trong một khoảng thời gian cố định (ví dụ: 1 phút).
- Tổng hợp — quá trình chuyển đổi luồng lệnh khớp thành nến.
- Các trường hợp phức tạp (trùng lặp, khoảng trống, lệnh khớp không theo thứ tự) quan trọng cho độ chính xác.
- Công cụ trực quan hóa: hãy thử nghiệm với các lệnh khớp và xem cách nến hình thành!
Nến là gì?
Nến (hay nến Nhật) là bản tóm tắt hoạt động thị trường trong một khoảng thời gian nhất định (ví dụ: 1 phút, 1 giờ, 1 ngày). Mỗi nến chứa:
- Open — giá của lệnh khớp đầu tiên trong khoảng thời gian
- High — giá cao nhất
- Low — giá thấp nhất
- Close — giá của lệnh khớp cuối cùng
- Volume — tổng khối lượng
- Trade count — số lượng lệnh khớp
Có vẻ đơn giản, nhưng ẩn chứa nhiều phức tạp trong từng chi tiết.
Cách xây dựng nến từ lệnh khớp: quá trình tổng hợp
1. Luồng lệnh khớp
Mỗi mili giây, sàn giao dịch tạo ra các lệnh khớp:
{
"timestamp": 1714000000000,
"price": 50000.0,
"amount": 0.1,
"side": "Buy"
}
Có thể có hàng nghìn lệnh khớp mỗi giây — mỗi lệnh chỉ là bản ghi về giao dịch mua hoặc bán.
2. Nhóm theo thời gian
Để xây dựng nến, chúng ta nhóm các lệnh khớp theo thời gian. Ví dụ, tất cả các lệnh khớp từ 12:00:00 đến 12:00:59 sẽ thuộc cùng một nến 1 phút (m1).
Thuật toán:
- Với mỗi lệnh khớp, xác định khoảng thời gian nó thuộc về (cắt bớt timestamp).
- Nếu nến cho khoảng thời gian đó đã tồn tại — cập nhật high/low/close/volume.
- Nếu chưa — bắt đầu một nến mới.
3. Các trường hợp phức tạp: tại sao không phải lúc nào cũng đơn giản
- Lệnh khớp không theo thứ tự: lệnh khớp có thể đến không theo thứ tự (do độ trễ mạng, v.v.).
- Trùng lặp: cùng một lệnh khớp có thể xuất hiện hai lần.
- Lệnh khớp ở ranh giới: điều gì xảy ra nếu lệnh khớp nằm chính xác ở ranh giới khoảng thời gian?
- Khoảng trống: điều gì xảy ra nếu không có lệnh khớp nào trong một khoảng thời gian?
Tổng hợp đáng tin cậy phải tính đến tất cả các trường hợp này. Trong ngành, điều này rất quan trọng để phân tích chính xác và giao dịch thuật toán.
Ví dụ: tổng hợp nến trong mã nguồn
Ví dụ tối giản bằng Rust (logic giống nhau cho bất kỳ ngôn ngữ nào):
for trade in trades {
let ts = truncate_to_tf(trade.timestamp, timeframe);
if let Some(candle) = current_candle {
if candle.timestamp == ts {
// cập nhật high/low/close/volume
} else {
// lưu nến hiện tại, bắt đầu nến mới
}
} else {
// nến đầu tiên
}
}
Quan trọng: để tổng hợp chính xác, luồng lệnh khớp phải được sắp xếp theo thời gian. Nếu không — cần sắp xếp trước hoặc sử dụng thuật toán chịu được dữ liệu không theo thứ tự.
Tại sao điều này cần thiết?
- Biểu đồ: tất cả các nền tảng (TradingView, Binance, v.v.) xây dựng biểu đồ dựa trên nến.
- Giao dịch thuật toán: các chiến lược hoạt động với nến, không phải lệnh khớp thô.
- Phân tích: các chỉ báo, tín hiệu và thống kê — tất cả đều được xây dựng trên OHLCV.
- AGI và tự động hóa: để phân tích máy móc cần dữ liệu nghiêm ngặt, không mơ hồ.
Hãy tự thử: công cụ trực quan hóa nến tương tác
Chúng tôi đã tạo công cụ trực quan hóa tương tác:
👉 candle-trade-visualizer.vercel.app
- Thêm lệnh khớp thủ công hoặc ngẫu nhiên.
- Xem cách chúng được tổng hợp thành nến.
- Thử nghiệm với các khung thời gian và các trường hợp phức tạp.
Kết luận
Nến là nền tảng của mọi phân tích thị trường. Đằng sau mỗi nến đơn giản là một quá trình tổng hợp phức tạp, chịu được các lỗi và trường hợp khó. Nếu bạn đang xây dựng hệ thống của riêng mình — hãy tính đến tất cả các sắc thái, nếu không biểu đồ và chiến lược có thể gây hiểu lầm.
Hãy thử công cụ trực quan hóa, tìm hiểu các chi tiết và tạo ra những nến trung thực!
Liên kết:
- Công cụ trực quan hóa: candle-trade-visualizer.vercel.app
- OHLCV là gì: Wikipedia
- Mã nguồn và thư viện: GitHub
Nếu bài viết hữu ích — hãy chia sẻ với đồng nghiệp và cùng nhau làm cho dữ liệu thị trường minh bạch hơn cho tất cả mọi người!
Trích dẫn
@software{soloviov2025tradingcandlesdemystified,
author = {Soloviov, Eugen},
title = {Nến trong giao dịch: cách các lệnh khớp tạo nền tảng phân tích thị trường},
year = {2025},
url = {https://marketmaker.cc/vi/blog/post/trading-candles-demystified},
version = {0.1.0},
description = {Nến được xây dựng từ các lệnh khớp như thế nào? Chúng tôi giải thích quá trình tổng hợp, những điểm phức tạp và cung cấp công cụ trực quan hóa tương tác để theo dõi sự hình thành nến theo thời gian thực.}
}
Tác Giả
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.