首页 / 交易学院 / 用标准库类与 Google Chart API 做交易信息板
用标准库类与 Google Chart API 做交易信息板
📊

用标准库类与 Google Chart API 做交易信息板

用 CObject 体系与 Google Chart API,把交易统计做成常驻信息板

MQL5 编程 难度 · 进阶 2026-07-15 11 分钟阅读
#MQL5#标准库#OOP#GoogleChart#信息板

本文演示如何把交易统计、余额曲线、品种占比饼图塞进图表子窗口的一个指标里,不阻塞主图。核心是用 MQL5 标准库(一套基于 CObject 的类)做面向对象封装,再用外部图表服务渲染可视化。

一、为什么用标准库做信息板

标准库位于 MQL5/Include,只提供类、不提供函数,需要一点 OOP 基础。它的价值是批量管理指标缓冲区、图表对象、数组,避免手写大量 ObjectCreate/Set,适合做复杂界面。

二、标准库的类体系

三、Board 类的设计

保护数据:子窗口号、成交数组、余额数组、编辑单元、图表对象、饼图数据。私有数据:约 30 个交易特征变量(净利润、盈利因子、回撤等)。公共方法:构造、析构、Refresh、CreateInterface。

✦ 构造与析构的纪律
构造里用 Chart.Attach() 关联当前图并 new 动态对象;析构里用 CheckPointer + delete 释放,再调用 Shutdown/Detach/Delete 清理。谁 new 谁 delete。

四、交易特征指标怎么算

五、Google Chart API 集成

用 wininet.dll 下载 PNG 再转 BMP 显示;余额图 cht=lc,饼图 cht=p3;尺寸限制 1000x300。需要终端允许 DLL 导入,并附带三个自写 DLL(字体度量、PNG 转 BMP、wininet 封装)。

⚠ 部署前提
文章依赖外部 DLL 与终端的 DLL 导入权限,部署前确认环境允许;现代 MQL5 也可用内置 CGraphic 类在终端内直接画图,未必非要绕道外部 API。

六、指标生命周期与事件

常见问题

MQL5/Include 下的一组类(仅类、非函数),用 OOP 思路批量管理指标缓冲区、图表对象、数组,避免手写大量 ObjectCreate/Set,适合复杂界面。
指标常驻图表、随报价刷新、不占主图,还能缩放关闭;脚本是一次性的,没法持续刷新。
净利润、盈利因子、最大回撤、连续盈亏、各品种成交占比——这几个最能一眼判断策略质量。
不一定。现代 MQL5 有 CGraphic 类可直接在终端内画图,不必绕道外部 API 与 DLL,部署更省心。
内存会被回收,但日志报 “X undeleted objects left”;养成 new/delete 配对、用 CheckPointer 判断后再删的习惯。