Type/to search
6
Follow
943
Followers
Polymarket API 快速使用教程
Help
Created 2026-02-14 19:04:34  Updated 2026-02-18 22:00:17
 0
 1174

Polymarket API 快速使用教程

基于 FMZ 平台(托管者版本3.8.8),快速上手 Polymarket API。


Symbol 格式

Symbol 必须以 exchange.GetMarkets() 返回的键值为准,此函数第一次调用很慢,之后有缓存, 格式为:

{marketSlug}_USDC.(Yes/No)

示例:

will-the-next-prime-minister-of-hungary-be-istvn-kapitny_USDC.No
  • Yes 代币 = 押注事件发生
  • No 代币 = 押注事件不会发生
  • 价格范围 0~1,代表市场认为的概率(0.65 = 65%)

场景1:获取所有市场(获取有效symbol)

javascript
var markets = exchange.GetMarkets(); for (var symbol in markets) { var m = markets[symbol]; Log(symbol); // 这就是下单用的symbol Log(" 问题:", m.Info.question); Log(" 24h量:", m.Info.volume24hr); }

场景2:获取行情

javascript
// symbol必须从GetMarkets()的key中获取 var symbol = "will-the-next-prime-minister-of-hungary-be-istvn-kapitny_USDC.Yes"; // ticker var t = exchange.GetTicker(symbol); Log("最新价:", t.Last, "买一:", t.Buy, "卖一:", t.Sell); // 深度 var d = exchange.GetDepth(symbol); Log("卖一:", d.Asks[0].Price, d.Asks[0].Amount); Log("买一:", d.Bids[0].Price, d.Bids[0].Amount);

场景3:查账户和持仓

javascript
// 账户 var acc = exchange.GetAccount(); Log("可用:", acc.Balance, "USDC"); // 持仓 var pos = exchange.GetPositions(); for (var i = 0; i < pos.length; i++) { Log(pos[i].Symbol, "数量:", pos[i].Amount, "盈亏:", pos[i].Profit); }

场景4:下单

javascript
// symbol必须从GetMarkets()获取 var symbol = "{some-market}_USDC.Yes"; // 市价买入 10 USDC exchange.CreateOrder(symbol, "buy", -1, 10); // 限价买入 exchange.CreateOrder(symbol, "buy", 0.55, 20); // 卖出 exchange.CreateOrder(symbol, "sell", -1, 10);

场景5:查单/撤单

javascript
// 查询订单 var order = exchange.GetOrder(orderId); Log("状态:", order.Status, "成交:", order.DealAmount); // 撤单 exchange.CancelOrder(orderId); // 所有未成交订单 var orders = exchange.GetOrders();

场景6:清仓

javascript
var pos = exchange.GetPositions(); for (var i = 0; i < pos.length; i++) { if (pos[i].Amount > 0) { exchange.CreateOrder(pos[i].Symbol, "sell", -1, pos[i].Amount); } Sleep(500); }

场景7:redeem招回

javascript
var items = _C(exchange.GetPositions); items.forEach(item => { if (item.Info.redeemable) { Log(item.Symbol, item.Info.eventSlug) Log(exchange.IO("redeem", item.Symbol, true)) } })

场景8:遍历市场找低概率标的

javascript
var markets = exchange.GetMarkets(); for (var symbol in markets) { if (!symbol.endsWith("-YES")) continue; var prices = JSON.parse(markets[symbol].Info.outcomePrices || "[]"); var yesPrice = parseFloat(prices[0] || 0); if (yesPrice < 0.3 && yesPrice > 0.05) { Log(symbol, "YES价格:", (yesPrice * 100).toFixed(1) + "%"); } }

常用API

方法说明
GetMarkets()获取所有市场,返回的key就是有效symbol
GetTicker(symbol)获取行情 {Last, Buy, Sell}
GetDepth(symbol)获取深度 {Asks, Bids}
GetAccount()账户余额 {Balance, FrozenBalance}
GetPositions()持仓列表 [{Symbol, Amount, Profit}]
CreateOrder(symbol, side, price, amount)下单,price=-1为市价
CancelOrder(orderId)撤单
GetOrder(orderId)查单
GetOrders()未成交订单

side: "buy" / "sell"

Related Recommendations
Comment
All comments (0)
No data
No data
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)