Bài viết gần đây
-
Tính Chỉ Báo MACD Bằng Python – MACD Line, Signal, Histogram
Tháng 8 11, 2026 -
Tính Chỉ Báo RSI Bằng Python – Công Thức Wilder, Quá Mua, Quá Bán
Tháng 8 10, 2026
| XÂY DỰNG BOT AUTO TRADING ĐA CẶP
Được viết bởi Đặng Trí Thanh vào ngày 28/11/2025 lúc 09:02 | 165 lượt xem
XÂY DỰNG BOT AUTO TRADING ĐA CẶP (5–20 COIN CHẠY SONG SONG)
Các bot đơn cặp như BTC/USDT hoặc ETH/USDT thường bị giới hạn vì:
- Chỉ trade 1 cơ hội một thời điểm
- Khi BTC đi ngang → bot đứng im
- Không bắt được cơ hội ở ALT (SOL, BNB, LINK, BCH…)
Giải pháp → Bot Auto Trading Đa Cặp:
- Chạy song song 5–20 cặp
- Mỗi cặp độc lập logic
- Tự tìm tín hiệu
- Tự vào lệnh
- Không xung đột lệnh
- Theo đúng chiến lược của anh (MA, MACD, Breakout, ATR… đều dùng được)
1. Multi-Symbol Bot hoạt động như thế nào?
Bot hoạt động theo 3 tầng:
Tầng 1 – Scheduler
Lặp lại mỗi 5s, 10s, 1m…
Tầng 2 – Multi Symbol Engine
Chạy từng đồng coin:
- BTCUSDT
- ETHUSDT
- SOLUSDT
- BNBUSDT
- LINKUSDT
- ADAUSDT
- DOGEUSDT
- … (bao nhiêu tùy thích)
Tầng 3 – Strategy Module
Áp dụng chiến lược anh chọn:
- MA + MACD
- Breakout Premium
- Momentum
- ATR
- Kênh xu hướng
(Ở bài này em lấy ví dụ chiến lược MA + MACD)
2. Danh sách coin để bot chạy
symbols = [
"BTC/USDT",
"ETH/USDT",
"BNB/USDT",
"SOL/USDT",
"LINK/USDT",
"XRP/USDT",
"ADA/USDT",
"DOGE/USDT",
]
Tuỳ anh → có thể mở rộng đến 20 cặp.
3. Lấy dữ liệu cho từng cặp bằng CCXT
import ccxt, pandas as pd
binance = ccxt.binance({'options': {'defaultType': 'future'}})
def fetch(symbol, tf="5m", limit=200):
df = pd.DataFrame(
binance.fetch_ohlcv(symbol, tf, limit=limit),
columns=["time","open","high","low","close","volume"]
)
return df
4. Indicator (MA + MACD)
def indicators(df):
df["MA6"] = df["close"].rolling(6).mean()
df["MA10"] = df["close"].rolling(10).mean()
df["MA20"] = df["close"].rolling(20).mean()
df["EMA12"] = df["close"].ewm(span=12).mean()
df["EMA26"] = df["close"].ewm(span=26).mean()
df["MACD"] = df["EMA12"] - df["EMA26"]
df["Signal"] = df["MACD"].ewm(span=9).mean()
df["Hist"] = df["MACD"] - df["Signal"]
return df
5. Logic tín hiệu cho từng cặp
def signal(df):
h0 = df["Hist"].iloc[-1]
h1 = df["Hist"].iloc[-2]
h2 = df["Hist"].iloc[-3]
c = df.iloc[-1]
if c["MA6"] > c["MA10"] > c["MA20"] and h0 > 0 and h0 > h1 > h2:
return "BUY"
if c["MA6"] < c["MA10"] < c["MA20"] and h0 < 0 and h0 < h1 < h2:
return "SELL"
return "NONE"
6. Gửi lệnh Futures
from binance.client import Client
from dotenv import load_dotenv
import os
load_dotenv()
client = Client(os.getenv("BINANCE_API_KEY"), os.getenv("BINANCE_API_SECRET"))
def execute(symbol, sig, qty):
s = symbol.replace("/", "")
if sig == "BUY":
client.futures_create_order(symbol=s, side="BUY", type="MARKET", quantity=qty)
if sig == "SELL":
client.futures_create_order(symbol=s, side="SELL", type="MARKET", quantity=qty)
7. Bot Auto Trading Đa Cặp (Full Code)
import time
symbols = [
"BTC/USDT",
"ETH/USDT",
"BNB/USDT",
"SOL/USDT",
"LINK/USDT",
"XRP/USDT",
"ADA/USDT",
"DOGE/USDT",
]
qty = 0.02 # mỗi cặp trade một khối lượng riêng
while True:
for sym in symbols:
try:
df = fetch(sym)
df = indicators(df)
sig = signal(df)
price = df["close"].iloc[-1]
print(sym, "| Price:", price, "| Signal:", sig)
if sig != "NONE":
execute(sym, sig, qty)
except Exception as e:
print("Error:", sym, e)
time.sleep(10)
8. Thách thức của Multi-Symbol Bot (và cách khắc phục)
❌ 1. Rate Limit
Giải pháp:
- giảm interval
- dùng WebSocket thay REST
❌ 2. Trùng lệnh (double entry)
Giải pháp:
- Lưu trạng thái open position
- Chỉ mở 1 lệnh mỗi cặp
❌ 3. Vỡ risk khi trade nhiều cặp
Giải pháp:
- Dùng ATR để tính volume
- Giới hạn max position
9. Nâng cấp bản PRO – Multi Symbol Bot Pro
📌 1. Sử dụng WebSocket để nhận giá theo từng cặp
→ tốc độ gấp 10 lần REST
📌 2. Position Manager
- Không mở trùng lệnh
- Tự SL/TP theo ATR
- Tự đóng lệnh khi đảo tín hiệu
📌 3. Risk Manager
- Giới hạn tối đa 3 vị thế open cùng lúc
- Giới hạn max 2% tài khoản mỗi lệnh
📌 4. Multi-Strategy Engine
Mỗi cặp dùng chiến lược khác nhau:
- BTC dùng MA + MACD
- ETH dùng Breakout Premium
- SOL dùng Momentum
- BNB dùng Trend Channel
📌 5. Telegram Notification
Gửi tin nhắn khi bot vào lệnh, đóng lệnh, SL, TP.
Weekly Digest — Nhận Bản Tin Hàng Tuần
Nhận các bài viết phân tích kỹ thuật chuyên sâu, thuật toán giao dịch tự động (Trading Bot) và các giải pháp công nghệ mới nhất từ Hướng Nghiệp Dữ Liệu.
Đặng Trí Thanh
Giám đốc Công nghệ · DNT Digital · Giảng viên HNDLĐặng Trí Thanh — Founder & CTO · Hướng Nghiệp Dữ Liệu - DNT Digital. Chuyên đào tạo và triển khai thực chiến Python, MT5 và hệ thống bot auto trading / IB cho học viên và doanh nghiệp.