Bài viết gần đây
-
Cài đặt môi trường Python, Jupyter và VS Code cho khóa K11
Tháng 6 23, 2026 -
Giới thiệu khóa học K11: Từ Python đến Bot Auto Trading
Tháng 6 23, 2026
| Kiến trúc OG/OF và Redis: Xây hệ thống Bot Auto Trading Python chạy ổn định 24/7
Được viết bởi thanhdt vào ngày 23/06/2026 lúc 11:15 | 28 lượt xem
Bạn đã từng viết một file Python dài vài trăm dòng — vừa lấy dữ liệu, vừa tính chỉ báo, vừa đặt lệnh lên sàn — rồi gặp lỗi API giữa chừng và phải dừng toàn bộ bot để sửa?
Đó là dấu hiệu hệ thống chưa tách lớp. Các quỹ định lượng và team Bot chuyên nghiệp không chạy kiểu “một script làm tất cả”. Họ dùng kiến trúc OG/OF kết nối qua Redis — và đây cũng là nền tảng bạn sẽ làm chủ khi học Lập trình Bot Auto Trading Python tại Hướng Nghiệp Dữ Liệu.
Mục lục
- Vì sao cần tách OG và OF?
- Ba thành phần của hệ thống
- Luồng dữ liệu từ biểu đồ đến lệnh giao dịch
- Đa nền tảng: MT5, Binance, SSI
- Lợi ích thực tế khi vận hành bot
- Bạn học được gì trong khóa học?
1. Vì sao cần tách OG và OF?
| Cách làm phổ biến (sai) | Kiến trúc OG/OF (đúng) |
|---|---|
| Một file Python xử lý mọi thứ | Hai module độc lập, giao tiếp qua Redis |
| Lỗi đặt lệnh → dừng cả phần phân tích | OG vẫn quét thị trường khi OF bảo trì |
| Khó mở rộng sang nhiều sàn | Một OG, nhiều OF (Forex, Crypto, CK VN) |
| Debug khó vì logic lẫn lộn | Mỗi lớp có log và trách nhiệm rõ ràng |
OG (Order Generator) chỉ lo tìm cơ hội — đọc OHLCV, tính chỉ báo, phát hiện tín hiệu Buy/Sell.
OF (Order Follower) chỉ lo thực thi — đọc tín hiệu, tính lot size, normalize giá/khối lượng, gửi lệnh, quản lý SL/TP.
Hai phần không gọi trực tiếp nhau. Redis đứng giữa như “hộp thư tín hiệu” tốc độ cao.
2. Ba thành phần của hệ thống
2.1. Bộ tạo cơ hội — OG (Order Generator)
Nhiệm vụ của OG:
- Kết nối Market Data API (Binance, MT5, SSI…)
- Tính chỉ báo kỹ thuật (RSI, MA, ATR, EMA…)
- Quét điều kiện chiến lược (ví dụ: breakout kênh ATR, MA crossover)
- Khi có tín hiệu mới → đẩy vào Redis (Hash hoặc Pub/Sub)
OG không đặt lệnh. Nhờ vậy bạn có thể chạy thử chiến lược, backtest, hoặc paper trading mà không rủi ro tài khoản thật.
2.2. Cơ sở dữ liệu Redis — Bộ nhớ đệm tín hiệu
Redis là database in-memory, phản hồi trong mili-giây — phù hợp truyền tín hiệu giao dịch real-time.
Vai trò:
- Buffer tín hiệu giữa OG và OF
- Pub/Sub: OF lắng nghe, OG publish — mô hình bất đồng bộ
- Hash: lưu snapshot tín hiệu (symbol, giá, Buy_Signal, ATR, timestamp…)
Ví dụ OG ghi tín hiệu vào Redis:
import redis
r = redis.Redis(host="localhost", port=6379, db=6)
hash_key = "OG_FX_MA10_MA20_EURUSD"
if last_row["Buy_Signal"] or last_row["Sell_Signal"]:
for field, value in last_row.to_dict().items():
r.hset(hash_key, field, str(value))
print(f"Đã đẩy tín hiệu → Redis: {hash_key}")
2.3. Bộ theo dõi đơn hàng — OF (Order Follower)
OF chạy song song (hoặc trên máy khác), liên tục:
- Đọc / lắng nghe tín hiệu từ Redis
- Lấy số dư tài khoản, tính lot size theo quy tắc quản lý vốn
- Normalize giá và khối lượng theo quy định sàn
- Gửi lệnh lên MetaTrader 5, Binance hoặc SSI
- Quản lý lệnh đang mở (trailing stop, đóng lệnh…)
Ví dụ OF đọc từ Redis và thực thi:
import redis
def entry_forex(hash_key: str):
r = redis.Redis(host="localhost", port=6379, db=6)
data = r.hgetall(hash_key)
if not data:
return
data = {k.decode(): v.decode() for k, v in data.items()}
if data.get("Buy_Signal") == "True":
order_send_buy(data)
elif data.get("Sell_Signal") == "True":
order_send_sell(data)
r.delete(hash_key)
3. Luồng dữ liệu từ biểu đồ đến lệnh giao dịch
Phân tích biểu đồ thị trường
↓
OG: Tính chỉ báo & tín hiệu
↓
Redis: Lưu / phát tín hiệu
↓
OF: Quản lý vị thế & đặt lệnh
↓
MT5 / Binance / SSI
Điểm mấu chốt: OG và OF scale độc lập. Thị trường biến động mạnh → tăng tần suất quét OG; OF vẫn xử lý lệnh tuần tự, an toàn.
4. Đa nền tảng: MT5, Binance, SSI
Một kiến trúc OG/OF có thể triển khai trên nhiều thị trường:
| Thị trường | Nền tảng | Vai trò trong hệ thống |
|---|---|---|
| Forex | MetaTrader 5 | OF thực thi lệnh qua MetaTrader5 Python API |
| Crypto | Binance / CCXT | OG fetch OHLCV, OF buy/sell spot hoặc future |
| Chứng khoán VN | SSI, DNSE | OG lấy dữ liệu, OF đặt lệnh qua API broker |
Redis dùng database index khác nhau để tách tín hiệu (ví dụ: DB 0–5 CK, 6–10 FX, 11–15 Crypto) — tránh xung đột khi chạy song song nhiều chiến lược.
5. Lợi ích thực tế khi vận hành bot
- Ổn định 24/7 — OF crash không kéo OG xuống; restart OF mà không mất dữ liệu phân tích
- Dễ bảo trì — sửa chiến lược chỉ đụng
og_generator.py, sửa đặt lệnh chỉ đụngof_follower.py - Mở rộng — thêm sàn mới = thêm module OF, OG giữ nguyên
- An toàn khi học — chạy OG + log tín hiệu trước, bật OF khi đã kiểm thử kỹ
- Chuẩn nghề Quant — mô hình tương tự pipeline tại prop firm và hedge fund nhỏ
6. Bạn học được gì trong khóa học?
Khóa Lập trình Bot Auto Trading Python (Vibe Code) không dừng ở lý thuyết. Bạn sẽ:
- Viết OG quét tín hiệu từ dữ liệu thật (Binance, MT5, SSI)
- Cấu hình Redis Pub/Sub và Hash
- Xây OF đặt lệnh, normalize volume/price, quản lý rủi ro
- Ghép thành hệ thống bot hoàn chỉnh chạy đa thị trường
Đây là kỹ năng cốt lõi phân biệt “biết code Python” với “làm chủ Bot Auto Trading thực chiến”.
Đăng ký tư vấn khóa học
Bạn muốn tự tay xây hệ thống như sơ đồ trên — từ con số 0, có mentor hướng dẫn từng bước?
👉 Khóa học Lập trình Bot Auto Trading Python — Vibe Code
📩 Landing tư vấn & lịch khai giảng: huongnghiepdulieu.com
Bài viết thuộc chuỗi kiến thức Bot Auto Trading Python — Hướng Nghiệp Dữ Liệu.