# coin_monitor **Repository Path**: yangBlogs/coin_monitor ## Basic Information - **Project Name**: coin_monitor - **Description**: 全球多交易所资金流监控系统 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-01-27 - **Last Updated**: 2026-01-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 全球多交易所资金流监控系统 (GME-FFMS) **Global Multi-Exchange Fund Flow Monitoring System** 实时监控 Binance、OKX、Bybit、Coinbase 四大交易所的主力资金流向,识别市场共识和交易信号。 --- ## 📊 核心功能 - ✅ **多平台实时监控**: 默认针对 Binance 合约 (可扩展支持 OKX/Bybit) - ✅ **双轨信号 (Dual-Track)**: 1m 主力拉升 + 15m 稳步上涨 - ✅ **智能信号识别**: 自动检测全球协同、机构吸筹、诱多/出货等信号 - ✅ **合约/现货切换**: 支持一键切换 Binance 合约 (Futures) 或现货 (Spot) 监控 - ✅ **只做多 (Long Only)**: 屏蔽所有出货/做空信号,专注于上涨机会 - ✅ **多周期趋势确认**: 结合 5m/15m/1h 趋势过滤假信号 - ✅ **24h 成交额显示**: 警报中包含 24h 成交额,一眼识别流动性 - ✅ **动态风控策略**: 自动计算止损/止盈价格 (ATR 动态盈亏比) - ✅ **回测系统**: 内置历史数据回测脚本 - ✅ **策略学习系统**: 自动学习高胜率策略并优化参数 - ✅ **独立策略学习程序**: 持续运行的策略学习应用,自动筛选高胜率品种 - ✅ **市场共识分析**: 基于多平台数据判断市场整体趋势 - ✅ **巨鲸监控**: 实时捕捉大额交易(默认 $200k+) - ✅ **实时推送通知**: 支持钉钉和企业微信群机器人推送(A+/A/B+ 级信号) --- ## 🚀 快速开始 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 运行监控 ```bash PYTHONPATH=. python src/main.py ``` ### 3. 配置参数(可选) 编辑 `src/config.py`: ```python # 市场类型: 'future' (合约) 或 'spot' (现货) MARKET_TYPE = "future" # 24h成交额过滤 (默认只监控 > 50万U 的币种) MIN_24H_QUOTE_VOLUME = 500000 TIMEFRAME = "1m" # K线周期(1分钟) LIMIT_KLINE = 100 # 获取K线数量 ENABLE_MULTI_SYMBOL = True # 启用多币种监控 ``` --- ## 📈 市场共识等级 系统基于 **过去 50 分钟** 的资金流向数据,实时计算市场共识: ### 🔴 强力看跌 - **条件**: 所有 4 个平台净流出 > $1,000 - **含义**: 主力资金全面撤离,市场一致看空 - **示例**: `ADA/USDT | 共识: 强力看跌 | BIN:-97k | OKX:-40k | BYB:-17k | COI:-14k` ### 🟢 强力看涨 - **条件**: 所有 4 个平台净流入 > $1,000 - **含义**: 主力资金全面进场,市场一致看多 - **示例**: `BTC/USDT | 共识: 强力看涨 | BIN:+500k | OKX:+200k | BYB:+100k | COI:+50k` ### 🟡 倾向看涨 - **条件**: 总净流入 > $50,000,000 - **含义**: 整体资金流入显著,但平台间存在分歧 - **示例**: `ETH/USDT | 共识: 倾向看涨 (总净流入: $52.3M)` ### 🟠 倾向看跌 - **条件**: 总净流出 > $50,000,000 - **含义**: 整体资金流出显著,但平台间存在分歧 - **示例**: `SOL/USDT | 共识: 倾向看跌 (总净流出: $51.2M)` ### ⚪ 震荡/分歧 - **条件**: 不满足以上任何条件 - **含义**: 平台间意见不一致,或资金流量不够显著 - **示例**: `LINK/USDT | 共识: 震荡/分歧 | BIN:+100k | OKX:-80k | BYB:+50k | COI:-20k` --- ## 🚨 交易信号详解 系统会自动识别以下高价值信号,并以 `🚨 CRITICAL` 级别输出: ### 🏆 A+ 级信号:全球协同看涨 (Global Sync Bullish) > **注意**: 仅保留看涨方向信号。 **触发条件**: - ✅ 所有有效平台净流入/流出方向一致 - ✅ 所有有效平台买卖比 > 1.15 (看涨) 或 < 0.85 (看跌) - ✅ 5m/1h 趋势与信号方向一致 (多周期共振) **信号含义**: 主力资金在全球范围内同步行动,市场情绪高度一致。 --- ### 💎 A 级信号:稳步上涨 (Steady Growth) **触发条件**: - ✅ 15m 周期均线多头排列 (MA20 > MA60) - ✅ 走势温和稳定 (无暴涨暴跌) - ✅ 趋势斜率持续向上 **信号含义**: 主力资金在进行有计划的稳健推升,趋势可持续性强,适合顺势入场。 **日志示例**: ``` 💎 [ETH/USDT] 稳步上涨趋势确认 (MA多头排列, 斜率+0.08%) ``` --- ### 💎 A 级信号:美资机构吸筹 **触发条件**: - ✅ Coinbase 净流入 > 其他平台平均值的 1.5 倍 - ✅ Coinbase 净流入 > $1,000,000 - ✅ 数据窗口:过去 50 分钟 **信号含义**: 美国机构投资者通过 Coinbase 大量买入,通常预示着中长期看涨。Coinbase 是美国合规交易所,机构资金流入具有风向标意义。 **交易建议**: - 中长期看多信号 - 适合建仓或持有 - 关注后续其他平台是否跟进 **日志示例**: ``` 🚨 [ETH/USDT] 信号触发 [A]: 美资机构吸筹 (US Institutional Accumulation) - Coinbase 领涨,机构资金流入显著。 ``` --- ### ⚠️ C 级信号:单平台诱多陷阱 **触发条件**: - ✅ Binance/OKX(东方交易所)净流入 > 0 - ✅ Coinbase(西方交易所)净流出 < 0 - ✅ 数据窗口:过去 50 分钟 **信号含义**: 东方散户在买入,而西方机构在卖出。这可能是主力利用散户情绪进行诱多出货的陷阱。 **交易建议**: - ⚠️ 警惕信号,不建议追涨 - 如已持仓,考虑减仓或止盈 - 等待西方资金流向转正后再入场 **日志示例**: ``` 🚨 [HBAR/USDT] 信号触发 [C]: 单平台诱多 (Single Platform Long Trap) - 东方交易所买入,西方交易所卖出。警惕诱多。 ``` --- ### � 巨鲸监控 **功能说明**: 实时监控所有交易所的大额交易,捕捉主力资金动向。 **触发条件**: - ✅ 单笔交易金额 ≥ $200,000(可配置) - ✅ 实时监控最近 1000 笔交易 - ✅ 覆盖所有 4 个交易所 **监控逻辑**: ```python # 默认阈值 WHALE_THRESHOLD = 200000.0 # $200k # 计算方式 交易金额 = 交易数量 × 成交价格 if 交易金额 >= 阈值: 触发巨鲸警报 ``` **信号含义**: - 🟢 **巨鲸买入**: 大资金主动买入,可能预示上涨 - 🔴 **巨鲸卖出**: 大资金主动卖出,可能预示下跌 - 📊 **交易所差异**: 不同交易所的巨鲸行为可能反映不同市场情绪 **日志示例**: ``` 🐳 [BTC/USDT] 巨鲸监测 [BINANCE]: 买入 $523,450 @ 42,150 🐳 [ETH/USDT] 巨鲸监测 [COINBASE]: 卖出 $1,250,000 @ 2,280 🐳 [SOL/USDT] 巨鲸监测 [OKX]: 买入 $305,820 @ 98.5 ``` **交易建议**: - **连续巨鲸买入**: 强烈看多信号,主力在建仓 - **连续巨鲸卖出**: 警惕信号,主力可能在出货 - **买卖交替**: 震荡行情,等待方向明确 - **配合平台共识**: - 巨鲸买入 + 强力看涨 = 最强确认 - 巨鲸卖出 + 强力看跌 = 最强确认 **调整阈值**: 编辑 `src/config.py`: ```python WHALE_THRESHOLD = 500000.0 # 改为 $500k(更严格) WHALE_THRESHOLD = 100000.0 # 改为 $100k(更宽松) ``` --- ### �🔮 B 级信号:衍生品对冲(未实现) **计划功能**: - 监控期货持仓量(Open Interest)变化 - 识别现货买入 + 期货做空的对冲行为 - 判断主力是否在进行风险对冲 **状态**: 🚧 开发中 --- ## 📊 数据说明 ### 时间窗口 - **K线数量**: 100 根(1分钟周期) - **分析窗口**: 最近 50 根 K线 - **实际时间跨度**: **50 分钟** - **更新频率**: 每 60 秒扫描一次 ### 净流量计算 ``` 净流量 (Net Flow) = Taker Buy Volume - Taker Sell Volume ``` - **Taker Buy**: 主动买入(市价单吃掉卖单) - **Taker Sell**: 主动卖出(市价单吃掉买单) - **正值**: 买盘强于卖盘(看涨) - **负值**: 卖盘强于买盘(看跌) ### 买卖比计算 ``` 买卖比 (Buy/Sell Ratio) = Total Taker Buy / Total Taker Sell ``` - **> 1.15**: 强势买盘 - **0.85 - 1.15**: 均衡 - **< 0.85**: 强势卖盘 --- ## 🎯 使用场景 ### 1. 日内交易 - 关注 **强力看涨/看跌** 信号 - 利用 50 分钟窗口捕捉短期趋势 - 配合技术指标确认入场点 ### 2. 波段交易 - 关注 **A+ 全球协同** 和 **A 机构吸筹** 信号 - 等待多平台共振后入场 - 持有至市场共识转变 ### 3. 风险规避 - 警惕 **C 级诱多陷阱** 信号 - 避免在平台分歧时追高 - 等待资金流向一致后再操作 --- --- ## 📲 通知配置(钉钉 & 企业微信) 系统支持将 A+/A 级信号实时推送到钉钉和企业微信群聊,确保不错过重要交易机会。 ### 1. 钉钉机器人配置 **步骤 1**: 在钉钉群聊中添加自定义机器人 1. 打开钉钉群聊 → 群设置 → 智能群助手 → 添加机器人 2. 选择"自定义"机器人 3. 设置机器人名称(如"资金流监控") 4. **安全设置**:选择"加签"方式(推荐) 5. 复制 Webhook URL 和加签密钥 **步骤 2**: 配置环境变量 创建 `.env` 文件(参考 `.env.example`): ```bash ENABLE_DINGTALK=true DINGTALK_WEBHOOK=https://oapi.dingtalk.com/robot/send?access_token=YOUR_TOKEN DINGTALK_SECRET=YOUR_SECRET_KEY ``` **消息示例**: ```markdown ### 🚨 全球主力资金监控系统报警 **信号类型**: 全球协同看涨 (Global Sync Bullish) **信号等级**: A+ **币种**: BTC/USDT **触发时间**: 2025-12-12 17:00:00 --- **平台资金流向** (过去50分钟): - 📈 BINANCE: +500k USDT - 📈 OKX: +200k USDT - 📈 BYBIT: +100k USDT - 📈 COINBASE: +50k USDT **市场共识**: 强力看涨 (全平台净流入) --- **信号解读**: 主力全平台吸筹,市场做多情绪一致。 🚀 **强烈建议**: 主力全平台建仓,适合追涨或加仓,止损设置在关键支撑位。 ``` --- ### 2. 企业微信机器人配置 **步骤 1**: 在企业微信群聊中添加群机器人 1. 打开企业微信群聊 → 群设置 → 群机器人 → 添加机器人 2. 设置机器人名称(如"资金流监控") 3. 复制 Webhook URL **步骤 2**: 配置环境变量 ```bash ENABLE_WECHAT=true WECHAT_WEBHOOK=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_KEY ``` --- ### 3. 推送策略 | 通知类型 | 钉钉 | 企业微信 | @所有人 | 说明 | |---------|------|---------|---------|------| | **A+/A 级信号** | ✅ 立即 | ✅ 立即 | ✅ 是 | 最强信号,立即推送 | | **强力看涨/看跌** | ✅ 立即 | ✅ 立即 | ✅ 是 | 全平台共识,立即推送 | | **巨鲸交易** | ✅ 立即 | ✅ 立即 | ❌ 否 | ≥$500k 大额交易 | | **B 级信号** | ⏰ 30分钟汇总 | ✅ 立即 | ❌ 否 | 中等信号,延迟汇总 | | **C 级信号** | ❌ 仅日志 | ❌ 仅日志 | ❌ 否 | 低级信号,不推送 | **调整推送等级**: 编辑 `src/config.py`: ```python # 只推送 A+ 级信号 NOTIFY_GRADES = ["A+"] # 推送 A+/A/B 级信号 NOTIFY_GRADES = ["A+", "A", "B"] # 调整巨鲸阈值 WHALE_NOTIFY_THRESHOLD = 1000000.0 # 改为 $1M # 禁用巨鲸通知 ENABLE_WHALE_NOTIFY = False # 禁用共识通知 ENABLE_CONSENSUS_NOTIFY = False ``` --- ### 4. 限流保护 **API 限制**: - 钉钉:每个机器人每分钟最多 20 条消息 - 企业微信:每个机器人每分钟最多 20 条消息 **系统保护**: - B 级信号每 30 分钟汇总一次推送 - C 级信号仅记录日志,不推送 - 避免短时间内重复推送相同信号 --- ### 5. 测试验证 **测试推送**: ```python # 在 Python 环境中测试 from src.services.notification import NotificationService import asyncio async def test(): service = NotificationService() message = "### 🚨 测试消息\n\n这是一条测试消息" await service.send_dingtalk(message, at_all=False) await service.send_wechat(message) asyncio.run(test()) ``` --- ## 📈 回测系统 本系统内置了历史数据回测功能,用于验证策略在历史行情中的表现。 ### 使用方法 ```bash # 回测 ETH/USDT 过去 3 天的数据 python src/backtest.py ETH/USDT 3 ``` ### 回测报告示例 ``` ================================================== 📊 Backtest Results for ETH/USDT (3 days) ================================================== Total Trades: 5 Win Rate: 60.00% (3W / 2L) Total PnL: $1,250.00 Final Bal: $11,250.00 (12.50%) -------------------------------------------------- Latest 5 Trades: 2025-12-28 10:00:00 LONG PnL: $500.00 (TP) 2025-12-28 14:30:00 SHORT PnL: -$200.00 (SL) ... ================================================== ``` --- ## 🤖 策略学习系统 策略学习系统是一个自动学习高胜率策略的功能模块,它能够分析历史数据,找到最优的策略参数,并使用这些参数筛选出高胜率的交易品种。 ### 核心功能 - ✅ **自动参数优化**: 通过网格搜索找到最优的策略参数 - ✅ **持续运行**: 支持作为独立程序持续运行,定期更新策略 - ✅ **品种筛选**: 根据最优策略筛选出高胜率的交易品种 - ✅ **异步执行**: 在独立进程中运行,不阻塞主程序 - ✅ **独立通知通道**: 策略学习通知使用独立的通知通道 - ✅ **结果持久化**: 将最优策略参数保存到文件 ### 独立策略学习程序 #### 运行方法 ```bash # 运行独立的策略学习程序 python src/main_learn_app.py # 带参数运行 python src/main_learn_app.py --days 7 --limit 100 --learn-interval 3600 --scan-interval 300 ``` #### 参数说明 | 参数 | 说明 | 默认值 | |------|------|--------| | `--days` | 回测天数 | 7 | | `--limit` | 回测品种数量限制 | 100 | | `--learn-interval` | 策略学习间隔(秒) | 14400(4小时) | | `--scan-interval` | 品种扫描间隔(秒) | 300(5分钟) | | `--output` | 策略结果输出文件 | strategy_results.json | | `--no-notify` | 不发送通知 | 否 | ### 策略学习配置 编辑 `src/config.py` 中的策略学习相关配置: ```python # ==================== 策略学习配置 ==================== ENABLE_STRATEGY_LEARNING = True # 是否启用策略学习 STRATEGY_LEARNING_DAYS = 7 # 回测天数 STRATEGY_LEARNING_INTERVAL_HOURS = 24 # 策略学习间隔(小时) MIN_WINRATE_THRESHOLD = 0.6 # 最小胜率阈值 STRATEGY_LEARNING_LIMIT = 10 # 每次学习的最大品种数 ENABLE_SINGLE_PLATFORM_TRAP_DETECTION = True # 启用单平台诱多检测 ``` ### 通知配置 策略学习通知使用独立的通知通道,需要在配置文件中设置: ```python # 拉盘/稳步上涨专用通知通道(策略学习通知使用此通道) ENABLE_PUMP_GROWTH_CHANNEL = True # 钉钉专用通道(拉盘/稳步上涨/策略学习) PUMP_GROWTH_DINGTALK_WEBHOOK = "https://oapi.dingtalk.com/robot/send?access_token=YOUR_TOKEN" PUMP_GROWTH_DINGTALK_SECRET = "YOUR_SECRET" # 企业微信专用通道(拉盘/稳步上涨/策略学习) PUMP_GROWTH_WECHAT_WEBHOOK = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_KEY" ``` ### 策略学习流程 1. **数据获取**: 从 Binance 获取历史 K 线数据 2. **参数优化**: 通过网格搜索找到最优的策略参数 3. **策略生成**: 根据最优参数创建策略对象 4. **品种筛选**: 使用最优策略筛选出高胜率的交易品种 5. **通知发送**: 将结果发送到独立的通知通道 6. **定期更新**: 按照配置的时间间隔重复上述过程 ### 策略学习结果示例 ```json { "best_params": { "min_total_flow": 200000, "min_ratio": 2.0, "atr_sl_mult": 1.5, "atr_tp_mult": 2.5, "min_consensus_bars": 2 }, "winrate": 0.65, "learned_symbols": ["BTC/USDT", "ETH/USDT", "SOL/USDT"], "timestamp": "2026-01-05 17:00:00", "cycle": 1 } ``` --- ## �🔧 高级配置 ### 调整时间窗口 编辑 `src/main.py`: ```python taker_analyzer = TakerFlowAnalyzer(window=50) # 改为 20/100 等 ``` - **更短窗口(20)**: 更敏感,适合超短线 - **更长窗口(100)**: 更稳定,过滤噪音 ### 调整共识阈值 编辑 `src/analyzers/multi_platform.py`: ```python if flow > 1000: positive_flows += 1 # 单平台阈值 elif flow < -1000: negative_flows += 1 if total_flow > 50000000: # 总流量阈值(5000万美元) ``` ### 只监控特定交易所 编辑 `src/config.py`: ```python EXCHANGES = { "binance": True, # 默认开启 "okx": False, # 建议关闭,防止现货数据干扰合约信号 "bybit": False, "coinbase": False } ``` --- ## 📝 日志输出示例 ``` 2025-12-12 17:00:14 | INFO - ✅ OKX 监控列表 (559 个币种) 2025-12-12 17:00:14 | INFO - === 开始新一轮扫描 (559 币种) === 2025-12-12 17:00:29 | INFO - 💰 ADA/USDT | 共识: 强力看跌 | BIN:-97k | OKX:-40k | BYB:-17k | COI:-14k 2025-12-12 17:00:30 | CRITICAL - 🚨 [HBAR/USDT] 信号触发 [C]: 单平台诱多 - 东方交易所买入,西方交易所卖出。警惕诱多。 2025-12-12 17:00:31 | INFO - 💰 ETH/USDT | 共识: 震荡/分歧 | BIN:-2021k | OKX:+81k | BYB:0k | COI:-14k ``` --- ## ⚠️ 免责声明 本系统仅供学习和研究使用,不构成任何投资建议。 - ❌ 不保证信号准确性 - ❌ 不对交易损失负责 - ✅ 请结合其他分析工具使用 - ✅ 请严格控制仓位和风险 加密货币交易具有高风险,请谨慎投资。 --- ## 📚 技术架构 ``` coin_monitor/ ├── src/ │ ├── core/ # 核心模块 │ │ ├── context.py # AnalysisContext 上下文对象 │ │ ├── symbol_processor.py # 符号处理模块化函数 │ │ └── exceptions.py # 自定义异常类 │ ├── connectors/ # 交易所连接器 │ │ ├── base.py # 基类 │ │ ├── binance.py # Binance API │ │ ├── okx.py # OKX API │ │ ├── bybit.py # Bybit API │ │ └── coinbase.py # Coinbase API │ ├── analyzers/ # 分析模块 │ │ ├── taker_flow.py # 资金流分析 │ │ ├── multi_platform.py # 多平台信号 │ │ ├── early_pump.py # 1m 主力拉升 │ │ ├── steady_growth.py # 15m 稳步上涨 │ │ ├── panic_dump.py # 恐慌出货 │ │ ├── volume_spike.py # 成交量暴增 │ │ ├── whale_watcher.py # 巨鲸监控 │ │ └── spot_futures_analyzer.py # 现货合约联动 │ ├── processors/ # 数据处理 │ │ └── data_processor.py │ ├── strategies/ # 交易策略 │ │ └── entry_exit.py │ ├── services/ # 服务层 │ │ ├── notification.py # 通知服务 │ │ ├── realtime_monitor.py # 实时监控 │ │ ├── strategy_learner.py # 策略学习服务 │ │ └── symbol_selector.py # 可交易品种筛选 │ ├── storage/ # 存储层 │ │ └── persistence.py │ ├── utils/ # 工具模块 │ │ ├── discovery.py # 币种发现 │ │ ├── logger.py # 日志配置 │ │ ├── indicators.py # 技术指标 │ │ ├── market_regime.py # 市场环境 │ │ ├── position_manager.py # 仓位管理 │ │ └── dataframe_helpers.py # DataFrame辅助 │ ├── models.py # 数据模型 │ ├── config.py # 配置文件 │ ├── main.py # 主监控程序 │ └── main_learn_app.py # 独立策略学习程序 ├── tests/ # 测试 │ ├── conftest.py # Pytest配置 │ ├── test_analyzers.py │ ├── test_dataframe_helpers.py │ └── test_processor.py ├── docs/ # 文档 │ ├── ARCHITECTURE.md # 架构文档 │ └── API.md # API文档 └── README.md ``` 详细架构说明请参考 [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) --- # (## 入群接收通知) # (![扫码入群](group_400x600.jpg)) --- ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! --- ## 📄 许可证 MIT License --- **祝交易顺利!** 🚀