Bài viết gần đây
-
-
Phân Biệt MySQL Và PostgreSQL
Tháng 1 1, 2026 -
Gen Z Việt Nam trước làn sóng Web3
Tháng 12 29, 2025
| XÂY DỰNG BOT AUTO TRADING MA6–10–20 CHO BINANCE FUTURES BẰNG PYTHON
Được viết bởi thanhdt vào ngày 27/11/2025 lúc 16:10 | 69 lượt xem
XÂY DỰNG BOT AUTO TRADING MA6–10–20 CHO BINANCE FUTURES BẰNG PYTHON
(Dành cho trader, lập trình viên và học viên Xu Hướng VIP)
Trong hệ thống Chiến Lược Xu Hướng VIP, bộ MA6–10–20 là một trong những công cụ mạnh mẽ nhất để xác định xu hướng, điểm vào lệnh và tín hiệu đảo chiều.
Khi kết hợp với Python và Binance API, chúng ta có thể biến nó thành bot auto trading chạy 24/7, theo đúng quy tắc đã học trong khóa.
Bài này sẽ hướng dẫn anh xây dựng bot auto trading Binance Futures MA6–10–20 đầy đủ từ A → Z.
1. Tổng quan chiến lược MA6–10–20 trong bot auto trading


Bộ MA6–10–20 tạo ra các tín hiệu:
1) Xu hướng tăng (Long Bias)
- MA6 cắt lên MA10
- MA10 nằm trên MA20
- Giá nằm trên MA6
2) Xu hướng giảm (Short Bias)
- MA6 cắt xuống MA10
- MA10 nằm dưới MA20
- Giá dưới MA6
3) Vùng nhiễu (Không giao dịch)
- MA6–10–20 bó hẹp
- MA phẳng – giá sideway
- Khối lượng giảm – market không trend
Bot auto trading sẽ chỉ vào lệnh khi xu hướng rõ ràng.
2. Chuẩn bị môi trường bot auto trading Python
pip install ccxt
pip install python-binance
pip install pandas numpy
pip install python-dotenv
Tạo file .env để bảo mật:
BINANCE_API_KEY=xxxx
BINANCE_API_SECRET=xxxx
3. Lấy dữ liệu Binance Futures bằng CCXT
import ccxt
import pandas as pd
binance = ccxt.binance({
'options': {'defaultType': 'future'}
})
def get_data(pair="BTC/USDT", tf="5m", limit=200):
ohlcv = binance.fetch_ohlcv(pair, tf, limit=limit)
df = pd.DataFrame(ohlcv, columns=['time','open','high','low','close','volume'])
return df
4. Tính MA6 – MA10 – MA20
def apply_ma(df):
df['MA6'] = df['close'].rolling(6).mean()
df['MA10'] = df['close'].rolling(10).mean()
df['MA20'] = df['close'].rolling(20).mean()
return df
5. Xác định tín hiệu MA6–10–20 cho bot auto trading
def get_signal(df):
c = df.iloc[-1]
if c['MA6'] > c['MA10'] and c['MA10'] > c['MA20'] and c['close'] > c['MA6']:
return "LONG"
if c['MA6'] < c['MA10'] and c['MA10'] < c['MA20'] and c['close'] < c['MA6']:
return "SHORT"
return "NONE"
6. Gửi lệnh Binance Futures (Long/Short)


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 order_futures(symbol, side, qty):
order = client.futures_create_order(
symbol=symbol,
type="MARKET",
side=side,
quantity=qty
)
return order
7. Kết hợp tất cả thành bot auto trading MA6–10–20
import time
symbol = "BTCUSDT"
qty = 0.01 # tùy tài khoản
while True:
try:
df = get_data(symbol)
df = apply_ma(df)
signal = get_signal(df)
print("Signal:", signal)
if signal == "LONG":
order_futures(symbol, "BUY", qty)
if signal == "SHORT":
order_futures(symbol, "SELL", qty)
except Exception as e:
print("Error:", e)
time.sleep(10)
8. Bổ sung quản trị rủi ro giống “Xu Hướng VIP”
Quy tắc chuẩn:
- Stop-loss đặt dưới MA20 (Long)
- Stop-loss đặt trên MA20 (Short)
- Không mở 2 vị thế cùng lúc
- Không giao dịch khi MA6–10–20 bó hẹp
- Không giao dịch khi volume giảm mạnh
9. Chạy bot auto trading 24/7 trên VPS


Trên Ubuntu:
sudo apt update
sudo apt install python3-pip
nohup python3 bot.py &
Kiểm tra log:
tail -f nohup.out