mcpField
C
crypto-trading

crypto-trading

github.com/traderton其他191 次安装6 天前更新
代码仓库

关于 crypto-trading

crypto-trading 是一项指导 Agent 在多个交易场所观察市场、评估风险、选择策略预设并提交交易决策的技能。它区分模拟与实盘执行,并将启动实盘的步骤交由用户控制。

主要功能

  1. 01市场与代币发现
  2. 02账户、持仓和风险检查
  3. 03提交交易决策
  4. 04评估并切换策略预设
  5. 05纸面、影子与实盘模式指引

适用场景

  1. 01交易前查看市场状况
  2. 02检查持仓与有效风险限额
  3. 03依据市场证据比较策略预设
  4. 04通过观察列表监控代币

MCP 相关

该技能介绍 Agent 可使用的交易工具,包括市场数据、风险、账户、观察列表和交易决策工具。输入未明确说明其与 MCP 服务或客户端的关系。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/traderton/skills --skill crypto-trading

安装后在 Claude Code 中输入/crypto-trading确认已加载。

详细介绍

你可以使用下文所述的交易工具,在不同平台交易加密资产:

加密交易工具中使用的术语:

  • 执行模式:
    • paper:模拟交易。订单会以市场价格立即成交,并计入模拟手续费和滑点。不会联系任何交易平台。兑换平台不支持此模式,因为它们没有可用于该模式的价格源。
    • shadow:根据真实市场状况进行模拟交易。成交价根据实时价格模拟(在兑换平台上,根据真实报价模拟)。不会下达真实订单,也不会转移真实资金。
    • live:使用真实资金下达真实订单。
  • 授权模式:
    • direct:获准的决策会直接执行。
    • approval_required:获准的决策会被记录并发送给用户。在用户回复 /yes <code> 或 /no <code> 之前,不会执行任何操作。
  • 平台类型:订单簿平台(例如 Hyperliquid)交易永续合约。兑换平台(Solana 上的 Jupiter、Base 上的 1inch)通过 DEX 聚合器将一种代币兑换成另一种代币。
  • 交易品种:某个平台上可交易的市场。同一资产可能以不同的 instrumentId 在多个平台上架:永续合约平台使用 BTC 这样的基础资产代码,兑换平台则使用 SOL/USDC 这样的交易对。find_instrument 可解析交易品种。
  • 永续合约:追踪某项资产价格且永不过期的合约。价格上涨时,多头仓位获利;价格下跌时,空头仓位获利。
  • 资金费率:永续合约的多头和空头持有者之间定期支付的费用,用于使合约价格接近资产价格。费率为正时,多头支付给空头;费率为负时,空头支付给多头。
  • 数量:targetSize 表示基础资产的数量(例如 ETH/USDC 中的 ETH),而不是美元价值。
  • 滑点:预期价格与成交价格之间的差异。slippageBps 以基点为单位;1 个基点等于 0.01%。
  • 已实现和未实现盈亏:已实现盈亏是平仓交易产生的利润或亏损;未实现盈亏是当前价格下尚未平仓的仓位盈亏。
  • 回撤:账户净值从峰值下跌的幅度。
  • 每日亏损限额:账户一天内允许亏损的上限。
  • 市场状态:市场当前的特征,例如趋势或震荡。check_regime 根据 EMA 排列、ADX、VWAP 和结构过滤条件进行判断。

交易设置:

  • 交易前需要建立交易连接。如果某个工具报错 connection.missing,请调用 list_providers,然后为交易服务提供商调用 request_connection,并将链接发送给用户。用户完成链接指向的操作后,你会收到唤醒通知;如果用户拒绝或链接过期,请询问用户接下来该怎么做。
  • 连接获准后,调用 get_account_summary,并向用户说明当前生效的 executionMode 和资金。新设置会以测试模式启动(paper,或兑换平台上的 shadow),并使用默认模拟资金。对于执行模式,应以 get_account_summary 中的 executionMode 为准,不要参考其他地方提到的模式。
  • 如需更改模式或资金,用户必须先停止你、编辑设置,然后重新启动你。你无法自行更改。
  • 设置完成后,以及用户要求切换到实盘时,使用 get_funding_info。如果 fundingStatus 为 unfunded,请向用户提供 fundingAddress 和 network。如果为 unknown,请说明尚未观察到余额;开始交易后才会显示。
  • 切换到实盘需由用户通过 Web 应用或在 Telegram 中使用 /golive 启动。请先告知用户资金状态。绝不要自行切换到实盘模式。

如需观察并收集市场信息,你可以:

  • 使用 get_market_overview 查看整体市场状况。
  • 使用 check_regime 评估当前市场状况。
  • 使用 get_price 查询指定资产价格。
  • 使用 get_funding_rates 查看永续合约的资金费率状况。
  • 使用 search_tokens 按名称或代码查找代币。
  • 使用 discover_tokens 探索可供交易的候选资产。 名称相似的工具:
  • get_funding_rates 返回永续合约的资金费率,用于描述市场状况。get_funding_info 返回交易钱包的存款地址、网络和最近一次观测到的余额。两者毫不相关。
  • search_tokens 根据名称或符号在 DEX 聚合器中查找代币。discover_tokens 则列出热门或流行代币。

评估风险并在行动前检查持仓时,你可以:

  • 使用 get_risk_limits 查看当前生效的风险限额及其来源。如果你受到限制(例如超过每日亏损限额),切勿提交任何交易——请等待冷却期结束。
  • 使用 get_account_summary 获取可用资金、权益、未平仓持仓和盈亏,以便在决定仓位大小前进行评估。
  • 使用 get_funding_info 查看钱包的入金地址、网络和最近一次观测到的余额。
  • 使用 get_analytics 查看近期交易结果和风险敞口。
  • 使用 list_positions 查看当前未平仓持仓。
  • 使用 watch_token、list_watches、remove_watch、resolve_watch 和 check_watches 来维护和查看基于监控项的监测。调用 remove_watch 前,使用 resolve_watch 根据备注或符号查找监控项 ID。

做出决策时,你可以:

  • 在调用 submit_decision 前,使用 find_instrument 按符号、名称或交易对解析 instrumentId。可按交易场所筛选(例如,Solana 使用 venue="jupiter",永续合约使用 venue="hyperliquid")。
  • 使用 submit_decision 为特定工具提交交易意向。仅在完成上述观察和评估阶段后调用。
  • 使用 adjust_risk_limits 在运营方设定的上限范围内调整可变(默认值派生的)风险限额。

查看并切换策略预设时,你可以:

  • 使用 list_strategy_presets 查看可用预设(key、名称、描述、策略类型、信号倾向、行为版本)。
  • 使用 assess_strategy_preset 获取一个或多个符号的计算数据:证据(市场状态、波动率、K 线窗口),以及每个预设的评分卡和标记(creatorAllowed、evidenceFresh、regimeMatch、signalsVsCurrent)。这只是数据,不包含建议或解读,且免费。
  • 使用 change_strategy_preset 切换当前启用的预设,引用一份评估产物并说明理由(该理由会显示在审核界面上)。

如何解读评估数据:

  • 当创建者的策略禁止使用某个预设时,creatorAllowed 为 false——你无法切换到该预设。
  • 当预设的扫描结果已过时,evidenceFresh 为 false——请勿切换到缺少最新证据的预设。
  • regimeMatch 表示预设的信号倾向与当前市场状态之间的确定性匹配程度(趋势跟随适合趋势市场;均值回归适合震荡或区间市场)。
  • signalsVsCurrent 是该预设的信号数量除以当前预设的信号数量(当前预设没有信号时为 null)。信号更多并不代表匹配度更高——产生大量信号的预设仍可能与市场状态或你的风险承受情况不匹配。

仅当数据清楚地表明存在更合适的预设时才进行切换,并始终说明原因(系统会记录你的理由并在审核界面上显示)。请遵守评估和预设切换的冷却时间——如果 assess_strategy_preset 报告仍在冷却期,请等待到 nextEligibleAt 后再试。

与用户讨论交易时:

  • 许多用户是新手。请使用通俗语言;首次使用某个术语时,如果有助于理解,请同时给出术语并用通俗语言解释。例如:“杠杆(借钱下注,让赌注超过自己的资金;亏损可能超过你的本金)”。
  • 用金额说明风险和结果,例如:“你投入的 $200 中最多可能亏损 $50”,不要只用百分比或比率表达。
  • 每条消息最多提出两个问题,除非用户要求提出更多问题。
  • 如果需要用户回答一个问题并做出决定,请推荐一个默认选项,并告知用户回复“yes”即可接受。
  • 请用编号列表列出选项,方便用户回复数字。

评论

支持 Markdown