เขียน Python ดึงข้อมูลจาก Binance
เขียน Python จัดการ Binance API ตอนที่ 1
เบื่อใหมกับการอดหลับอดนอนเพราะกังวลว่าพอร์ต Crypto เป็นอย่างไร ปัญหานี้จะหมดไปถ้าเราเขียน Python ได้ วันนี้เราจะมาศึกษา Binance API ไปพร้อม ๆ กัน
Binance API คือ Library ไม่เป็นทางการสำหรับส่งคำสั่งดึงข้อมูลสำหรับ Binance exchange วันนี้เราจะลองมาลองดูการเรียกใช้งาน python-binance Library เบื้องต้นกันก่อน
สร้าง API key
อันดับแรกเราต้องสร้าง API key ก่อนโดยมีขั้นตอนดังนี้
เข้าสู่ระบบบัญชี Binance แล้วเลือก [API Management]จากไอคอนศูนย์ผู้ใช้
คลิ๊ด Create API
แล้วก็ใส่ 2FA verification
ติ๊กตามลูกศรสีแดง
ให้เราก๊อป API Key และ Secret Key เก็บไว้
Installation
เราสามารถใช้ pip Installation โดยใช้คำสั่งดังนี้
pip install python-binance
Initialise the client
เราจากนั้นเราก็สามารถเรียกใช้ Binance Api ได้โดย
from binance.client import Client
client = Client(api_key, api_secret)
Binance Constants
เราจะมาเข้าใจตัวแปรเฉพาะก่อนเพื่อทำให้การใช้ API สามารถทำงานได้อย่างมีประสิทธิภาพ
การส่งคำสั่งจะมีตัวแปรให้เลือกทั้ง Spot และสามารถดู status ของคำสั่งได้ด้งนี้
SYMBOL_TYPE_SPOT = 'SPOT'
ORDER_STATUS_NEW = 'NEW'
ORDER_STATUS_PARTIALLY_FILLED = 'PARTIALLY_FILLED'
ORDER_STATUS_FILLED = 'FILLED'
ORDER_STATUS_CANCELED = 'CANCELED'
ORDER_STATUS_PENDING_CANCEL = 'PENDING_CANCEL'
ORDER_STATUS_REJECTED = 'REJECTED'
ORDER_STATUS_EXPIRED = 'EXPIRED'
การส่งคำสั่งจะมีการตั้งเงื่อนไขได้หลากหลายโดยตั้งไได้ดังนี้
ORDER_TYPE_LIMIT = 'LIMIT'
ORDER_TYPE_MARKET = 'MARKET'
ORDER_TYPE_STOP_LOSS = 'STOP_LOSS'
ORDER_TYPE_STOP_LOSS_LIMIT = 'STOP_LOSS_LIMIT'
ORDER_TYPE_TAKE_PROFIT = 'TAKE_PROFIT'
ORDER_TYPE_TAKE_PROFIT_LIMIT = 'TAKE_PROFIT_LIMIT'
ORDER_TYPE_LIMIT_MAKER = 'LIMIT_MAKER'
หรือการดึงข้อมูลก็สามารถดึงได้ตามช่วงเวลาดังนี้
KLINE_INTERVAL_1MINUTE = '1m'
KLINE_INTERVAL_3MINUTE = '3m'
KLINE_INTERVAL_5MINUTE = '5m'
KLINE_INTERVAL_15MINUTE = '15m'
KLINE_INTERVAL_30MINUTE = '30m'
KLINE_INTERVAL_1HOUR = '1h'
KLINE_INTERVAL_2HOUR = '2h'
KLINE_INTERVAL_4HOUR = '4h'
KLINE_INTERVAL_6HOUR = '6h'
KLINE_INTERVAL_8HOUR = '8h'
KLINE_INTERVAL_12HOUR = '12h'
KLINE_INTERVAL_1DAY = '1d'
KLINE_INTERVAL_3DAY = '3d'
KLINE_INTERVAL_1WEEK = '1w'
KLINE_INTERVAL_1MONTH = '1M'# For accessing the data returned by Client.aggregate_trades().
AGG_ID = 'a'
AGG_PRICE = 'p'
AGG_QUANTITY = 'q'
AGG_FIRST_TRADE_ID = 'f'
AGG_LAST_TRADE_ID = 'l'
AGG_TIME = 'T'
AGG_BUYER_MAKES = 'm'
AGG_BEST_MATCH = 'M'
สำหรับใครที่ต้องการลองดูตัวอย่างการใช้ API สามารถคลิ๊กตามลิงค์ด้านล่างเลย
order
Note book
https://colab.research.google.com/drive/1xPsEHtGMVESUVBdqJO5mjoEJE0kaUYhK?usp=sharing