关于 blofin-trader
面向希望通过 Agent 执行和管理交易所订单的 BloFin 交易技能。支持多种订单类型、批量操作、止盈止损及触发单,并要求交易前明确确认。
主要功能
- 01市价、限价和条件订单
- 02批量下单与撤单
- 03平仓及订单状态查询
- 04止盈止损管理
- 05交易前检查与确认
适用场景
- 01确认后提交限价或市价单
- 02批量提交多个订单
- 03为持仓设置止盈止损
- 04查看或撤销待处理订单
MCP 相关
此技能通过 blofin-mcp 提供的工具操作,包括下单、撤单、平仓和订单查询。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ blofin/ blofin-skills-hub --skill blofin-trader安装后在 Claude Code 中输入/blofin-trader确认已加载。
详细介绍
BloFin Trader
在 BloFin 交易所执行交易。支持市价单、限价单、只做 Maker 订单、FOK、IOC 订单、批量操作、止盈/止损,以及算法/触发订单。
重要:下单前务必与用户确认订单详情。执行前须展示交易品种、方向、数量、价格和预估成本/保证金。
订单基础知识
订单类型
| 类型 | 描述 |
|---|---|
market | 以当前可用的最优价格立即执行 |
limit | 以指定价格或更优价格执行 |
post_only | 仅增加流动性的限价单(仅 Maker);如果会立即成交,则取消 |
fok | 全部成交或立即取消——必须立即全部成交,否则取消 |
ioc | 立即成交或取消——立即尽可能成交,剩余部分取消 |
持仓方向
| 方向 | 持仓方向 | 操作 |
|---|---|---|
buy | long | 开多 / 平空 |
sell | short | 开空 / 平多 |
buy | short | 平空(对冲模式下) |
sell | long | 平多(对冲模式下) |
数量与合约价值
- 订单
size的单位是合约,而非基础货币 - 每份合约都有一个
contractValue(通过get_instruments查询) - 示例:BTC-USDT 合约价值为 0.001 BTC,因此 100 份合约 = 0.1 BTC
- 最小订单数量由
minSize定义(例如,BTC-USDT 为 0.1 份合约) - 数量必须是
lotSize的整数倍
可用工具(通过 blofin-mcp)
place_order — 下单
Use place_order to submit a new trade. ALWAYS confirm with the user first.
参数:
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
instId | String | 是 | 交易品种 ID,例如 BTC-USDT |
marginMode | String | 是 | cross 或 isolated |
positionSide | String | 是 | long、short 或 net |
side | String | 是 | buy 或 sell |
orderType | String | 是 | market、limit、post_only、fok、ioc |
size | String | 是 | 以合约为单位的订单数量 |
price | String | 有条件必填 | limit/post_only/fok/ioc 订单必填 |
reduceOnly | Boolean | 否 | 若为 true,则仅减少现有持仓 |
clientOrderId | String | 否 | 自定义订单 ID(最多 32 个字符) |
tpTriggerPrice | String | 否 | 止盈触发价格 |
tpOrderPrice | String | 否 | 止盈订单价格(市价单填 -1) |
slTriggerPrice | String | 否 | 止损触发价格 |
slOrderPrice | String | 否 | 止损订单价格(市价单填 -1) |
brokerId | String | 否 | 经纪商 ID(如适用) |
示例提示词:
- “以市价买入 1 份 BTC-USDT 合约”
- “以 3,000 美元的价格挂出 10 份 ETH-USDT 限价买单”
- “以 5 倍杠杆、100 份合约开立 BTC 多头持仓”
- “做空 ETH-USDT,止损价设为 4,000 美元”
下单前检查清单(下单前务必执行):
- 确认交易品种存在且处于上线状态(
get_instruments) - 确认用户余额充足(
get_balance) - 检查当前杠杆设置(
get_leverage_info) - 对于限价单,将价格与当前市场价格进行比较(
get_tickers) - 计算预估成本:
size * contractValue * price / leverage - 展示订单摘要并征得用户明确确认
cancel_order — 撤销订单
Use cancel_order to cancel a pending order.
参数:
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
instId | String | 是 | 交易品种 ID |
orderId | String | 有条件必填 | 订单 ID(必须提供 orderId 或 clientOrderId 之一) |
clientOrderId | String | 有条件必填 | 客户端订单 ID |
batch_orders — 批量下单
Use batch_orders for placing multiple orders at once. Max 20 orders per batch.
批次中的所有订单必须使用相同的 instId 和 marginMode。
示例提示词:
- “为 BTC-USDT 挂出价格范围为 60,000 至 65,000 美元的网格限价单”
- “在 ETH 上同时开立多头和空头持仓”
cancel_batch_orders — 批量撤销订单
Use cancel_batch_orders to cancel multiple orders at once.
所有撤销操作都应使用相同的标识符类型(优先使用 orderId)。
close_position — 平掉整个仓位
Use close_position to close a full position on an instrument. Confirm with the user first.
参数:
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
instId | String | 是 | 产品 ID |
marginMode | String | 是 | cross 或 isolated |
positionSide | String | 否 | long、short 或 net |
clientOrderId | String | 否 | 自定义订单 ID |
示例提示词:
- “平掉我的 BTC-USDT 多头仓位”
- “平掉我的所有 ETH 仓位”
get_open_orders — 查看待处理订单
Use get_open_orders to see unfilled or partially filled orders.
参数:
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
instId | String | 否 | 按产品筛选 |
orderType | String | 否 | 按订单类型筛选 |
state | String | 否 | live 或 partially_filled |
before / after | String | 否 | 按 orderId 分页 |
limit | String | 否 | 最多 100,默认 100 |
get_order_detail — 单个订单详情
Use get_order_detail to check the status of a specific order.
参数:
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
instId | String | 是 | 产品 ID |
orderId | String | 有条件必填 | 订单 ID |
clientOrderId | String | 有条件必填 | 客户端订单 ID |
get_order_history — 历史订单
Use get_order_history to review filled, cancelled, or expired orders.
止盈 / 止损(TP/SL)
place_tpsl — 为仓位设置 TP/SL
Use place_tpsl to set take-profit and/or stop-loss on an existing position.
Always confirm trigger prices with the user.
参数:
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
instId | String | 是 | 产品 ID |
marginMode | String | 是 | cross 或 isolated |
positionSide | String | 是 | long、short 或 net |
tpTriggerPrice | String | 有条件必填 | 止盈触发价 |
tpOrderPrice | String | 否 | TP 执行价(-1 表示市价) |
slTriggerPrice | String | 有条件必填 | 止损触发价 |
slOrderPrice | String | 否 | SL 执行价(-1 表示市价) |
size | String | 否 | 平仓数量(默认:整个仓位) |
TP/SL 验证规则:
- 多头仓位:TP 触发价 > 当前价格,SL 触发价 < 当前价格
- 空头仓位:TP 触发价 < 当前价格,SL 触发价 > 当前价格
- 下单前务必根据当前市场价格进行核对
示例提示词:
- “为我的 BTC 多头仓位设置 $70,000 的止盈价和 $60,000 的止损价”
- “为我的 ETH 空头仓位设置 $3,200 的止损价”
cancel_tpsl — 取消 TP/SL 订单
Use cancel_tpsl to remove existing TP/SL orders.
get_pending_tpsl / get_tpsl_history — 查看 TP/SL 订单
Use get_pending_tpsl to see active TP/SL orders.
Use get_tpsl_history to review past TP/SL orders.
Algo / 触发订单
place_algo_order — 条件单 / 触发单
Use place_algo_order for trigger-based orders that execute when a condition is met.
参数:
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
instId | String | 是 | 产品 ID |
marginMode | String | 是 | cross 或 isolated |
positionSide | String | 是 | long、short 或 net |
side | String | 是 | buy 或 sell |
orderType | String | 是 | 执行订单的类型 |
size | String | 是 | 合约数量 |
triggerPrice | String | 是 | 触发订单的价格 |
orderPrice | String | 有条件必填 | 执行价格(限价单必填) |
reduceOnly | Boolean | 否 | 仅减少仓位 |
cancel_algo_order / get_pending_algo_orders / get_algo_order_history
管理并查看算法单 / 触发单。
安全规则
- 未经用户明确确认,绝不下单 — 始终先展示摘要
- 仔细核对交易方向(buy/sell)和仓位方向(long/short)— 出错代价很高
- 下单前确认余额充足
- 根据当前市场价格验证限价,避免明显错误
- 对高杠杆订单发出警告 — 明确说明强平风险
- 对于大额订单,检查订单簿深度以估算滑点
- 注意速率限制:交易 API 对每位用户的限制为每 10 秒 30 次请求
评论
支持 Markdown