对于目前图表相关的图表物件的一组函数。
ObjectCreate
ObjectDeleteObjectDescriptionObjectFindObjectGetObjectGetFiboDescriptionObjectGetShiftByValueObjectGetValueByShiftObjectMoveObjectNameObjectsDeleteAllObjectSetObjectSetFiboDescriptionObjectSetTextObjectsTotalObjectTypebool 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("错误:不能创建文本! 代码 #",GetLastError());return(0);}ObjectSet("label_object", OBJPROP_XDISTANCE, 200);ObjectSet("label_object", OBJPROP_YDISTANCE, 100);bool ObjectDelete( string name)删除物件已有的指定名称。 假使函数成功,返回值会是TRUE,否则,它会是 FALSE。
得到详细的错误信息, 查看GetLastError() 函数。
参数:
name - 被删除的物件名称。
示例:ObjectDelete("text_object");
string ObjectDescription( string name)返回物件描述。 对于OBJ_TEXT和OBJ_LABEL类型物件,这些物件文本将返回。
得到详细的错误信息,查看GetLastError() 函数。
参见 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=-;i查找指定的物件名称。窗口的索引包含所寻到的物件。假使它失利, 返回值会是-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);
string ObjectGetFiboDescription( string name, int index)函数返回对斐波纳契物件的平实描述。相当数量斐波纳契水平取决于物件类型。最大斐波纳契水平是32。
得到详细的错误信息,查看 GetLastError() 函数。
参见 ObjectSetFiboDescription() 函数。
参数:
name - 斐波纳契物件名称。
index - 斐波纳契索引水平(0-31)。示例:#include
函数计算并返回索引柱(移动目前有关的柱)给出的值。 索引柱由第一和第二坐标应用线性方程计算。适用于趋势线和类似的物件。得到详细的错误信息, 查看 GetLastError() 函数。
参见 ObjectGetValueByShift() 函数。
参数:
name - 物件名称。
value - 价格值。示例:int shift=ObjectGetShiftByValue("MyTrendLine#123", 1.34);
double ObjectGetValueByShift( string name, int shift)函数计算并返回指定柱的值(转移目前有关的柱)。索引柱由第一和第二坐标应用线性方程计算。适用于趋势线和类似的物件。得到详细的错误信息, 查看 GetLastError() 函数。
参见 ObjectGetShiftByValue() 函数。
参数:
name - 物件名称。
shift - 柱索引。示例:double price=ObjectGetValueByShift("MyTrendLine#123", 11);
bool ObjectMove( string name, int point, datetime time1, double price1)函数在图移动一个物件座标。物件或许依据他们的类型有一个到三个座标。假使函数成功,返回值会是 TRUE,否则,它会是FALSE。得到详细的错误信息, 查看 GetLastError() 函数。物件坐标的开始数字务必是0。
参数:
name - 物件名称。
point - 坐标索引(0-2)。time1 - 新时间值。price1 - 新值。示例:ObjectMove("MyTrend", 1, D'2005.02.25 12:30', 1.2345);
string ObjectName( int index)
在物件列表中用它的索引函数返回物件名称。得到详细的错误信息, 查看 GetLastError() 函数。
参数:
index - 在物件列表中的物件索引。物件索引务必胜过或等于0而且差于ObjectsTotal()。
示例:int obj_total=ObjectsTotal();
string name;for(int i=0;i在图表的子窗口删除全部类型物件。函数返回删除物件数。得到详细的错误信息, 查看 GetLastError() 函数。
注解: 子窗口图表(假使子窗口带有指标)编号从1 开始。主窗口的存在的索引为零。假使窗口索引错误或值为-1,物件 会从现有的图表中删除。
假使类型 值等与-1 或这个参数是错误的,在子窗口的全部指定物件将被删除。
参数:
window - 选择参数。 物件的索引窗口将被删除。 务必胜过或等于 -1 (EMPTY为默认值)而且差于 万得owsTotal()。
type - 选择参数。被删除的物件类型。它可以是 任意列举值的物件类型或EMPTY常数删除所有物件类型。示例:ObjectsDeleteAll(2, OBJ_HLINE);
// 从第二子窗口去除全部水平线。ObjectsDeleteAll(2);// 从第二子窗口去除全部物件。ObjectsDeleteAll();//从图表中去除全部物件。bool ObjectSet( string name, int index, double value)更改指定物件属性的值。假使函数成功, 返回值会是 TRUE。否则, 它会是FALSE. 得到详细的错误信息, 查看 GetLastError() 函数。
参见 ObjectGet() 函数。
参数:
name - 物件名称。
index - 物件索引值。 它可以是列举的任意物件属性值。value - 新的属性值。示例:// moving the first coord to the last bar time
ObjectSet("MyTrend", OBJPROP_TIME1, Time[0]);// setting the second fibo levelObjectSet("MyFibo", OBJPROP_FIRSTLEVEL+1, 1.234);// setting object visibility. object will be shown only on 15 minute and 1 hour chartsObjectSet("MyObject", OBJPROP_TIMEFRAMES, OBJ_PERIOD_M15 | OBJ_PERIOD_H1);bool ObjectSetFiboDescription( string name, int index, string text)函数分配一个新的描述到斐波纳契物件的水准。 相当数量斐波纳契水平取决于物件类型。最大金额斐波纳契水平是32。
得到详细的错误信息,查看 GetLastError() 函数。
参数:
name - 物件名称。
index - 斐波纳契索引水平(0-31)。text - 新的水准描述示例:ObjectSetFiboDescription("MyFiboObject",2,"Second line");
bool ObjectSetText( string name, string text, int font_size, void font, void text_color)
更改物件描述。对于OBJ_TEXT 和OBJ_LABEL物件的描述作为图表的文本表明。假使函数成功, 返回的值会是TRUE。 否则, 它是FALSE。得到详细的错误信息, 查看GetLastError() 函数。只有字体大小,字体名称和文本颜色参数运用为 font_size, font_name和 text_color 物件。为其它类型 物件, 这些参数被忽视。
参见 ObjectDescription() 函数。
参数:
name - 物件名称。
text - 描述物件文本。font_size - 字体大小点数。font - 字体名称。text_color - 文本颜色。示例:ObjectSetText("text_object", "Hello world!", 10, "Times New Roman", Green);
int ObjectsTotal( void type)在图表中返回指定物件类型总量。
参数:
type - 选择参数。将计数的物件类型。它可以是物件类型列举的任意值或EMPTY常数计算全部类型物件。
示例:
int obj_total=ObjectsTotal();
string name;for(int i=0;i函数返回 物件类型值。得到详细的错误信息, 查看 GetLastError() 函数。
参数:
name - 物件名称。
示例:if(ObjectType("line_object2")!=OBJ_HLINE) return(0);