Skip to content

itgoyo/python-binance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

币安实时价格监控器

这是一个强大的币安加密货币实时价格监控工具,使用 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 系统

安装步骤

  1. 克隆项目:
git clone https://github.com/yourusername/python-binance.git
cd python-binance
  1. 安装依赖:
pip install -r requirements.txt
  1. 配置持仓信息: 创建 .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

使用这个配置,程序会:

  1. 计算每个币种的实际持仓数量(投资金额/买入价格)
  2. 根据当前价格计算实时市值
  3. 显示收益金额和收益率
  4. 在底部显示总投资和总收益

收益计算说明

现货收益计算

  • 单个币种收益 = (当前价格 × 持仓数量) - 投资金额
  • 收益率 = 收益 ÷ 投资金额 × 100%
  • 总收益 = 所有币种收益之和
  • 总收益率 = 总收益 ÷ 总投资金额 × 100%

合约收益计算

  • 价格变化率 = (当前价格 - 开仓价格) ÷ 开仓价格 × 100%
  • 做多收益率 = 价格变化率 × 杠杆倍数
  • 做空收益率 = -价格变化率 × 杠杆倍数
  • 合约收益 = 保证金 × 收益率
  • 爆仓价格(做多) = 开仓价格 × (1 - 0.9/杠杆)
  • 爆仓价格(做空) = 开仓价格 × (1 + 0.9/杠杆)

颜色说明

  • 绿色: 价格上涨/盈利
  • 红色: 价格下跌/亏损
  • 白色: 价格无变化/持平
  • 灰色: 等待数据

使用技巧

  1. 实时监控:

    • 程序启动后会自动开始实时监控
    • 所有数据每秒更新一次
    • 可以通过观察更新时间确认数据的实时性
  2. 持仓管理:

    • 可以随时修改 .env 文件更新持仓信息
    • 程序会实时计算最新收益情况
    • 支持不同币种不同投资金额
  3. 多维度分析:

    • 通过对比不同时间维度的涨跌幅,可以快速判断价格趋势
    • 结合持仓收益,可以更好地进行投资决策
    • 总收益显示帮助了解整体投资表现
  4. 安全退出:

    • Ctrl+C 可以安全退出程序
    • 程序会自动清理资源并优雅退出

性能说明

  • 使用批量数据获取,减少API调用
  • 优化的数据结构,确保快速更新
  • 精确的时间控制,保证更新频率
  • 低资源占用,适合长时间运行

注意事项

  1. API限制:

    • 使用币安公开API,无需API密钥
    • 遵守币安API访问频率限制
    • 建议使用稳定的网络连接
  2. 数据准确性:

    • 所有数据直接来自币安官方API
    • 价格和涨跌幅计算与币安官网一致
    • 收益计算不包含交易手续费
  3. 配置文件:

    • .env 文件中的价格和金额必须为数字
    • 未配置的币种默认不显示收益
    • 配置文件支持热更新,可以在程序运行时修改
  4. 合约风险提示:

    • 合约交易风险极高,请谨慎使用
    • 爆仓价格仅供参考,实际爆仓价格可能因手续费等因素略有差异
    • 高杠杆意味着高风险,价格小幅波动可能导致爆仓
    • 建议设置合理的止损价格
    • 本工具仅用于监控,不构成投资建议

常见问题

  1. 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)根据你的代理软件实际端口调整
  2. Q: 为什么有时候数据更新会有延迟? A: 这通常是由网络延迟造成的,程序会自动补偿并保持更新频率。

  3. Q: 如何添加新的交易对? A: 可以在代码中的 CRYPTO_PAIRS 列表中添加新的交易对配置。

  4. Q: 如何修改持仓信息? A: 直接编辑 .env 文件,修改对应币种的 PRICEAMOUNT 值即可。

  5. Q: 程序占用资源多吗? A: 程序经过优化,资源占用很低,适合7x24小时运行。

  6. Q: 合约持仓如何配置? A: 在 .env 文件中配置合约信息:

    • FUTURES_XXX_PRICE: 你的开仓价格(用于对比和计算收益)
    • FUTURES_XXX_AMOUNT: 开仓保证金(不是仓位总额)
    • FUTURES_XXX_LEVERAGE: 杠杆倍数
    • FUTURES_XXX_SIDE: LONG(做多)或 SHORT(做空)
    • 如果不需要监控某个合约,将AMOUNT设置为0即可
  7. Q: 为什么合约和现货更新频率不一样? A: 现货每秒更新,合约每2秒更新。这样可以减少API调用次数,避免触发限流,同时保持良好的监控体验。

  8. Q: 爆仓价格准确吗? A: 爆仓价格是根据公式计算的参考值,实际爆仓价格会受到维持保证金率、手续费等因素影响,建议留有一定安全边际。

  9. Q: 支持哪些合约交易对? A: 目前支持 BTC、ETH、BNB、SOL 的 USDT 本位永续合约,可以根据需要在代码中添加更多交易对。

  10. 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

About

币安实时价格监控+个人持仓受益终端查看神器

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages