Files
crypto_monitor_user/crypto_monitor_binance/README.md
T
dekun 53863559f4 Initialize crypto_monitor_user (user edition) from monitor codebase.
Retarget git remote, install path, and deploy docs from crypto_monitor to crypto_monitor_user.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 16:18:13 +08:00

3.8 KiB

crypto_monitor_binance

基于 Flask 的加密货币 下单监控 / 关键位监控 / 交易复盘 小系统,行情与实盘接口统一走 Binance(USDT-M 永续),通过 ccxt 访问.

功能概要

  • 关键位监控:价格与硬条件校验,企业微信推送(可选)
  • 下单监控:本地风控(含移动保本逻辑),触达止盈/止损后尝试市价平仓并记账
  • 策略交易:顶栏 /strategy(趋势回调 + 顺势加仓),见仓库根 策略交易说明.md
  • AI 复盘:OpenAI 兼容网关(默认)或 Ollama,见 AI复盘与模型配置说明.md
  • 实盘(可选):LIVE_TRADING_ENABLED=true 且配置 BINANCE_API_KEY / BINANCE_API_SECRET 时,支持合约开仓,平仓,余额读取与内部划转(依赖 API 权限)
  • 止盈止损(Binance):市价成交后挂 STOP_MARKET(止损),TAKE_PROFIT_MARKET(止盈);双向持仓带 positionSide;不显式传 reduceOnly(避免 API -1106).触发参考价由 BINANCE_TRIGGER_WORKING_TYPE 控制(最新价 / 标记价)

环境要求

  • Python 3.10+(建议)
  • 依赖:flask,requests,ccxt,werkzeug,Pillow(K 线图可选);经 SOCKS 代理时需 PySocks

安装示例:

# 推荐在 /opt/crypto_monitor_user 执行仓库根目录 deploy/setup_env.sh
cd /opt/crypto_monitor_user/crypto_monitor_binance
source .venv/bin/activate
pip install -r ../requirements.txt

页面上的 「当日资金(交易账户)」「可开仓」可用 U 仅统计 Binance U 本位永续合约账户(fetch_balanceswap / FAPI assets 中的 USDT),不会再用现货余额顶替.

配置说明(.env.example.env)

  • .env.example:模板(可提交 Git);首次:cp .env.example .env 后编辑.
  • .env:本机真实配置(勿提交);app.py 只读此文件.git pull 不覆盖 .env;升级前可 cp .env .env.backup.$(date +%Y%m%d).

与 Binance 相关的常用变量:

变量 说明
BINANCE_API_KEY / BINANCE_API_SECRET 币安 API(需合约等权限)
LIVE_TRADING_ENABLED true 时允许真实下单;false 仅本地逻辑
BINANCE_MARGIN_MODE cross 全仓 / isolated 逐仓
BINANCE_POSITION_MODE hedge 双向(需账户开启双向持仓)/ oneway 单向
BINANCE_TRIGGER_WORKING_TYPE CONTRACT_PRICEMARK_PRICE(条件单触发参考)
BINANCE_SOCKS_PROXY / BINANCE_HTTP_PROXY 可选代理(与部署文档一致)
EXCHANGE_DISPLAY_NAME 页面展示的交易所名称,默认 Binance
BINANCE_ACCOUNT_LABEL 推送文案中的账户备注

其余变量(登录,企业微信,风控参数,AI_PROVIDER / OPENAI_* / OLLAMA_*,数据库路径等)见 .env.example 内注释app.py 顶部默认值.

运行

生产环境使用 PM2(ecosystem.config.cjs).临时调试:

cd /opt/crypto_monitor_user/crypto_monitor_binance
source .venv/bin/activate
python app.py

环境说明见 docs/ubuntu-server.md.

默认监听端口由 .envAPP_PORT 决定(未设置时多为 5000).

部署(Linux / PM2 / SSH SOCKS)

详见 部署文档.md(Ubuntu + PM2 + 可选 SOCKS 访问 Binance).

自检脚本

python scripts/verify_binance_funding.py

用于核对 Key 前缀(不含 Secret)并尝试读取资金钱包 / 合约钱包 USDT(需网络与 API 权限).

数据与脚本

  • 默认 SQLite:crypto.db(路径由 DB_PATH 指定)
  • scripts/fix_breakeven_labels.py:批量修正「止损」但盈亏为正的记录标签(见部署文档附录)

风险与合规

实盘交易有亏损风险.请自行确认 API 权限,IP 白名单,杠杆与保证金模式与币安账户设置一致,并遵守当地法律法规与 Binance 用户协议.