ในโลกของการซื้อขายคริปโต การเข้าใจโครงสร้างคำสั่งซื้อขาย (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(