99 lines
2.7 KiB
Plaintext
99 lines
2.7 KiB
Plaintext
# LSTM量化交易项目生成 - 简单版提示词
|
|
|
|
## 我的需求
|
|
|
|
帮我生成一个**LSTM量化交易教学项目**,要求代码简洁,适合初学者。
|
|
|
|
## 项目要求
|
|
|
|
### 基本信息
|
|
- **模型**: LSTM神经网络
|
|
- **用途**: 预测EURUSD价格并自动交易
|
|
- **平台**: MetaTrader 5
|
|
- **语言**: Python + MQL5
|
|
- **硬件**: 支持NVIDIA GPU训练 (我有RTX 4090)
|
|
|
|
### 核心功能
|
|
1. 从MT5获取EURUSD最近5年H1数据
|
|
2. 用PyTorch训练LSTM模型
|
|
3. 导出为ONNX格式
|
|
4. 在MT5中自动交易
|
|
5. 支持策略回测
|
|
|
|
### 文件要求
|
|
只需要3个核心文件:
|
|
- `train_lstm.py` - Python训练脚本
|
|
- `LSTM_EA.mq5` - MQL5交易EA
|
|
- `requirements.txt` - 依赖包清单
|
|
|
|
另外需要:
|
|
- `README.md` - 使用说明文档
|
|
|
|
### 代码风格
|
|
- ✅ 极简代码 (能少一句绝不多一句)
|
|
- ✅ Python脚本 <150行
|
|
- ✅ MQL5代码 <100行
|
|
- ✅ 中文注释
|
|
- ✅ 新手可看懂
|
|
|
|
## 技术细节
|
|
|
|
### Python训练脚本要做什么?
|
|
1. 检测CUDA,自动用GPU训练
|
|
2. 连接MT5获取历史数据
|
|
3. 归一化OHLCV数据
|
|
4. **数据集划分**: 80%训练集 + 20%验证集
|
|
5. 训练LSTM模型 (10根K线→预测下一根收盘价)
|
|
6. **早停机制**: 验证Loss不降则自动停止
|
|
7. **最佳模型保存**: 自动保存验证Loss最低的模型
|
|
8. **可视化**: 生成训练曲线图(training_loss.png)
|
|
9. 导出ONNX模型到**脚本同目录**
|
|
10. 输出归一化参数 (供MQL5使用)
|
|
|
|
### MQL5 EA要做什么?
|
|
1. 加载ONNX模型
|
|
2. 每小时获取最近10根K线
|
|
3. 归一化后输入模型预测
|
|
4. 预测涨→买入,预测跌→卖出
|
|
5. 设置止损止盈
|
|
|
|
### README要写什么?
|
|
1. LSTM是什么 (简单解释)
|
|
2. 如何安装依赖
|
|
3. 如何训练模型
|
|
4. 如何查看训练曲线和效果评估
|
|
5. 如何在MT5回测
|
|
6. 常见问题
|
|
7. 训练优化建议 (如何判断模型好坏)
|
|
|
|
## 默认参数
|
|
- 交易品种: EURUSD
|
|
- 时间周期: H1
|
|
- 历史数据: 5年
|
|
- 数据划分: 80%训练 / 20%验证
|
|
- 时间窗口: 10根K线
|
|
- LSTM隐藏层: 20
|
|
- 最大训练轮数: 500
|
|
- 早停耐心值: 20
|
|
- 学习率: 0.001
|
|
|
|
## 重要提示
|
|
|
|
1. **GPU训练**: 自动检测CUDA,如果没有提示如何安装
|
|
2. **文件路径**: 使用`__file__`确保ONNX保存到脚本目录
|
|
3. **归一化参数**: 终端输出C++数组格式,可直接复制到MQL5
|
|
4. **ONNX设置**: MQL5必须调用`OnnxSetInputShape`和`OnnxSetOutputShape`
|
|
5. **代码简洁**: 教学优先,不要过度工程化
|
|
6. **智能训练**: 支持早停、验证集监控、最佳模型保存
|
|
7. **可视化**: 自动生成训练曲线图便于效果评估
|
|
|
|
## 开始生成
|
|
|
|
请按顺序生成:
|
|
1. `requirements.txt`
|
|
2. `train_lstm.py`
|
|
3. `LSTM_EA.mq5`
|
|
4. `README.md`
|
|
|
|
所有输出使用中文,代码注释也用中文。
|