MQL4对象操作函数详解与使用指南
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("Myswissquote瑞讯银行外汇平台TrendLine#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;iObjectsDeleteAll() – 删除指定对象
int ObjectsDeleteAll(void window, void type)从指定的图表子窗口中删除指定类型的全部对象。本函数返回已删除的对象个数。
备注:图表子窗口(若带有指标)的编号从1开始。主窗口始终存在,其索引为0。若窗口索引错误或为-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 - 文本颜色。swissquote瑞讯银行外汇平台 示例:
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;iObjectType() – 获取对象类型
int ObjectType(string name)本函数返回指定对象的类型值。
参数说明:
name - 对象名称示例:
if(ObjectType("line_object2")!=OBJ_HLINE) return(0);
