ขีดจำกัดอัตราการเทรด

อัปเดตล่าสุด: More than 3 months ago

API ของเราทั้ง REST และ WebSocket ใช้ขีดจำกัดอัตราการเทรดเพื่อป้องกัน API จากการใช้งานที่เป็นอันตราย และเพื่อปกป้องตลาดของเราจากการบิดเบือนสมุดคำสั่ง

ขีดจำกัดอัตราการเทรดของเราถูกออกแบบมาเพื่อให้ตลาดของเรามีความยุติธรรมสำหรับผู้เข้าร่วมตลาดทุกคน พร้อมทั้งจัดหาทรัพยากรที่จำเป็นสำหรับนักเทรดประเภทต่างๆ (นักลงทุน, นักเทรดที่กระตือรือร้น, บอทเทรดอัตโนมัติ และอื่นๆ)

นักเทรดส่วนใหญ่จะไม่พบกับขีดจำกัดอัตราการเทรด แต่สำหรับผู้ที่ส่ง/ยกเลิกคำสั่งซื้อขายด้วยความถี่ที่สูงกว่าปกติ หรือส่ง/ยกเลิกคำสั่งซื้อขายจำนวนมาก อาจถึงขีดจำกัดอัตรา ซึ่งส่งผลให้เกิดข้อผิดพลาด EOrder:Rate limit exceeded

โปรดทราบว่าขีดจำกัดอัตราการเทรดจะใช้แยกกันสำหรับแต่ละคู่สกุลเงิน ดังนั้นการถึงขีดจำกัดอัตราสำหรับคู่สกุลเงินหนึ่ง (เช่น XBT/USD) จะไม่ส่งผลกระทบต่อการเทรดในคู่สกุลเงินอื่น (เช่น LTC/EUR)

สำหรับนักเทรดหลายคน การทราบรายละเอียดเฉพาะของอัลกอริทึมขีดจำกัดอัตราการเทรดอาจไม่จำเป็น เพียงพอที่จะทราบว่าเหตุการณ์คำสั่งซื้อขายสามารถเกิดขึ้นได้ประมาณกี่ครั้งภายในระยะเวลาหนึ่ง (โดยพื้นฐานแล้วคือการตอบคำถาม "ฉันสามารถส่ง/ยกเลิกคำสั่งซื้อขายได้กี่รายการต่อนาที?")

เนื่องจากมีชุดค่าผสมที่เป็นไปได้ไม่จำกัดของเหตุการณ์คำสั่งซื้อขาย (การส่ง, การดำเนินการ, การยกเลิก) และอายุของคำสั่งซื้อขาย (ระยะเวลาที่คำสั่งซื้อขายยังคงอยู่ในสมุดคำสั่ง) จึงไม่สามารถระบุค่าที่แน่นอนเพียงค่าเดียวได้ แต่แผนภูมิต่อไปนี้จะแสดงตัวอย่างสำหรับชุดค่าผสมทั่วไปหลายรายการ

คอลัมน์ Intermediate และ Pro ระบุ ระดับการยืนยันบัญชี พร้อมด้วยจำนวนเหตุการณ์คำสั่งซื้อขายสูงสุดที่สามารถเกิดขึ้นได้ต่อนาทีอย่างสม่ำเสมอโดยไม่ถึงขีดจำกัดอัตราการเทรด

 

Rate limits combinations

ดังที่แสดงข้างต้น การยืนยันบัญชีในระดับที่สูงขึ้น การเพิ่มอัตราการเติมคำสั่งซื้อขาย หรือการเพิ่มอายุของคำสั่งซื้อขาย ล้วนจะช่วยลดการใช้ขีดจำกัดอัตราได้อย่างมาก ซึ่งจะช่วยให้มีจำนวนเหตุการณ์คำสั่งซื้อขายต่อนาทีที่สูงขึ้นอย่างต่อเนื่อง

ขีดจำกัดอัตราการเทรดของเราอิงตามตัวนับที่จะเพิ่มขึ้นเมื่อมีการส่งและยกเลิกคำสั่งซื้อขาย และจะลดลงเมื่อเวลาผ่านไปด้วยอัตราการลดลงที่คงที่ ขีดจำกัดอัตราจะถึงเมื่อใดก็ตามที่ตัวนับนี้เกินค่าสูงสุด (ซึ่งแตกต่างกันไปขึ้นอยู่กับ ระดับการยืนยันบัญชี) ค่าตัวนับสูงสุด (ค่าที่ถึงขีดจำกัดอัตรา) สำหรับบัญชีแต่ละประเภทมีดังนี้:

  • การยืนยันมาตรฐาน (เดิมเรียกว่า Intermediate) = 125

  • ยืนยันด้วยขีดจำกัดที่สูงขึ้น (เดิมเรียกว่า Pro) = 180

อัตราการลดลง (อัตราที่ตัวนับลดลง) ยังขึ้นอยู่กับระดับการยืนยันบัญชีด้วย อัตราการลดลงสำหรับบัญชีแต่ละประเภทมีดังนี้:

  • การยืนยันมาตรฐาน (เดิมเรียกว่า Intermediate) = 2.34 ต่อวินาที

  • ยืนยันด้วยขีดจำกัดที่สูงขึ้น (เดิมเรียกว่า Pro) = 3.75 ต่อวินาที

ตัวนับขีดจำกัดอัตราจะเพิ่มขึ้นเมื่อเกิดเหตุการณ์คำสั่งซื้อขายแต่ละครั้ง (การส่งหรือการยกเลิก) โดยการยกเลิกคำสั่งซื้อขายจะทำให้เกิดการเพิ่มขึ้นมากที่สุด แผนภูมิต่อไปนี้แสดงจำนวนการเพิ่มขึ้นของตัวนับ (ที่เรียกว่าค่าปรับ) สำหรับเหตุการณ์คำสั่งซื้อขายแต่ละประเภท:

Rate Limits

หมายเหตุ:

  • 1 สำหรับค่าปรับคำสั่งซื้อขายแบบกลุ่ม n = จำนวนคำสั่งซื้อขายในกลุ่ม

  • 2 การแก้ไขคำสั่งซื้อขายยังทำให้เกิดค่าปรับการส่งคำสั่งซื้อขาย 1 คะแนน

  • 3 คำสั่งซื้อขายที่ถูกยกเลิกโดยอัตโนมัติเนื่องจากเป็นคำสั่ง IOC ที่ล้มเหลว จะไม่ถูกปรับสำหรับการยกเลิกใดๆ

  • 4 การแก้ไขคำสั่งซื้อขายยังทำให้เกิดค่าปรับการส่งคำสั่งซื้อขาย 1 คะแนน

  • 5 คำสั่งซื้อขายแบบ Post Only ที่ถูกปฏิเสธจะได้รับการยอมรับในตอนแรก แต่จะถูกยกเลิกโดยอัตโนมัติในภายหลัง การส่งคำสั่งซื้อขายจะถูกปรับ 1 คะแนน และการยกเลิกจะถูกปรับ 8 คะแนน (รวมเป็น 9 คะแนน)

ต่อไปนี้เป็นตัวอย่างว่าค่าตัวนับสูงสุด การเพิ่มขึ้นของตัวนับเนื่องจากเหตุการณ์คำสั่งซื้อขาย และการลดลงของตัวนับเนื่องจากอัตราการลดลง รวมกันอย่างไรเพื่อใช้ขีดจำกัดอัตราการเทรดสำหรับบัญชีระดับ Pro

การส่งคำสั่ง Limit 20 รายการ และยกเลิกแต่ละคำสั่งหลังจาก 3 วินาที จะทำให้เกิดค่าปรับ 9 คะแนนต่อคำสั่ง หรือรวมทั้งหมด 180 คะแนน:

  • (20 คำสั่งซื้อขาย x 1 คะแนนการส่งคำสั่งซื้อขาย) + (20 คำสั่งซื้อขาย x 8 คะแนนการยกเลิกคำสั่งซื้อขาย) = 180 คะแนน

ค่าปรับ 180 คะแนนจะถูกลดลง 3.75 คะแนนต่อวินาที ดังนั้นจะใช้เวลาเพียง 1 วินาทีก่อนที่จะสามารถส่งคำสั่งซื้อขายใหม่ได้สามรายการ (เนื่องจากคำสั่งซื้อขายใหม่แต่ละรายการจะถูกปรับ 1 คะแนน) แต่จะใช้เวลา 48 วินาทีเพื่อให้ขีดจำกัดอัตราถูกล้างทั้งหมด (กลับเป็นศูนย์):

  • 180 คะแนน / 3.75 คะแนนต่อวินาที = 48 วินาที

การคำนวณต่อไปนี้แสดงวิธีพิจารณาจำนวนเหตุการณ์คำสั่งซื้อขายสูงสุดต่อนาทีที่สามารถคงอยู่ได้โดยไม่ถึงขีดจำกัดอัตรา:

  • ค่าปรับคำสั่งซื้อขาย = (คะแนนค่าปรับ * อัตราการเติม) + (คะแนนค่าปรับ * อัตราการเติม) ... (สูงสุด 100%)

  • เหตุการณ์คำสั่งซื้อขายต่อนาที = 60 วินาที / (ค่าปรับคำสั่งซื้อขาย / อัตราการลดลง)

ตัวอย่างเช่น สำหรับบัญชีระดับ Pro ที่ส่งคำสั่ง Limit โดย 60% ของคำสั่งถูกเติมหลังจาก 3 วินาที และ 40% ถูกยกเลิกหลังจาก 8 วินาที:

  • ค่าปรับคำสั่งซื้อขาย = (1 * 60%) + (7 * 40%) = 3.4 คะแนน

  • เหตุการณ์คำสั่งซื้อขายต่อนาที = 60 / (3.4 / 3.75) = 66 เหตุการณ์

ในฐานะตัวอย่างจริงของขีดจำกัดอัตราการเทรด ต่อไปนี้คือบันทึกเหตุการณ์ตามลำดับเวลาว่าตัวนับค่าปรับเพิ่มขึ้นและลดลงอย่างไรเมื่อมีการส่ง/ยกเลิกคำสั่งซื้อขาย

ในตัวอย่างนี้ ประเภทบัญชีคือบัญชีระดับ Pro (ดังนั้นค่าตัวนับสูงสุดคือ 180 โดยมีอัตราการลดลง 3.75 ต่อวินาที) และกิจกรรมคำสั่งซื้อขายคือการส่งคำสั่ง 3 รายการ (ในอัตรา 1 คำสั่งทุก 0.5 วินาที) จากนั้นยกเลิก 3 คำสั่ง (โดยใช้ FIFO เพื่อให้คำสั่งที่เก่าที่สุดถูกยกเลิกก่อน)

API_ChronologicalExample_10022020.png

นอกเหนือจากตัวอย่างที่แสดงข้างต้น เครื่องคำนวณขีดจำกัดอัตราการเทรด ของเราช่วยให้สามารถกำหนดจำนวนเหตุการณ์คำสั่งซื้อขายสูงสุดสำหรับชุดค่าผสมใดๆ ของอัตราการเติมคำสั่งซื้อขายและอายุของคำสั่งซื้อขาย ด้วยตัวแปรเพียงไม่กี่ตัว (เช่น ระดับการยืนยันบัญชี) เหตุการณ์คำสั่งซื้อขายสามารถระบุเป็นเปอร์เซ็นต์หรือปริมาณสัมบูรณ์ และเครื่องคำนวณจะระบุว่าชุดค่าผสมที่ต้องการนั้นอยู่ในขีดจำกัดอัตราการเทรดหรือไม่

คำถามเพิ่มเติม

ขีดจำกัดอัตราเป็นหนึ่งในเครื่องมือหลายอย่างที่ Kraken ใช้เพื่อปรับปรุงความปลอดภัยและความพร้อมใช้งานของแพลตฟอร์มสำหรับลูกค้าทุกคน ลูกค้าส่วนน้อยเท่านั้นที่จะพบปัญหาขีดจำกัดอัตรา หากคุณได้รับข้อผิดพลาดเกี่ยวกับขีดจำกัดอัตรา โปรดตรวจสอบให้แน่ใจก่อนว่าซอฟต์แวร์ของคุณทำงานได้อย่างถูกต้อง หากความถี่ในการเทรดของคุณต้องการข้อยกเว้นขีดจำกัดอัตรา Kraken สามารถประเมินลูกค้าเป็นรายกรณีเพื่อให้แน่ใจว่าข้อยกเว้นดังกล่าวจะไม่ก่อให้เกิดความเสี่ยงด้านความปลอดภัยหรือความพร้อมใช้งานของแพลตฟอร์ม ติดต่อผู้จัดการบัญชีของคุณ หรือ ติดต่อทีมสนับสนุน API ของเรา หากมีคำถามใดๆ หรือเพื่อขอรับการประเมิน

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่