Polymarket Bot Tutorial · Chapter 31 of 32
راهاندازی Polymarket bot شما بهصورت live: واریز اولیه 25-50 USD، قوانین take-profit و stop-loss، آستانههای alert (Telegram/email)، cadence برای reconciliation، و plan مقیاسدهی هفته اول.
این chapter چه چیزهایی را پوشش میدهد
گذار از paper به live جایی است که بیشتر builders بهطور ناخواسته اولین واریزی خود را از دست میدهند. این chapter هم یک pre-flight checklist است و هم discipline هفته اول را ارائه میکند تا bugها قبل از اینکه به loss تبدیل شوند، شناسایی شوند.
- Pre-flight checklist
- First deposit: 25-50 USD
- TP/SL rules from production
- Monitoring: Telegram, email, dashboards
- Reconcile cadence: every fire_exits cycle
- First week: stay close, stay small
- Scaling: when to deposit more
Pre-flight checklist
فهرست دقیق، بهترتیب، قبل از اینکه bot را از paper به live ببرید.
- 30 paper trade بستهشده. معیارهای موفقیتِ مکتوب برآورده شده یا فراتر رفتهاند.
- فرمت diary بین paper و live یکسان است. همان JSONL schema.
- VPS راهاندازی شده. bot تنها process در حال اجراست؛ systemd unit تنظیم شده است.
- مکانیزم فایل HALT تست شده است.
touch /opt/pmt/HALTbot را ظرف 30 ثانیه متوقف میکند. - Telegram alerts تنظیم شدهاند. یک alert آزمایشی با موفقیت ارسال میشود.
- kill switch افت روزانه تست شده است. یک drawdown 10% را شبیهسازی کنید؛ بررسی کنید که halt فعال میشود.
- on-chain reconciliation تست شده است. diary را بهصورت دستی ناهماهنگ کنید؛ بررسی کنید که halt فعال میشود.
- آدرس واریز همان proxy wallet است - یعنی کیفپول قرارداد هوشمندی که Polymarket از طرف شما با آن معامله میکند (POLY_FUNDER_ADDRESS) - نه حساب شخصی شما، یعنی externally-owned account یا EOA. از طریق SDK و
wallet showتأیید شده است. - USDC/pUSD approvals تنظیم شدهاند. هم standard exchange و هم NegRisk exchange.
- مقدار اولیه واریز بهصورت مکتوب توافق شده است: 25-50 دلار برای smoke test.
اگر هر موردی کامل نشده است، live نروید. هر کدام در داستانهای production گذشته برای یک builder هزینه واقعی داشتهاند.
First deposit: 25-50 USD
واریز smoke-test عمداً کوچک است. هدف این است که مسیر live را verify کنید، نه اینکه پول دربیاورید.
چیزی که test میکنید: آیا order placement bot با view Polymarket از trade مطابقت دارد؟ آیا diary درست ثبت میشود؟ آیا take-profit GTC واقعاً post میشود؟ آیا bot از یک API error موقت recovery میکند؟ آیا اگر daily-loss را simulate کنید، halt فعال میشود؟
نتیجه مورد انتظار: 5-15 trade کوچک که تقریباً diary paper را mirror میکنند. هر divergence را بهعنوان bug در نظر بگیرید، نه ویژگیِ «live noisyتر از paper است».
اگر این 25-50 دلار را در یک loss واقعیِ strategy از دست دادید، یعنی strategy به paper runهای بیشتری نیاز دارد. اگر آن را بهخاطر bugها از دست دادید، قبل از scaling bugها را fix کنید.
TP/SL rules from production
ابتدا دو تعریف کوتاه، چون این بخش بر آنها تکیه دارد. take-profit (TP) یک سفارش فروشِ از پیشتنظیمشده است که بهمحض رسیدن قیمت به هدف شما سود را قفل میکند؛ stop-loss (SL) نیز بهمحض افت قیمت به زیر یک حد، موقعیت را میفروشد تا یک معاملهی بد از کنترل خارج نشود. دو نوع سفارشی که در ادامه به کار میرود عبارتاند از GTC (Good-Til-Cancelled - سفارشی که در دفتر سفارشها منتظر میماند تا پر شود یا شما لغوش کنید) و FOK (Fill-Or-Kill - کل سفارش را بیدرنگ پر میکند یا کاملاً لغو میکند). یک اصطلاح دیگر هم خواهید دید، mark، که اصلاً نوع سفارش نیست - بلکه فقط به معنای mid-price فعلی است که موقعیت را نسبت به آن میسنجید. در ادامه، Defaultهای production از trader ما، که در هزاران trade دوام آوردهاند.
- Buy: یک 1c بالاتر از best ask، FOK بزن. اگر ask بالاتر از 0.85 بود، معامله را رد کن - این «تلهی 0.99» است: بازاری که تقریباً تعیینتکلیف شده و حدود 0.90+ قیمتگذاری شده، فضای صعود ناچیزی میدهد اما اگر برگردد بهشدت سقوط میکند، پس نسبت ریسک به پاداش وارونه میشود.
- Take-profit: فروش GTC در entry + 4-6c، بلافاصله پس از fill خرید + 5 ثانیه wait برای settlement.
- Stop-loss via mark: mid را monitor کنید؛ اگر mid به entry - 8c برسد، FOK sell در best bid (بدون resting؛ mid blow-through سریع رخ میدهد).
- Time exit: اگر position ظرف X ساعت بسته نشود و PnL بین -2c و +2c باشد، FOK خروج در market.
اعداد بسته به strategy تغییر میکنند، اما الگو ثابت است: take-profit همیشه GTC، stop-loss معمولاً FOK است (چون GTC stopها وقتی mid از آن عبور میکند fill نمیشوند)، و time exit برای جلوگیری از سوار شدن روی signalهای stale.
Monitoring: Telegram, email, dashboards
bot باید در real time قابل مشاهده باشد. سه لایه.
- Telegram alerts: هر fill، هر halt، هر error بالاتر از threshold. از یک channel یا group اختصاصی استفاده کنید؛ آن را با پیامهای شخصی قاطی نکنید.
- Daily summary email: پایان روز، تعداد کل tradeها، win rate، PnL، و فهرست haltهای فعالشده. هر صبح آن را بخوانید.
- Dashboard: اختیاری اما مفید. یک HTTP endpoint ساده که diary را میخواند و open positionها + fillهای اخیر + cumulative PnL را نمایش میدهد.
الگو این است: هر state change که ارزش دانستن دارد → Telegram. summary پایان روز → email. exploration در real time → dashboard.
Reconcile cadence: every fire_exits cycle
Reconciliation باید آنقدر frequent اجرا شود که drift قبل از اینکه trade بعدی بتواند آن را compound کند، شناسایی شود. cadence به frequency trade بستگی دارد.
- Strategies with < 10 trades/day: هر ساعت reconcile کنید.
- Strategies with 10-100 trades/day: هر 15 دقیقه reconcile کنید.
- HFT strategies (100+ trades/day): در هر cycle از loop خروجِ firing reconcile کنید.
هزینه reconciliation برابر است با یک chain read برای هر token نگهداریشده. با 20 token، یعنی 20 RPC call؛ با یک free-tier RPC، کاملاً در محدوده budget است. این بخش را بیشازحد optimize نکنید.
First week: stay close, stay small
هفته اول deployment live خطرناکترین مرحله است. شما در حال کشف bugهای live-path هستید که paper run از قلم انداخته بود. discipline:
- Stay close - در ساعات بیداری، channel Telegram را هر ساعت check کنید.
- Stay small - اندازه position در حد minimum (5 share)؛ یک bug باید دلار هزینه داشته باشد، نه صدها دلار.
- در 3-5 روز اول، در پایان روز بهصورت دستی reconcile کنید. diary را مستقیم با Polymarket UI مقایسه کنید.
- هر سورپرایز را document کنید. حتی سردرگمیهای کوچک هم در نهایت به bug تبدیل میشوند.
پایان هفته اول: اگر bugی وجود نداشت و diary با reality match بود، به size معمول scale کنید. اگر bug ظاهر شد، آنها را fix کنید و یک smoke-test week دیگر اجرا کنید.
Scaling: when to deposit more
triggerهای افزودن capital، هر کدام با threshold متفاوت.
- +50% deposit: 30 live trade، win rate در محدوده 5 نقطه با نرخ paper، و بدون haltهای production ناشی از bug.
- +100-200% deposit: بیش از 100 live trade، profitability پایدار در طول sample، و infrastructure که حداقل از یک outage جزئی عبور کرده باشد.
- +500%+ deposit: فقط پس از 6+ ماه profitability پایدار در live. ramp کردن capital کندتر از موفقیت است - باید مطمئن باشید edge واقعی است، نه regimeای که قرار است ناپدید شود.
بزرگترین risk واحدِ scaling زودهنگام: strategyای که در یک market regime سودآور بوده، در regime بعدی زیانده میشود. size بزرگتر این را حل نمیکند. صبر حلش میکند.





