这是一个强大的币安加密货币实时价格监控工具,使用 Python 开发,支持多个交易对的实时价格、涨跌幅监控,并提供美观的终端界面显示。同时支持持仓收益实时计算功能。
- 实时监控多个主流加密货币价格(BTC、ETH、BNB、SOL等)
- 每秒更新的实时价格数据
- 显示多个时间维度的涨跌幅(24h、5m、1m)
- 实时计算持仓收益(支持配置购买价格和数量)
- 按价格自动排序
- 彩色终端界面,涨跌一目了然
- 支持合约持仓实时监控
- 独立刷新机制(每2秒更新)
- 支持做多/做空方向配置
- 支持杠杆倍数配置(1x-125x)
- 实时显示爆仓价格
- 实时计算合约收益(考虑杠杆效果)
- 支持多个合约交易对同时监控
- 高性能设计,低延迟更新
- 支持代理配置,突破地域限制
- 双窗口显示,现货合约一目了然
目前支持以下交易对的实时监控:
- BTC/USDT(比特币)
- ETH/USDT(以太坊)
- BNB/USDT(币安币)
- SOL/USDT(索拉纳)
- TON/USDT(TON)
- DOGE/USDT(狗狗币)
- SUI/USDT(SUI)
- ASTER/USDT(ASTER)
- Python 3.7+
- 稳定的网络连接
- Linux/macOS/Windows 系统
- 克隆项目:
git clone https://github.com/yourusername/python-binance.git
cd python-binance
- 安装依赖:
pip install -r requirements.txt
- 配置持仓信息:
创建
.env
文件并配置你的持仓信息(可选):
# 示例 .env 文件
# 代理配置(如果在受限地区需要配置)
# 如果不需要代理,留空或删除这两行
HTTP_PROXY=http://127.0.0.1:7890
HTTPS_PROXY=http://127.0.0.1:7890
# 格式说明:
# SYMBOL_PRICE: 购买价格
# SYMBOL_AMOUNT: 购买总金额(USDT)
# SYMBOL_ALERT_HIGH: 价格上限提醒
# SYMBOL_ALERT_LOW: 价格下限提醒
# BTC持仓信息
BTC_PRICE=42000 # 购买价格
BTC_AMOUNT=1000 # 投资1000U
BTC_ALERT_HIGH=0 # 上限提醒(0表示不提醒)
BTC_ALERT_LOW=0 # 下限提醒(0表示不提醒)
# ETH持仓信息
ETH_PRICE=2200
ETH_AMOUNT=500 # 投资500U
ETH_ALERT_HIGH=0
ETH_ALERT_LOW=0
# 其他币种同理...
# ===== 合约配置 =====
# 格式说明:
# FUTURES_SYMBOL_PRICE: 开仓价格(你开仓时的价格)
# FUTURES_SYMBOL_AMOUNT: 开仓保证金金额(USDT)
# FUTURES_SYMBOL_LEVERAGE: 杠杆倍数(1-125)
# FUTURES_SYMBOL_SIDE: 持仓方向(LONG做多/SHORT做空)
# 注意:AMOUNT是保证金,实际仓位 = 保证金 × 杠杆
# BTC合约配置
FUTURES_BTC_PRICE=110000 # 开仓价格(显示在表格中便于对比)
FUTURES_BTC_AMOUNT=1000 # 开仓保证金1000U
FUTURES_BTC_LEVERAGE=10 # 10倍杠杆(实际仓位10000U)
FUTURES_BTC_SIDE=LONG # 做多
# ETH合约配置
FUTURES_ETH_PRICE=4000 # 开仓价格
FUTURES_ETH_AMOUNT=500 # 开仓保证金500U
FUTURES_ETH_LEVERAGE=10 # 10倍杠杆(实际仓位5000U)
FUTURES_ETH_SIDE=LONG # 做多
# BNB合约配置
FUTURES_BNB_PRICE=1200
FUTURES_BNB_AMOUNT=300 # 开仓保证金300U
FUTURES_BNB_LEVERAGE=5 # 5倍杠杆(实际仓位1500U)
FUTURES_BNB_SIDE=SHORT # 做空
# SOL合约配置
FUTURES_SOL_PRICE=200
FUTURES_SOL_AMOUNT=200 # 开仓保证金200U
FUTURES_SOL_LEVERAGE=10 # 10倍杠杆(实际仓位2000U)
FUTURES_SOL_SIDE=LONG # 做多
# 如果不需要监控某个合约,将AMOUNT设置为0即可
基本运行:
python realtime_monitor.py
- 排名: 按当前价格从高到低排序
- 币种: 显示币种名称和交易对
- 现货价格: 实时更新的USDT价格
- 24h涨跌: 24小时价格变化百分比
- 5m涨跌: 5分钟价格变化百分比
- 1m涨跌: 1分钟价格变化百分比
- 持仓收益: 显示当前持仓的盈亏金额和百分比
- 更新时间: 数据最后更新时间(精确到毫秒)
- 排名: 按当前价格从高到低排序
- 币种: 显示币种交易对符号
- 开仓价格: 显示你配置的开仓价格(便于对比)
- 当前价格: 实时更新的合约价格
- 24h涨跌: 24小时价格变化百分比
- 杠杆: 显示当前使用的杠杆倍数
- 方向: 显示持仓方向(做多/做空)
- 爆仓价格: 实时计算的爆仓价格(风险提示)
- 持仓收益: 显示当前合约持仓的盈亏(已计算杠杆效果)
- 总开仓金额: 底部显示所有合约的保证金总和
- 更新时间: 数据最后更新时间(每2秒更新)
这里提供一个实际的持仓配置示例:
# .env 文件示例
# 比特币:42000U买入,投资1000U
BTC_PRICE=42000
BTC_AMOUNT=1000
# 以太坊:2200U买入,投资500U
ETH_PRICE=2200
ETH_AMOUNT=500
# 币安币:300U买入,投资300U
BNB_PRICE=300
BNB_AMOUNT=300
# 索拉纳:100U买入,投资200U
SOL_PRICE=100
SOL_AMOUNT=200
# 其他币种配置...
TON_PRICE=2.5
TON_AMOUNT=100
DOGE_PRICE=0.08
DOGE_AMOUNT=100
SUI_PRICE=1.2
SUI_AMOUNT=100
ASTER_PRICE=0.5
ASTER_AMOUNT=100
使用这个配置,程序会:
- 计算每个币种的实际持仓数量(投资金额/买入价格)
- 根据当前价格计算实时市值
- 显示收益金额和收益率
- 在底部显示总投资和总收益
- 单个币种收益 = (当前价格 × 持仓数量) - 投资金额
- 收益率 = 收益 ÷ 投资金额 × 100%
- 总收益 = 所有币种收益之和
- 总收益率 = 总收益 ÷ 总投资金额 × 100%
- 价格变化率 = (当前价格 - 开仓价格) ÷ 开仓价格 × 100%
- 做多收益率 = 价格变化率 × 杠杆倍数
- 做空收益率 = -价格变化率 × 杠杆倍数
- 合约收益 = 保证金 × 收益率
- 爆仓价格(做多) = 开仓价格 × (1 - 0.9/杠杆)
- 爆仓价格(做空) = 开仓价格 × (1 + 0.9/杠杆)
- 绿色: 价格上涨/盈利
- 红色: 价格下跌/亏损
- 白色: 价格无变化/持平
- 灰色: 等待数据
-
实时监控:
- 程序启动后会自动开始实时监控
- 所有数据每秒更新一次
- 可以通过观察更新时间确认数据的实时性
-
持仓管理:
- 可以随时修改
.env
文件更新持仓信息 - 程序会实时计算最新收益情况
- 支持不同币种不同投资金额
- 可以随时修改
-
多维度分析:
- 通过对比不同时间维度的涨跌幅,可以快速判断价格趋势
- 结合持仓收益,可以更好地进行投资决策
- 总收益显示帮助了解整体投资表现
-
安全退出:
- 按
Ctrl+C
可以安全退出程序 - 程序会自动清理资源并优雅退出
- 按
- 使用批量数据获取,减少API调用
- 优化的数据结构,确保快速更新
- 精确的时间控制,保证更新频率
- 低资源占用,适合长时间运行
-
API限制:
- 使用币安公开API,无需API密钥
- 遵守币安API访问频率限制
- 建议使用稳定的网络连接
-
数据准确性:
- 所有数据直接来自币安官方API
- 价格和涨跌幅计算与币安官网一致
- 收益计算不包含交易手续费
-
配置文件:
.env
文件中的价格和金额必须为数字- 未配置的币种默认不显示收益
- 配置文件支持热更新,可以在程序运行时修改
-
合约风险提示:
- 合约交易风险极高,请谨慎使用
- 爆仓价格仅供参考,实际爆仓价格可能因手续费等因素略有差异
- 高杠杆意味着高风险,价格小幅波动可能导致爆仓
- 建议设置合理的止损价格
- 本工具仅用于监控,不构成投资建议
-
Q: 运行时提示"Service unavailable from a restricted location"错误怎么办? A: 这是因为币安API在某些地区(如中国大陆)有访问限制。解决方法:
- 在
.env
文件中配置代理:HTTP_PROXY=http://127.0.0.1:7890 HTTPS_PROXY=http://127.0.0.1:7890
- 确保你的代理服务器正常运行(如 Clash、V2Ray 等)
- 端口号(7890)根据你的代理软件实际端口调整
- 在
-
Q: 为什么有时候数据更新会有延迟? A: 这通常是由网络延迟造成的,程序会自动补偿并保持更新频率。
-
Q: 如何添加新的交易对? A: 可以在代码中的
CRYPTO_PAIRS
列表中添加新的交易对配置。 -
Q: 如何修改持仓信息? A: 直接编辑
.env
文件,修改对应币种的PRICE
和AMOUNT
值即可。 -
Q: 程序占用资源多吗? A: 程序经过优化,资源占用很低,适合7x24小时运行。
-
Q: 合约持仓如何配置? A: 在
.env
文件中配置合约信息:FUTURES_XXX_PRICE
: 你的开仓价格(用于对比和计算收益)FUTURES_XXX_AMOUNT
: 开仓保证金(不是仓位总额)FUTURES_XXX_LEVERAGE
: 杠杆倍数FUTURES_XXX_SIDE
: LONG(做多)或 SHORT(做空)- 如果不需要监控某个合约,将AMOUNT设置为0即可
-
Q: 为什么合约和现货更新频率不一样? A: 现货每秒更新,合约每2秒更新。这样可以减少API调用次数,避免触发限流,同时保持良好的监控体验。
-
Q: 爆仓价格准确吗? A: 爆仓价格是根据公式计算的参考值,实际爆仓价格会受到维持保证金率、手续费等因素影响,建议留有一定安全边际。
-
Q: 支持哪些合约交易对? A: 目前支持 BTC、ETH、BNB、SOL 的 USDT 本位永续合约,可以根据需要在代码中添加更多交易对。
-
Q: 开仓价格和保证金怎么理解? A: 举例说明:
- 开仓价格 = 110000 USDT(BTC价格)
- 保证金 = 1000 USDT
- 杠杆 = 10倍
- 实际仓位 = 1000 × 10 = 10000 USDT
- 收益计算 = (当前价格 - 开仓价格) / 开仓价格 × 杠杆 × 保证金
- 程序会显示开仓价格,方便你对比当前价格,判断盈亏
python-binance
: 币安API官方Python封装rich
: 终端UI美化库python-dotenv
: 环境变量配置管理dataclasses
: 数据结构管理
欢迎提交 Issue 和 Pull Request 来帮助改进这个项目!
MIT License