Bài viết gần đây
| XÂY DỰNG BOT AUTO TRADING BREAKOUT BTC/ETH BẰNG PYTHON + CCXT
Được viết bởi thanhdt vào ngày 27/11/2025 lúc 16:15 | 219 lượt xem
XÂY DỰNG BOT AUTO TRADING BREAKOUT BTC/ETH BẰNG PYTHON + CCXT
Chiến lược Breakout là một trong những phương pháp giao dịch phổ biến và hiệu quả nhất trong thị trường Crypto. Khi giá phá vỡ một vùng kháng cự/hỗ trợ mạnh, xác suất tiếp diễn xu hướng là rất cao.
Kết hợp chiến lược Breakout với Python & Binance API → chúng ta tạo ra bot auto trading breakout chạy tự động 24/7.
Bài này hướng dẫn xây dựng Bot Breakout cho BTC/ETH từ A → Z.
1. Breakout là gì? (Dành cho bot auto trading)


Breakout xảy ra khi:
- Giá vượt kháng cự → tín hiệu BUY
- Giá thủng hỗ trợ → tín hiệu SELL
Bot auto trading breakout sử dụng:
- Key Levels (vùng giá quan trọng)
- Highest High / Lowest Low
- Volume xác nhận (tùy chọn)
- Stop-loss bắt buộc để tránh fake breakout
2. Chuẩn bị môi trường bot auto trading Python
pip install ccxt
pip install pandas numpy
pip install python-dotenv
Tạo file .env:
BINANCE_API_KEY=xxxx
BINANCE_API_SECRET=xxxx
3. Lấy dữ liệu BTC/ETH bằng CCXT
import ccxt
import pandas as pd
binance = ccxt.binance({
'options': {'defaultType': 'future'}
})
def fetch_klines(symbol="BTC/USDT", tf="5m", limit=200):
ohlcv = binance.fetch_ohlcv(symbol, tf, limit=limit)
df = pd.DataFrame(ohlcv, columns=["time","open","high","low","close","volume"])
return df
4. Xác định Breakout Levels
Breakout zone = đỉnh gần nhất (kháng cự) hoặc đáy gần nhất (hỗ trợ)
def breakout_levels(df, length=20):
high_level = df['high'].rolling(length).max().iloc[-2]
low_level = df['low'].rolling(length).min().iloc[-2]
return high_level, low_level
5. Tạo tín hiệu Breakout
def breakout_signal(df):
high, low = breakout_levels(df)
close = df['close'].iloc[-1]
if close > high:
return "BUY_BREAKOUT"
if close < low:
return "SELL_BREAKDOWN"
return "NONE"
6. Gửi lệnh vào Binance 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 order(symbol, side, qty):
return client.futures_create_order(
symbol=symbol,
side=side,
type="MARKET",
quantity=qty
)
7. Chèn Stop-loss & Take-profit tự động
Chiến lược Breakout bắt buộc có SL do dễ gặp “breakout giả”.
BUY SL = đáy gần nhất
SELL SL = đỉnh gần nhất
8. Full code bot auto trading breakout (BTC/ETH)
import time
symbol = "BTCUSDT"
quantity = 0.01
while True:
try:
df = fetch_klines(symbol)
sig = breakout_signal(df)
high, low = breakout_levels(df)
print("Signal:", sig)
if sig == "BUY_BREAKOUT":
order(symbol, "BUY", quantity)
print("Breakout BUY executed at:", df['close'].iloc[-1])
if sig == "SELL_BREAKDOWN":
order(symbol, "SELL", quantity)
print("Breakdown SELL executed at:", df['close'].iloc[-1])
except Exception as e:
print("Error:", e)
time.sleep(8) # delay 8 giây để tránh spam API
9. Nâng cấp Bot Auto Trading Breakout
Để bot thông minh hơn, có thể thêm:
✔ Volume Confirmation
Breakout chỉ hợp lệ khi volume tăng mạnh:
if df['volume'].iloc[-1] > df['volume'].rolling(20).mean().iloc[-1]:
# volume ok
✔ ATR Stop-loss
Giúp bot chống quét SL:
df['ATR'] = df['high'] - df['low']
sl = df['close'].iloc[-1] - 1.5 * df['ATR'].iloc[-20]
✔ Avoid Fake Breakout
Chỉ BUY khi nến đóng trên kháng cự (Không dùng wick).
10. Chạy bot 24/7 bằng VPS

Ubuntu:
sudo apt update
sudo apt install python3-pip -y
nohup python3 breakout_bot.py &
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.
Thành ĐT
Founder & Chief Technology Officer, HNDLChuyên gia với hơn 10 năm kinh nghiệm trong phát triển hệ thống giao dịch tự động (Trading Bot), Fintech, Mobile App và phân tích dữ liệu tài chính (Quantitative Analysis). Người sáng lập và trực tiếp dẫn dắt các khóa học thực chiến tại Hướng Nghiệp Dữ Liệu.