#property copyright "Copyright 2025, MetaQuotes Ltd."
#property link "https://www.mql5.com"
#property version "1.00"
#define OBJ_NAME "TestObjectGetInteger" // 对象名称
//+------------------------------------------------------------------+
//| 脚本程序起始函数 |
//+------------------------------------------------------------------+
void OnStart()
{
//--- 当前图表 ID
long chart_id=ChartID();
//--- 在当前已知的服务器时间创建“垂直线”图形对象
if(!ObjectCreate(chart_id, OBJ_NAME, OBJ_VLINE, 0, TimeCurrent(), 0))
{
Print("ObjectCreate() failed. Error ", GetLastError());
return;
}
//--- 更新图表以立即反映变化
ChartRedraw(chart_id);
//--- 获取对象创建时间
long long_var=0;
if(!ObjectGetInteger(chart_id, OBJ_NAME, OBJPROP_CREATETIME, 0, long_var))
{
Print("ObjectGetInteger() failed. Error ", GetLastError());
return;
}
//--- 对象创建时间的字符串表示
string create_time=TimeToString((datetime)long_var, TIME_DATE|TIME_MINUTES|TIME_SECONDS);
//--- 获取对象中设置的时间
if(!ObjectGetInteger(chart_id, OBJ_NAME, OBJPROP_TIME, 0, long_var))
{
Print("ObjectGetInteger() failed. Error ", GetLastError());
return;
}
//--- 对象位置时间的字符串表示
string obj_time=TimeToString((datetime)long_var, TIME_DATE|TIME_MINUTES|TIME_SECONDS);
//--- 取得对象类型
ENUM_OBJECT object_type=(ENUM_OBJECT)ObjectGetInteger(chart_id, OBJ_NAME, OBJPROP_TYPE);
//--- 向日志输出对象的类型、创建时间以及图形对象所在的图表上的时间
PrintFormat("%s object created at %s at chart point with time %s",EnumToString(object_type), create_time, obj_time);
//--- 等待两秒再删除所创建的对象
Sleep(2000);
ObjectDelete(chart_id, OBJ_NAME);
ChartRedraw(chart_id);
/*
结果:
OBJ_VLINE object created at 2025.02.01 12:15:37 at chart point with time 2025.01.31 23:54:59
*/
}
|