- ObjectCreate() – 创建对象
- ObjectDelete() – 删除对象
- ObjectDescription() – 获取对象描述
- ObjectFind() – 查找指定对象
- ObjectGet() – 获取指定对象的属性值
- ObjectSet() – 修改指定对象属性值
- ObjectGetFiboDescription() – 获取斐波纳契对象描述
- ObjectSetFiboDescription() – 设置斐波纳契对象描述
- ObjectGetShiftByValue() – 计算并返回柱体索引
- ObjectGetValueByShift() – 计算并返回指定柱体价格值
- ObjectMove() – 移动对象
- ObjectName() – 获取对象名
- ObjectsDeleteAll() – 删除指定对象
- ObjectSetText() – 设置对象描述
- ObjectsTotal() – 获取指定类型对象总数
- ObjectType() – 获取对象类型
bool ObjectCreate(string name, int type, int window, datetime time1, double price1, void time2, void price2, void time3, void price3)
在指定的窗口中用指定的名称、类型和最初的坐标创建对象。依据对象类型与对象相关的坐标个数可以是值得是1到3个。假使函数成功,返回TRUE,否则,返回FALSE。要想得到详细的错误信息,请调用GetLastError()函数。
OBJ_LABEL类型的对象忽视坐标。运用 ObjectSet() 设定 OBJPROP_XDISTANCE 和 OBJPROP_YDISTANCE 属性。
注:图表子窗口(假使子窗口图表中带有指标)编号从1开始。图表主窗口总是存在的,且索引为零。
坐标务必成对传递:时间和价格。比如,OBJ_VLINE对象只需要时间,但价格(任意值)也务必同期传递。
参数:
name - 对象唯一位称。type - 对象类型。它可以是 对象类型列表 的任意值。window - 要添加对象的窗口索引。窗口索引务必大于或等于0,而且差于 万得owsTotal()。time1 - 第一点时间。price1 - 第一点价格值。time2 - 第二点时间。price2 - 第二点价格值。time3 - 第三点时间。price3 - 第三点价格值。
示例:
// 新文本对象 if(!ObjectCreate("text_object", OBJ_TEXT, 0, D'2004.02.20 12:30', 1.0045)) { Print("错误:不能创建文本! 代码 #",GetLastError());return(0);} // 新标签对象 if(!ObjectCreate("label_object", OBJ_LABEL, 0, 0, 0)) { Print("错误:不能创建label_object! 代码 #",GetLastError());return(0);} ObjectSet("label_object", OBJPROP_XDISTANCE, 200);ObjectSet("label_object", OBJPROP_YDISTANCE, 100);
bool ObjectDelete(string name)
删除指定名称的对象。假使函数成功,返回TRUE,否则,返回FALSE。
参数:
name - 要删除对象的名称。
示例:
ObjectDelete("text_object");
string ObjectDescription(string name)
返回对象描述。对于OBJ_TEXT和OBJ_LABEL类型对象,这些对象设置的文本将返回。
参见 ObjectSetText() 函数。
参数:
name - 对象的名称。
示例:
// 将图表对象列表写入文件 int handle, total; string obj_name,fname; // 文件名称 fname="objlist_"+Symbol();handle=FileOpen(fname,FILE_CSV|FILE_WRITE);if(handle!=false) { total=ObjectsTotal();for(int i=-;iFileWrite(handle,"Object "+obj_name+" description= "+ObjectDescription(obj_name));} FileClose(handle);}
int ObjectFind(string name)
查找指定名称的对象。函数返回包含寻到的对象窗口索引。假使查找失利,返回-1。假使想获取详细的错误信息,请调用GetLastError()函数。
图表子窗口(假使图表子窗口带有指标)编号从1开始。图表主窗口总是存在且索引为零。
参数:
name - 要查找的对象名称。
示例:
if(ObjectFind("line_object2")!=win_idx) return(0);
double ObjectGet(string name, int index)
函数返回指定对象的属性值。假使想获取详细的错误信息,请调用GetLastError()函数。
参见 ObjectSet() 函数。
参数:
name - 要查找的对象名称。index - 对象属性的索引。它可以是 对象属性枚举值 的任意值。
示例:
color oldColor=ObjectGet("hline12", OBJPROP_COLOR);
bool ObjectSet(string name, int index, double value)
修改指定对象的属性值。假使函数成功,返回TRUE,否则,返回FALSE。假使想获取详细的错误信息,请调用 GetLastError() 函数。
参见 ObjectGet() 函数。
参数:
name - 要查找的对象名称。index - 对象属性的索引。它可以是 对象属性枚举值 的任意值。value - 给定的新属性值
示例:
// 将第1个坐标移到最后一个柱子的时间 ObjectSet("MyTrend", OBJPROP_TIME1, Time[0]);// 设定第二个斐波纳契水平线 ObjectSet("MyFibo", OBJPROP_FIRSTLEVEL+1, 1.234);// 设置对象可视性,对象表明在15分钟和1小时图表上 ObjectSet("MyObject", OBJPROP_TIMEFRAMES, OBJ_PERIOD_M15 | OBJ_PERIOD_H1);
string ObjectGetFiboDescription(string name, int index)
返回斐波纳契对象的水准线表明。斐波纳契水平线的数量取决于对象类型。斐波纳契水平线个数最大为32(0到31)。
假使想获取详细的错误信息,请调用 GetLastError() 函数。
参见 ObjectSetFiboDescription() 函数。
参数:
name - 要查找的对象名称。index - 斐波纳契水平线索引(0-31)。
示例:
#include ... string text; for(int i=0;i<32;i++) { text=ObjectGetFiboDescription(MyObjectName,i);//---- 检查对象能否少于32条水平线 if(GetLastError()!=ERR_NO_ERROR) break; Print(MyObjectName,"水平线: ",i," description: ",text);}
bool ObjectSetFiboDescription(string name, int index, string text)
本函数为斐波纳契对象的水准线设置一个新的描述。斐波纳契水平线数量最大为32(0到31)。
参数:
name - 要查找的对象名称。index - 斐波纳契水平线索引(0-31)。text - 新的水准线描述。
示例:
ObjectSetFiboDescription("MyFiboObject",2,"Second line");