Files
gate_scout_order/onchain_scout_gate
2026-05-25 17:05:12 +08:00
..
2026-05-23 17:25:54 +08:00
2026-05-20 00:37:38 +08:00
2026-05-22 22:31:09 +08:00
2026-05-16 22:25:48 +08:00
2026-05-25 17:05:12 +08:00
2026-05-25 17:05:12 +08:00
2026-05-23 17:25:54 +08:00
2026-05-23 17:25:54 +08:00
2026-05-22 22:15:46 +08:00
2026-05-20 00:37:38 +08:00
2026-05-16 22:25:48 +08:00
2026-05-16 22:25:48 +08:00
2026-05-22 22:15:46 +08:00

Gate.io USDT Perpetual Monitor (Exchange-Only)

仓库总览与 Git 克隆见上级目录:../README.md../CLONE.md

Python service for 7x24 monitoring of Gate.io USDT-settled linear perpetual futures using public REST v4 market data (no on-chain dependency).

Policy(主线)

  • Only live Gate USDT linear perpetual contracts (BASE_USDT, non-delisting) are eligible.
  • monitor.universe: all_swaps (default):自动扫 Gate 上架中的线性合约,用 min_24h_quote_volume_usdt 按 24h 计价货币(USDT)成交额过滤(默认 ≥ 1 百万 USDT,可在 config.yaml 调整);不要混用 watch_symbols。成交额优先读 ticker 的 volume_24h_quote
  • monitor.universe: watchlist:只监控 watch_symbols 里列出的 base 合约(须为 Gate 上架 USDT 线性)。
  • all_swaps 模式下 min_24h_quote_volume_usdt 必须大于 0,否则会扫全市场(极低流动性)。
  • 监控主周期 5m,规则与触发逻辑见 app/exchange_rules.py

附加(非产品主线说明)

  • monitor.btc_daily_gate_enabled(默认关闭):可选的 BTC 日线横盘过滤——在判定为日线横盘 regime 下叠加 K 线形态等附加条件;实验性/非必选风控,不作为对外产品主线说明。实现见 app/btc_regime.py,可在 config.yaml 关闭。

关键位突破监控(半自动 · 主线)

  • GEMMA 漏斗:仅参考;在面板 「关键位突破监控」 录入上/下沿与类型(箱体/收敛 × 标准/趋势)。
  • 5m 门控 通过后:企业微信(单一 SL/TP)+ 可选转发 gate_order_executorkey_monitor.forward_executor)。
  • 默认 对全市场 5m TRIGGER 转发执行器(key_monitor.auto_scan_forward_executor: false)。
  • 说明:docs/关键位突破监控说明.md;变更:更新说明.md

自动下单(gate_order_executor

  • 下单执行器:在 Web 面板 「下单执行器 · 转发链」 维护列表(runtime/order_executors.json),支持运行中增删;首次启动可从 config.yamlorder_executor 导入一条。
  • 关键位 触发且计划 RR 达标后,向已启用执行器 广播 POST /v1/signal(单一止盈/止损,与录入方案一致)。详见 docs/多执行器与信号转发归档.md
  • 该 HTTP 请求 不走 proxy.url,便于同机访问执行器。

全市场模式下扫描量较大,建议把 poll_interval_seconds 调到 300 秒或更长,并遵守 Gate 公开频率限制。

Web Panel

  • Login required for all /api/* and dashboard (unless auth.enabled: false).
  • MATRIX 主视图:表格列为 Gemma 漏斗评分/api/funnel),按 composite_score 排序。
  • K 线周期:监控主周期 5m;其它周期沿用内部命名(如 4H1D),在 app/gate.py 映射为 Gate 的 interval

Gemma 漏斗(本地 Ollama

  1. 安装并启动 Ollamaollama pull 你的 Gemma 模型(如 gemma2:2b);多模态需带 vision 的 tag 才能送 K 线图。
  2. config.yamlgemma.enabled: true,按需改 modelollama_base_url
  3. 每个 5m 扫描 产生 WATCH / TRIGGER 后,按 24h 成交额max_funnel_per_cycle 上限,取 日线 OHLCV + 可选图表;按 vision_top_nmatplotlib 生成的 PNG 截图base64)给 Ollama(纯文本模型设 send_chart_image: false)。
  4. 模型必须返回 JSON 结构(见 app/gemma_client.py)。合并 composite_score 后写入 alertsdetails.source === gemma_funnel);若 priority >= gemma_push_priority_min composite_score >= composite_push_min,则 企业微信 推送一条「MATRIX · 漏斗优先」提醒。
  5. 若 Ollama 对 format: json 不稳,可将 gemma.json_mode 设为 false

Project Layout

onchain_scout_gate/
  app/
    main.py
    web.py
    monitor.py
    gate.py
    exchange_rules.py
    btc_regime.py
    daily_features.py
    chart_candles.py
    gemma_client.py
    notifier.py
    order_executor_forward.py
    key_monitor_service.py
    key_gate.py
    key_sl_tp.py
    storage.py
    models.py
    config.py
  templates/
  static/
  deploy/
    ecosystem.config.cjs   # PM2: python -m app.main
    onchain-scout.service  # 可选:systemd + pm2-runtime
  config.example.yaml
  requirements.txt

本地 / 服务器部署(PM2,推荐)

  1. Python 3.10+python -m venv .venvpip install -r requirements.txt
  2. 复制 config.example.yamlconfig.yaml,填写 authwecommonitor 等。
  3. 安装 Node.js 后:npm install -g pm2
  4. 在项目根:pm2 start deploy/ecosystem.config.cjs
  5. 常用:pm2 logs onchain-scoutpm2 restart onchain-scoutpm2 save(配合 pm2 startup 开机)。

监听地址与端口以 config.yamlapp.host / app.port(与 app.main 起 uvicorn 一致)。

SOCKS5 代理

  • 代理写在 config.yamlproxyenabled / url),仅用于访问 Gate 的 httpx当前实现里企业微信等为直连 proxy_url=None本地 Ollama 不走代理
  • 详见 docs/本地部署-SOCKS5代理.md

Linux Quick Startvenv + PM2

cd /opt/onchain_scout_gate
chmod +x deploy/bootstrap.sh
./deploy/bootstrap.sh /opt/onchain_scout_gate
# 编辑 config.yaml
source .venv/bin/activate
npm install -g pm2
pm2 start deploy/ecosystem.config.cjs

也可用当前脚本快速试:deploy/start.shuvicorn,非 PM2)。

systemd(可选)

长期用 systemd 托管 PM2(进程用 pm2-runtime),可参考 deploy/onchain-scout.service(需已安装 pm2,并按环境改 WorkingDirectory / ExecStart)。

Config Keys

  • gate.api_base:默认 https://api.gateio.ws/api/v4;亦可按官方文档使用 https://fx-api.gateio.ws/api/v4
  • gate.settleUSDT 线性填 usdt
  • gate.quote_currency:计价货币,默认 USDT
  • monitor.universe: all_swaps | watchlist.
  • watch_symbols: 仅在 watchlist 模式下使用。
  • monitor.min_24h_quote_volume_usdt: 24h 成交额(USDT)下限;all_swaps 须填 >0。默认 1 百万
  • monitor.btc_daily_gate_enabled / btc_sideways_*: 可选 BTC 日线横盘过滤(非主线说明);默认关闭,见 config.yaml
  • gemma.*proxy.*app.poll_interval_seconds: 见 config.example.yaml