仓位管理Skill positions

这个技能用于自动化管理交易仓位,包括设置止损、止盈和追踪止损订单,帮助量化交易者控制风险和锁定收益。关键词:量化交易,仓位管理,止损止盈,自动化交易,风险管理,API集成。

风险管理 0 次安装 0 次浏览 更新于 3/9/2026

名称: 仓位 描述: “带止损、止盈和追踪止损的仓位管理” 表情: “📍”

仓位 - 完整API参考

使用自动化止损、止盈和追踪止损订单管理开仓仓位。


聊天命令

查看仓位

/positions                          列出所有仓位
/positions poly                     仅Polymarket仓位
/positions futures                  仅期货仓位
/position <id>                      仓位详情

止损

/sl <仓位-id> at 0.35               设置止损价格
/sl <仓位-id> -10%                  止损低于入场价10%
/sl poly "Trump" at 0.35            按市场名称设置

止盈

/tp <仓位-id> at 0.65               设置止盈价格
/tp <仓位-id> +20%                  止盈高于入场价20%
/tp poly "Trump" at 0.65            按市场名称设置

追踪止损

/trailing <仓位-id> 5%              从高点追踪5%
/trailing <仓位-id> $0.05           从高点追踪$0.05

部分退出

/tp <仓位-id> at 0.55 size 50%      止盈一半仓位
/sl <仓位-id> at 0.40 size 25%      止损四分之一仓位

TypeScript API参考

创建仓位管理器

import { createPositionManager } from 'clodds/positions';

const positions = createPositionManager({
  // 监控
  checkIntervalMs: 5000,

  // 执行
  orderType: 'market',  // 'market' | 'limit'
  limitBuffer: 0.01,    // 限价订单的缓冲

  // 存储
  storage: 'sqlite',
  dbPath: './positions.db',
});

// 开始监控
await positions.start();

列出仓位

const all = await positions.list();

for (const pos of all) {
  console.log(`${pos.id}: ${pos.platform} ${pos.market}`);
  console.log(`  方向: ${pos.side}`);
  console.log(`  规模: ${pos.size}`);
  console.log(`  入场价: ${pos.entryPrice}`);
  console.log(`  当前价: ${pos.currentPrice}`);
  console.log(`  P&L: ${pos.pnl} (${pos.pnlPercent}%)`);
  console.log(`  止损: ${pos.stopLoss || '无'}`);
  console.log(`  止盈: ${pos.takeProfit || '无'}`);
}

设置止损

// 绝对价格
await positions.setStopLoss({
  positionId: 'pos-123',
  price: 0.35,
});

// 相对于入场价的百分比
await positions.setStopLoss({
  positionId: 'pos-123',
  percentFromEntry: 10,  // 低于入场价10%
});

// 相对于当前价的百分比
await positions.setStopLoss({
  positionId: 'pos-123',
  percentFromCurrent: 5,  // 低于当前价5%
});

// 部分止损
await positions.setStopLoss({
  positionId: 'pos-123',
  price: 0.35,
  sizePercent: 50,  // 退出50%仓位
});

设置止盈

// 绝对价格
await positions.setTakeProfit({
  positionId: 'pos-123',
  price: 0.65,
});

// 相对于入场价的百分比
await positions.setTakeProfit({
  positionId: 'pos-123',
  percentFromEntry: 20,  // 高于入场价20%
});

// 多级止盈
await positions.setTakeProfit({
  positionId: 'pos-123',
  levels: [
    { price: 0.55, sizePercent: 25 },  // 25%在0.55
    { price: 0.60, sizePercent: 25 },  // 25%在0.60
    { price: 0.70, sizePercent: 50 },  // 50%在0.70
  ],
});

设置追踪止损

// 百分比追踪
await positions.setTrailingStop({
  positionId: 'pos-123',
  trailPercent: 5,  // 从高点追踪5%
});

// 绝对金额追踪
await positions.setTrailingStop({
  positionId: 'pos-123',
  trailAmount: 0.05,  // 从高点追踪$0.05
});

// 在目标后激活
await positions.setTrailingStop({
  positionId: 'pos-123',
  trailPercent: 5,
  activateAt: 0.55,  // 仅在0.55后开始追踪
});

移除止损

// 移除止损
await positions.removeStopLoss('pos-123');

// 移除止盈
await positions.removeTakeProfit('pos-123');

// 移除追踪止损
await positions.removeTrailingStop('pos-123');

// 移除所有止损
await positions.removeAllStops('pos-123');

事件处理器

// 止损触发
positions.on('stopLossTriggered', (position, result) => {
  console.log(`🛑 止损触发: ${position.market}`);
  console.log(`  入场: ${position.entryPrice}`);
  console.log(`  退出: ${result.exitPrice}`);
  console.log(`  P&L: ${result.pnl}`);
});

// 止盈触发
positions.on('takeProfitTriggered', (position, result) => {
  console.log(`✅ 止盈触发: ${position.market}`);
  console.log(`  P&L: ${result.pnl}`);
});

// 追踪止损触发
positions.on('trailingStopTriggered', (position, result) => {
  console.log(`📉 追踪止损触发: ${position.market}`);
  console.log(`  高点: ${position.highWaterMark}`);
  console.log(`  退出: ${result.exitPrice}`);
});

// 价格接近止损
positions.on('approaching', (position, type, distance) => {
  console.log(`⚠️ ${position.market} 距离${type} ${distance}%`);
});

仓位摘要

const summary = await positions.getSummary();

console.log(`总仓位数: ${summary.count}`);
console.log(`总价值: $${summary.totalValue}`);
console.log(`未实现P&L: $${summary.unrealizedPnl}`);
console.log(`带止损: ${summary.withStopLoss}`);
console.log(`带止盈: ${summary.withTakeProfit}`);

止损类型

类型 描述
止损 当价格下跌到限制损失时退出
止盈 当价格上涨到锁定收益时退出
追踪止损 动态止损,跟随价格上涨
保本止损 在达到利润目标后将止损移动到入场价

订单执行

选项 描述
market 以当前价格立即执行
limit 以指定价格或更好价格执行
buffer 为限价订单添加缓冲以提高成交率

最佳实践

  1. 始终设置止损 — 不要留下无保护的仓位
  2. 使用追踪止损 — 在价格移动时锁定收益
  3. 部分退出 — 在多级水平逐步退出
  4. 监控接近触发 — 在触发前获得警报
  5. 审查已执行的止损 — 检查执行质量