【MQL4勉強プログラミング】オブジェクトのプロパティ(属性)を設定する方法

ザフナーラボブログ

ObjectSet()関数は、指定したオブジェクトのプロパティ(=属性)を設定するために使用します。

ObjectSet()関数は、以下のように定義されています。

bool ObjectSet(
string object_name,
int index,
double value
);

各引数の意味は、以下のとおりです。

  • string object_name
    プロパティを設定するオブジェクトの名前を指定します。
  • int index
    以下の表に従って、設定するプロパティの種類を指定します。

    オブジェクトのプロパティ

    定 数
    内 容
    OBJPROP_TIME1
    datetime
    オブジェクトの1点目の描画位置(X軸の位置)
    OBJPROP_PRICE1
    double
    オブジェクトの1点目の描画位置(Y軸の位置)
    OBJPROP_TIME2
    datetime
    オブジェクトの2点目の描画位置(X軸の位置)
    OBJPROP_PRICE2
    double
    オブジェクトの2点目の描画位置(Y軸の位置)
    OBJPROP_TIME3
    datetime
    オブジェクトの3点目の描画位置(X軸の位置)
    OBJPROP_PRICE3
    double
    オブジェクトの3点目の描画位置(Y軸の位置)
    OBJPROP_COLOR
    color
    オブジェクトの描画色
    OBJPROP_STYLE
    int
    オブジェクトの線種
    STYLE_SOLID
    →実線
    STYLE_DASH
    →長音線
    STYLE_DOT
    →短音線
    STYLE_DASHDOT
    →長音線と短音線
    STYLE_DASHDOTDOT
    →長音線と短音線
    OBJPROP_WIDTH
    int
    オブジェクトの線の太さ
    「1」~「5」で設定
    OBJPROP_BACK
    bool
    オブジェクトの背景描画フラグ
    「true」
    →塗りつぶす
    「false」
    →塗りつぶさない
    OBJPROP_RAY
    10
    bool
    オブジェクトの線延長フラグ
    「true」
    →延長する
    「false」
    →延長しない
    OBJPROP_ELLIPSE
    11
    bool
    フィボナッチ円弧の描画フラグ
    「true」
    →円
    「false」
    →半円
    OBJPROP_SCALE
    12
    double
    オブジェクトのスケール
    OBJPROP_ANGLE
    13
    double
    オブジェクトの角度
    OBJPROP_ARROWCODE
    14
    int
    矢印の種別
    OBJPROP_TIMEFRAMES
    15
    int
    オブジェクトを表示させる時間軸の種別
    OBJ_PERIOD_M1
    →1分足チャート
    OBJ_PERIOD_M5
    →5分足チャート
    OBJ_PERIOD_M15
    →15分足チャート
    OBJ_PERIOD_M30
    →30分足チャート
    OBJ_PERIOD_H1
    →1時間足チャート
    OBJ_PERIOD_H4
    →4時間足チャート
    OBJ_PERIOD_D1
    →日足チャート
    OBJ_PERIOD_W1
    →週足チャート
    OBJ_PERIOD_MN1
    →月足チャート
    OBJ_ALL_PERIODS
    →すべての時間軸
    OBJPROP_DEVIATION
    16
    double
    標準偏差オブジェクトの偏差
    OBJPROP_FONTSIZE
    100
    int
    テキストオブジェクトのフォントサイズ
    OBJPROP_CORNER
    101
    int
    ラベルオブジェクトの座標を決める基となる原点の位置
    「0」:左上
    「1」:右上
    「2」:左下
    「3」:右下
    OBJPROP_XDISTANCE
    102
    int
    「OBJPROP_CORNER」で設定した原点からのX軸の画面中央に向かっての距離(ピクセル単位)
    OBJPROP_YDISTANCE
    103
    int
    「OBJPROP_CORNER」で設定した原点からのY軸の画面中央に向かっての距離(ピクセル単位)
    OBJPROP_FIBOLEVELS
    200
    int
    フィボナッチラインを表示する個数(「0」~「32」)
    OBJPROP_LEVELCOLOR
    201
    color
    レベルラインの描画色
    OBJPROP_LEVELSTYLE
    202
    int
    レベルラインの線種
    STYLE_SOLID
    →実線
    STYLE_DASH
    →長音線
    STYLE_DOT
    →短音線
    STYLE_DASHDOT
    →長音線と短音線
    STYLE_DASHDOTDOT
    →長音線と短音線
    OBJPROP_LEVELWIDTH
    203
    int
    レベルラインの太さ
    「1」~「5」で設定
    OBJPROP_FIRSTLEVEL+n
    210+n
    int
    フィボナッチ係数
    「0」~「31」で設定
  • double value
    プロパティに設定する値を指定します。

戻り値

ObjectSet()関数が正常に実行された場合は「true」を返し、正常に実行されなかった場合は「false」を返します。

エラーの詳細を取得したい場合は、GetLastError()関数(詳細は「こちら」を参照してください。)を使用します。