文章 "MQL5交易管理面板开发(第十二部分):外汇估值计算器的集成"

 

新文章 MQL5交易管理面板开发(第十二部分):外汇估值计算器的集成已发布:

精准计算核心交易价值,是每位交易者必不可少的日常工作。本文介绍如何将外汇计算器集成至交易管理面板,以此拓展多面板交易管理系统的功能。在执行交易时,快速确定风险敞口、头寸规模及潜在盈利至关重要,这一新功能旨在使面板内参数的计算过程更高效、更直观。让我们共同探索MQL5在构建高级交易面板中的实战应用。

自引入模块化设计后,我们得以独立优化程序各模块而不影响整体架构。这一灵活性使交易管理面板的升级成为可能 —— 为集成计算工具预留空间。

为实现目标,我们将调用MQL5标准库中的扩展类。我们将原本分散的输入区域,精简为"下拉菜单+单行输入”的布局。这种流线型的布局将为计算器组件腾出空间。

虽然无需实时显示所有交易参数,但决策所需的关键数值必须一目了然。部分参数值无需计算,因为它们可以通过MQL5中的实时市场数据获取。

我们将深度解析外汇核心术语与计算逻辑,包括定义、公式及MQL5中的实现方式。之后将进入实现阶段,从调整交易管理面板的订单模块入手,构建计算器前端界面。

交易管理面板升级要点


作者:Clemence Benjamin

 

嗨,克莱蒙斯、

我下载了这篇文章,修改了包含文件的位置,编译后就成功了。 在初步评估中,我发现在图表上按下顶部垂直按钮而没有其他东西时,并不能完全隐藏其他按钮。 看起来你的 xy 位置不对,因为按钮的垂直部分仍能识别点击事件。

此外,某些文本的间距似乎也有问题,不过这也可能是我的 Win11 文本大小规格造成的、


附件说明了这一问题。


这里有一个方便下载的建议:在 include 目录中创建一个子目录,将所有 include 文件放入其中,并调整 #include 语句以识别子目录,如 #include <AdminPanel\....> 这也有助于下载者更好地管理 include 目录。

附加的文件:
EURUSDH4.png  52 kb
EURUSDH4_1.png  100 kb
 
CapeCoddah #:

嗨,克莱蒙斯、

我下载了这篇文章,修改了包含文件的位置,编译后就成功了。 在初步评估中,我发现按下顶部的垂直按钮而图表上没有其他东西时,并不能完全隐藏其他按钮。 看起来你的 xy 位置不对,因为按钮的垂直部分仍能识别点击事件。

此外,某些文本的间距似乎也有问题,不过这也可能是我的 Win11 文本大小规格造成的、


附件说明了这一问题。


这里有一个方便下载的建议:在 include 目录中创建一个子目录,将所有 include 文件放入其中,并调整 #include 语句以识别子目录,如 #include <AdminPanel\....> 这也有助于下载者更好地管理 include 目录。

谢谢你,@CapeCoddah,感谢你的反馈并建议为与本项目相关的文件提供更有条理的子目录结构。

我会考虑在今后的更新中实施这一建议--这是个好主意,有助于防止不同项目的文件混杂在一起。

关于文本间距的问题,我认为这可能与您的操作系统或您端的某些设置有关,因为在我这里所有内容都是正确对齐的。 您可以在代码中尝试使用字体大小和 x 轴间距,以获得最佳视觉效果。

CapeCoddah
CapeCoddah
  • 2021.05.17
  • www.mql5.com
Trader's profile
 

您好、

我正在尝试安装,但没有显示任何按钮,只能看到两个复选框。我把文件解压缩到了上述的 Include 文件夹中,图片也解压缩到了 images 文件夹中。

 

嗨,克莱蒙斯、

我会检查一下,过几天告诉你。

我使用 !AdminPanel 作为子目录名称。双"!!"会让子目录出现在文件资源管理器列表的顶部。此外,在更新版本时,可以复制 include ea 目录,并用版本号重命名,例如:!AdmnPanel - 1.13。如果这样做,终端就会拥有原始 EA 目录和一代标记目录,这样就可以在需要时轻松返回运行旧版本。 我发现了这个指令:#property version _Version 会在输入屏幕上显示的程序名称中添加 _Version 字符串编号,这有助于理解你要查找的版本。 我还使用了 Scooter Software 的 Beyond Compare,它非常棒,可以比较不同版本之间的差异。

我还打算将 EA 中的所有辅助功能提取到一个头文件中,这样我就可以将您的系统整合到我的 EA 中,因为我很欣赏您在这个项目 中所做的出色工作。 我还喜欢您对控件类的使用;在评估您的代码时,我会学到很多东西。

干杯

科达角

 

又见面了、

你可能会后悔我下载了你的管理 EA,但现在开始了:

我已将 Ea 中的唯一代码拆分到 Admin Common.mqh 中,并对其进行了编译,它可以正常工作。

但是...

当我开始玩的时候,从上到下的按钮都工作得很好,只有最下面的按钮没有任何作用,但是当我把一个面板移到另一个面板上面时,它们就会 "联合起来 "一起移动。所有三个面板都出现了这种情况。


屏幕 1 是按顺序从上到下按下按钮的程序。 注意 底部按钮不起作用

屏幕 2 叠加了三个面板。 如果您尝试移动其中一个,它们都会移动。 移动鼠标时需要区分应该移动哪个图表。

屏幕 3 显示一次移动会移动所有三个面板

屏幕 4 显示当按下其中一个面板的 x 按钮(关闭)时,程序会关闭所有面板,同时终止并删除自身。

屏幕 5 显示当你使用 X 关闭按钮关闭第三个面板并按下按钮重新显示它时,背景面板不会重绘。


我还提供了一个压缩文件,其中包含了包含目录,并放置了 !此外,我还附带了我的 GoldBug 常用软件。其中 99% 的内容可能都是无用的,但它包含了 DTS(Double to String),因为我不想再打这么长的名字了。 DTSC 版本尚未完全调试好。 我打算用它们来插入逗号,以显示带或不带 $ 货币。


干杯!吃你的麦片,快乐编程


科德角

附加的文件:
 
CapeCoddah 键入 冗长的名称。 DTSC 版本尚未完全调试好。 我打算用它们来插入逗号,以显示带或不带 $ 的货币。


干杯!吃你的麦片,快乐编程


科德角

感谢@CapeCoddah 提供的所有反馈意见以及您所付出的努力--这确实有助于提高多面板交易工具版本的稳定性。

我真的很感谢您花时间去探索和解决问题。

我目前正在审查您强调的问题,并将检查您提交的修改意见。改进正在路上。

致以最诚挚的问候、

克莱蒙斯-本杰明

CapeCoddah
CapeCoddah
  • 2021.05.17
  • www.mql5.com
Trader's profile
 
Oluwafemi Olabisi #:

你好

我正在尝试安装,但没有显示任何按钮,只能看到两个复选框。我把文件解压缩到了上述的 Include 文件夹中,图片也解压缩到了 images 文件夹中。

你好@Oluwafemi Olabisi

能否请您提供一张截图,以便我为您提供更有效的帮助?

 
Clemence Benjamin #:

你好@Oluwafemi Olabisi

能否请您提供一张截图,以便我为您提供更有效的帮助?

我在这里附上了文件分别被提取到 INCLUDE 和 IMAGES 目录的过程。
 

你好,克莱蒙斯、

我有几个问题,也许你能帮我解决。

首先是策略测试器

当我在其中运行我的 EA 时,测试机上的文本、面板按钮等都不显示。 我注意到您的一些功能显示了出来。 您知道是什么原因造成了这种差异吗? 我打算将您的 EA 整合到我的 EA 中,并尝试确定是什么原因造成了这种差异。

其次,您如何联系 MetaQuotes,向他们传送错误和改进建议。 我在 MQL5.com 上花了很多时间,但找不到方法。

 
Oluwafemi Olabisi #:
我在这里附上了如何将文件分别提取到 INCLUDE 和 IMAGES 目录中。

EA 应该放在 experts 文件夹中,而不是 include 文件夹中。 移动 EA 后,必须停止 EA 并重新启动,才能让 EA 显示在导航窗格中。 这是 MQ 应该改变的地方之一。至少应允许用户折叠文件夹(无论是指标文件夹还是 EXperts 文件夹),然后在执行展开命令时刷新列表,而不是停止终端并重启它,然后打开所有子目录,直到到达目标为止。 更好的是,当子目录中放入新的可执行文件时, 它们应自动执行 该操作。