ในโลกของการซื้อขายคริปโต การเข้าใจโครงสร้างคำสั่งซื้อขาย (Order Book) และสภาพคล่องของตลาดเป็นพื้นฐานสำคัญสำหรับนักเทรดและนักพัฒนา บทความนี้จะพาคุณสำรวจวิธีการสร้าง Depth Chart ที่แสดงความลึกของตลาดแบบเรียลไทม์ โดยใช้ AI API เพื่อประมวลผลและวิเคราะห์ข้อมูลอย่างมีประสิทธิภาพ
Order Book คืออะไร และทำไมต้องวิเคราะห์
Order Book คือบันทึกคำสั่งซื้อและคำสั่งขายที่รอการจับคู่ในตลาด โดยแสดงราคาและปริมาณที่ผู้ซื้อ-ผู้ขายต้องการ การวิเคราะห์ Order Book ช่วยให้เข้าใจ:
- สภาพคล่องของตลาด: ปริมาณคำสั่งที่รอดำเนินการ
- แนวรับ-แนวต้าน: บริเวณที่มีคำสั่งซื้อหรือขายกระจุกตัว
- ความเคลื่อนไหวของราคา: แรงซื้อ-แรงขายในแต่ละระดับราคา
โครงสร้างข้อมูล Order Book
Order Book ประกอบด้วยสองฝั่งหลัก คือ Bid (คำสั่งซื้อ) และ Ask (คำสั่งขาย) โดยแต่ละรายการจะมีราคาและปริมาณ
// โครงสร้างข้อมูล Order Book
interface OrderBookEntry {
price: number; // ราคาคำสั่ง
quantity: number; // ปริมาณ
orders: number; // จำนวนคำสั่งในระดับราคานี้
}
interface OrderBook {
symbol: string; // คู่เทรด เช่น BTC/USDT
bids: OrderBookEntry[]; // คำสั่งซื้อ (เรียงจากราคาสูงไปต่ำ)
asks: OrderBookEntry[]; // คำสั่งขาย (เรียงจากราคาต่ำไปสูง)
timestamp: number; // เวลาที่ได้รับข้อมูล
exchange: string; // ชื่อตลาด
}
// ตัวอย่าง Order Book ของ BTC/USDT
const sampleOrderBook: OrderBook = {
symbol: "BTC/USDT",
bids: [
{ price: 67450.00, quantity: 2.5, orders: 15 },
{ price: 67448.50, quantity: 1.8, orders: 8 },
{ price: 67445.00, quantity: 3.2, orders: 22 },
],
asks: [
{ price: 67455.00, quantity: 1.2, orders: 6 },
{ price: 67458.00, quantity: 2.0, orders: 11 },
{ price: 67460.00, quantity: 4.5, orders: 28 },
],
timestamp: Date.now(),
exchange: "Binance"
};
การสร้าง Depth Chart ด้วย WebSocket Streaming
Depth Chart แสดงความสัมพันธ์ระหว่างราคาและปริมาณสะสม ช่วยให้เห็นภาพรวมของสภาพคล่องในแต่ละระดับราคา
// การเชื่อมต่อ WebSocket เพื่อรับข้อมูล Order Book แบบเรียลไทม์
class OrderBookWebSocket {
private ws: WebSocket | null = null;
private orderBook: Map = new Map();
private reconnectAttempts = 0;
private maxReconnectAttempts = 5;
constructor(
private symbol: string,
private onUpdate: (data: DepthData) => void
) {}
connect(): void {
// ใช้ HolySheep API endpoint สำหรับ real-time data
const wsUrl = wss://stream.holysheep.ai/ws/orderbook/${this.symbol};
this.ws = new WebSocket(