95 lines
3.7 KiB
Markdown
95 lines
3.7 KiB
Markdown
# crypto_monitor_gate
|
||
|
||
基于 **Flask** 的加密货币 **下单监控 / 关键位监控 / 交易复盘** 小系统,行情与实盘接口统一走 **Gate.io USDT 永续**,通过 **ccxt** 访问。
|
||
|
||
## 文档导航
|
||
|
||
| 文档 | 说明 |
|
||
|------|------|
|
||
| **[使用说明.md](./使用说明.md)** | 日常怎么用:登录、关键位四类、手工开仓、单仓与微信等 |
|
||
| **[关键位自动下单说明.md](./关键位自动下单说明.md)** | 关键位自动开仓的 RR、止盈止损、结案原因与 `.env` |
|
||
| **[部署文档.md](./部署文档.md)** | Ubuntu、PM2、**SSH SOCKS** 访问 Gate API 等 |
|
||
|
||
另:**Binance U 本位** 对等实现见同级的 **`crypto_monitor_binance`** 仓库。
|
||
|
||
---
|
||
|
||
## 功能概要
|
||
|
||
- **关键位监控**:5m 收线硬条件、企业微信推送;**箱体 / 收敛** 在 RR 达标时可 **自动市价开仓**(见专门文档);**阻力 / 支撑** 仅单次提醒结案
|
||
- **下单监控**:本地风控(含移动保本)、止盈/止损触达后轮询尝试平仓并记账
|
||
- **实盘(可选)**:`LIVE_TRADING_ENABLED=true` 且配置 **`GATE_API_KEY` / `GATE_API_SECRET`** 时,支持开仓、挂单 TP/SL、余额与划转(权限依账户而定)
|
||
- **止盈止损(Gate)**:市价成交后经 **`_gate_place_tp_sl_orders`** 挂单;优先 **仓位类 `price_orders`**(受 `GATE_TPSL_USE_POSITION_ORDER`、`GATE_TPSL_PRICE_TYPE`、`GATE_POS_MODE` 等影响)
|
||
|
||
---
|
||
|
||
## 环境要求
|
||
|
||
- Python 3.10+(建议)
|
||
- 依赖:`flask`、`requests`、`ccxt`、`werkzeug`、`PySocks`(经 SOCKS 代理时);`Pillow`(K 线导出等可选用)
|
||
|
||
安装示例:
|
||
|
||
```bash
|
||
python -m venv .venv
|
||
source .venv/bin/activate # Windows: .venv\Scripts\activate
|
||
pip install flask requests ccxt werkzeug PySocks Pillow
|
||
```
|
||
|
||
## 配置(`.env.example` → `.env`)
|
||
|
||
- **`.env.example`**:模板(可提交 Git);首次:`cp .env.example .env` 后编辑。
|
||
- **`.env`**:本机真实配置(勿提交);`git pull` 不覆盖;升级前建议备份(见《部署文档》§5.2)。
|
||
|
||
项目启动时加载**仓库根目录**下的 `.env`。常用项:
|
||
|
||
| 变量 | 说明 |
|
||
|------|------|
|
||
| `GATE_API_KEY` / `GATE_API_SECRET` | Gate API(需合约与对应权限) |
|
||
| `LIVE_TRADING_ENABLED` | `true` 允许真实下单;`false` 仅本地与推送逻辑 |
|
||
| `GATE_MARGIN_MODE` / `GATE_POS_MODE` | 保证金与持仓模式 |
|
||
| `GATE_TPSL_USE_POSITION_ORDER` / `GATE_TPSL_PRICE_TYPE` 等 | 条件止盈止损行为 |
|
||
| `GATE_SOCKS_PROXY` | 可选;直连不稳时 SSH 动态转发(详见部署文档) |
|
||
| `APP_PASSWORD` / `FLASK_SECRET_KEY` | Web 登录与 Session |
|
||
| `WECHAT_WEBHOOK` | 企业微信机器人 |
|
||
| `EXCHANGE_DISPLAY_NAME` / `GATE_ACCOUNT_LABEL` | 页面与推送展示的账户文案 |
|
||
|
||
其余见 **`.env.example` 内注释** 或 **`app.py` 顶部默认值**。
|
||
|
||
## 本地运行
|
||
|
||
**Windows** 推荐使用 UTF-8 控制台脚本:
|
||
|
||
```powershell
|
||
.\start_utf8.ps1
|
||
```
|
||
|
||
或直接:
|
||
|
||
```powershell
|
||
python .\app.py
|
||
```
|
||
|
||
端口由 **`APP_PORT`** 控制(未设置默认 **5000**)。浏览器登录 **`/login`**,口令为 **`APP_PASSWORD`**。
|
||
|
||
## 部署(Linux / PM2 / SSH SOCKS)
|
||
|
||
见 **[部署文档.md](./部署文档.md)**。
|
||
|
||
## 自检脚本
|
||
|
||
```bash
|
||
python scripts/verify_gate_funding.py
|
||
```
|
||
|
||
用于核对密钥前缀(不落 Secret)、资金/合约可读性等(需网络与权限)。
|
||
|
||
## 数据与脚本
|
||
|
||
- 默认 SQLite:由 **`DB_PATH`** 指定(常见为项目下 `crypto.db`)
|
||
- `scripts/fix_breakeven_labels.py`:修正「止损」但盈亏为正的记录标签(参见部署文档说明)
|
||
|
||
## 风险与合规
|
||
|
||
实盘有亏损风险。请确认 API 权限、IP 白名单、杠杆与保证金模式与 **Gate.io** 后台一致,并遵守当地法律法规与交易所用户协议。
|