KO
|
EN
gitlite — search
Search
#javascript
#python
#hacktoberfest
#react
#ai
#typescript
#llm
#go
#golang
#android
#machine-learning
#rust
#deep-learning
#linux
Mt5_AiTrade
★ 13
Open GitHub ↗
Mt5客户端AI交易实验性AI交易
Download README (.md)
Explore Similar Repositories
CarJunk
:
No description available.
greatforce-vbcd
:
VC CRM internal tool
brain-arcade
:
A retro arcade of thought-controlled minigames - proving neurotechnology is already here, accessible, and ready to hack.
Humanoid-Whole-Body-Badminton-via-Multi-Stage-Reinforcement-Learning
:
Humanoid Whole-Body Badminton via Multi-Stage Reinforcement Learning Project Page
RoboMonster
:
RoboMonster: Compositional Generalization of Heterogeneous Embodied Agents
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
Mt5_AiTrade
?
Download (.md)
# AITrade_MT5 - AI自动交易系统 ⚠️ **重要警告:当前仓库只是测试可行性,千万不要在实际账户上进行操作!** 本项目仅用于学习和测试AI自动交易的可行性,请勿在真实交易环境中使用。任何实际交易造成的损失由用户自行承担。 ## 项目概述 AITrade_MT5是一个基于Python的MetaTrader 5自动交易系统,通过AI分析市场数据并执行交易决策。系统每分钟自动分析市场并生成交易建议。 ## 核心功能 ### 1. MT5连接管理 (`MT5/`) - **初始化模块** (`init.py`): 管理与MetaTrader 5终端的连接 - **市场信息** (`market_info.py`): 获取实时市场数据 - **订单信息** (`order_info.py`): 处理交易订单和持仓管理 ### 2. AI分析引擎 (`AI/`) - **AI客户端** (`client.py`): 连接到AI服务端,发送分析请求 - **交易分析** (`trading.py`): AI分析结果解析和交易执行逻辑 - **实时计算器** (`realtime_calculator.py`): 计算实时价格和技术指标 - **提示词管理** (`prompts.py`): 管理AI分析的系统提示词和用户提示词 ### 3. 配置管理 (`config/`) - **配置管理器** (`config_manager.py`): 加载和管理配置文件 - **日志配置** (`logging_config.py`): 设置系统日志记录 ### 4. 工具模块 (`utils/`) - **数据库** (`database.py`): 数据存储和历史记录管理 - **日志器** (`logger.py`): 应用程序和交易日志记录 ## 系统工作流程 1. **初始化阶段** - 连接到MetaTrader 5终端 - 加载配置文件(交易对、AI服务配置等) - 初始化日志系统 2. **主循环执行**(每分钟执行一次) - 获取最新的市场数据 - 构建AI分析请求(包含技术指标、价格数据等) - 调用AI服务进行分析 - 解析AI生成的交易建议 - 执行交易操作(买入/卖出) - 记录交易结果和日志 3. **监控管理** - 实时监控持仓状态 - 管理订单执行 - 错误处理和重试机制 ## 配置说明 ### 主要配置项 (`config.yaml`) - **交易配置**: 魔法数字、订单管理设置 - **监控货币对**: USDJPYm, USDCHFm, USDCADm, EURUSDm, AUDUSDm - **AI服务**: API端点、密钥、模型配置 - **日志设置**: 日志目录和级别 ### 关键特性 - ✅ **自动市场分析**: 每分钟自动分析多个货币对 - ✅ **AI驱动决策**: 基于GPT模型的智能交易建议 - ✅ **实时执行**: 自动执行AI生成的交易信号 - ✅ **风险管理**: 内置错误处理和重试机制 - ✅ **完整日志**: 详细记录所有交易和系统事件 ## 支持的交易功能 ### 🎯 核心交易操作 - **✅ 开仓功能** - 支持买入(BUY)和卖出(SELL)开仓 - 自动计算最优交易手数 - 智能设置初始止损止盈 - **✅ 平仓功能** - 支持部分平仓和完全平仓 - 根据AI分析信号自动平仓 - 紧急平仓保护机制 - **✅ 修改持仓** - 动态修改现有持仓的止损价格 - 动态修改现有持仓的止盈价格 - 基于市场变化调整风险参数 - **✅ 挂单交易** - 支持买入限价单(BUY LIMIT) - 支持卖出限价单(SELL LIMIT) - 支持买入止损单(BUY STOP) - 支持卖出止损单(SELL STOP) - 自动管理和执行挂单 ### 📊 智能管理功能 - **✅ 订单管理** - 实时监控所有活跃订单 - 自动识别和分类订单类型 - 魔法数字标记系统订单 - **✅ 风险控制** - 自动止损保护 - 移动止损策略 - 最大持仓数量限制 - 资金管理规则 - **✅ 多货币对支持** - 同时监控多个外汇对 - 独立分析每个货币对 - 分配不同交易策略 ## 系统要求 ### 必需软件 - **MetaTrader 5 客户端**: 必须安装并运行 MT5 终端 - **Python 3.7+**: 运行环境要求 - **AI服务账户**: 需要有可用的AI API服务 ### MT5 设置 1. 下载并安装 MetaTrader 5 客户端 2. 开启算法交易权限 3. 确保终端正常运行并已登录交易账户 4. 在MT5中启用Python API支持(如需要) ## 安装和使用 1. **安装依赖** ```bash pip install -r requirements.txt ``` 2. **配置设置** ```bash # 复制配置模板文件 cp config.yaml.example config.yaml # 编辑配置文件,填入真实信息 # 设置AI服务的API密钥和端点 # 配置监控的货币对 # 详细配置说明请参考 SECURITY.md ``` **重要配置项:** - `ai.api_key`: 您的AI服务API密钥 - `ai.base_url`: AI服务端点地址 - `ai.model_id`: AI模型名称 - `forex_pairs.monitored_pairs`: 监控的货币对列表 - `trading.magic_number`: 订单识别魔法数字 3. **运行系统** ```bash python main.py ``` **运行前检查:** - 确保MetaTrader 5终端正在运行 - 已配置好交易账户登录 - AI服务配置正确且网络连接正常 ## 技术架构 - **编程语言**: Python 3.x - **交易平台**: MetaTrader 5 - **AI服务**: OpenAI GPT API - **数据格式**: YAML配置、JSON数据交换 - **日志系统**: Python logging模块 ## 目录结构 ``` AITrade_MT5_git/ ├── main.py # 主程序入口,AI交易循环控制 ├── config.yaml.example # 配置文件模板(复制为config.yaml使用) ├── SECURITY.md # 安全配置指南和最佳实践 ├── requirements.txt # Python依赖包列表 ├── AI/ # AI分析引擎 │ ├── client.py # AI服务客户端,处理API调用 │ ├── trading.py # 交易分析逻辑,处理AI返回结果 │ ├── prompts.py # AI提示词管理和数据格式化 │ ├── realtime_calculator.py # 实时价格和技术指标计算 │ └── price_formats.py # 价格数据格式化工具 ├── MT5/ # MetaTrader 5接口 │ ├── init.py # MT5连接和初始化 │ ├── market_info.py # 市场数据获取和技术指标计算 │ └── order_info.py # 订单操作和持仓管理 ├── config/ # 配置管理系统 │ ├── config_manager.py # 配置文件加载和管理 │ └── logging_config.py # 日志配置设置 ├── utils/ # 工具模块 │ ├── database.py # 数据库操作和存储 │ └── logger.py # 日志记录器 ├── logs/ # 日志文件目录(运行时生成) └── data/ # 数据存储目录(运行时生成) ``` ## 注意事项 - 本系统仅用于教育和测试目的 - 使用前请充分了解外汇交易风险 - 建议先在模拟账户中测试 - 定期监控系统运行状态 - 及时更新配置和依赖包 ## 已知缺陷和限制 ### ⚠️ 重要:请仔细阅读以下已知问题 1. **剥头皮倾向问题** - 当前提示词中隐含剥头皮交易的倾向 - 如需长期持仓策略需要大幅修改提示词设计 - 由于改动工作量较大,目前保持现状 2. **市场延迟问题** - 外汇市场波动极其迅速,从获取市场数据到AI分析完成存在时间延迟 - AI返回的交易建议可能已不适合当前市场环境 - 这是自动化交易系统的普遍难题 3. **止损止盈计算不准确** - 为降低成本,采用AI返回模型+本地计算止损止盈值的方案 - 本地计算的精确度有限,可能影响风险管理效果 - 暂时没有更好的解决方案 4. **数据传输限制** - 出于成本考虑,未将所有报价信息发送给AI - 仅发送本地计算的关键技术指标(见 `prompts.py` 和 `market_info.py`) - 可能影响AI分析的全面性和准确性 ### 📊 相关文件说明 - **`AI/prompts.py`**: 查看发送给AI的具体数据格式和内容 - **`MT5/market_info.py`**: 了解本地计算了哪些技术指标发送给AI ### 🚨 最后警告 **看看AI操作就好,千万别在实仓运行!** 连虚拟仓的操作都可能让你气炸,实仓的后果可想而知。本系统仅用于学习AI在金融领域的应用逻辑,切勿作为实际交易工具使用! --- **免责声明**: 本项目仅供学习和研究使用,不构成投资建议。使用本系统进行实际交易的任何损失由用户自行承担。