客服热线:18391752892

MQL4对象操作函数(一)

   日期:2019-01-12     浏览:663    
马上注册,结交更多好友,下载更多资源

您需要 登录 才可以下载或查看,没有帐号?注册 ObjectCreate() – 创建对象ObjectDelete() – 删除对象ObjectDescription() – 获取对象描述ObjectFind() – 查找指定对象ObjectGet() – 获取指定对象的属性值ObjectSet() – 修改指定对象属性值ObjectGetFiboDescription() – 获取斐波纳契对象描述ObjectSetFiboDescription() – 设置斐波纳契对象描述ObjectGetShiftByValue() – 计算并返回柱体索引ObjectGetValueByShift() – 计算并返回指定柱体价格值ObjectMove() – 移动对象ObjectName() – 获取对象名ObjectsDeleteAll() – 删除指定对象ObjectSetText() – 设置对象描述ObjectsTotal() – 获取指定类型对象总数ObjectType() – 获取对象类型
ObjectCreate() – 创建对象[size=1em]1
2
3
4
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,并且小于 WindowsTotal()。time1 - 第一点时间。price1 - 第一点价格值。time2 - 第二点时间。price2 - 第二点价格值。time3 - 第三点时间。price3 - 第三点价格值。示例:[size=1em]1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 新文本对象
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);
Back to Top
ObjectDelete() – 删除对象[size=1em]1
bool ObjectDelete(string name)
删除指定名称的对象。如果函数成功,返回TRUE,否则,返回FALSE。参数:name - 要删除对象的名称。示例:[size=1em]1
ObjectDelete( text_object
Back to Top
ObjectDescription() – 获取对象描述[size=1em]1
string ObjectDescription(string name)
返回对象描述。对于OBJ_TEXT和OBJ_LABEL类型对象,这些对象设置的文本将返回。参见 ObjectSetText() 函数。参数:name - 对象的名称。示例:[size=1em]1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 将图表对象列表写入文件
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 total;i++)
     {
      obj_name=ObjectName(i);
      FileWrite(handle, Object +obj_name+ description= +ObjectDescription(obj_name));
     }
    FileClose(handle);
   }
Back to Top
ObjectFind() – 查找指定对象[size=1em]1
int ObjectFind(string name)
查找指定名称的对象。函数返回包含找到的对象窗口索引。如果查找失败,返回-1。如果想获取详细的错误信息,请调用GetLastError()函数。图表子窗口(如果图表子窗口带有指标)编号从1开始。图表主窗口总是存在且索引为零。参数:name - 要查找的对象名称。示例:[size=1em]1
if(ObjectFind( line_object2 )!=win_idx) return(0);
Back to Top
ObjectGet() – 获取指定对象的属性值[size=1em]1
double ObjectGet(string name, int index)
函数返回指定对象的属性值。如果想获取详细的错误信息,请调用GetLastError()函数。参见 ObjectSet() 函数。参数:name - 要查找的对象名称。index - 对象属性的索引。它可以是 对象属性枚举值 的任意值。示例:[size=1em]1
color oldColor=ObjectGet( hline12 , OBJPROP_COLOR);
Back to Top
ObjectSet() – 修改指定对象属性值[size=1em]1
bool ObjectSet(string name, int index, double value)
修改指定对象的属性值。如果函数成功,返回TRUE,否则,返回FALSE。如果想获取详细的错误信息,请调用 GetLastError() 函数。参见 ObjectGet() 函数。参数:name - 要查找的对象名称。index - 对象属性的索引。它可以是 对象属性枚举值 的任意值。value - 给定的新属性值示例:[size=1em]1
2
3
4
5
6
// 将第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);
Back to Top
ObjectGetFiboDescription() – 获取斐波纳契对象描述[size=1em]1
string ObjectGetFiboDescription(string name, int index)
返回斐波纳契对象的水平线说明。斐波纳契水平线的数量取决于对象类型。斐波纳契水平线个数最大为32(0到31)。如果想获取详细的错误信息,请调用 GetLastError() 函数。参见 ObjectSetFiboDescription() 函数。参数:name - 要查找的对象名称。index - 斐波纳契水平线索引(0-31)。示例:[size=1em]1
2
3
4
5
6
7
8
9
10
#include
 ...
 string text;
 for(int i=0;i i++)
    {
   text=ObjectGetFiboDescription(MyObjectName,i);
   //---- 检查对象是否少于32条水平线
   if(GetLastError()!=ERR_NO_ERROR) break;
   Print(MyObjectName, 水平线: ,i, description: ,text);
    }
Back to Top
ObjectSetFiboDescription() – 设置斐波纳契对象描述[size=1em]1
bool ObjectSetFiboDescription(string name, int index, string text)
本函数为斐波纳契对象的水平线设置一个新的描述。斐波纳契水平线数量最大为32(0到31)。参数:name - 要查找的对象名称。index - 斐波纳契水平线索引(0-31)。text - 新的水平线描述。示例:[size=1em]1
ObjectSetFiboDescription( MyFiboObject ,2, Second line

外汇交易有很大的风险性,本站所有资源均来自网络,请选择使用,如若出现亏损,本站不承担任何责任!


特别提示:本信息由相关企业自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


0相关评论
相关行情
推荐行情
点击排行