文章 "在交易中应用 OLAP(第 2 部分):可视化交互式多维数据分析的结果"

 

新文章 在交易中应用 OLAP(第 2 部分):可视化交互式多维数据分析的结果已发布:

在本文中,我们会探讨为一个MQL程序创建一个交互式图形界面,该程序设计用于使用OLAP技术处理帐户历史和交易报告。为了获得视觉效果,我们将使用最大化和可伸缩的窗口、自适应布局的控件和用于显示图表的新控件。为了提供可视化功能,我们将实现一个GUI,其中沿着坐标轴选择变量,以及选择聚合函数、图表类型和排序选项。

以下是可以使用OLAPGUI以图形方式显示的分析配置文件示例。

按交易品种排列的利润,降序排列

按交易品种排列的利润,降序排列

按交易品种字母顺序排序的利润

按交易品种字母顺序排序的利润

按交易品种计算的利润,持仓结束的星期几,交易类型“买入”

按交易品种计算的利润,持仓结束的星期几,交易类型“买入”

按交易品种计算的利润,头寸关闭的星期几,交易类型“卖出”

按交易品种计算的利润,头寸关闭的星期几,交易类型“卖出”

按手数计算的利润(手数表示为单元格索引,数值显示在日志中)

按手数计算的利润(手数表示为单元格索引,数值显示在日志中)

总余额曲线

总余额曲线

按买卖操作计算的余额

按买卖操作计算的余额

分别为每个交易品种绘制余额曲线

分别为每个交易品种绘制余额曲线

每个交易品种单独的隔夜息曲线

每个交易品种单独的隔夜息曲线

利润依赖于每个交易品种的交易“持续时间”

利润依赖于每个交易品种的交易“持续时间”

按交易品种和类型划分的交易数量

按交易品种和类型划分的交易数量

每个交易的“利润”和“持续时间”(秒)字段的依赖性

每个交易的“利润”和“持续时间”(秒)字段的依赖性

所有交易 MFE (%) 和 MAE (%) 的依赖性

所有交易 MFE (%) 和 MAE (%) 的依赖性

作者:Stanislav Korotky

 
与 EasyAndFast 有什么区别?
 
我很难回答这个问题。主题是 OLAP。在这种情况下,图形用户界面是一种功利性的必需品,因此它是以标准库 附加组件的形式制作的。我们决定不使用这种繁重而又易变的东西(正因为如此,我们决定不使用文档--不统一,而且是以一堆补丁的形式)。由于输出界面非常简单,有需要的用户可以使用自己喜欢的图形用户界面。
 
'm_edit' - private member access error  SpinEditResizable.mqh   14      7
'm_inc' - private member access error   SpinEditResizable.mqh   19      7
'm_dec' - private member access error   SpinEditResizable.mqh   23      7
'm_drop' - private member access error  ComboBoxResizable.mqh   65      3
'm_edit' - private member access error  ComboBoxResizable.mqh   16      7
'm_drop' - private member access error  ComboBoxResizable.mqh   20      7
'm_list' - private member access error  ComboBoxResizable.mqh   22      7
'm_list' - private member access error  ComboBoxResizable.mqh   32      17
'm_drop' - private member access error  ComboBoxResizable.mqh   33      10
'm_edit' - private member access error  ComboBoxResizable.mqh   44      7
'm_drop' - private member access error  ComboBoxResizable.mqh   45      7
'm_edit' - private member access error  ComboBoxResizable.mqh   51      7
'm_drop' - private member access error  ComboBoxResizable.mqh   52      7
'm_caption' - private member access error       MaximizableAppDialog.mqh        249     5
'm_button_minmax' - private member access error MaximizableAppDialog.mqh        171     3
'm_caption' - private member access error       MaximizableAppDialog.mqh        178     5
'm_button_minmax' - private member access error MaximizableAppDialog.mqh        192     3
'm_caption' - private member access error       MaximizableAppDialog.mqh        199     5


在 MT4 下通过

#ifndef __MQL5__
  #property strict

  #define ERR_MARKET_UNKNOWN_SYMBOL 4301
  
  bool ChartIndicatorAdd( long, int, int ) { return(false); }

  template <typename T>  
  void ArrayPrint( T &[], int = 0 ) {}
#endif // __MQL5__

#define private public

这样 做。

 
fxsaber:

文章说:给程序库打补丁--最简单的方法是将相应文件中的 private 改为 protected。以防万一,我们事先做了备份。

 
fxsaber:


通过以下方式编制

#define private public

更好的保护。

 
Stanislav Korotky:

文章说:给程序库打补丁--最简单的方法是将相应文件中的 private 改为 protected。以防万一,我们事先做了备份。

谁会在使用前阅读文章说明 呢....

 
Stanislav Korotky:
我很难回答这个问题。主题是 OLAP。在这种情况下,图形用户界面是一种功利性的必需品,因此它是以标准库 附加组件的形式制作的。我们决定不使用这种繁重而又易变的东西(正因为如此,我们决定不使用文档--不统一,而且是以一堆补丁的形式)。由于输出界面非常简单,想要的人可以使用自己喜欢的图形用户界面。
不错的附加组件
 
Alexander Fedosov:
与 EasyAndFast 有什么区别?
你是看了文章还是只看了图片?)
 
OLAPcube.mqh 中的小错误修复。
附加的文件:
OLAPcube.mqh  42 kb
 
作者写的文章 非常好 遗憾的是,自那以后,语言已经发生了很大变化,你需要一个像样的重构来进行编译。
Stanislav Korotky
Stanislav Korotky
  • www.mql5.com
Профиль трейдера