事件相关图表特性
有四种类型的事件能够生成大量消息,因此默认处于禁用状态。要稍后启用或禁用这些事件,使用 ChartSetInteger 函数设置相应的图表特性。所有特性均为 Boolean 类型:true表示启用,false 表示禁用。
标识符 |
说明 |
---|---|
CHART_EVENT_MOUSE_WHEEL |
向图表发送鼠标滚轮事件的 CHARTEVENT_MOUSE_WHEEL 消息 |
CHART_EVENT_MOUSE_MOVE |
向图表发送鼠标移动的 CHARTEVENT_MOUSE_MOVE 消息 |
CHART_EVENT_OBJECT_CREATE |
向图表发送图形对象创建的 CHARTEVENT_OBJECT_CREATE 消息 |
CHART_EVENT_OBJECT_DELETE |
向图表发送图形对象删除的 CHARTEVENT_OBJECT_DELETE 消息 |
如果任何 MQL 程序修改了这些特性中的一项,它将影响同一图表上运行的所有其他程序,并且即使原始程序终止后,该设置仍然保持有效。
默认情况下,所有特性的值均为 false。
让我们为上一节的EventAll.mq5指标补充四个输入变量,以便可以启用这些类型的事件(除了其他无法禁用的事件之外)。此外,我们将描述四个辅助变量,以便能够在删除指标后恢复图表设置。
input bool ShowMouseMove = false;
|
在启动时,记住这些特性的当前值,然后应用用户选择的设置。
void OnInit()
|
特性在 OnDeinit处理程序中恢复。
void OnDeinit(const int)
|
在启用新事件类型的情况下运行此指标。请做好接收大量鼠标移动消息的准备。以下是日志片段:
CHARTEVENT_MOUSE_WHEEL 5308557 -120.000000 ''
|
我们将在下文的相关章节中详细介绍每类事件的具体信息内容。