脚本: 转换 MT5 设置文件至 MT4 - 页 2 12 新评论 Andrey Khatimlianskii 2020.10.28 14:12 #11 遗憾的是,某些 ENUM(特别是 ENUM_TIMEFRAMES 和 ENUM_APPLIED_PRICE)的不同数字表示方法并未考虑在内。 Andrey Khatimlianskii 2020.10.28 14:22 #12 @Richard Gunning,感谢您的脚本! 遗憾的是,它不能用于某些 ENUM(TIMEFRAME、APPLIED_PRICE),因为 MT4 和 MT5 的数值不同。 您会解决这个问题吗? 再次感谢。 Pascal Scattareggia 2021.09.06 10:14 #13 你好,你们的转换器不能在 MT5 上使用吗? 因为我想将我的指标转换到 MT4,但你们的转换器不能用,除非我不知道如何使用它,你们能帮帮我吗? Pascal Scattareggia 2021.09.06 11:25 #14 binaire72 # : 我喜欢 MT5 指示器,并借助您的脚本将其转换为 MT4 游戏文件。但您不知道如何在没有 MQL4/ex4 文件的情况下使用 MT4 文件。 如何在没有 MT4/ex4 文件的情况下在 MT4 图形上转换 MT4 工具? Est-il possible de convertir le fichier MQL5 en fichier MQL4 ?. 您好,您是如何使用此脚本进行转换的,因为我做不到,您能帮帮我吗? tory_ 2023.05.07 17:56 #15 ENUM_TIMEFRAMES 和 ENUM_APPLIED_PRICE 不能考虑在内:设置文件没有保存有关类型的信息--从变量名猜测类型不是一个明智的想法。 这是一个相当常见的问题,可以通过引入另一种类型来规避,这种类型可以在代码中可预测地转换为适合平台的值。 例如,存储分钟的整数值,在 MT4 代码中通过简单的转换来解释,而在 MT5 代码中通过稍微复杂的转换来解释。 还有一个问题是时间框架不兼容,这是另一个问题。 我研究了脚本代码,发现它不能正确处理某些情况。 例如,如果一个值包含 "等号 "符号。 或者如果值为空(在 MT4 网络中我们得到"(null)")。 已修复 附加的文件: SetFileConverter.mq5 5 kb Rodrigo Manrique Rosa 2025.04.27 14:41 #16 完全不起作用 SORA PAPA 2025.05.17 08:02 #17 脚本,谢谢。为了使用它,我修改了以下几点。修复:源代码样式被 ClangFormat 转换为 Google 样式。(抱歉。个人偏好)。修正:跳过注释行。修正:在提取参数/值时不要使用 Split(),以免删除值中的"="。新增:将某些参数更改为其他值。参数/值对从 "SetFileConveter.ini "文件的 [ChangeKeyValue] 部分读取。新增: 将 ENUM_TIMEFRAMES 类型参数的值改为 MT4 的值。要转换的ENUM_TIMEFRAMES 类型参数 从 'SetFileConveter.ini' 文件的 [TimeframeKey] 部分读取。附加: 将 ENUM_APPLIED_PRICE 类型参数的值改为 MT4 的值。要转换的ENUM_APPLIED_PRICE 类型参数 从 "SetFileConveter.ini "文件的[PriceKey]部分读取。 SetFileConveter.ini "文件位于 "MQL5/Files "中。其内容描述如下。 [ChangeKeyValue] MaxSpreadPips=1.0 NormalSpreadPips=0.5 SummerTimeType=2 [TimeframeKey] WaitForNextEntry_TF EXIT_BY_BB_TF_ [PriceKey] ENTRY_BY_BB_Price EXIT_BY_BB_Price 修改后的源代码附在下面。 附加的文件: SetFileConverter.mq5 13 kb SORA PAPA 2025.05.22 11:33 #18 SetFileConverter.ini "文件的部分现在可以按文件逐个指定。 在部分名称后添加"| 文件名 "即可指定。下面是一个说明示例。 [ChangeKeyValue] MaxSpreadPips=1.0 NormalSpreadPips=0.5 SummerTimeType=2 [TimeframeKey] WaitForNextEntry_TF EXIT_BY_BB_TF_ [TimeframeKey | CheckTheTrend.set] CheckTF1_GMMA CheckTF2_GMMA CheckTF3_GMMA CheckTF4_GMMA CheckTF5_GMMA CheckTF6_GMMA [PriceKey] ENTRY_BY_BB_Price EXIT_BY_BB_Price 修改后的源代码附后。 附加的文件: SetFileConverter.mq5 15 kb 12 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
@Richard Gunning,感谢您的脚本!
遗憾的是,它不能用于某些 ENUM(TIMEFRAME、APPLIED_PRICE),因为 MT4 和 MT5 的数值不同。
您会解决这个问题吗?
再次感谢。
我喜欢 MT5 指示器,并借助您的脚本将其转换为 MT4 游戏文件。但您不知道如何在没有 MQL4/ex4 文件的情况下使用 MT4 文件。
如何在没有 MT4/ex4 文件的情况下在 MT4 图形上转换 MT4 工具?
Est-il possible de convertir le fichier MQL5 en fichier MQL4 ?.
ENUM_TIMEFRAMES 和 ENUM_APPLIED_PRICE 不能考虑在内:设置文件没有保存有关类型的信息--从变量名猜测类型不是一个明智的想法。
这是一个相当常见的问题,可以通过引入另一种类型来规避,这种类型可以在代码中可预测地转换为适合平台的值。
例如,存储分钟的整数值,在 MT4 代码中通过简单的转换来解释,而在 MT5 代码中通过稍微复杂的转换来解释。
还有一个问题是时间框架不兼容,这是另一个问题。
我研究了脚本代码,发现它不能正确处理某些情况。
例如,如果一个值包含 "等号 "符号。
或者如果值为空(在 MT4 网络中我们得到"(null)")。
已修复
脚本,谢谢。
为了使用它,我修改了以下几点。
修复:源代码样式被 ClangFormat 转换为 Google 样式。(抱歉。个人偏好)。
修正:跳过注释行。
修正:在提取参数/值时不要使用 Split(),以免删除值中的"="。
新增:将某些参数更改为其他值。参数/值对从 "SetFileConveter.ini "文件的 [ChangeKeyValue] 部分读取。
新增: 将 ENUM_TIMEFRAMES 类型参数的值改为 MT4 的值。要转换的ENUM_TIMEFRAMES 类型参数 从 'SetFileConveter.ini' 文件的 [TimeframeKey] 部分读取。
附加: 将 ENUM_APPLIED_PRICE 类型参数的值改为 MT4 的值。要转换的ENUM_APPLIED_PRICE 类型参数 从 "SetFileConveter.ini "文件的[PriceKey]部分读取。
SetFileConveter.ini "文件位于 "MQL5/Files "中。其内容描述如下。
修改后的源代码附后。