找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
首页论坛EAHub 外汇论坛
查看: 28|回复: 0

ObjectCreate() 函数 MQL

[复制链接]

4万

主题

54

回帖

4万

积分

管理员

积分
45954
发表于 2026-8-27 21:24:00 | 显示全部楼层 |阅读模式
ObjectCreate() 函数

bool ObjectCreate(string name, int type, int window, datetime time1, double price1, datetime time2=0,double price2=0, datetime time3=0, double price3=0)

这个函数用于在指定的图表子窗口中创建一个对象,设定其名称和坐标。对象的坐标数量可以根据对象类型的不同从 1 个到 3 个不等。如果对象成功创建,函数返回 TRUE;如果失败,则返回 FALSE。要获取详细的错误信息,可以使用 GetLastError() 函数。

坐标需要成对传递,包括时间和价格。例如,OBJ_VLINE 对象只需要时间,但价格也必须传递(可以是任意值)。对于 OBJ_LABEL 类型的对象,该函数中的坐标将被忽略;要设置该对象的 OBJPROP_XDISTANCE 和 OBJPROP_YDISTANCE 属性,需要使用 ObjectSet() 函数。


参数说明:

name - 对象的名称;type - 对象的类型(可以是预定义的类型之一);window - 对象将被添加到的窗口编号。图表的子窗口(如果有指标窗口)编号从 1 开始,主窗口的编号始终为 0;指定的窗口编号必须大于或等于 0,并且小于 WindowsTotal() 函数返回的值;time1 - 第一个坐标的时间;price1 - 第一个坐标的价格;time2 - 第二个坐标的时间;price2 - 第二个坐标的价格;time3 - 第三个坐标的时间;price3 - 第三个坐标的价格。


本指南特别适合那些在 MetaTrader 平台上使用 MQL4 或 MQL5 编码并处理图表对象的程序员。

使用 MQL4 和 MQL5 代码绘制图表矩形

在 MQL 编写的指标或专家顾问中绘制矩形在 MetaTrader 4 和 MetaTrader 5 平台上都是比较简单的任务。你只需使用相对简单的参数调用 ObjectCreate() 函数即可。例如,在 MQL4 中可以这样写:

ObjectCreate("Rectangle", OBJ_RECTANGLE, 0, Time[0], price1, Time[5], price2);复制代码


在 MQL5 中则几乎相同:

ObjectCreate(0, "Rectangle", OBJ_RECTANGLE, 0, iTime(NULL, 0, 0), price1, iTime(NULL, 0, 5), price2);复制代码


但在 MQL5 中填充矩形或在 MQL4 中绘制未填充矩形的方式并不像我想象的那么明显。在 MT4 中,矩形默认是填充的,而在 MT5 中则是默认不填充的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|EAHub外汇论坛

GMT+8, 2026-10-9 15:30 , Processed in 0.103063 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表