自动化 Polymarket 仓位的止损、止盈和追踪止损,实时监控价格并在触发时执行交易。
贸易经理 - 自动停止- 损失、 盈利和拖拉式停止是一项面向实际任务的技能,主要用于使用这种技能为您的Polymarket 职位创建自动交易规则( 停止损失、 获取利润、 跟踪停止)。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
使用本技能为您的 Polymarket 头寸创建自动化交易规则(止损、止盈、追踪止损)。交易管理器作为 Vincent 后端的一部分运行,当价格条件满足时自动执行交易。
所有命令均基于 @vincentai/cli 包。
交易管理器是 Polymarket 技能的配套组件:
架构说明:
/api/skills/polymarket/rules/...创建规则前,请先确认监控工作进程正在运行:
npx @vincentai/cli@latest trade-manager health
# 预期输出:{"status":"ok","version":"0.1.0"}
npx @vincentai/cli@latest trade-manager status --key-id
# 返回:工作进程状态、当前激活规则数量、最近同步时间、断路器状态
当价格跌破阈值时,自动卖出头寸:
npx @vincentai/cli@latest trade-manager create-rule --key-id--market-id 0x123... --token-id 456789 --rule-type STOP_LOSS --trigger-price 0.40
参数说明:
--market-id:Polymarket 条件 ID(取自市场数据)--token-id:您所持有的结果代币 ID(取自市场数据 —— 请使用您实际买入的代币 ID)--rule-type:STOP_LOSS(价格 ≤ 触发价时卖出)、TAKE_PROFIT(价格 ≥ 触发价时卖出)或 TRAILING_STOP--trigger-price:价格阈值,范围为 0 到 1(例如 0.40 表示 40 美分)CLI 将自动传入 {"type": "SELL_ALL"} 作为动作(MVP 版本唯一支持的动作类型)。
当价格升破阈值时,自动卖出头寸:
npx @vincentai/cli@latest trade-manager create-rule --key-id--market-id 0x123... --token-id 456789 --rule-type TAKE_PROFIT --trigger-price 0.75
实用技巧:对同一头寸同时设置止损与止盈规则,可形成交易区间保护(bracket your trade)。
追踪止损以初始止损价启动,随后随价格上涨自动上调该止损价。
npx @vincentai/cli@latest trade-manager create-rule --key-id--market-id 0x123... --token-id 456789 --rule-type TRAILING_STOP --trigger-price 0.45 --trailing-percent 5
追踪止损行为说明:
--trailing-percent 单位为百分点(例如 5 表示 5%)candidateStop = currentPrice * (1 - trailingPercent/100)candidateStop 高于当前 triggerPrice,则更新 triggerPricetriggerPrice 永不向下调整currentPrice <= triggerPrice 时,规则触发# 查看全部规则 npx @vincentai/cli@latest trade-manager list-rules --key-id# 仅查看活跃规则 npx @vincentai/cli@latest trade-manager list-rules --key-id --status ACTIVE # 仅查看已触发规则 npx @vincentai/cli@latest trade-manager list-rules --key-id --status TRIGGERED
npx @vincentai/cli@latest trade-manager update-rule --key-id--rule-id --trigger-price 0.45
npx @vincentai/cli@latest trade-manager delete-rule --key-id--rule-id
规则状态将变为 CANCELED,此后不再触发。
查看交易管理器当前正在跟踪哪些头寸:
npx @vincentai/cli@latest trade-manager positions --key-id
返回缓存的头寸数据及当前价格。该缓存通过 WebSocket 和周期性轮询更新。
查看规则评估与执行的详细历史记录:
# 全部事件(按时间倒序排列,默认 limit=100) npx @vincentai/cli@latest trade-manager events --key-id# 指定某条规则的事件 npx @vincentai/cli@latest trade-manager events --key-id --rule-id # 分页查询 npx @vincentai/cli@latest trade-manager events --key-id --rule-id --limit 50 --offset 100
事件类型:
RULE_CREATED — 规则已创建RULE_TRAILING_UPDATED — 追踪止损上调了 triggerPriceRULE_EVALUATED — 工作进程依据当前价格检查了该规则RULE_TRIGGERED — 触发条件已满足ACTION_PENDING_APPROVAL — 交易需人工审批,规则已暂停ACTION_EXECUTED — 交易成功执行ACTION_FAILED — 交易执行失败RULE_CANCELED — 规则已被手动取消每条事件均包含一个 data 对象,其字段依事件类型而异:
currentPrice — 评估发生时刻的价格triggerPrice — 规则设定的触发阈值shouldTrigger — 当前是否满足触发条件source — 若为 WebSocket 实时更新则值为 "websocket";轮询方式评估则该字段不存在以下是如何联合使用这两项技能:
# 搜索市场 npx @vincentai/cli@latest polymarket markets --key-id--query bitcoin # 在“Yes”结果上下注 npx @vincentai/cli@latest polymarket bet --key-id --token-id 123456789 --side BUY --amount 10 --price 0.55 # 您以 55 美分价格购入 18.18 份
# 使用 40 美分止损价保护您的头寸 npx @vincentai/cli@latest trade-manager create-rule --key-id--market-id 0xabc... --token-id 123456789 --rule-type STOP_LOSS --trigger-price 0.40
# 若价格上涨至 85 美分,则锁定利润 npx @vincentai/cli@latest trade-manager create-rule --key-id--market-id 0xabc... --token-id 123456789 --rule-type TAKE_PROFIT --trigger-price 0.85
# 检查状态 npx @vincentai/cli@latest trade-manager list-rules --key-id--status ACTIVE # 查看近期事件 npx @vincentai/cli@latest trade-manager events --key-id
ACTIVE 原子性地变更为 TRIGGERED(防止重复执行)RULE_TRIGGERED 与 ACTION_EXECUTED 事件重要提示:所有由交易管理器执行的交易仍需经过 Vincent 的策略校验。若您交易违反支出限额或需人工审批,交易管理器将严格遵守相应策略。
ACTIVE — 规则处于启用状态,正被持续监控TRIGGERED — 触发条件已满足,交易已执行(或已尝试执行)PENDING_APPROVAL — 交易需人工审批;规则在审批通过或拒绝前保持暂停状态CANCELED — 规则在触发前已被手动取消FAILED — 规则已触发但交易执行失败EXPIRED — (未来功能,支持基于时间的自动过期)交易管理器运行一个后台工作进程,其职责包括:
断路器(Circuit Breaker):
若 Polymarket API 连续失败达 5 次及以上,工作进程将暂停运行,并在冷却期结束后自动恢复。可通过以下命令检查工作进程状态:
npx @vincentai/cli@latest trade-manager status --key-id
关注返回结果中的 consecutiveFailures: 0(健康状态)或 circuitBreakerUntil 时间戳(因错误而暂停)。
400 Bad Request — 触发价格无效:
修复方法:请使用介于 0.01 至 0.99 之间的价格
400 Bad Request — 缺少必需字段:
修复方法:确保提供全部必需参数(--market-id、--token-id、--rule-type、--trigger-price)
404 Not Found — 规则不存在:
修复方法:请核对规则 ID 是否正确
规则执行失败:
规则状态将变为 FAILED,并附带 errorMessage 字段说明失败原因。常见原因包括:
请查阅事件日志获取详情:
npx @vincentai/cli@latest trade-manager events --key-id--rule-id
SELL_PARTIAL)将在 v2 版本中支持SELL_ALL 动作(暂不支持部分卖出)当用户输入以下语句时:
--status ACTIVE 列出规则/api/skills/polymarket/rules/...相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.3万人学习
共49课时 | 82.7万人学习
最新文章