Summary: 分步教程:导出MT4账户历史、准备回测数据、生成资金曲线、修复MT5报错,并涵盖VPS设置和MQL4基础代码。




步骤1:导出MT4账户历史用于分析
打开MT4终端。右键点击“账户历史”选项卡。选择“保存为详细报告”(CSV格式含所有交易)或“保存为报告”(HTML摘要)。如需导出特定日期范围,先右键“自定义时间段”。这些数据可用于外部风险分析或报税。
步骤2:导出分笔数据和历史数据用于回测
点击“工具 > 历史数据中心”。双击一个品种(如BTCUSD)。选择时间框架(M1到MN1)。点击“导出”保存CSV文件。如需逐笔回测,进入“工具 > 选项 > 图表”,启用“显示分笔成交量”。然后从历史数据中心导出“1分钟”数据作为替代。第三方数据源:Dukascopy(免费提供外汇/加密货币数据)。
步骤3:用MQL4格式准备回测数据
将下载的CSV文件放入 `MQL4/Files` 文件夹。在MQL4脚本中使用 `FileOpen()` 读取。代码示例:
```cpp
int handle=FileOpen("BTCUSD_2024.csv",FILE_READ|FILE_CSV,',');
if(handle!=INVALID_HANDLE) {
while(!FileIsEnding(handle)) {
string timeStr=FileReadString(handle);
double price=FileReadNumber(handle);
//处理数据
}
FileClose(handle);
}
```
在MetaEditor(F4)中编译脚本。在图表上运行一次,处理后的数据会保存到 `MQL4/Files`。
步骤4:在MT4中生成资金曲线
在策略测试器中运行回测。完成后,点击“查看 > 策略测试器报告”。点击“图形”选项卡查看资金曲线。导出曲线数据:右键点击图形 > “保存为图片”,或从“结果”选项卡复制数值为CSV。自定义资金曲线:编写MQL4脚本,遍历历史订单使用 `OrderProfit()` 和 `AccountBalance()`。
步骤5:修复数据导出相关的常见MT5报错
  • “错误4014”(历史未同步):进入“工具 > 选项 > 图表”,增大“最大图表柱数”。重启MT5。

  • “错误5401”(文件访问被拒):文件只能保存到 `MQL5/Files` 文件夹,不能保存到桌面。

  • “无法导出品种”:先将品种添加到市场报价(右键 > “品种” > “显示全部”)。

  • 步骤6:配置外汇VPS用于EA和回测自动化
    租用至少2GB内存和20GB SSD的VPS(如Vultr、AWS Lightsail或经纪商提供的VPS)。安装MT4/MT5。禁用休眠模式:“控制面板 > 电源选项 > 高性能”。使用Windows任务计划程序定时运行回测脚本。用于EA托管时,保持终端24/7开启,按需启用“允许自动交易”和DLL导入。
    步骤7:MQL4自定义指标基础
    打开MetaEditor(F4)。点击“新建 > 智能交易系统(模板)”。使用 `OnTick()` 实时触发,`OnInit()` 初始化。编译(F7)。将 `.ex4` 移动到 `MQL4/Indicators`。刷新导航器(F5)。应用到图表。如需DLL调用,在代码顶部添加 `#import "user32.dll"`。
    参考来源:MQL4文档 (docs.mql4.com),MetaQuotes帮助台,外汇VPS提供商 (CheapForexVPS, Vultr)。