จากประสบการณ์ตรงของผู้เขียนที่เคยงมงายกับ orderbook ของทั้งสองแพลตฟอร์มอยู่หลายเดือน ผมพบว่าจุดที่ทำให้มือใหม่ติดขัดมากที่สุดไม่ใช่ตัวโค้ด แต่เป็น "โครงสร้างข้อมูล" ที่ต่างกันราวฟ้ากับดิน บทความนี้จะพาเดินทีละขั้น ตั้งแต่เปิดเทอร์มินัลเป็นครั้งแรก ไปจนถึงอ่าน depth ออกมาเป็นตัวเลขราคาและปริมาณที่ใช้งานได้จริง โดยไม่ต้องมีพื้นฐาน API มาก่อนเลย
ทำไมต้องเปรียบเทียบ Hyperliquid L2 กับ Binance USDⓈ-M Depth
ทั้งสองเป็นตลาด Futures ที่มีปริมาณซื้อขายสูงสุดในโลก แต่ใช้ "ภาษา" ในการส่งข้อมูล orderbook คนละแบบ ถ้าเข้าใจโครงสร้างทั้งสอง คุณจะย้ายโค้ดจาก CEX ไป DEX หรือกลับกันได้ภายใน 1 ชั่วโมง ซึ่งสำคัญมากสำหรับคนที่อยากสร้างบอทเทรดหรือแดชบอร์ดวิเคราะห์สภาพคล่อง
Orderbook L2 คืออะไร (อธิบายแบบไม่ง้อศัพท์)
ให้คิดแบบนี้: ตลาดแลกเปลี่ยนคือ "ตลาดนัด" ที่มีคนตะโกนราคาซื้อและราคาขาย Orderbook คือกระดานรวมคำตะโกนทั้งหมด L1 คือเห็นแค่ราคาดีที่สุดด้านละ 1 ราคา ส่วน L2 คือเห็นลึกลงไปหลายระดับ เช่น 20-50 ระดับ เพื่อให้รู้ว่าถ้าซื้อเยอะๆ จะเจอราคาขยับขึ้นไปแค่ไหน (เรียกว่า slippage)
Hyperliquid L2 Snapshot คืออะไร
Hyperliquid เป็นกระดาซื้อขาย Futures แบบ On-chain บน L1 ของตัวเอง ข้อมูล orderbook จะถูกส่งผ่าน WebSocket แบบ Real-time โดยใช้ช่องสัญญาณที่เรียกว่า l2Book ผลลัพธ์ที่ได้จะอยู่ในรูป JSON ที่มีฟิลด์ levels แบ่งเป็น bids (ฝั่งซื้อ) และ asks (ฝั่งขาย) แต่ละฝั่งเป็นอาเรย์ของ tuple [price, size, n_orders]
Binance USDⓈ-M Depth Snapshot คืออะไร
Binance Futures แบบ USDⓈ-M (ใช้ USDT เป็นมาร์จิ้น) ให้บริการข้อมูล Depth ผ่าน REST API แบบดึงเป็นรอบๆ (Snapshot) ที่ endpoint /fapi/v1/depth โครงสร้างจะเป็น JSON ที่มี lastUpdateId, bids, asks ซึ่งแต่ละฝั่งเป็น string ของคู่ "ราคา,ปริมาณ" ไม่ใช่ตัวเลข (ต้องแปลงเอง)
ขั้นตอนที่ 1: เตรียมเครื่องมือก่อนเริ่มเขียนโค้ด
ก่อนเปิดโปรแกรมใดๆ ให้ทำตามนี้ทีละจุด เหมือนเช็กลิสต์ก่อนออกบ้าน
- เปิดเบราว์เซอร์ ไปที่ python.org/downloads กดปุ่มสีเหลือง "Download Python 3.11+" → รันไฟล์ .exe → ติ๊กถูกหน้า "Add Python to PATH" ให้คลิกเสร็จก่อนปิดหน้าต่าง
- กดปุ่ม Windows → พิมพ์ cmd → กด Enter จะเห็นหน้าต่างดำๆ ขึ้นมา (นี่คือ "เทอร์มินัล" ที่เราจะใช้รันคำสั่งทั้งหมด)
- พิมพ์คำว่า
python --versionในหน้าต่างดำ → ถ้าขึ้นPython 3.11.xแสดงว่าพร้อมใช้งาน - สร้างโฟลเดอร์สำหรับโปรเจกต์ เช่น
C:\orderbook-labแล้วใน cmd พิมพ์cd C:\orderbook-lab
ขั้นตอนที่ 2: ติดตั้งไลบรารีที่จำเป็น (ใช้เวลา 30 วินาที)
พิมพ์คำสั่งนี้ในหน้าต่าง cmd ที่เปิดค้างไว้ รอจนขึ้นข้อความ Successfully installed ทั้งหมด
pip install requests websockets hyperliquid-python-sdk
ขั้นตอนที่ 3: ดึง Depth จาก Binance USDⓈ-M (คัดลอกและรันได้เลย)
เปิด Notepad → วางโค้ดด้านล่าง → บันทึกเป็น binance_depth.py ในโฟลเดอร์ C:\orderbook-lab
import requests, json
url = "https://fapi.binance.com/fapi/v1/depth"
params = {"symbol": "BTCUSDT", "limit": 20}
resp = requests.get(url, params=params, timeout=10)
resp.raise_for_status()
data = resp.json()
print("lastUpdateId:", data["lastUpdateId"])
print("\nฝั่งซื้อ (Bids) - 5 ระดับแรก:")
for price, qty in data["bids"][:5]:
print(f" ราคา {float(price):>10,.2f} USDT | ปริมาณ {float(qty):>8,.4f} BTC")
print("\nฝั่งข
แหล่งข้อมูลที่เกี่ยวข้อง