跳至内容

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与处理自定义事件的指标和控制面板相结合,普通图表就变成了方便的分析工具,能够一键快速更改符号和时间框架。

用于管理程序对象的对象属性得到了显著扩展。现在您可以设置颜色、将对象移到后面或前面、设置图表上拦截键盘和鼠标事件的优先级,以及选择对象或从可见对象列表中隐藏它。所有这些功能都允许您开发任何复杂程度的图形用户界面。

live_chart_panel

最后更新于