基于 Price Action 的外汇/贵金属自动化交易策略,包含实时监控和历史回测功能。
- 每小时自动扫描外汇市场
- 发现新信号自动推送企业微信通知
- 支持 EURUSD, USDJPY, GBPUSD, XAUUSD, XAGUSD
- 基于双EMA排列 + RSI过滤的趋势确认
- forex_backtest_1year.py: 最近1年数据回测
- forex_backtest.py: 2022-2025年长期回测
- forex_backtest_5min.py: 5分钟高频回测(实验性)
- 自动生成详细交易图表和分析报告
- 双EMA排列: EMA20 > EMA50 (做多) / EMA20 < EMA50 (做空)
- 斜率检测: 确保趋势有足够动能
- RSI过滤: 避免追高杀低 (多头RSI<70, 空头RSI>30)
- H1/H2 形态: 高点/低点突破后的第一根趋势K线
- 动量确认: 连续2根趋势K线 OR 近3根收盘价有方向性
- 分批止盈:
- TP1 (1:1): 出场50%仓位,移止损到保本
- TP2 (2:1): 全部出场
- 仓位管理: 基于ATR的动态仓位,固定2%风险
- 时间止损: 超过20根K线未触及目标自动离场
| 品种 | 交易数 | 胜率 | 收益率 | 盈利因子 | 评级 |
|---|---|---|---|---|---|
| XAUUSD | 18 | 66.7% | +16.8% | 2.25 | ⭐⭐⭐⭐⭐ |
| EURUSD | 19 | 52.6% | +1.3% | 1.08 | ⭐⭐⭐ |
| GBPUSD | 22 | 45.5% | -7.9% | 0.66 | ⭐⭐ |
| USDJPY | 22 | 36.4% | -14.0% | 0.46 | ⭐ |
| XAGUSD | 19 | 42.1% | -6.2% | 0.71 | ⭐⭐ |
最佳品种: XAUUSD (黄金) - 胜率66.7%, 年化收益+16.8%
# Python 3.8+
pip install pandas numpy requests matplotlib
pip install yfinance # 可选,用于5分钟数据# 编辑 forex_monitor_wx.py,填入企业微信 Webhook URL
python forex_monitor_wx.py# 最近1年回测
python forex_backtest_1year.py
# 长期回测(2022-2025)
python forex_backtest.py- 回测报告:
回测报告_最近1年.md - 交易图表:
backtest_charts_1year/目录 - 使用指南:
回测使用说明.md
inventory/
├── forex_monitor_wx.py # 实时监控主程序
├── forex_backtest_1year.py # 最近1年回测
├── forex_backtest.py # 长期回测(2022-2025)
├── forex_backtest_5min.py # 5分钟高频回测
├── 回测报告_最近1年.md # 详细回测分析
├── 回测使用说明.md # 完整使用指南
├── 企业微信机器人配置说明.md # 企业微信配置教程
├── test_feishu.py # 飞书通知测试
└── README.md # 本文件
每笔交易都会生成详细的可视化图表,包含:
- K线图 + EMA趋势线
- RSI指标
- 入场/离场标注
- 止损位标记
- 盈亏详情
# forex_monitor_wx.py
WECOM_WEBHOOK_URL = "your_webhook_url" # 企业微信机器人地址
SCAN_INTERVAL_SECONDS = 3600 # 扫描间隔(秒)
SIGNAL_FRESH_DAYS = 2 # 信号新鲜度(天)EMA_SHORT = 20 # 短期均线
EMA_LONG = 50 # 长期均线
RSI_PERIOD = 14 # RSI周期
RISK_PER_TRADE = 0.02 # 每笔交易风险 2%
TP1_RATIO = 1.0 # 第一止盈 1:1
TP2_RATIO = 2.0 # 第二止盈 2:1基于回测结果:
- 优先品种: XAUUSD (黄金) - 表现最佳
- 次要品种: EURUSD - 稳定但收益较低
- 暂时避开: USDJPY, XAGUSD - 表现不佳
- 资金管理: 保持2%风险比例
本交易系统基于 Price Action 策略,支持多周期交易。当前实现主要覆盖短期趋势突破策略,系统完整度约25%。
| 交易周期 | 状态 | 说明 |
|---|---|---|
| 长期 | 🚧 规划中 | EMA(30/50/100), 双底牛旗, 强单K线反转 |
| 波段 | 🚧 规划中 | 趋势回调, 双顶熊旗, 强双K线反转 |
| 短期-震荡区间 | 🚧 规划中 | 两段式整理, 二次突破 |
| 短期-趋势反转 | 🚧 规划中 | 三推楔形, 通道线挂单 |
| 短期-趋势突破 | ✅ 已实现 | H1/H2形态, EMA20/50, RSI过滤 |
交易系统
├── 策略模块
│ ├── 趋势确认 (双EMA排列 + 斜率检测)
│ ├── 信号识别 (H1/H2形态)
│ └── 动量确认 (连续趋势K线)
├── 过滤模块
│ ├── RSI过滤 (避免追高杀低) ✅
│ ├── 不利因素识别 🚧
│ └── 有利因素识别 🚧
├── 风险管理
│ ├── 止损设置 ✅
│ ├── 分批止盈 (TP1: 1:1, TP2: 2:1) ✅
│ └── 仓位管理 (2%风险) ✅
└── 情绪管理 🚧
-
已实现: 25%
- ✅ 短期趋势突破策略
- ✅ 基础技术指标 (EMA20/50, RSI, ATR)
- ✅ 分批止盈系统
- ✅ 实时监控和回测框架
-
规划中: 75%
- 🚧 长期和波段交易策略
- 🚧 多形态识别 (双底牛旗、双顶熊旗、三推楔形等)
- 🚧 不利因素和有利因素识别
- 🚧 情绪管理规则
- 数据源: Stooq (免费无限速日线数据)
- 回测框架: 自研轻量级回测引擎
- 可视化: Matplotlib
- 通知: 企业微信机器人 / 飞书机器人
本项目仅供学习和研究使用,不构成任何投资建议。外汇交易存在高风险,可能导致本金损失。使用本策略进行实盘交易的任何后果由使用者自行承担。
- 📘 新增交易系统完整规则文档
- 📊 新增现有实现对比分析文档
- 🔧 新增功能补充建议文档
- 🏗️ 更新README,添加系统架构说明
- ✅ 实现双EMA+RSI策略核心逻辑
- ✅ 完成最近1年回测验证
- ✅ 添加企业微信实时监控
- ✅ 生成详细交易图表和报告
- ✅ 支持5个主流交易品种
如有问题或建议,欢迎提交 Issue。
MIT License
最后更新: 2026-03-02
项目状态: 活跃开发中 🚀