ThirdPartyTicks - MetaTrader 5 脚本





MetaTrader 4 的第三方应用程序允许从各种来源获取报价历史记录,一直很受欢迎。该历史记录通常在策略测试器中用于检查 EA 交易的操作以及进行研究(例如机器学习等)。用户讨论的一些引用来源几乎已经成为寻找“圣杯”的标准。
给定的 MQL5 库没有任何比较价格变动的标准。没有描述选择蜱存档的建议来源的原因。但这个档案绝对是新鲜的,因此没有得到充分研究。因此,为了制定您自己的价值标准,请执行一个简单的操作 - 使用“每一个刻度都是基于真实的刻度”任何模式内置 MetaTrader 5 交易品种并在自定义符号由脚本创建(基于第三方真实报价历史记录),然后比较获得的结果。此过程不需要对终端有任何深入的了解,也不需要在终端之外执行其他操作。
该脚本从内置源访问报价历史记录,并在此基础上创建适当的自定义交易品种。
源码中的注释部分解释了原理。
// https://www.mql5.com/en/code/20225 #财产脚本显示输入 #包括输入 布尔值 同步=真的;// 同步 输入 细绳符号=””;// 符号(NULL - 当前,“AllSymbols” - 全部)第三方标记第三方标记;// 连接到本地报价档案 // 一个符号 空白创建符号() { // 定义要使用的符号 常量 细绳符号=(符号==””)?字符串子串(_象征,0,6) : 象征; 如果(同步) ThirdPartyTicks.Refresh(); // 从刻度存档源读取可用数据 ThirdPartyTicks[Symb].Update(); // 将本地存档与所选符号的源同步 ThirdPartyTicks[Symb].ToCustomSymbol(真的);// 基于本地存档创建自定义交易品种}// 所有符号 空白创建所有符号() { 如果(同步) ThirdPartyTicks.Refresh(); // 从刻度存档源读取可用数据 常量 单位金额 = ThirdPartyTicks.GetAmount(); 为了(单位我=0; _CS(i < 金额);我++) { ThirdPartyTicks[i].Update(); // 将本地存档与所选符号的源同步 ThirdPartyTicks[i].ToCustomSymbol(); // 基于本地存档创建自定义交易品种 } }空白 启动时() { 如果(符号!=“所有符号”) 创建符号(); 别的 如果(消息框(“创建所有符号可能需要很长时间。你同意吗?”,__文件__,MB_是否|MB_ICONQUESTION) ==伊达斯) 创建所有符号(); }
为了使脚本正确运行,您应该在中指定报价源的地址终端设置, 例如:

脚本运行过程中,动作详细写入日志:
解压缩 <源名称>\EURUSD.<后缀>\EURUSD.<后缀>_20180313.csv.zip724002字节 - 解压大小5466504字节。 总报价(EURUSD.<后缀>)=1645897已更正3滴答声。 EURUSD.<后缀>_<源名称> 保存的报价 =1645897
之后你可以在测试器中运行您的 EA 交易使用新的自定义符号:

附件下载
📎 Dictionary.mqh (38.15 KB)
📎 Symbol.mqh (5.32 KB)
📎 Array.mqh (1.11 KB)
📎 Casting.mqh (0.48 KB)
📎 CustomSymbol.mqh (2.27 KB)
📎 Data.mqh (1.12 KB)
📎 File.mqh (2.6 KB)
📎 Files_Prices.mqh (1.87 KB)
📎 File_Prices.mqh (0.5 KB)
📎 Rates.mqh (2.35 KB)
📎 String.mqh (2.41 KB)
📎 ThirdPartyTicks.mqh (6.96 KB)
📎 Ticks.mqh (7.89 KB)
📎 Web.mqh (0.9 KB)
📎 Zip.mqh (17.22 KB)
📎 ZipContent.mqh (11.62 KB)
📎 ZipDefines.mqh (1.17 KB)
📎 ZipDirectory.mqh (1.85 KB)
📎 ZipFile.mqh (5.91 KB)
📎 ZipHeader.mqh (12.47 KB)
📎 ThirdPartyTicks.mq5 (3.01 KB)
Source: MQL5 #20225
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
