文章 "制作仪表板以显示指标和EA中的数据"

 

新文章 制作仪表板以显示指标和EA中的数据已发布:

在本文中,我们将创建一个用于指标和EA的仪表板类。这是一个小系列文章中的介绍性文章,其中包含模板以在EA交易中包含和使用标准指标。我将首先创建一个类似于MetaTrader 5数据窗口的面板。

在本文中,我将创建一个可以显示开发人员指定的数据的仪表板。这样的面板将便于在图表上直观地显示数据和进行可视化调试,因为在面板上查看必要的值比在调试器中跟踪它们更方便。我指的是根据某些数据值调试策略的情况。

我将以终端数据窗口原型的形式制作面板,并用相同的数据填充:


图1数据窗口和仪表板

我们的自定义面板将允许我们向其添加任何所需数量的必要数据,对其进行签名,以及显示和更新程序代码的读数。

应该可以用鼠标在图表周围移动面板,将其固定在所需的图表位置,以及折叠/展开它。为了方便在面板上放置数据,可以显示具有指定行数和列数的表格。该表中的数据可以显示在日志中(每个表单元格的X和Y坐标),并通过编程获得,以指示该数据应位于的行和列的索引,或者只需打印坐标并在显示文本和数据时将所需坐标输入到代码中。第一种方法由于其完全自动化而更加方便。面板也将有一个活动的关闭按钮,但我们将其处理委托给控制程序,因为只有程序开发人员才能决定如何对按下关闭按钮做出反应。单击按钮时,将向程序事件处理程序发送一个自定义事件。开发人员可以自行处理。

作者:Artyom Trishkin

 

感谢您的分享。

如果需要继承该类,这种实现方式有一个很大的缺点。

1.没有默认构造函数,参数构造函数按大小设置重要参数。例如,如果需要根据类的子类中的参数来计算面板的大小,那么这个逻辑就必须在类外实现,或者在类中实现,但计算要在一个单独的函数中进行,这在一定程度上破坏了逻辑,因为参数构造函数的调用(没有默认构造函数)会出现在初始化列表中。也许更好的解决办法是将初始化从构造函数移到类函数中。

2.带参数的部分被声明为私有,这就不允许后代实现不同的颜色方案或更改页眉大小等功能。

3.我知道这项工作尚未完成,但有些函数还没有实现,例如 SetButtonClose(开/关)、SetButtonMinimize(开/关)。

有了源代码,最终完成它就不成问题了,但还是......

 
Evgeny #:

感谢您的分享。

如果需要继承该类,这种实现方式有一个很大的缺点。

1.没有默认构造函数,参数构造函数按大小设置重要参数。例如,如果需要根据类的子类中的参数来计算面板的大小,那么这个逻辑就必须在类外实现,或者在类中实现,但计算要在一个单独的函数中进行,这在一定程度上破坏了逻辑,因为参数构造函数的调用(没有默认构造函数)将会出现在初始化列表中。也许更好的解决办法是将初始化从构造函数移到类函数中。

2.带参数的部分被声明为私有,这就不允许后代实现不同的颜色方案或改变页眉的大小等。

3.3. 我知道工作还没有完成,但有些函数还没有实现,例如 SetButtonClose(开/关)、SetButtonMinimize(开/关)。

有了源代码,最终完成它就不成问题了,但还是......

这篇文章是一篇教程。其中,面板涵盖了最基本的需求。

1.子代有自己的构造函数,其初始化列表中必须包含父代的构造函数。您可以在其中指定所需的尺寸。

我还没有考虑过颜色方案)以及标题的大小。

这些方法在公共部分声明。奇怪的是,它们并没有被实现。我记得当时我正在测试它们的启用/禁用....。我不得不凭记忆从头开始重写这个类,因为它的第一个版本在磁盘空间耗尽时被 Windows 销毁了。我一定是忘了还原它们。谢谢,我会修好的。

是的,有了源代码--所有的牌都掌握在读者手中。这正是教程文章的目的所在。

 
Artyom Trishkin #:

这篇文章具有指导性。在这篇文章中,专家小组介绍了最起码的需求。

1.子代有自己的构造函数,其初始化列表必须包含父代的构造函数。在其中指定所需的尺寸。

我甚至还没有考虑过配色方案)以及页眉的尺寸。

这些方法在公共部分声明。奇怪的是,它们并没有被实现。我清楚地记得,我当时正在测试它们的启用/禁用....。我不得不凭记忆从头开始重写这个类,因为它的第一个版本在磁盘空间耗尽时被 Windows 销毁了。我一定是忘了还原它们。谢谢,我会修好的。

是的,有了源代码--所有的牌都掌握在读者手中。这正是教程文章的目的所在。

1.是的,但只要在初始化列表 中调用了祖先构造函数,就必须在某个地方对传入的参数进行计算。特别是如果它不是最原始的。

例如,计算右下角初始显示的 X、Y 位置,根据预期的表格行数计算高度....。这将需要 3 个额外的类函数,而不是在其构造函数中调用祖先构造函数的一段代码中完成的。 虽然它可以工作,但看起来更像一根拐杖。如果能让类的架构更适应进一步的变化,那么这样的代码就不太美观了。(当然,这是一个完美主义者的观点)。

2.小的修饰会使产品更有质量。但总的来说,您的代码很漂亮,您的解决方案也很有趣,读起来很舒服。

3.我很同情您,数据丢失总是令人很不愉快,所以可靠的备份是我们的一切。

谢谢您,我们期待着您的新文章。

原因: