Skip to main content

5 posts tagged with "Binance"

View All Tags

Tự động lấy và trực quan hóa dữ liệu giá tiền điện tử từ Binance với Python

· 5 min read

Giới thiệu

Trong bài viết này, chúng ta sẽ học cách sử dụng Python và thư viện CCXT để lấy dữ liệu giá tiền điện tử từ sàn Binance, sau đó phân tích và trực quan hóa dữ liệu này. Đây là kỹ năng quan trọng cho các nhà giao dịch và phân tích thị trường tiền điện tử.

1. Cài đặt và Cấu hình

1.1. Cài đặt các thư viện cần thiết

pip install ccxt pandas numpy plotly openpyxl

1.2. Kết nối với Binance qua CCXT

import ccxt
import pandas as pd
import plotly.graph_objects as go
from datetime import datetime

# Khởi tạo exchange
exchange = ccxt.binance({
'enableRateLimit': True, # Tự động xử lý rate limit
'options': {
'defaultType': 'spot' # Sử dụng spot trading
}
})

# Kiểm tra kết nối
print(f"Exchange: {exchange.name}")
print(f"Markets: {len(exchange.markets)}")

2. Lấy dữ liệu OHLCV (Candlestick)

2.1. Lấy dữ liệu theo timeframe

def fetch_ohlcv(symbol, timeframe='1h', limit=1000):
"""
Lấy dữ liệu OHLCV từ Binance

Parameters:
- symbol: Cặp giao dịch (ví dụ: 'BTC/USDT')
- timeframe: Khung thời gian ('1m', '5m', '1h', '4h', '1d')
- limit: Số lượng nến muốn lấy (tối đa 1000)
"""
try:
ohlcv = exchange.fetch_ohlcv(symbol, timeframe, limit=limit)
df = pd.DataFrame(ohlcv, columns=['timestamp', 'open', 'high', 'low', 'close', 'volume'])
df['timestamp'] = pd.to_datetime(df['timestamp'], unit='ms')
return df
except Exception as e:
print(f"Error fetching data: {e}")
return None

# Ví dụ sử dụng
btc_data = fetch_ohlcv('BTC/USDT', '1h', 1000)
print(btc_data.head())

2.2. Lấy nhiều hơn 1000 nến

def fetch_multiple_ohlcv(symbol, timeframe='1h', since=None, limit=1000):
"""
Lấy nhiều hơn 1000 nến bằng cách sử dụng since parameter
"""
all_ohlcv = []
while True:
try:
ohlcv = exchange.fetch_ohlcv(symbol, timeframe, since=since, limit=limit)
if len(ohlcv) == 0:
break
all_ohlcv.extend(ohlcv)
since = ohlcv[-1][0] + 1
except Exception as e:
print(f"Error: {e}")
break
return pd.DataFrame(all_ohlcv, columns=['timestamp', 'open', 'high', 'low', 'close', 'volume'])

3. Xử lý và Lưu trữ Dữ liệu

3.1. Xử lý dữ liệu với Pandas

def process_ohlcv_data(df):
"""
Xử lý dữ liệu OHLCV
"""
# Chuyển đổi timestamp
df['timestamp'] = pd.to_datetime(df['timestamp'], unit='ms')

# Tính toán các chỉ báo
df['returns'] = df['close'].pct_change()
df['volatility'] = df['returns'].rolling(window=20).std()

# Tính toán SMA
df['SMA20'] = df['close'].rolling(window=20).mean()
df['SMA50'] = df['close'].rolling(window=50).mean()

return df

# Xử lý dữ liệu
btc_data = process_ohlcv_data(btc_data)

3.2. Lưu trữ dữ liệu

def save_data(df, filename, format='csv'):
"""
Lưu dữ liệu ra file
"""
if format == 'csv':
df.to_csv(f"{filename}.csv", index=False)
elif format == 'excel':
df.to_excel(f"{filename}.xlsx", index=False)
elif format == 'html':
df.to_html(f"{filename}.html", index=False)
else:
print("Unsupported format")

# Ví dụ lưu dữ liệu
save_data(btc_data, 'btc_data', 'csv')
save_data(btc_data, 'btc_data', 'excel')

4. Trực quan hóa dữ liệu với Plotly

4.1. Vẽ biểu đồ nến (Candlestick)

def plot_candlestick(df, title='BTC/USDT Price'):
"""
Vẽ biểu đồ nến với Plotly
"""
fig = go.Figure(data=[go.Candlestick(
x=df['timestamp'],
open=df['open'],
high=df['high'],
low=df['low'],
close=df['close']
)])

# Thêm SMA
fig.add_trace(go.Scatter(
x=df['timestamp'],
y=df['SMA20'],
name='SMA20',
line=dict(color='blue')
))

fig.add_trace(go.Scatter(
x=df['timestamp'],
y=df['SMA50'],
name='SMA50',
line=dict(color='red')
))

# Cập nhật layout
fig.update_layout(
title=title,
yaxis_title='Price (USDT)',
xaxis_title='Date',
template='plotly_dark'
)

return fig

# Vẽ và hiển thị biểu đồ
fig = plot_candlestick(btc_data)
fig.show()

4.2. Vẽ biểu đồ volume

def plot_volume(df, title='BTC/USDT Volume'):
"""
Vẽ biểu đồ volume
"""
fig = go.Figure(data=[go.Bar(
x=df['timestamp'],
y=df['volume'],
name='Volume'
)])

fig.update_layout(
title=title,
yaxis_title='Volume',
xaxis_title='Date',
template='plotly_dark'
)

return fig

# Vẽ và hiển thị biểu đồ volume
volume_fig = plot_volume(btc_data)
volume_fig.show()

5. Lấy giá hiện tại (Ticker)

def get_current_price(symbol):
"""
Lấy giá hiện tại của một cặp giao dịch
"""
try:
ticker = exchange.fetch_ticker(symbol)
return {
'symbol': symbol,
'last': ticker['last'],
'bid': ticker['bid'],
'ask': ticker['ask'],
'volume': ticker['baseVolume'],
'timestamp': datetime.fromtimestamp(ticker['timestamp']/1000)
}
except Exception as e:
print(f"Error fetching ticker: {e}")
return None

# Ví dụ lấy giá BTC/USDT
btc_ticker = get_current_price('BTC/USDT')
print(btc_ticker)

6. Mở rộng: Các tính năng nâng cao

6.1. Lấy dữ liệu từ nhiều cặp giao dịch

def fetch_multiple_symbols(symbols, timeframe='1h', limit=1000):
"""
Lấy dữ liệu từ nhiều cặp giao dịch
"""
data = {}
for symbol in symbols:
data[symbol] = fetch_ohlcv(symbol, timeframe, limit)
return data

# Ví dụ lấy dữ liệu nhiều cặp
symbols = ['BTC/USDT', 'ETH/USDT', 'BNB/USDT']
multi_data = fetch_multiple_symbols(symbols)

6.2. Tính toán tương quan giữa các cặp

def calculate_correlation(data_dict):
"""
Tính toán tương quan giữa các cặp giao dịch
"""
# Tạo DataFrame với giá đóng cửa của các cặp
closes = pd.DataFrame()
for symbol, df in data_dict.items():
closes[symbol] = df['close']

# Tính toán ma trận tương quan
correlation = closes.corr()
return correlation

# Tính và hiển thị tương quan
correlation = calculate_correlation(multi_data)
print(correlation)

Kết luận

Trong bài viết này, chúng ta đã học cách:

  1. Kết nối với Binance qua CCXT
  2. Lấy và xử lý dữ liệu OHLCV
  3. Lưu trữ dữ liệu dưới nhiều định dạng
  4. Trực quan hóa dữ liệu với Plotly
  5. Thực hiện các phân tích nâng cao

Đây là nền tảng cơ bản để bạn có thể tự động hóa việc phân tích dữ liệu tiền điện tử. Bạn có thể mở rộng thêm bằng cách:

  • Thêm các chỉ báo kỹ thuật
  • Tạo chiến lược giao dịch tự động
  • Phân tích sentiment từ social media
  • Tích hợp với các nguồn dữ liệu khác

Tài liệu tham khảo

  1. CCXT Documentation
  2. Binance API Documentation
  3. Pandas Documentation
  4. Plotly Documentation

Liên hệ

Nếu bạn có thắc mắc hoặc cần hỗ trợ thêm, hãy liên hệ:

Báo cáo TokenInsight Q3/2025 - Bitget Vươn Lên Top 3 Sàn Giao Dịch Lớn Nhất Toàn Cầu

· 10 min read

Bitget Vươn Lên Top 3 Sàn Giao Dịch Toàn Cầu

Bitget vượt Bybit – Bước tiến ấn tượng trong Q3/2025

Theo báo cáo TokenInsight Q3/2025, Bitget đã ghi nhận bước tiến đột phá khi vượt qua Bybit để trở thành sàn giao dịch tiền mã hóa lớn thứ 3 thế giới, đạt 11.75% thị phần, tăng 0.31% so với quý trước.

Trong bối cảnh thị trường crypto có nhiều biến động và cạnh tranh khốc liệt, Bitget là một trong những sàn giao dịch hiếm hoi duy trì tăng trưởng mạnh mẽ và ổn định. Đặc biệt, trong khi OKX sụt giảm tới 1.55% thị phần, Bitget đã chứng minh được sức hút vượt trội trong việc thu hút thanh khoản và người dùng mới.

Bảng xếp hạng thị phần Q3/2025

Sàn Giao DịchThị Phần Q2/2025Thị Phần Q3/2025Thay Đổi
🥇 Binance35.28%35.09%📉 -0.19%
🥈 OKX13.13%11.58%📉 -1.55%
🥉 Bitget11.45%11.75%📈 +0.31%
4️⃣ Bybit12.26%11.54%📉 -0.72%

Phân tích chi tiết

📈 Bitget: 11.45% → 11.75% (+0.31%)

  • Duy nhất trong Top 4 có tăng trưởng thị phần
  • Thu hút thanh khoản từ các sàn cạnh tranh
  • Mô hình Universal Exchange (UEX) được đón nhận tích cực

📉 Bybit: 12.26% → 11.54% (-0.72%)

  • Bị Bitget vượt qua trong Q3/2025
  • Mất đi vị thế Top 3 sau nhiều quý dẫn đầu

📉 OKX: 13.13% → 11.58% (-1.55%)

  • Sụt giảm mạnh nhất trong Top 4
  • Mất thanh khoản về phía Bitget và các đối thủ khác

🏆 Binance: 35.28% → 35.09% (-0.19%)

  • Vẫn giữ vững vị trí số 1 nhưng có dấu hiệu suy giảm nhẹ
  • Thị phần vẫn gấp 3 lần sàn xếp thứ 2

Bitget – Top 3 toàn cầu cả Spot và Derivatives

Ngoài mảng giao dịch spot, Bitget tiếp tục khẳng định vị thế Top 3 toàn cầu về phái sinh (derivatives) với:

1. Thanh khoản sâu

  • Open Interest (giá trị hợp đồng đang mở) tăng trưởng liên tục
  • Spread thấp, giúp trader tối ưu chi phí giao dịch
  • Khớp lệnh nhanh chóng ngay cả trong thời điểm biến động mạnh

2. Khối lượng Perpetual Futures tăng mạnh

  • Hợp đồng vĩnh cửu (perpetual futures) là sản phẩm chủ lực
  • Hỗ trợ đa dạng cặp giao dịch: BTC, ETH, altcoins
  • Đòn bẩy linh hoạt với Adaptive Funding Model

3. Thu hút nhà đầu tư tổ chức và retail

  • Nhà đầu tư tổ chức (Institutional): API mạnh mẽ, thanh khoản sâu, bảo mật cao
  • Nhà đầu tư cá nhân (Retail): Copy Trading, GetAgent AI, giao diện thân thiện

4. Universal Exchange (UEX) – Yếu tố then chốt

Mô hình Universal Exchange (UEX) của Bitget là yếu tố quan trọng giúp sàn thu hút người dùng:

  • Hợp nhất CeFi và DeFi trong một nền tảng duy nhất
  • RWA (Real-World Assets): Token hóa tài sản thực như cổ phiếu, trái phiếu, BĐS
  • On-chain và Off-chain: Bảo mật kép, kết hợp ưu điểm CEX và DEX
  • AI-powered trading: GetAgent giúp trader tự động hóa chiến lược

Tại sao Bitget tăng trưởng mạnh trong khi OKX và Bybit suy giảm?

1. Chiến lược sản phẩm đa dạng

Bitget không chỉ tập trung vào spot và futures, mà còn phát triển:

  • Bitget Wallet: Ví Web3 tích hợp sẵn
  • Bitget Earn: Staking, Savings, Launchpad
  • Copy Trading: Sao chép chiến lược từ Top Traders
  • GetAgent AI: Trợ lý giao dịch AI độc quyền

2. Chiến lược Marketing toàn cầu

  • Partnership với Lionel Messi, Juventus FC, MotoGP
  • #GearUpTo7: Chiến dịch kỷ niệm 7 năm hoành tráng
  • Blockchain4Youth: Giáo dục blockchain cho 15,000+ sinh viên

3. Tuân thủ và giấy phép quốc tế

Bitget có giấy phép hoạt động tại 8+ quốc gia:

  • Châu Âu: Ý, Ba Lan, Litva, Séc, Bulgaria
  • Châu Mỹ: El Salvador, Argentina
  • Châu Á: Georgia, và đang mở rộng

4. Bảo mật hàng đầu

  • Proof of Reserves (PoR): Minh bạch 100% tài sản
  • Protection Fund: Quỹ bảo vệ người dùng 700+ triệu USD
  • Multi-signature Cold Wallets: 95% tài sản lưu trữ offline

5. Hỗ trợ khách hàng 24/7

  • Đội ngũ support đa ngôn ngữ
  • Response time nhanh chóng
  • Cộng đồng toàn cầu active trên Telegram, Discord, Twitter

Dự báo cho Q4/2025 và 2026

Bitget có thể vượt OKX trong Q4/2025?

Với tốc độ tăng trưởng hiện tại:

  • Bitget: +0.31% mỗi quý
  • OKX: -1.55% trong Q3/2025

Nếu xu hướng này tiếp tục, Bitget có thể vượt OKX để trở thành sàn giao dịch lớn thứ 2 thế giới vào Q4/2025 hoặc Q1/2026.

Các yếu tố quyết định

  1. UEX tiếp tục phát triển: Thêm nhiều tài sản RWA, DeFi protocols
  2. GetAgent AI nâng cấp: Machine learning mạnh mẽ hơn
  3. Giấy phép mở rộng: Vào thêm các thị trường lớn như Mỹ, Nhật Bản
  4. Tăng trưởng người dùng: Từ 120 triệu → 200 triệu vào 2026

Mục tiêu của CEO Gracy Chen

Theo CEO Gracy Chen, Bitget không nhắm đến việc trở thành "sàn lớn nhất", mà là "sàn đáng tin nhất". Tuy nhiên, với tốc độ tăng trưởng hiện tại, Bitget đang trên đà trở thành cả hai.

Tác động đến cộng đồng crypto Việt Nam

1. Cơ hội cho trader Việt

  • Thanh khoản tốt hơn: Spread thấp, khớp lệnh nhanh
  • Sản phẩm đa dạng hơn: RWA, DeFi, NFT trading
  • Công cụ AI hỗ trợ: GetAgent giúp newbie giao dịch tốt hơn

2. Uy tín và tin cậy

  • Xếp hạng cao từ TokenInsight tăng niềm tin của người dùng Việt
  • Proof of Reserves minh bạch giúp yên tâm hơn
  • Giấy phép quốc tế chứng minh tính tuân thủ

3. Cộng đồng và giáo dục

  • Bitget Vietnam: Cộng đồng ngày càng lớn mạnh
  • Blockchain4Youth: Học bổng và workshop cho sinh viên Việt
  • Copy Trading: Học hỏi từ Top Traders toàn cầu

Bài viết liên quan về Bitget và Crypto Market

Để hiểu rõ hơn về Bitget và thị trường crypto, bạn có thể đọc thêm:

Bootcamp Blockchain Mastery - Khóa học toàn diện về Blockchain

Bootcamp Blockchain Mastery

Như một phần của hệ sinh thái giáo dục blockchain, Bootcamp Blockchain Mastery là khóa học toàn diện được thiết kế để trang bị cho người học kiến thức sâu rộng về công nghệ Blockchain, tiền mã hóa và Web3.

Tại sao nên tham gia Bootcamp Blockchain Mastery?

Trong bối cảnh Bitget vươn lên Top 3 toàn cầu và thị trường crypto ngày càng phát triển, việc nắm vững kiến thức về blockchain và biết cách phân tích thị trường trở nên cực kỳ quan trọng. Bootcamp Blockchain Mastery sẽ giúp bạn:

Hiểu rõ cách đánh giá các sàn giao dịch như Bitget, Binance, OKX

Phân tích báo cáo thị trường từ TokenInsight, Messari, CoinGecko

Nắm vững các chỉ số quan trọng: Market share, trading volume, liquidity

Học cách giao dịch an toàn trên các sàn Top đầu thế giới

Hiểu về Universal Exchange (UEX) và xu hướng tương lai của crypto

Nội dung khóa học

Module 1: Blockchain Fundamentals

  • Blockchain là gì và cách hoạt động
  • Bitcoin, Ethereum và các blockchain chính
  • Consensus mechanisms: PoW, PoS, DPoS
  • Cryptography và Digital Signatures

Module 2: Crypto Exchanges và Market Analysis

  • Phân loại sàn giao dịch: CEX, DEX, Hybrid
  • Đánh giá sàn giao dịch: Liquidity, Security, Compliance
  • Phân tích báo cáo thị trường: TokenInsight, CoinMarketCap
  • Market share analysis: Cách đọc và hiểu thị phần
  • Trading volume và Open Interest: Chỉ số quan trọng

Module 3: Smart Contracts & DeFi

  • Solidity programming language
  • Smart contract development và deployment
  • DeFi protocols: Lending, AMM, Derivatives
  • Yield Farming và Liquidity Mining

Module 4: Trading & Investment

  • Technical Analysis và Chart Patterns
  • Risk Management và Portfolio Strategy
  • Copy Trading và Social Trading trên Bitget
  • AI-powered trading với GetAgent
  • Derivatives trading: Futures, Perpetuals, Options

Module 5: Universal Exchange (UEX) và Tương Lai

  • UEX là gì? Tại sao là xu hướng tương lai?
  • RWA (Real-World Assets): Token hóa tài sản thực
  • On-chain và Off-chain Security
  • AI trong crypto trading
  • Giấy phép quốc tế: MiCA, VASP, CIMA
  • AML/KYC compliance
  • Proof of Reserves (PoR)
  • Investor Protection Funds

Đối tượng phù hợp

  • 🎓 Sinh viên muốn học về blockchain và crypto trading
  • 💼 Trader muốn nâng cao kỹ năng phân tích thị trường
  • 📊 Nhà đầu tư muốn hiểu rõ cách chọn sàn giao dịch uy tín
  • 🚀 Entrepreneurs muốn khởi nghiệp trong lĩnh vực Web3
  • 🔬 Researchers muốn nghiên cứu về crypto markets

Lợi ích khi tham gia

Kiến thức toàn diện về crypto exchanges và market analysis

Thực hành thực tế trên Bitget và các sàn Top đầu

Chứng chỉ có giá trị từ Bootcamp Blockchain Mastery

Cộng đồng học viên toàn cầu và hỗ trợ 24/7

Job placement support tại các công ty crypto

Cơ hội networking với industry leaders

Lifetime access to course materials

Free updates khi có nội dung mới về UEX, AI trading

Kết nối với Bitget Ecosystem

Bootcamp Blockchain Mastery có mối liên kết chặt chẽ với các chương trình của Bitget:

  • Blockchain4Youth – Chia sẻ curriculum và mentors
  • Smart Awards – Cơ hội tham gia và được vinh danh
  • Bitget UEX – Platform thực hành chính thức
  • Community Events – Tham gia #GearUpTo7 và các sự kiện

Tham gia Bootcamp Blockchain Mastery ngay hôm nay để nắm vững kiến thức về thị trường crypto, hiểu rõ tại sao Bitget vươn lên Top 3, và biết cách giao dịch an toàn trên các sàn hàng đầu thế giới!


Kết luận

Báo cáo TokenInsight Q3/2025 đã chính thức khẳng định vị thế của Bitget như một trong ba sàn giao dịch crypto lớn nhất thế giới.

Với 11.75% thị phần và đà tăng trưởng mạnh mẽ, Bitget đang chứng minh rằng mô hình Universal Exchange (UEX), chiến lược tuân thủ quốc tế, và cam kết về bảo mật cùng trải nghiệm người dùng là công thức thành công trong thị trường crypto cạnh tranh khốc liệt.

Việc vượt qua Bybit và thu hẹp khoảng cách với OKX cho thấy Bitget hoàn toàn có thể trở thành sàn giao dịch lớn thứ 2 thế giới trong thời gian tới.

👉 Đăng ký Bitget ngay để trải nghiệm sàn giao dịch Top 3 toàn cầu: https://www.bitget.com

👉 Xem báo cáo đầy đủ của TokenInsight: https://tokeninsight.com/en/research/reports/crypto-exchanges-report-q3-2025


Tags: Bitget, TokenInsight, CryptoExchange, Market Share, Q3 2025, Bybit, Binance, OKX, UEX, Universal Exchange, Crypto Trading, Blockchain, Derivatives, Perpetual Futures, Copy Trading, GetAgent AI

Kết nối Python với API Binance để lấy dữ liệu realtime

· 4 min read
admin

Binance là một trong những sàn giao dịch tiền điện tử lớn nhất thế giới, cung cấp API mạnh mẽ cho phép các nhà phát triển xây dựng các ứng dụng giao dịch tự động. Bài viết này sẽ hướng dẫn bạn cách kết nối Python với API Binance để lấy dữ liệu realtime và thực hiện các giao dịch.

Kết nối Python với API Binance

1. Cài đặt thư viện cần thiết

Đầu tiên, chúng ta cần cài đặt thư viện python-binance:

pip install python-binance

2. Tạo API Key và Secret Key

  1. Đăng nhập vào tài khoản Binance
  2. Vào phần API Management
  3. Tạo API Key mới
  4. Lưu lại API Key và Secret Key

3. Kết nối với API Binance

from binance.client import Client
from binance.enums import *

# Khởi tạo client
api_key = 'YOUR_API_KEY'
api_secret = 'YOUR_API_SECRET'
client = Client(api_key, api_secret)

# Kiểm tra kết nối
print(client.get_system_status())

4. Lấy dữ liệu thị trường

4.1. Lấy giá hiện tại

# Lấy giá hiện tại của BTC/USDT
btc_price = client.get_symbol_ticker(symbol="BTCUSDT")
print(f"Giá BTC/USDT: {btc_price['price']}")

REST API - Lấy dữ liệu lịch sử

4.2. Lấy dữ liệu lịch sử

# Lấy dữ liệu kline/candlestick
klines = client.get_klines(
symbol='BTCUSDT',
interval=Client.KLINE_INTERVAL_1HOUR,
limit=100
)

# Chuyển đổi dữ liệu thành DataFrame
import pandas as pd
df = pd.DataFrame(klines, columns=[
'timestamp', 'open', 'high', 'low', 'close', 'volume',
'close_time', 'quote_asset_volume', 'number_of_trades',
'taker_buy_base_asset_volume', 'taker_buy_quote_asset_volume', 'ignore'
])

Kline/Candlestick Data

5. Sử dụng WebSocket để lấy dữ liệu realtime

from binance.websockets import BinanceSocketManager
from binance.client import Client

def process_message(msg):
print(f"Giá mới: {msg['p']}")

# Khởi tạo WebSocket
bm = BinanceSocketManager(client)
conn_key = bm.start_symbol_ticker_socket('BTCUSDT', process_message)
bm.start()

WebSocket - Dữ liệu realtime

6. Lấy thông tin Order Book

# Lấy order book
depth = client.get_order_book(symbol='BTCUSDT', limit=5)
print("Bids (Lệnh mua):")
for bid in depth['bids']:
print(f"Giá: {bid[0]}, Số lượng: {bid[1]}")
print("\nAsks (Lệnh bán):")
for ask in depth['asks']:
print(f"Giá: {ask[0]}, Số lượng: {ask[1]}")

Order Book

7. Thực hiện giao dịch

7.1. Đặt lệnh thị trường

# Đặt lệnh mua thị trường
order = client.create_order(
symbol='BTCUSDT',
side=SIDE_BUY,
type=ORDER_TYPE_MARKET,
quantity=0.001
)

7.2. Đặt lệnh giới hạn

# Đặt lệnh mua giới hạn
order = client.create_order(
symbol='BTCUSDT',
side=SIDE_BUY,
type=ORDER_TYPE_LIMIT,
timeInForce=TIME_IN_FORCE_GTC,
quantity=0.001,
price='30000'
)

Order Types

8. Quản lý tài khoản

8.1. Lấy thông tin tài khoản

# Lấy thông tin tài khoản
account = client.get_account()
for balance in account['balances']:
if float(balance['free']) > 0 or float(balance['locked']) > 0:
print(f"Asset: {balance['asset']}")
print(f"Free: {balance['free']}")
print(f"Locked: {balance['locked']}")

Account Balance

8.2. Lấy lịch sử giao dịch

# Lấy lịch sử giao dịch
trades = client.get_my_trades(symbol='BTCUSDT')
for trade in trades:
print(f"Time: {trade['time']}")
print(f"Price: {trade['price']}")
print(f"Quantity: {trade['qty']}")
print(f"Side: {trade['isBuyer']}")

Trading Volume

9. Xử lý lỗi và Rate Limits

9.1. Xử lý lỗi

from binance.exceptions import BinanceAPIException

try:
# Thực hiện request
client.get_account()
except BinanceAPIException as e:
print(f"Lỗi API: {e.status_code} - {e.message}")

Error Handling

9.2. Rate Limits

# Kiểm tra rate limits
rate_limits = client.get_exchange_info()
for limit in rate_limits['rateLimits']:
print(f"Limit Type: {limit['rateLimitType']}")
print(f"Interval: {limit['interval']}")
print(f"Limit: {limit['limit']}")

API Rate Limits

10. Ví dụ hoàn chỉnh: Bot giao dịch đơn giản

from binance.client import Client
from binance.enums import *
import time

def trading_bot():
# Khởi tạo client
client = Client(api_key, api_secret)

while True:
try:
# Lấy giá hiện tại
ticker = client.get_symbol_ticker(symbol="BTCUSDT")
current_price = float(ticker['price'])

# Lấy dữ liệu kline
klines = client.get_klines(
symbol='BTCUSDT',
interval=Client.KLINE_INTERVAL_1HOUR,
limit=100
)

# Tính toán chỉ báo (ví dụ: SMA)
closes = [float(k[4]) for k in klines]
sma20 = sum(closes[-20:]) / 20

# Logic giao dịch đơn giản
if current_price > sma20:
# Đặt lệnh mua
order = client.create_order(
symbol='BTCUSDT',
side=SIDE_BUY,
type=ORDER_TYPE_MARKET,
quantity=0.001
)
elif current_price < sma20:
# Đặt lệnh bán
order = client.create_order(
symbol='BTCUSDT',
side=SIDE_SELL,
type=ORDER_TYPE_MARKET,
quantity=0.001
)

# Đợi 1 phút
time.sleep(60)

except Exception as e:
print(f"Lỗi: {e}")
time.sleep(60)

if __name__ == "__main__":
trading_bot()

Kết luận

Trong bài viết này, chúng ta đã học cách:

  1. Cài đặt và cấu hình python-binance
  2. Lấy dữ liệu thị trường qua REST API
  3. Sử dụng WebSocket để lấy dữ liệu realtime
  4. Thực hiện các giao dịch
  5. Quản lý tài khoản
  6. Xử lý lỗi và rate limits
  7. Xây dựng bot giao dịch đơn giản

Lưu ý quan trọng:

  • Luôn bảo vệ API Key và Secret Key
  • Tuân thủ rate limits của Binance
  • Test kỹ trên tài khoản testnet trước khi giao dịch thật
  • Xử lý lỗi một cách cẩn thận
  • Không nên đầu tư quá nhiều vào một chiến lược giao dịch

Tài liệu tham khảo