This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
เมื่อคืนที่ผ่านมา พบว่าโปรแกรมเทรดอัตโนมัติของ Polymarket ของฉันซื้อคำสั่งไป 37 รายการโดยลับๆ ใช้เงินไป 110 ดอลลาร์
บันทึกในโปรแกรมแสดงว่า "จำนวนตำแหน่ง: 0" แต่พอเปิดดูใน Polymarket กลับพบว่าหกตลาดสภาพอากาศเต็มไปด้วยตำแหน่งของฉัน
เกิดอะไรขึ้น?
หลังจากวางคำสั่ง API แจ้งโปรแกรมว่า "ไม่ได้ซื้อ" ดังนั้นโปรแกรมจึงไม่บันทึก แต่ในความเป็นจริงเงินได้ถูกใช้ไปแล้ว
จากนั้นโปรแกรมก็ล่มเพราะบั๊กอื่น และตัวจัดการกระบวนการก็รีสตาร์ทอัตโนมัติ เมื่อรีสตาร์ทแล้ว โปรแกรมก็เห็นว่า—"อุ๊ย ไม่มีตำแหน่งแล้ว ซื้ออีกครั้ง"
ล่ม → รีสตาร์ท → ซื้ออีกครั้ง → ล่มอีกครั้ง วนซ้ำไปแล้ว 34 ครั้ง
ที่น่าขันที่สุดคือ ในกลยุทธ์อีกอันของฉัน ก็เขียนกลไกยืนยันการทำธุรกรรมที่ถูกต้องไว้แล้ว ตอนเขียนก็ไม่ได้ย้อนกลับไปดูโค้ดของตัวเอง
บทเรียนสามข้อ:
• อย่าเชื่อคำตอบทันทีจาก API ว่านั่นคือผลลัพธ์สุดท้าย ต้องยืนยันซ้ำอีกครั้ง
• กลไกรีสตาร์ทอัตโนมัติไม่มีการป้องกันซ้ำซ้อน ทำให้บั๊กเล็กกลายเป็นระเบิดลูกใหญ่
• โซลูชันที่ถูกต้องในคลังโค้ดของตัวเองนั้นถูกกว่าการเสียเวลาแก้ไขซ้ำหลายเท่า
โชคดีที่เช็กพยากรณ์อากาศไว้ ส่วนใหญ่ตำแหน่งน่าจะกลับมาชนะได้ แต่ทั้งหมดนี้เป็นเรื่องของโชค ไม่ใช่ความสามารถ