1. CCXT的介紹
github官網(wǎng)對于ccxt的介紹是:
A JavaScript / Python / PHP library for cryptocurrency trading and e-commerce with support for many bitcoin/ether/altcoin exchange markets and merchant APIs.
即一個(gè)封裝了諸多數(shù)字貨幣交易平臺(tái)的api的開源庫。支持python、php、javascrit三種語言,github上可以下載源碼。
ccxt結(jié)構(gòu)明確,易于使用,所有api被封裝成統(tǒng)一格式的接口,返回?cái)?shù)據(jù)被封裝成統(tǒng)一格式的字典,基本省去了api開發(fā)時(shí)間。
2. 使用CCXT在Binance下單
- 依賴環(huán)境
- Python 3.5
- Okex API V_1 AccessKey AccessSecret
- PyCharm
- 安裝ccxt插件或是下載ccxt源碼
- 電腦有VPN

1.png
- 常用API
import ccxt
# ccxt官方文檔:https://github.com/ccxt/ccxt
# ccxt支持的交易所的id
# print(ccxt.exchanges)
if __name__ == '__main__':
# =====創(chuàng)建幣安交易所
# 方法一
binance = ccxt.binance()
binance.apiKey = 'EwqLz2zfgL6Tx0uvYHPOyDdlfJKSqAUApU3vY51Kkt7XRD8poSwtDZTp4KTKCuKN'
binance.secret = '6fMHzWYGTsOS0Yc9Xcj636DgInBAlJxAegHmsnTPVatpiqsvz8Kzox1wVp66dmso'
# # 方法二
# binance = ccxt.binance(
# {
# 'apiKey': 'EwqLz2zfgL6Tx0uvYHPOyDdlfJKSqAUApU3vY51Kkt7XRD8poSwtDZTp4KTKCuKN',
# 'secret': '6fMHzWYGTsOS0Yc9Xcj636DgInBAlJxAegHmsnTPVatpiqsvz8Kzox1wVp66dmso',
# }
# )
# =====獲取賬戶資產(chǎn)
balance = binance.fetch_balance()
print(balance)
exit()
# 返回內(nèi)容的數(shù)據(jù)結(jié)構(gòu):https://github.com/ccxt/ccxt/wiki/Manual#querying-account-balance
print(balance['info']) # 交易所原始返回內(nèi)容
print(balance['free']) # 可以使用的資產(chǎn)數(shù)量
print(balance['used']) # 已經(jīng)使用的資產(chǎn)數(shù)量,例如正在掛單交易的資產(chǎn)。
print(balance['total']) # 總資產(chǎn)數(shù)量
print(balance['EOS']) # EOS這個(gè)資產(chǎn)的數(shù)量
print(balance['USDT']) # USDT這個(gè)資產(chǎn)的數(shù)量
# =====下單交易
# 下單參數(shù)
symbol = 'EOS/ETH'
pirce = 0.03
amount = 20
# 限價(jià)單
order_info = binance.create_limit_buy_order(symbol, amount, pirce) # 買單
order_info = binance.create_limit_sell_order(symbol, amount, pirce) # 賣單
# 市價(jià)單,市價(jià)單不需要輸入價(jià)格
order_info = binance.create_market_buy_order(symbol=symbol, amount=amount) # 買單
order_info = binance.create_market_sell_order(symbol=symbol, amount=amount) # 賣單
# 返回內(nèi)容的數(shù)據(jù)結(jié)構(gòu):https://github.com/ccxt/ccxt/wiki/Manual#placing-orders
print(order_info['id'])
print(order_info['info'])
# =====查詢訂單信息
# # 根據(jù)訂單號查詢訂單信息
order_info = binance.fetch_order(id='20508061', symbol='EOS/ETH')
# # 返回內(nèi)容的數(shù)據(jù)結(jié)構(gòu):https://github.com/ccxt/ccxt/wiki/Manual#order-structure
print(order_info)
print(order_info['remaining'])
print(order_info['status'])
# 根據(jù)交易對查詢訂單信息
order_info = binance.fetch_orders(symbol='EOS/ETH', limit=10) # limit參數(shù)控制返回最近的幾條
for i in order_info:
print(i['datetime'], i['status'])
# 返回尚未成交的訂單
order_info = binance.fetch_open_orders(symbol='EOS/ETH', limit=10) # limit參數(shù)控制返回最近的幾條
for i in order_info:
print(i['datetime'], i['status'])
# =====撤單
order_info = binance.cancel_order(id='20508061', symbol='EOS/ETH')
print(order_info)
order_info = binance.fetch_order(id='20508061', symbol='EOS/ETH')
print(order_info['status'])