查看原文:http://www.125808047.com/?p=667
MQL4对象操作函数(一)
ObjectCreate()
1
2
3
4
bool
datetime
void
void
在指定的窗口中用指定的名称、类型和最初的坐标创建对象。根据对象类型与对象有关的坐标个数可以是可以是1到3个。如果函数成功,返回TRUE,否则,返回FALSE。要想获得详细的错误信息,请调用GetLastError()函数。
OBJ_LABEL类型的对象忽略坐标。使用
注:图表子窗口(如果子窗口图表中带有指标)编号从1开始。图表主窗口总是存在的,且索引为零。
坐标必须成对传递:时间和价格。例如,OBJ_VLINE对象只需要时间,但价格(任意值)也必须同时传递。
参数:
name
type
window
time1
price1
time2
price2
time3
price3
示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//
if(!ObjectCreate("text_object",
{
Print("错误:不能创建文本!
return(0);
}
//
if(!ObjectCreate("label_object",
{
Print("错误:不能创建label_object!
return(0);
}
ObjectSet("label_object",
ObjectSet("label_object",
ObjectDelete()
1
bool
删除指定名称的对象。如果函数成功,返回TRUE,否则,返回FALSE。
参数:
name
示例:
1
ObjectDelete("text_object");
ObjectDescription()
1
string
返回对象描述。对于OBJ_TEXT和OBJ_LABEL类型对象,这些对象设置的文本将返回。
参见
参数:
name
示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//
int
string
//
fname="objlist_"+Symbol();
handle=FileOpen(fname,FILE_CSV|FILE_WRITE);
if(handle!=false)
{
total=ObjectsTotal();
for(int
{
obj_name=ObjectName(i);
FileWrite(handle,"Object
}
FileClose(handle);
}
ObjectFind()
1
int
查找指定名称的对象。函数返回包含找到的对象窗口索引。如果查找失败,返回-1。如果想获取详细的错误信息,请调用GetLastError()函数。
图表子窗口(如果图表子窗口带有指标)编号从1开始。图表主窗口总是存在且索引为零。
参数:
name
示例:
1
if(ObjectFind("line_object2")!=win_idx)
ObjectGet()
1
double
函数返回指定对象的属性值。如果想获取详细的错误信息,请调用GetLastError()函数。
参见
参数:
name
index
示例:
1
color
ObjectSet()
1
bool
修改指定对象的属性值。如果函数成功,返回TRUE,否则,返回FALSE。如果想获取详细的错误信息,请调用
参见
参数:
name
index
value
示例:
1
2
3
4
5
6
//
ObjectSet("MyTrend",
//
ObjectSet("MyFibo",
//
ObjectSet("MyObject",
ObjectGetFiboDescription
1
string
返回斐波纳契对象的水平线说明。斐波纳契水平线的数量取决于对象类型。斐波纳契水平线个数最大为32(0到31)。
如果想获取详细的错误信息,请调用
参见
参数:
name
index
示例:
1
2
3
4
5
6
7
8
9
10
#include
...
string
for(int
{
text=ObjectGetFiboDescription
//----
if(GetLastError()!=ERR_NO_ERROR)
Print(MyObjectName,"水平线:
}
ObjectSetFiboDescription
1
bool
本函数为斐波纳契对象的水平线设置一个新的描述。斐波纳契水平线数量最大为32(0到31)。
参数:
name
index
text
示例:
1
ObjectSetFiboDescription
联系客服