Skip to content

jeterWang/mt5_tool

Repository files navigation

MT5交易系统

一个基于MetaTrader 5的自动化交易系统,支持批量下单、突破交易和风控管理。

主要功能

1. 批量下单设置

  • 支持最多10个订单的批量设置
  • 每个订单可单独设置手数、止损点数、止盈点数
  • 支持勾选框控制订单是否参与批量下单或突破下单
  • 新增:固定亏损计算仓位功能

2. 仓位计算模式

系统现在支持两种仓位计算模式:

手动设置手数模式(默认)

  • 用户直接输入每个订单的手数
  • 传统的手动交易方式

固定亏损计算仓位模式

  • 用户设置每个订单的固定亏损金额(美元)
  • 系统根据止损位置自动计算合适的仓位大小
  • 计算公式:仓位大小 = 固定亏损金额 / (价格差距 × 合约大小)
  • 自动调整到符合交易品种要求的最小手数步长

3. 止损模式

  • 固定点数止损:直接设置止损点数
  • K线关键位止损:基于历史K线的高低点设置止损

4. 突破交易

  • 支持高点突破和低点突破下单
  • 基于当前K线数据计算突破价格
  • 可配置突破偏移点数

5. 风控管理

  • 日亏损限额控制
  • 日交易次数限制
  • 自动平仓功能

固定亏损计算仓位使用说明

设置方法

  1. 在"交易设置"区域,将"仓位计算"下拉选项设置为"固定亏损计算仓位"
  2. 在"批量下单设置"中,为每个订单设置:
    • 固定亏损金额(美元)
    • 止损点数(固定点数模式)或K线回溯数(K线关键位模式)
    • 止盈点数
  3. 系统会自动计算并显示建议的手数

计算逻辑

  • 系统根据当前价格和设置的止损位置计算价格差距
  • 使用固定亏损金额除以风险金额得出仓位大小
  • 自动调整到交易品种允许的最小手数步长

优势

  • 风险控制:每笔交易的最大亏损金额固定,便于资金管理
  • 自动化:无需手动计算仓位大小,减少人为错误
  • 适应性:自动适应不同交易品种的合约规格
  • 实时更新:当止损设置改变时,仓位大小自动重新计算

安装和使用

环境要求

  • Python 3.8+
  • MetaTrader 5 终端
  • 相关依赖包(见 requirements.txt)

快速开始

  1. 下载并解压系统文件
  2. 安装依赖:uv sync
  3. 启动系统:uv run python main.py
  4. 连接MT5终端开始交易

配置说明

系统配置保存在 config/config.json 文件中,包括:

  • 交易品种列表
  • 默认参数设置
  • 风控限制
  • 仓位计算模式
  • 批量订单参数

注意事项

  • 使用固定亏损计算仓位时,确保设置合理的止损点数
  • 系统会自动验证计算出的仓位大小是否符合交易品种要求
  • 建议在模拟账户中测试后再用于实盘交易

更新日志

v1.1

  • 新增固定亏损计算仓位功能
  • 改进批量下单设置界面
  • 优化配置管理系统

v1.0

  • 基础批量下单功能
  • 突破交易功能
  • 风控管理功能

项目结构

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: 如需自定义开发或二次开发,可克隆源码并按下方开发环境设置操作。

开发环境设置

  1. 克隆仓库

    git clone https://github.com/yourrepo/mt5-trading-system.git
    cd mt5-trading-system
  2. 安装依赖

    # 使用uv包管理器
    uv venv
    uv pip install -r requirements.txt
  3. 运行程序

    python main.py

常见问题

  • 启动无命令行窗口:本程序为纯GUI应用,启动时不会弹出黑色命令行。
  • MT5未连接/未登录:请先在本地MT5终端登录账号并保持运行。
  • 成交时间不对:请在 config.json 设置正确的 Delta_TIMEZONE
  • 交易记录缺失:同步逻辑每分钟自动拉取近3天平仓单,若有遗漏可手动调整同步范围。
  • 风控触发后无法交易:当天日内亏损达到上限后,所有下单按钮会自动禁用,次日自动恢复。

反馈与支持

如有功能建议、BUG反馈或定制需求,请在项目Issue区留言,或联系开发者。


MT5TradeManager —— 让量化交易更高效、更安全、更智能!

About

mt5超短线交易助手

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages