EATC

 找回密码
 立即注册
查看: 681|回复: 2

MQL4对象操作函数(二)

[复制链接]

192

主题

1118

帖子

1242

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1242
发表于 2022-9-6 12:20:43 | 显示全部楼层 |阅读模式
  • ObjectCreate() – 创建对象
  • ObjectDelete() – 删除对象
  • ObjectDescription() – 获取对象描述
  • ObjectFind() – 查找指定对象
  • ObjectGet() – 获取指定对象的属性值
  • ObjectSet() – 修改指定对象属性值
  • ObjectGetFiboDescription() – 获取斐波纳契对象描述
  • ObjectSetFiboDescription() – 设置斐波纳契对象描述
  • ObjectGetShiftByValue() – 计算并返回柱体索引
  • ObjectGetValueByShift() – 计算并返回指定柱体价格值
  • ObjectMove() – 移动对象
  • ObjectName() – 获取对象名
  • ObjectsDeleteAll() – 删除指定对象
  • ObjectSetText() – 设置对象描述
  • ObjectsTotal() – 获取指定类型对象总数
  • ObjectType() – 获取对象类型

ObjectGetShiftByValue() – 计算并返回柱体索引int ObjectGetShiftByValue(string name, double value)

本函数计算并返回已给出价格的柱体(K线)索引(相对于当前柱体的偏移量)。柱体索引由第一坐标和第二坐标应用线性方程计算出来,适用于趋势线和相似的对象。

参见 ObjectGetValueByShift() 函数。

参数:

name - 对象名称。value - 价格值。

示例:

int shift=ObjectGetShiftByValue("MyTrendLine#123", 1.34);ObjectGetValueByShift() – 计算并返回指定柱体价格值double ObjectGetValueByShift(string name, int shift)

本函数计算并返回指定柱体的价格值(相对于当前柱体的偏移量)。柱子索引由第一坐标和第二坐标应用线性方程计算出来,适用于趋势线和相似的对象。

参见 ObjectGetShiftByValue() 函数。

参数:

name - 对象名称。value - 价格值。

示例:

double price=ObjectGetValueByShift("MyTrendLine#123", 11);ObjectMove() – 移动对象bool ObjectMove(string name, int point, datetime time1, double price1)

本函数在图表中可以移动一个对象的坐标。对象可能根据他们的类型有一个到三个坐标。如果函数执行成功,返回TRUE,否则,FALSE。

对象坐标从0开始。

参数:

name - 对象名称。point - 坐标索引(0-2)。time1 - 新的时间值 price1 - 新的价格值

示例:

ObjectMove("MyTrend", 1, D'2005.02.25 12:30', 1.2345);ObjectName() – 获取对象名string ObjectName(int index)

本函数根据对象列表中对象索引返回其对象名称。

参数:

index - 对象列表中对象索引。对象索引必须大于等于0,小于 ObjectsTotal() 值。

示例:

int    obj_total=ObjectsTotal();  string name;  for(int i=0;i<obj_total;i++)    {     name=ObjectName(i);     Print(i,"物件名称为 " + name);    }ObjectsDeleteAll() – 删除指定对象int ObjectsDeleteAll(void window, void type)

在指定的图表子窗口中删除指定类型的全部对象。本函数返回已删除的对象个数。

注:图表子窗口(如果子窗口图表带有指标)编号从1开始。主窗口总是存在且索引为零。如果窗口索引错误或值为-1,将从全部图表中删除对象。

如果type值等于-1或者这个参数丢失,全部对象将从指定的子窗口中删除。

参数:

window - 可选的参数。要删除的对象所在的窗口索引,必须大于等于-1(EMPTY为默认值)并且小于 WindowsTotal() 值。type - 可选的参数。被删除的对象类型。它可以是 对象类型 的任意枚举值或用EMPTY常量表示删除所有任意类型的全部对象。

示例:

  ObjectsDeleteAll(2, OBJ_HLINE); // 从第二子窗口删除全部水平线。  ObjectsDeleteAll(2);            // 从第二子窗口删除全部对象。  ObjectsDeleteAll();             //从图表中删除全部对象。ObjectSetText() – 设置对象描述bool ObjectSetText(string name, string text, int font_size, void font, void text_color)

修改对象描述。对于OBJ_TEXT和OBJ_LABEL对象,这个说明作为图表上个文本行显示。如果函数成功,返回TRUE,否则,返回FALSE。

font_size(字体大小),font_name(字体名称) 和 text_color(文本颜色)参数只能用于OBJ_TEXT和OBJ_LABEL对象。对于其它类型对象,这些参数被忽略。

参数:

name       -  对象名称。 text       -  描述对象的文本。 font_size  -  字体大小。 font       -  字体名称。 text_color -  文本颜色。

示例:

  ObjectSetText("text_object", "Hello world!", 10, "Times New Roman", Green);ObjectsTotal() – 获取指定类型对象总数int ObjectsTotal(void type)

返回图表中指定类型对象总数。

参数:

type - 可选的参数。要统计的对象类型,它可以是任意 对象类型 枚举值,        或用EMPTY常量表示统计任意类型的全部对象个数。

示例:

  int obj_total=ObjectsTotal();  string name;  for(int i=0;i<obj_total;i++)    {     name=ObjectName(i);     Print(i,"对于 #的对象名称",i," is " + name);    } ObjectType() – 获取对象类型int ObjectType(string name)

本函数返回对象的类型值。

参数:

name - 对象名称

示例:

  if(ObjectType("line_object2")!=OBJ_HLINE) return(0);
回复

使用道具 举报

2555

主题

4409

帖子

2万

积分

交易元老

Rank: 8Rank: 8

积分
22460
发表于 2023-9-24 11:11:28 | 显示全部楼层
回复

使用道具 举报

2305

主题

3863

帖子

2万

积分

交易元老

Rank: 8Rank: 8

积分
27152
发表于 2023-12-27 11:03:23 | 显示全部楼层
支持一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

收藏本站|法律声明|Archiver|小黑屋|support@ea198.com|EATC ( 桂ICP备2022005787号 )

风险提示与免责声明:擅自从事外汇保证金交易的双方不受法律保护!社区内展示内容,均为网友自发分享,不构成投资建议,社区无法全面监控由第三方上传至社区的资源,因此不保证资源的合法性、安全性、完整性、真实性或品质等。您下载时,同意自行判断并承担所有风险。社区内的资源,仅限用于学习和研究目的,不得将用于商业或者非法用途,否则,一切后果请用户自负。社区信息来自网络,版权争议与社区无关,您下载后须在24个小时之内进行删除。如果您喜欢该内容,请支持正版。如有侵权请邮件与我们联系处理。