GetDouble

クラスインスタンスに割り当てられたグラフィックオブジェクトの double 型プロパティ(float 型とdouble 型)の値を取得するための API MQL5 のObjectGetDouble() 関数への簡易化したアクセスを提供します。この関数の呼び出し方は 2 つあります。

正当性をチェックしないプロパティの値の取得

double  GetDouble(
  ENUM_OBJECT_PROPERTY_DOUBLE  prop_id,        // doubleプロパティの識別子
  int                          modifier=-1      // 修飾子
  ) const

パラメータ

prop_id

[in]  double 型グラフィックプロパティの識別子

modifier=-1

[in]  double 修飾子(インデックス)

戻り値

成功した場合は double 型のプロパティの値、失敗した場合は EMPTY_VALUE

正当性をチェックするプロパティの値の取得

bool  GetDouble(
  ENUM_OBJECT_PROPERTY_DOUBLE  prop_id,      // double 型プロパティの識別子
  int                          modifier,    // 修飾子
  double&                      value        // 変数へのリンク
  ) const

パラメータ

prop_id

[in]  double 型グラフィックプロパティの識別子

modifier

[in]  double 修飾子(インデックス)

value

[out]  double 型プロパティの値を格納する変数への参照

戻り値

成功の場合は true、double 型プロパティが取得出来なかった場合は false

例:

//--- CChartObject::GetDouble の例
#include <ChartObjects\ChartObject.mqh>
//---
void OnStart()
 {
  CChartObject object;
  //---
  for(int i=0;i<object.LevelsCount();i++)
    {
    //--- 簡単な方法でレベルを取得する
    printf("Level %d value=%f",i,object.GetDouble(OBJPROP_LEVELVALUE,i));
    //--- 典型的な方法でレベルを取得する
    double value;
    if(!object.SetDouble(OBJPROP_LEVELVALUE,i,value))
       {
        printf("Get double property error %d",GetLastError());
        return;
       }
    else
        printf("Level %d value=%f",i,value);
    }
 }