Object Functions
图形对象函数
这是一组用于处理与指定图表相关的图形对象的函数。在处理当前图表中的对象时,使用直接访问方式,即在调用函数时会预先检查指定对象是否存在,如果失败则立即返回错误代码。当函数用于当前图表之外的其他图表对象时,则使用异步函数调用,此时不会进行预检查,函数会原样添加到该图表的队列中。
设置图形对象属性的函数,以及ObjectCreate()和ObjectMove()操作,实际上用于向图表发送命令。如果这些函数成功执行,命令将被添加到图表事件队列中。图形对象属性的视觉变化是在处理来自队列的图表事件时实现的。
因此,在调用这些函数后,不应期望图形对象立即发生视觉更新。通常,图表上的图形对象由终端根据更新事件自动更新,例如新报价到达、图表窗口调整大小等。使用ChartRedraw()命令强制更新图形对象。
| 函数 | 操作 |
|---|---|
| ObjectCreate | 在指定图表中创建指定类型的对象 |
| ObjectName | 根据对象列表中的索引返回对象名称 |
| ObjectDelete | 删除具有指定名称的对象 |
| ObjectsDeleteAll | 从指定图表子窗口中删除所有指定类型的对象 |
| ObjectFind | 搜索具有指定名称的对象 |
| ObjectGetTimeByValue | 返回指定对象价格值的时间值 |
| ObjectGetValueByTime | 返回指定时间对象的价格值 |
| ObjectMove | 更改指定对象锚点的坐标 |
| ObjectsTotal | 返回指定类型的对象数量 |
| ObjectGetDouble | 返回相应对象属性的双精度值 |
| ObjectGetInteger | 返回相应对象属性的整数值 |
| ObjectGetString | 返回相应对象属性的字符串值 |
| ObjectSetDouble | 设置相应对象属性的值 |
| ObjectSetInteger | 设置相应对象属性的值 |
| ObjectSetString | 设置相应对象属性的值 |
| TextSetFont | 使用绘图方法设置文本显示的字体(默认使用Arial 20) |
| TextOut | 将文本传输到用于创建图形资源的自定义数组(缓冲区)中 |
| TextGetSize | 返回当前字体设置下的字符串宽度和高度 |
| ObjectDescription | 返回对象描述 |
| ObjectGet | 返回指定对象属性的值 |
| ObjectGetFiboDescription | 返回斐波那契对象的层级描述 |
| ObjectGetShiftByValue | 计算并返回给定价格对应的条形索引 |
| ObjectGetValueByShift | 计算并返回指定条形对应的价格值 |
| ObjectSet | 更改指定对象属性的值 |
| ObjectSetFiboDescription | 为斐波那契对象的层级设置新描述 |
| ObjectSetText | 更改对象描述 |
| ObjectType | 返回对象类型 |
每个图形对象都应在同一图表内具有唯一名称,包括其子窗口。更改图形对象的名称会生成两个事件:删除旧名称对象的事件,以及创建新名称对象的事件。
在创建对象或修改对象属性之后,建议调用ChartRedraw()函数,该函数命令客户端终端强制绘制图表(以及其中的所有可见对象)。
MQL5的新功能
MQL5增加了更多图形对象,其中最独特的是OBJ_CHART(图表)——您可以插入符号图表等对象。如果您将OBJ_CHART与处理自定义事件的指标和控制面板相结合,普通图表就变成了方便的分析工具,能够一键快速更改符号和时间框架。
用于管理程序对象的对象属性得到了显著扩展。现在您可以设置颜色、将对象移到后面或前面、设置图表上拦截键盘和鼠标事件的优先级,以及选择对象或从可见对象列表中隐藏它。所有这些功能都允许您开发任何复杂程度的图形用户界面。

最后更新于