Bài viết gần đây
-
-
Áp Dụng BOT Vào Phân Tích Và Đầu Tư Chứng Khoán Hiệu Quả
Tháng 2 15, 2026
| Backend FastAPI Cho Bot Auto Trading
Được viết bởi thanhdt vào ngày 08/12/2025 lúc 13:27 | 281 lượt xem
Xây Dựng Backend FastAPI Cho Bot Auto Trading
Hệ thống giao dịch tự động (Auto Trading Bot) đòi hỏi tính ổn định, tốc độ cao và khả năng mở rộng. FastAPI – nhờ vào tốc độ xử lý vượt trội và mô hình async – trở thành lựa chọn hoàn hảo để xây dựng nền tảng backend cho bot giao dịch hiện đại trên các sàn như Binance, Bitget, Bybit hoặc OKX.
Dưới đây là hướng dẫn đầy đủ về kiến trúc, thiết kế API, xử lý tín hiệu và triển khai thực tế.

1. Kiến trúc tổng thể Backend Bot Trading
Hệ thống có thể chia thành các khối sau:
- Webhook Receiver (nhận tín hiệu TradingView)
- Strategy Engine (xử lý chiến lược)
- Exchange API Handler (Bitget, Binance, Bybit)
- Order Management
- Monitor – Logging – Alert
- Database Layer (MongoDB, PostgreSQL)
- Dashboard Admin
- Background Tasks Scheduler
Hình minh họa gợi ý 1 – Kiến trúc tổng thể Bot Auto Trading
Một sơ đồ dạng block với các module:
- Người dùng
- TradingView
- FastAPI Backend
- Strategy Engine
- Database
- Exchange API
- Dashboard Monitoring
2. Khởi tạo dự án FastAPI
Cài đặt thư viện cần thiết
pip install fastapi uvicorn ccxt python-dotenv pymongo
Cấu trúc thư mục chuẩn
backend/
main.py
config/
settings.py
services/
exchange_service.py
strategy_service.py
routes/
webhook.py
database/
mongo.py
utils/
logger.py
Hình minh họa gợi ý 2 – Cấu trúc thư mục Backend FastAPI
Một hình folder tree trực quan, có highlight các thư mục chính như:
routes, services, config, database
3. Làm Webhook để nhận tín hiệu TradingView
TradingView gửi tín hiệu thông qua Webhook. Đây là nơi để bot tiếp nhận lệnh Buy/Sell.
Tạo Webhook endpoint
from fastapi import APIRouter, Request
router = APIRouter()
@router.post("/webhook")
async def webhook_handler(request: Request):
data = await request.json()
print("Received:", data)
return {"status": "ok"}
Hình minh họa gợi ý 3 – TradingView gửi tín hiệu qua Webhook
Hình gồm:
TradingView chart → Alerts → Webhook URL → API FastAPI
4. Kết nối API Sàn giao dịch bằng CCXT
Đây là bước quan trọng để bot có thể thực hiện lệnh tự động.
Ví dụ kết nối Bitget
import ccxt
exchange = ccxt.bitget({
"apiKey": "YOUR_KEY",
"secret": "YOUR_SECRET",
"password": "YOUR_PASSPHRASE"
})
Hàm đặt lệnh Market
def open_order(symbol, side, amount):
order = exchange.create_order(
symbol=symbol,
type="market",
side=side,
amount=amount
)
return order
Hình minh họa gợi ý 4 – Sơ đồ API Flow của sàn giao dịch
Flow:
Bot → Exchange API → Khớp lệnh → Trả về Order ID → Lưu DB
5. Xử lý chiến lược giao dịch (Strategy Engine)
Bot có thể chạy theo:
- Price Action
- Moving Average Cross
- RSI / MACD
- SMC
- Turtle
- Volume Breakout
- AI/ML predictions
Ví dụ chiến lược đơn giản:
async def execute_strategy(data):
symbol = data["symbol"]
signal = data["signal"]
if signal == "BUY":
return open_order(symbol, "buy", 0.01)
if signal == "SELL":
return open_order(symbol, "sell", 0.01)
Hình minh họa gợi ý 5 – Trading bot logic
Sơ đồ Decision Tree:
Signal → Check Conditions → Execute Buy/Sell → Log Order
6. Lưu lịch sử lệnh và trạng thái vào Database
Ví dụ dùng MongoDB:
from pymongo import MongoClient
client = MongoClient("mongodb://localhost:27017")
db = client.auto_trading
def save_order(order):
db.orders.insert_one(order)
Hình minh họa gợi ý 6 – Database model của Bot
Bảng orders gồm:
orderId, symbol, side, amount, entryPrice, tp, sl, status
7. Background Tasks: Kiểm tra TP/SL tự động
Bot cần liên tục kiểm tra giá để tự đóng lệnh.
Bạn có thể dùng:
- FastAPI Background Tasks
- APScheduler
- Celery
Ví dụ:
from fastapi import BackgroundTasks
@app.post("/webhook")
async def webhook_handler(request: Request, background_tasks: BackgroundTasks):
data = await request.json()
order = await execute_strategy(data)
background_tasks.add_task(check_tp_sl, order)
return order
Hình minh họa gợi ý 7 – Price Monitoring Engine
Giá thị trường → Bot Check → Hit TP/SL → Đóng lệnh
8. Bảo mật Backend Bot Trading
- Bảo vệ Webhook bằng secret token
- Verify TradingView signature
- Chỉ cho phép IP whitelist
- Tách API đặt lệnh khỏi API public
- Dùng HTTPS để tránh sniffing
- Giới hạn tốc độ request (Rate limit)
- Mã hóa API key (dotenv)
Hình minh họa gợi ý 8 – Security Diagram
Các lớp bảo vệ: Firewall → API Gateway → Signature → Backend
9. Triển khai Backend FastAPI lên server
Bạn có thể triển khai qua:
- Docker
- DigitalOcean
- AWS EC2
- Hostinger VPS
- Google Cloud Run
Lệnh chạy:
uvicorn main:app --host 0.0.0.0 --port 8000
Hình minh họa gợi ý 9 – Deployment Pipeline
Local development → Docker build → Deploy VPS → Reverse Proxy → Bot Running
10. Dashboard giám sát và quản lý bot
Một Dashboard chuyên nghiệp có các mục:
- Trạng thái bot
- Lệnh đang mở
- Lịch sử giao dịch
- Equity curve
- Risk management
- Cấu hình TPSL
- Cài đặt chiến lược
- Tắt/Mở bot
Hình minh họa gợi ý 10 – Dashboard quản lý bot
Một layout gồm:
- Sidebar
- Chart PnL
- Bảng Orders
- Nút Start/Stop bot
Kết luận
FastAPI mang lại tốc độ cao, cú pháp rõ ràng và khả năng mở rộng tuyệt vời cho backend bot auto trading. Với khả năng xử lý async, bảo mật tốt và tích hợp mạnh mẽ cùng Python ecosystem, đây là giải pháp phù hợp để xây dựng hệ thống giao dịch tự động từ đơn giản đến chuyên nghiệp.
Backend FastAPI kết hợp với TradingView Webhook, CCXT Exchange API và một kiến trúc database hợp lý sẽ tạo nên một nền tảng Auto Trading hoàn chỉnh, ổn định và có khả năng vận hành 24/7.