Polymarket Bot Tutorial · Глава 31 из 32

Вывод вашего Polymarket bot в live: первый депозит 25-50 USD, правила take-profit и stop-loss, пороги alert (Telegram/email), cadence reconciliation и план масштабирования на первую неделю.

Что охватывает эта глава

Переход из paper в live - это момент, на котором большинство builders случайно теряют свой первый депозит. Эта глава - pre-flight checklist плюс дисциплина первой недели, которая ловит bugs до того, как они станут loss.

  • Pre-flight checklist
  • Первый депозит: 25-50 USD
  • Правила TP/SL из production
  • Monitoring: Telegram, email, dashboards
  • Reconcile cadence: каждый fire_exits cycle
  • Первая неделя: stay close, stay small
  • Scaling: когда вносить больше депозита

Pre-flight checklist

Точный список, по порядку, перед переводом bot из paper в live.

  1. 30 закрытых paper trades. Письменные success criteria выполнены или превышены.
  2. Формат diary одинаковый для paper и live. Одна и та же JSONL schema.
  3. VPS развернут. Bot - единственный process; systemd unit настроен.
  4. Механизм файла HALT протестирован. touch /opt/pmt/HALT останавливает bot в течение 30 секунд.
  5. Telegram alerts настроены. Тестовый alert успешно отправляется.
  6. Kill switch по daily-loss протестирован. Смоделируйте drawdown 10%; проверьте, что halt срабатывает.
  7. On-chain reconciliation протестирован. Вручную создайте mismatch в diary; проверьте, что halt срабатывает.
  8. Адрес депозита - это proxy wallet, то есть смарт-контрактный кошелёк, от имени которого Polymarket совершает сделки за вас (POLY_FUNDER_ADDRESS), а не ваш личный счёт - externally-owned account, или EOA. Проверено через SDK wallet show.
  9. USDC/pUSD approvals установлены. И на standard exchange, и на NegRisk exchange.
  10. Начальный размер депозита согласован письменно: $25-50 для smoke test.

Если какой-либо пункт не завершен, не выходите в live. Каждый из них в прошлых production stories стоил builder реальных денег.

Первый депозит: 25-50 USD

Smoke-test депозит намеренно маленький. Цель - проверить, что live path работает, а не заработать деньги.

Что вы тестируете: совпадает ли размещение ордера bot с тем, как Polymarket видит trade. Корректно ли записывается diary. Действительно ли take-profit GTC выставляется. Восстанавливается ли bot после transient API error. Срабатывает ли daily-loss halt, если вы его смоделируете.

Ожидаемый результат: 5-15 небольших trades, которые примерно повторяют paper diary. Любое расхождение считайте bug, а не особенностью того, что "live шумнее, чем paper".

Если вы потеряете эти $25-50 на реальном убытке стратегии, стратегии нужно больше paper runs. Если вы потеряете их из-за bugs, исправьте bugs перед масштабированием.

Правила TP/SL из production

Сначала два коротких определения, потому что этот раздел на них опирается. Take-profit (TP) - это заранее выставленный ордер на продажу, который фиксирует прибыль, как только цена доходит до вашей цели; stop-loss (SL) продаёт позицию, как только цена опускается ниже лимита, чтобы одна неудачная сделка не вышла из-под контроля. Ниже используются два типа ордеров: GTC (Good-Til-Cancelled - пассивный ордер, который ждёт в стакане, пока не исполнится или вы его не отмените) и FOK (Fill-Or-Kill - исполняет весь ордер мгновенно либо полностью отменяет его). Ещё один термин, который вам встретится, mark, вообще не тип ордера - это просто текущий mid-price, относительно которого вы оцениваете позицию. Ниже - production defaults нашего trader, которые выдержали тысячи trades.

  • Buy: FOK на 1c выше best ask. Пропустите сделку, если ask выше 0.85 - это "ловушка 0.99": почти решённый рынок по цене 0.90+ даёт крошечный потенциал роста, но резко падает, если перевернётся, так что соотношение риск/доходность оказывается перевёрнутым.
  • Take-profit: GTC sell по entry + 4-6c, выставляется сразу после buy fill + 5s ожидания settlement.
  • Stop-loss via mark: отслеживайте mid; если mid падает до entry - 8c, FOK sell по best bid (без resting; mid blow-through происходит быстро).
  • Time exit: если position не закрыта в течение X hours и PnL находится между -2c и +2c, FOK exit по market.

Числа меняются в зависимости от strategy, но pattern остается одинаковым: take-profit всегда GTC, stop-loss обычно FOK (потому что GTC stops не исполняются, когда mid blow-through происходит), time exits - чтобы не сидеть в устаревших signals.

Monitoring: Telegram, email, dashboards

Bot должен быть observable в real time. Три уровня.

  • Telegram alerts: каждый fill, каждый halt, каждая ошибка выше threshold. Используйте отдельный channel или group; не смешивайте с личными messages.
  • Daily summary email: в конце дня - total trades, win rate, PnL, список triggered halts. Читайте его каждое утро.
  • Dashboard: опционально, но полезно. Простой HTTP endpoint, который читает diary и отображает open positions + recent fills + cumulative PnL.

Pattern такой: любое state change, о котором важно знать → Telegram. End-of-day summary → email. Real-time exploration → dashboard.

Reconcile cadence: каждый fire_exits cycle

Reconciliation должна запускаться достаточно часто, чтобы drift был пойман до того, как следующий trade успеет его усилить. Cadence зависит от частоты trades.

  • Strategies с < 10 trades/day: reconcile каждый hour.
  • Strategies с 10-100 trades/day: reconcile каждые 15 minutes.
  • HFT strategies (100+ trades/day): reconcile каждый cycle цикла exit-firing loop.

Стоимость reconciliation - один chain read на каждый удерживаемый token. При 20 tokens это 20 RPC calls; на free-tier RPC это вполне укладывается в budget. Не переоптимизируйте это.

Первая неделя: stay close, stay small

Первая неделя live deployment - самая опасная. Вы находите bugs live-path, которые paper run пропустил. Дисциплина:

  • Stay close - проверяйте Telegram channel каждый hour в часы бодрствования.
  • Stay small - position sizes на минимуме (5 shares); bug должен стоить dollars, а не hundreds.
  • Проводите manual reconciliation в конце дня первые 3-5 days. Сравнивайте diary с Polymarket UI напрямую.
  • Документируйте каждый surprise. Даже маленькие confusion со временем превращаются в bugs.

К концу первой недели: если нет bugs и diary совпадает с reality, увеличивайте до normal size. Если bugs появились, исправьте их и проведите еще одну smoke-test week.

Scaling: когда вносить больше

Triggers для добавления capital, каждый со своим threshold.

  • +50% deposit: 30 live trades, win rate в пределах 5pts от paper rate, нет production halts из-за bugs.
  • +100-200% deposit: 100+ live trades, стабильная profitability на всей выборке, infrastructure протестирована как минимум через один minor outage.
  • +500%+ deposit: только после 6+ months стабильной live profitability. Capital растет медленнее, чем success - вы хотите убедиться, что edge настоящий, а не regime, который вот-вот исчезнет.

Самый большой single risk преждевременного scaling: strategy, прибыльная в одном market regime, становится убыточной в следующем. Больший size этого не исправит. Исправит patience.

Часто задаваемые вопросы

Сколько должен быть мой первый live deposit?
25-50 USD. Достаточно, чтобы проверить реальные fills, реальные fees и реальную reconciliation. При этом сумма достаточно мала, чтобы total loss не повлиял на вашу жизнь. Большинство дисциплинированных traders, которых мы знаем, начинают именно с такого размера, даже если bankroll позволяет намного больше - ego cost маленького loss гораздо ниже, чем ego cost большого.
Какой TP/SL мне выставить?
Симметрично вашему edge. Если ваша strategy ожидает +5% на выигрышный trade, ставьте take-profit на +5-7% и stop-loss на -3-4%. Asymmetric (маленький TP, большой SL) - это gambling, а не trading. Наш production trader использует TP+6% / SL-4% (FAK exits) на большинстве strategies.
Как мне отслеживать bot в live?
Три канала: (1) Real-time alerts по закрытым trades с outcome >$0.30 PnL через Telegram bot. (2) Hourly dashboard view по cash + open positions + MtM. (3) Daily PnL summary по email. Если хотя бы один из этих трех каналов не работает, вы управляете вслепую.
Что должно trigger emergency stop?
Любое из следующего: daily loss > 5% bankroll, fill rate < 30% (это намекает на wedged orders), более 5 consecutive losing trades, market data feed silent более 30 seconds, или любое reconciliation mismatch между diary и on-chain. Все это можно закодировать как automatic halt-sentinel touches.
Когда можно увеличить live bankroll?
Когда у вас есть как минимум 50 closed live trades, live win rate совпадает с paper в пределах 10%, и за 2+ weeks не было reconciliation incident. Увеличивайте максимум в 2x на каждом checkpoint - 25 USD -> 50 -> 100 -> 200 -> 500 в течение months, а не days.
Стоит ли запускать несколько strategies live одновременно?
Не вначале. Запустите одну strategy в live на 2-4 weeks, проверьте и валидируйте ее. Потом добавьте вторую. Одновременный мониторинг двух strategies в первые weeks - это рецепт пропустить bug, который убьет strategy 1.