一个基于MetaTrader 5的自动化交易系统,支持批量下单、突破交易和风控管理。
- 支持最多10个订单的批量设置
- 每个订单可单独设置手数、止损点数、止盈点数
- 支持勾选框控制订单是否参与批量下单或突破下单
- 新增:固定亏损计算仓位功能
系统现在支持两种仓位计算模式:
- 用户直接输入每个订单的手数
- 传统的手动交易方式
- 用户设置每个订单的固定亏损金额(美元)
- 系统根据止损位置自动计算合适的仓位大小
- 计算公式:
仓位大小 = 固定亏损金额 / (价格差距 × 合约大小) - 自动调整到符合交易品种要求的最小手数步长
- 固定点数止损:直接设置止损点数
- K线关键位止损:基于历史K线的高低点设置止损
- 支持高点突破和低点突破下单
- 基于当前K线数据计算突破价格
- 可配置突破偏移点数
- 日亏损限额控制
- 日交易次数限制
- 自动平仓功能
- 在"交易设置"区域,将"仓位计算"下拉选项设置为"固定亏损计算仓位"
- 在"批量下单设置"中,为每个订单设置:
- 固定亏损金额(美元)
- 止损点数(固定点数模式)或K线回溯数(K线关键位模式)
- 止盈点数
- 系统会自动计算并显示建议的手数
- 系统根据当前价格和设置的止损位置计算价格差距
- 使用固定亏损金额除以风险金额得出仓位大小
- 自动调整到交易品种允许的最小手数步长
- 风险控制:每笔交易的最大亏损金额固定,便于资金管理
- 自动化:无需手动计算仓位大小,减少人为错误
- 适应性:自动适应不同交易品种的合约规格
- 实时更新:当止损设置改变时,仓位大小自动重新计算
- Python 3.8+
- MetaTrader 5 终端
- 相关依赖包(见 requirements.txt)
- 下载并解压系统文件
- 安装依赖:
uv sync - 启动系统:
uv run python main.py - 连接MT5终端开始交易
系统配置保存在 config/config.json 文件中,包括:
- 交易品种列表
- 默认参数设置
- 风控限制
- 仓位计算模式
- 批量订单参数
- 使用固定亏损计算仓位时,确保设置合理的止损点数
- 系统会自动验证计算出的仓位大小是否符合交易品种要求
- 建议在模拟账户中测试后再用于实盘交易
- 新增固定亏损计算仓位功能
- 改进批量下单设置界面
- 优化配置管理系统
- 基础批量下单功能
- 突破交易功能
- 风控管理功能
mt5/
├── app/ # 应用核心代码(主程序、界面、交易逻辑等)
│ ├── __init__.py # 初始化文件
│ ├── database.py # 数据库操作类
│ ├── trader/ # 交易相关模块
│ ├── gui/ # 图形界面相关模块
│ └── ...
├── config/ # 配置文件目录
│ ├── __init__.py # 初始化文件
│ ├── config.json # 配置JSON文件(所有参数、批量下单等)
│ └── loader.py # 配置加载器
├── resources/ # 资源文件目录
│ ├── fonts/ # 字体文件
│ ├── icons/ # 图标文件
│ └── sounds/ # 音效文件
├── data/ # 数据存储目录
├── utils/ # 工具类和函数
│ ├── __init__.py # 初始化文件
│ └── paths.py # 路径处理工具
├── main.py # 主程序入口
├── requirements.txt # 依赖包列表
└── README.md # 项目说明文件
使用说明:
- 推荐方式1: 直接到 Releases 页面下载最新的
.7z压缩包,解压后双击运行,无需源码和环境配置。- 方式2: 如需自定义开发或二次开发,可克隆源码并按下方开发环境设置操作。
-
克隆仓库
git clone https://github.com/yourrepo/mt5-trading-system.git cd mt5-trading-system -
安装依赖
# 使用uv包管理器 uv venv uv pip install -r requirements.txt -
运行程序
python main.py
- 启动无命令行窗口:本程序为纯GUI应用,启动时不会弹出黑色命令行。
- MT5未连接/未登录:请先在本地MT5终端登录账号并保持运行。
- 成交时间不对:请在
config.json设置正确的Delta_TIMEZONE。 - 交易记录缺失:同步逻辑每分钟自动拉取近3天平仓单,若有遗漏可手动调整同步范围。
- 风控触发后无法交易:当天日内亏损达到上限后,所有下单按钮会自动禁用,次日自动恢复。
如有功能建议、BUG反馈或定制需求,请在项目Issue区留言,或联系开发者。
MT5TradeManager —— 让量化交易更高效、更安全、更智能!