- 发布者:
- Enrique Enguix
- 显示:
- 54
- 等级:
- 已发布:
-
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
该脚本是一个参考解决方案,旨在帮助开发人员和 MetaTrader 5 用户解决一个常见问题:配置的符号名称与经纪商提供的实际名称不匹配。
作为一名开发人员,我在开发可配置智能交易系统(EA),尤其是那些处理多符号策略的 EA 时遇到过这一难题。用户不 按照经纪商的约定调整符号名称的情况很常见,这会导致 EA 出现故障。例如,如果 EA 配置指定为 "EURUSD",但经纪商使用的是 "EURUSD.i "或 "EURUSD.m",EA 将找不到正确的符号,无法运行。
该代码使用莱文斯坦距离算法,在市场观察窗口中的所有可用符号中找出与用户指定的符号最相似的符号。
虽然我不是专家,但根据我的个人经验,这个解决方案被证明是有效的,对其他开发人员来说也是一个有用的工具。
主要应用和用途:
- 集成到可配置的 EA 中: 本脚本旨在为集成到需要自动适应经纪商使用的符号名称的 EA 或脚本中提供参考。
- 适应自定义经纪商符号: 如果经纪商使用特定的符号名称,该方法有助于正确映射它们,避免配置错误。
- 配置验证: 它可用作开发和测试阶段的验证工具,以确保 EA 的稳健性和适应性。
- 教育和学习: 对于学习 MQL5 的人员,该代码演示了如何使用数组、字符串和动态函数(如计算字符串距离)。
重要警告:
本代码基于我的个人经验,是我的项目中行之有效的解决方案。不过:
- 我并不是 MQL5 的专家,而且此解决方案可能并非最有效或最适合所有情况。
- 根据每个用户或项目的需求,可能会有更先进或特定的方法。
我鼓励用户和开发人员尝试使用这些代码,根据自己的情况进行调整,并在必要时探索其他可能更合适的替代方案。
实际集成示例:
假设您开发了一个操作 "欧元兑美元 "的 EA。在用户环境中,经纪商将该符号设置为 "EURUSD.i"。通过将此代码集成到 EA 中:
- 用户可以输入 "EURUSD "作为基本配置。
- 代码将自动搜索 Market Watch 并映射正确的符号("EURUSD.i")。
- EA 将无缝运行,无需进行精确的手动配置。
结论
该脚本不仅有助于确保 EA 在不同环境中的功能,还可作为开发更高级解决方案的起点。
虽然还有其他方法可以解决这个问题,但我希望这个实施方案能成为其他开发人员和 MetaTrader 5 用户的宝贵工具。
由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/54554

一个快速的小脚本,让交易者的生活更轻松。有一件事总是让我很苦恼,那就是重新设置新图表的属性(如颜色),使其看起来是我喜欢的样子。因此,这里有一个脚本可以让事情变得更简单。

该脚本是一个参考解决方案,用于将用户在 MetaTrader 5 EA 或脚本中配置的符号名称与经纪商提供的实际名称进行映射。 它使用莱文斯坦距离算法自动识别市场观察中最相似的符号。 是面临符号名称前缀或后缀兼容性问题的开发人员的理想选择。 它是一个可定制的起点,可满足任何特定需求。