GetDouble
GetDouble
可供简便地访问 MQL5 API ObjectGetDouble() 函数来获取已分配到类实例中的图形对象的双精度属性值 (浮点或双精度类型)。函数有两个调用版本:
无需正确性验证即可获取一个属性值
double GetDouble(
ENUM_OBJECT_PROPERTY_DOUBLE prop_id, // 双精度属性标识符
int modifier=-1 // 限定符
) const参数
- prop_id
[输入] 双精度图形属性 ID。
- modifier=-1
[输入] 限定符 (索引) 双精度特征。
返回值
如果成功, 则返回双精度类型的属性值, 若出错, 则返回 EMPTY_VALUE。
验证处治的正确性再获取属性值
bool GetDouble(
ENUM_OBJECT_PROPERTY_DOUBLE prop_id, // 双精度属性标识符
int modifier, // 限定符
double& value // 链接到变量
) const参数
- prop_id
[输入] 双精度图形属性 ID。
- modifier
[输入] 限定符 (索引) 双精度特征。
- value
[输出] 容纳属性双精度值的变量引用。
返回值
true - 如果成功, false - 如果您未能获取一个双精度特征值。
例如:
//--- 例程 CChartObject::GetDouble
#include <ChartObjects\ChartObject.mqh>
//---
void OnStart()
{
CChartObject object;
//---
for(int i=0;i<object.LevelsCount();i++)
{
//--- 通过简便方法获取值
printf("水平线 %d 值=%f",i,object.GetDouble(OBJPROP_LEVELVALUE,i));
//--- 通过经典方法获取值
double value;
if(!object.SetDouble(OBJPROP_LEVELVALUE,i,value))
{
printf("获取双精度属性出错 %d",GetLastError());
return;
}
else
printf("水平线 %d 值=%f",i,value);
}
}