图表事件类型
使用预定函数OnChartEvent()能实现11种事件类型,自定义事件65535标识符在CHARTEVENT_CUSTOM 到 CHARTEVENT_CUSTOM_LAST 范围内浮动,为生成自定义事件,可以使用EventChartCustom()函数。
ENUM_CHART_EVENT
ID |
说明 |
---|---|
CHARTEVENT_KEYDOWN |
打键次数 |
CHARTEVENT_MOUSE_MOVE |
鼠标移动,鼠标点击 (如果 CHART_EVENT_MOUSE_MOVE=true 为图表设置) |
CHARTEVENT_MOUSE_WHEEL |
按下或滚动鼠标滚轮(如果CHART_EVENT_MOUSE_WHEEL=True为图表设置) |
CHARTEVENT_OBJECT_CREATE |
图解对象 创建 (如果 CHART_EVENT_OBJECT_CREATE=true 为图表设置) |
CHARTEVENT_OBJECT_CHANGE |
图解对象 通过属性对话改变性质 |
CHARTEVENT_OBJECT_DELETE |
图解对象 删除 (如果 CHART_EVENT_OBJECT_DELETE=true 为图表设置) |
CHARTEVENT_CLICK |
点击一个图表 |
CHARTEVENT_OBJECT_CLICK |
点击 图解对象 |
CHARTEVENT_OBJECT_DRAG |
拖放 图解对象 |
CHARTEVENT_OBJECT_ENDEDIT |
在图表对象编辑里进行文本末尾编辑 |
CHARTEVENT_CHART_CHANGE |
通过属性对话框改变图表大小或更改图表属性 |
CHARTEVENT_CUSTOM |
事件的首写字符在自定义事件中 |
CHARTEVENT_CUSTOM_LAST |
事件的最后一个字符在自定义事件中 |
对于每个事件类型,OnChartEvent()函数的输入参数都有固定值,这在此事件处理过程中是必须的,事件和值通过参量传递并列举在如下表格中
事件 |
ID参量值 |
lparam 参数值 |
dparam 参数值 |
sparam 参数值 |
---|---|---|---|---|
按键事件 |
CHARTEVENT_KEYDOWN |
按键代码 |
重复计数(用户按住按键的重复击键次数) |
描述键盘按键状态的位掩码的字符串值 |
鼠标事件 (如果CHART_EVENT_MOUSE_MOVE=true 为图表设置) |
CHARTEVENT_MOUSE_MOVE |
X坐标 |
Y坐标
|
描述鼠标按键状态的位掩码的字符串值 |
鼠标滚轮事件(如果CHART_EVENT_MOUSE_WHEEL=true为图表设置) |
CHARTEVENT_MOUSE_WHEEL |
键盘按键和鼠标按键的状态标识,鼠标指针的X和Y坐标。在以下示例查阅描述 |
鼠标滚轮滚动的Delta值 |
― |
图解对象创建事件 (如果 CHART_EVENT_OBJECT_CREATE=true 为图表设置) |
CHARTEVENT_OBJECT_CREATE |
― |
― |
创建的图表对象的名称 |
通过性质对话转变对象性质事件 |
CHARTEVENT_OBJECT_CHANGE |
― |
― |
修改的图表对象的名称 |
图解对象删除事件 (如果CHART_EVENT_OBJECT_DELETE=true为图表设置) |
CHARTEVENT_OBJECT_DELETE |
― |
― |
删除图表对象的名称 |
鼠标点击图表事件
|
CHARTEVENT_CLICK |
X坐标
|
Y坐标
|
― |
鼠标点击属于图表的对象事件 |
CHARTEVENT_OBJECT_CLICK |
X坐标 |
Y坐标
|
事件发生时图表对象的名称 |
使用鼠标拖动图解对象事件 |
CHARTEVENT_OBJECT_DRAG |
― |
― |
移动图表对象名称 |
在编辑标签图表对象的进入访问完成文本编辑事件 |
CHARTEVENT_OBJECT_ENDEDIT |
― |
― |
在文本编辑完成后编辑标签图表对象名称 |
在N数字下用户使用ID事件 |
CHARTEVENT_CUSTOM+N |
EventChartCustom() 函数的值 |
EventChartCustom() 函数的值
|
EventChartCustom() 函数的值
|
示例:
#define KEY_NUMPAD_5 12 |
对于CHARTEVENT_MOUSE_MOVE 事件 sparam 字符串参数包含有关键盘和鼠标按钮的状态信息:
Bit |
描述 |
---|---|
1 |
鼠标左按键状态 |
2 |
鼠标右按键状态 |
3 |
SHIFT 按钮状态 |
4 |
CTRL 按钮状态 |
5 |
鼠标中按键状态 |
6 |
第一个额外鼠标键的状态 |
7 |
第二个额外鼠标键的状态 |
示例:
//+------------------------------------------------------------------+
|
对于CHARTEVENT_MOUSE_WHEEL事件,参数lparam 和dparam 包含Ctrl和 Shift键,鼠标按键,光标坐标的状态信息和鼠标滚轮滚动值。为了更好的理解,请在图表上运行这个EA交易并滚动鼠标滚轮,同时按下不同的按键并按住代码中所描述的按键。
CHARTEVENT_MOUSE_WHEEL 事件处理示例:
//+------------------------------------------------------------------+
|
另见