分离图表窗口
终端中的图表窗口可以从主窗口中分离,分离后可移动到桌面任何位置,包括其他显示器。MQL5 允许你查询和更改此设置:相应特性包含在 ENUM_CHART_PROPERTY_INTEGER 枚举中。
标识符 |
说明 |
值类型 |
|---|---|---|
CHART_IS_DOCKED |
图表窗口已分离(默认值为 true)。如果设置为 false,则图表可拖至终端窗口之外 |
bool |
CHART_FLOAT_LEFT |
已分离图表相对于虚拟屏幕的左侧坐标 |
int |
CHART_FLOAT_TOP |
已分离图表相对于虚拟屏幕的顶部坐标 |
int |
CHART_FLOAT_RIGHT |
已分离图表相对于虚拟屏幕的右侧坐标 |
int |
CHART_FLOAT_BOTTOM |
已分离图表相对于虚拟屏幕的底部坐标 |
int |
让我们在 ChartDock.mq5脚本中设置对这些特性的追踪。
void OnStart()
|
如果你现在运行该脚本,使用上下文菜单分离图表(取消按下 Docked开关命令),并移动或调整图表大小,相应的日志将添加到日志记录中。
Initial state:
|
学习本节后,对于通过 ChartGet和 ChartSet 函数管理的特性的介绍便已完毕,因此我们将使用通用脚本ChartFullSet.mq5 对内容进行总结。它会追踪所有类型的所有特性的状态。标志数组的初始化通过循环填充连续索引来完成。最大值会预留一定余量以应对新的特性,而额外的无效编号会被 ChartModeMonitorBase类内置的检查机制(参阅 detect 方法)自动丢弃。
激活脚本后,尝试更改任何设置,同时观察日志中的程序消息。