Polymarket Bot Tutorial · Chương 31/32

Đưa Polymarket bot của bạn vào chạy thật: nạp lần đầu 25-50 USD, quy tắc take-profit và stop-loss, ngưỡng cảnh báo (Telegram/email), tần suất reconciliation, và kế hoạch scale trong tuần đầu tiên.

Chương này bao gồm gì

Chuyển từ paper sang live là giai đoạn mà hầu hết builder vô tình làm mất khoản nạp đầu tiên của mình. Chương này là checklist trước khi chạy thật, cộng thêm kỷ luật trong tuần đầu để bắt lỗi trước khi chúng biến thành thua lỗ.

  • Pre-flight checklist
  • Nạp lần đầu: 25-50 USD
  • Quy tắc TP/SL từ production
  • Giám sát: Telegram, email, dashboard
  • Tần suất reconcile: mỗi chu kỳ fire_exits
  • Tuần đầu: bám sát, giữ nhỏ
  • Scale: khi nào nên nạp thêm

Pre-flight checklist

Danh sách chính xác, theo đúng thứ tự, trước khi chuyển bot từ paper sang live.

  1. 30 paper trades đã đóng. Tiêu chí thành công bằng văn bản đã đạt hoặc vượt.
  2. Định dạng diary giống hệt giữa paper và live. Cùng một JSONL schema.
  3. VPS đã triển khai. Bot là tiến trình duy nhất; systemd unit đã được cấu hình.
  4. Cơ chế file HALT đã được test. touch /opt/pmt/HALT dừng bot trong vòng 30 giây.
  5. Telegram alerts đã được cấu hình. Một test alert gửi thành công.
  6. Daily-loss kill switch đã được test. Mô phỏng drawdown 10%; xác nhận halt được kích hoạt.
  7. On-chain reconciliation đã được test. Cố tình tạo mismatch trong diary; xác nhận halt được kích hoạt.
  8. Địa chỉ nạp là proxy wallet - ví hợp đồng thông minh mà Polymarket dùng để giao dịch thay cho bạn (POLY_FUNDER_ADDRESS) - chứ không phải tài khoản cá nhân của bạn, tức externally-owned account hay EOA. Đã xác minh qua SDK wallet show.
  9. Đã cấp approvals cho USDC/pUSD. Cả standard exchange và NegRisk exchange.
  10. Số tiền nạp ban đầu đã được thống nhất bằng văn bản: 25-50 USD cho smoke test.

Nếu bất kỳ mục nào chưa hoàn tất, đừng go live. Mỗi mục trong số này đã khiến builder mất tiền thật trong các câu chuyện production trước đây.

Nạp lần đầu: 25-50 USD

Khoản nạp smoke test được cố tình giữ rất nhỏ. Mục tiêu là xác minh đường đi live hoạt động, chứ không phải để kiếm tiền.

Bạn đang test gì: việc đặt lệnh của bot có khớp với cách Polymarket nhìn nhận giao dịch hay không. Diary có ghi đúng không. Take-profit GTC có thực sự được post không. Bot có tự phục hồi sau lỗi API tạm thời không. Daily-loss halt có kích hoạt nếu bạn mô phỏng hay không.

Kết quả kỳ vọng: 5-15 giao dịch nhỏ, gần như phản ánh diary paper. Hãy coi mọi sai lệch là bug, không phải đặc tính của việc "live ồn hơn paper".

Nếu bạn làm mất 25-50 USD này vì thua lỗ của một strategy thật, thì strategy đó cần chạy paper thêm. Nếu mất vì bug, hãy sửa bug trước khi scale.

Quy tắc TP/SL từ production

Trước hết là hai định nghĩa ngắn, vì phần này dựa vào chúng. Take-profit (TP) là lệnh bán đặt sẵn để chốt lời ngay khi giá lên tới mục tiêu của bạn; stop-loss (SL) bán vị thế ngay khi giá rớt xuống dưới một ngưỡng, để một giao dịch tệ không vượt khỏi tầm kiểm soát. Hai loại lệnh dùng bên dưới là GTC (Good-Til-Cancelled - lệnh chờ nằm trong order book cho đến khi khớp hoặc bạn hủy) và FOK (Fill-Or-Kill - khớp toàn bộ lệnh ngay lập tức hoặc hủy hoàn toàn). Còn một thuật ngữ bạn sẽ gặp, mark, hoàn toàn không phải một loại lệnh - nó chỉ là mid-price hiện tại mà bạn dùng để đo vị thế. Dưới đây là default production từ trader của chúng tôi, đã hoạt động ổn qua hàng nghìn giao dịch.

  • Buy: FOK 1c trên best ask. Bỏ qua giao dịch nếu ask trên 0.85 - đây là "bẫy 0.99": một thị trường gần như đã ngã ngũ, định giá 0.90+, cho tiềm năng tăng rất nhỏ nhưng rớt mạnh nếu đảo chiều, nên tỷ lệ rủi ro/lợi nhuận bị lật ngược.
  • Take-profit: GTC sell tại entry + 4-6c, được post ngay sau khi buy fill + chờ settlement 5 giây.
  • Stop-loss theo mark: theo dõi mid; nếu mid giảm xuống entry - 8c, FOK sell tại best bid (không đặt resting; mid blow-through xảy ra rất nhanh).
  • Time exit: nếu position chưa đóng trong X giờ và PnL nằm trong khoảng -2c đến +2c, FOK exit ở market.

Các con số sẽ thay đổi tùy strategy, nhưng pattern thì nhất quán: take-profit luôn là GTC, stop-loss thường là FOK (vì GTC stop sẽ không fill khi mid blow-through), time exits để tránh giữ các tín hiệu đã lỗi thời.

Giám sát: Telegram, email, dashboard

Bot cần được quan sát theo thời gian thực. Ba lớp.

  • Telegram alerts: mọi fill, mọi halt, mọi lỗi vượt ngưỡng. Dùng một channel hoặc group riêng; đừng trộn với tin nhắn cá nhân.
  • Daily summary email: cuối ngày, tổng số giao dịch, win rate, PnL, danh sách các halt đã kích hoạt. Đọc nó mỗi sáng.
  • Dashboard: tùy chọn nhưng hữu ích. Một HTTP endpoint đơn giản đọc diary và hiển thị open positions + recent fills + cumulative PnL.

Pattern là: bất kỳ state change nào đáng biết → Telegram. Tổng kết cuối ngày → email. Khám phá thời gian thực → dashboard.

Tần suất reconcile: mỗi chu kỳ fire_exits

Reconciliation phải chạy đủ thường xuyên để drift được bắt trước khi giao dịch tiếp theo có thể khuếch đại nó. Tần suất phụ thuộc vào mật độ giao dịch.

  • Strategy dưới 10 giao dịch/ngày: reconcile mỗi giờ.
  • Strategy 10-100 giao dịch/ngày: reconcile mỗi 15 phút.
  • Chiến lược HFT (100+ giao dịch/ngày): reconcile mỗi chu kỳ của vòng lặp exit-firing.

Chi phí reconciliation là một chain read cho mỗi token đang giữ. Với 20 token, đó là 20 RPC calls; với free-tier RPC thì vẫn hoàn toàn trong ngân sách. Đừng tối ưu quá tay ở đây.

Tuần đầu: bám sát, giữ nhỏ

Tuần đầu khi triển khai live là nguy hiểm nhất. Bạn đang phát hiện các bug ở live-path mà paper run đã bỏ sót. Kỷ luật là:

  • Bám sát - kiểm tra Telegram channel mỗi giờ trong thời gian thức.
  • Giữ nhỏ - position size ở mức tối thiểu (5 shares); một bug nên khiến bạn mất vài đô, không phải hàng trăm.
  • Reconcile thủ công vào cuối ngày trong 3-5 ngày đầu. So sánh diary trực tiếp với Polymarket UI.
  • Ghi lại mọi bất ngờ. Ngay cả những chỗ khó hiểu nhỏ cũng sớm muộn thành bug.

Kết thúc tuần đầu: nếu không có bug và diary khớp với thực tế, hãy scale lên kích thước bình thường. Nếu bug xuất hiện, sửa chúng rồi chạy thêm một tuần smoke test nữa.

Scale: khi nào nên nạp thêm

Các tín hiệu để thêm vốn, mỗi mức có một ngưỡng khác nhau.

  • +50% khoản nạp: 30 live trades, win rate trong phạm vi 5 điểm so với paper rate, không có production halt do bug.
  • +100-200% khoản nạp: 100+ live trades, lợi nhuận ổn định trên toàn bộ mẫu, hạ tầng đã được test qua ít nhất một lần outage nhỏ.
  • +500%+ khoản nạp: chỉ sau 6+ tháng lợi nhuận live ổn định. Vốn phải tăng chậm hơn thành công - bạn cần chắc chắn edge là thật, không phải một regime sắp biến mất.

Rủi ro lớn nhất của việc scale quá sớm: một strategy có lợi nhuận trong một market regime có thể trở nên không sinh lời ở regime tiếp theo. Tăng size không giải quyết được điều đó. Kiên nhẫn mới giải quyết được.

Câu hỏi thường gặp

Khoản nạp live đầu tiên của tôi nên là bao nhiêu?
25-50 USD. Đủ để test real fills, real fees, real reconciliation. Nhỏ đến mức nếu mất sạch cũng không ảnh hưởng đến cuộc sống của bạn. Hầu hết các trader kỷ luật mà chúng tôi biết đều bắt đầu ở mức này, ngay cả khi bankroll cho phép nhiều hơn - cái giá về ego của một khoản lỗ nhỏ thấp hơn rất nhiều so với một khoản lỗ lớn.
Tôi nên đặt TP/SL như thế nào?
Đối xứng với edge của bạn. Nếu strategy của bạn kỳ vọng +5% cho mỗi lệnh thắng, hãy đặt take-profit ở +5-7% và stop-loss ở -3-4%. Kiểu bất đối xứng (TP nhỏ, SL lớn) là đánh bạc, không phải trading. Trader production của chúng tôi dùng TP+6% / SL-4% (FAK exits) cho hầu hết các strategy.
Tôi nên giám sát bot live như thế nào?
Ba kênh: (1) Cảnh báo thời gian thực về kết quả closed-trade >$0.30 PnL qua Telegram bot. (2) View dashboard theo giờ của cash + open positions + MtM. (3) Tóm tắt PnL hằng ngày qua email. Thiếu bất kỳ kênh nào trong ba kênh đó nghĩa là bạn đang chạy trong mù mờ.
Điều gì nên kích hoạt emergency stop?
Bất kỳ điều nào sau đây: daily loss > 5% bankroll, fill rate < 30% (gợi ý orders bị kẹt), hơn 5 giao dịch thua liên tiếp, market data feed im lặng hơn 30 giây, hoặc bất kỳ mismatch nào giữa diary và on-chain trong reconciliation. Tất cả đều có thể được code thành các automatic halt-sentinel touches.
Khi nào tôi có thể scale up live bankroll?
Khi bạn có ít nhất 50 live trades đã đóng, live win rate khớp với paper trong phạm vi 10%, và không có sự cố reconciliation nào trong 2+ tuần. Mỗi checkpoint chỉ nên tăng tối đa 2x - 25 USD -> 50 -> 100 -> 200 -> 500 trong nhiều tháng, không phải vài ngày.
Tôi có nên chạy nhiều strategy live cùng lúc không?
Chưa nên lúc đầu. Hãy cho một strategy chạy live trong 2-4 tuần và được xác nhận. Sau đó mới thêm strategy thứ hai. Theo dõi hai strategy cùng lúc trong những tuần đầu là công thức để bỏ sót bug giết chết strategy số 1.