设为首页 收藏本站 切换语言

ObjectCreate() 函数 MQL

| 发表于 2024-8-25 18:33:46 | 显示全部楼层 |复制链接
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 中可以这样写:


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



在 MQL5 中则几乎相同:
  1. ObjectCreate(0, "Rectangle", OBJ_RECTANGLE, 0, iTime(NULL, 0, 0), price1, iTime(NULL, 0, 5), price2);
复制代码


但在 MQL5 中填充矩形或在 MQL4 中绘制未填充矩形的方式并不像我想象的那么明显。在 MT4 中,矩形默认是填充的,而在 MT5 中则是默认不填充的。

举报

评论 使用道具

热门主题

精彩评论2

hanbin618
DD
| 发表于 3 天前 | 显示全部楼层
ObjectCreate() 函数创建对象
举报

点赞 评论 使用道具

yuwentao4761
DD
| 发表于 前天 19:20 | 显示全部楼层
学  习一下,感谢分享!!
举报

点赞 评论 使用道具

发新帖
EA交易
您需要登录后才可以评论 登录 | 立即注册

简体中文
繁體中文
English(英语)
日本語(日语)
Deutsch(德语)
Русский язык(俄语)
بالعربية(阿拉伯语)
Türkçe(土耳其语)
Português(葡萄牙语)
ภาษาไทย(泰国语)
한어(朝鲜语/韩语)
Français(法语)