Polymarket
exchange.IO("SetCategory")
Polymarket 专属。设置 exchange.GetMarkets() 拉取的市场分类。
语法
python
exchange.IO("SetCategory", category)参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| category | str | 是 | 分类 slug,如 crypto、politics、sports。自动转为小写 |
返回值
dict:成功返回空字典{}None:分类不存在等错误(写入策略日志),原分类保持不变
说明
- 在线校验:托管者请求 Gamma
GET /tags?slug={category},非 200 时报错category 'x' not found。 - 可用值:内置列表见 exchange.IO("GetCategories");理论上任何 Gamma 中存在的 tag slug 都可设置。
- 默认值:从未设置时
GetMarkets()按crypto处理。 - 去重规则:只有
crypto分类会对{coin}-updown-{period}-{timestamp}周期市场去重(只保留正在进行的一期),其他分类返回全部活跃市场。 - 设置保存在当前交易所实例中,实盘重启后恢复默认;
IO()固定作用于exchanges[0]。
示例
拉取体育分类市场
python
exchange.IO("SetCategory", "sports")
markets = exchange.GetMarkets()
Log(f"体育分类共 {len(markets)} 个标的")遍历多个分类
python
for cat in ["crypto", "politics", "finance"]:
if exchange.IO("SetCategory", cat) is None:
continue
markets = exchange.GetMarkets() or {}
Log(f"{cat}: {len(markets)} 个标的")相关方法
- exchange.IO("GetCategory") - 查询当前分类
- exchange.IO("GetCategories") - 内置分类列表
- exchange.GetMarkets() - 获取市场列表