feat: implement buy-low-sell-high market maker (no splitPosition)

New market maker strategy that places limit BUY on UP+DOWN at low price
(default 2c), then sells at target price (default 3c) when filled.

Key features:
- Concurrent limit BUY on both sides (multi-thread style via Promise.all)
- Immediate partial sell placement on partial fill detection
- Cancel opposite side when one fills completely
- WebSocket orderbook client for real-time simulation visualization
- Both TUI (maker.js) and bot (maker-bot.js) entry points

Files:
- services/makerDetector.js: market detection (reuses slug pattern)
- services/makerExecutor.js: core buy-low-sell-high strategy
- services/makerWs.js: WebSocket orderbook for live data
- maker.js: TUI version with blessed dashboard
- maker-bot.js: PM2/VPS plain-text version

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
direkturcrypto
2026-03-06 16:47:26 +07:00
co-authored by Claude Opus 4.6
parent 9e78fb1bfe
commit 991fd6caa4
8 changed files with 1330 additions and 1 deletions
+30
View File
@@ -160,6 +160,36 @@ SNIPER_SCHEDULE_ETH=11:40-15:40,16:40-19:40
SNIPER_SCHEDULE_SOL=09:40-12:40,21:40-23:40
SNIPER_SCHEDULE_XRP=18:40-20:40,08:40-09:50
# ─────────────────────────────────────────────
# MARKET MAKER v2 (maker.js / npm run maker-sim)
# Buy Low, Sell High — no splitPosition.
# Places limit BUY on UP+DOWN at low price, sells at target when filled.
# Only one side will fill — the other gets cancelled.
# ─────────────────────────────────────────────
# Comma-separated assets
MAKER_ASSETS=btc
# Market duration: "5m" or "15m"
MAKER_DURATION=5m
# Limit BUY price (e.g. 0.02 = 2 cents per share)
MAKER_BUY_PRICE=0.02
# Limit SELL price (e.g. 0.03 = 3 cents per share)
MAKER_SELL_PRICE=0.03
# Shares per side (e.g. 50 shares × 0.02 = $1.00 cost per side)
MAKER_TRADE_SIZE=50
# Seconds before market close to trigger cut-loss
MAKER_CUT_LOSS_TIME=60
# How often to poll for new markets (seconds)
MAKER_POLL_INTERVAL=10
# How fast to check order fill status (milliseconds)
MAKER_MONITOR_MS=2000
# ─────────────────────────────────────────────
# PROXY (Polymarket API only, NOT Polygon RPC)
# Supports HTTP/HTTPS/SOCKS5 proxies