币安合约持仓实时监控工具,用于监控 USDT 合约账户的持仓情况和盈亏状态。
- 实时监控:每 5 秒自动刷新持仓数据
- 盈亏统计:显示各个持仓的未实现盈亏,以及总盈利、总亏损和总盈亏
- 语音提醒:
- 当单个仓位超过 50,000 USDT 时语音提醒
- 当总亏损超过 20,000 USDT 时语音提醒
- 当 1 分钟内网络错误超过 5 次时语音提醒
- 网络异常监控:自动检测和记录网络错误,防止频繁告警
- 优雅退出:支持 Ctrl+C 安全退出程序
- Node.js 16+
- TypeScript 5.x
- 克隆项目
git clone <repository-url>
cd bn_postion- 安装依赖
npm install- 配置环境变量
在项目根目录创建 .env 文件,添加币安 API 凭证:
BINANCE_API_KEY=your_api_key_here
BINANCE_API_SECRET=your_api_secret_herenpm run dev# 编译
npm run build
# 运行
npm start--------------------------------------
[2025-10-14 09:50:00] BTCUSDT: 150.50 USDT
[2025-10-14 09:50:00] ETHUSDT: -80.30 USDT
[2025-10-14 09:50:00] 总盈亏: 70.20 USDT
[2025-10-14 09:50:00] 盈利总和: 150.50 USDT
[2025-10-14 09:50:00] 亏损总和: -80.30 USDT
--------------------------------------
可在 src/index.ts 中调整以下参数:
- 刷新间隔:
5000毫秒(第 107 行) - 大仓位阈值:
50000USDT(第 60 行) - 亏损警告阈值:
-20000USDT(第 81 行) - 网络错误告警阈值:1 分钟内
5次(第 46 行)
默认使用 "Tingting" 语音(中文女声)。可在代码中修改为其他语音:
- macOS: "Tingting", "Sinji" 等
- 其他系统:参考 node-say 文档
bn_postion/
├── src/
│ └── index.ts # 主程序文件
├── dist/ # 编译输出目录
├── node_modules/ # 依赖包
├── .env # 环境变量配置(需自行创建)
├── .gitignore
├── package.json
├── tsconfig.json
└── README.md
- binance: 币安官方 API 客户端
- dotenv: 环境变量管理
- say: 文本转语音库
- typescript: TypeScript 编译器
- ts-node-dev: 开发模式热重载
- 请妥善保管
.env文件,不要提交到版本控制系统 - API Key 建议设置为只读权限,不需要交易权限
- 建议在币安 API 管理中限制 IP 白名单
ISC
- 本工具仅用于监控持仓,不提供交易功能
- 语音提醒功能需要系统支持 TTS(文本转语音)
- 网络不稳定时可能出现短暂的数据获取失败,程序会自动重试
- 退出程序请使用 Ctrl+C,避免强制终止