トップ  >  MQL4リファレンス  >  標準定数・列挙・構造体  >  オブジェクト定数  >  オブジェクトバインディング
スポンサーリンク
検索

↑の検索エンジンが表示されない人は、
↓の古い検索エンジンを使用して下さい。
カスタム検索
MQL4リファレンスツリー
オブジェクトバインディング


グラフィカルオブジェクトのテキストとラベル (OBJ_TEXT, OBJ_BITMAP_LABEL , OBJ_LABEL) は
9種類のバインディング座標のいずれかを設定出来ます。

ObjectSetInteger()関数を使用して、ENUM_ANCHOR_POINTの値を設定して使用します。

ENUM_ANCHOR_POINT
ID 詳細
ANCHOR_LEFT_UPPER 左上のアンカーポイント
ANCHOR_LEFT 中央左のアンカーポイント
ANCHOR_LEFT_LOWER 左下のアンカーポイント
ANCHOR_LOWER 中央下のアンカーポイント
ANCHOR_RIGHT_LOWER 右下のアンカーポイント
ANCHOR_RIGHT 中央右のアンカーポイント
ANCHOR_RIGHT_UPPER 右上のアンカーポイント
ANCHOR_UPPER 中央上のアンカーポイント
ANCHOR_CENTER オブジェクト中心のアンカーポイント


OBJ_BUTTON, OBJ_RECTANGLE_LABEL, OBJ_EDITオブジェクトは、左上に固定アンカーポイントを持っています。




サンプルソース:
#property strict
#property script_show_inputs

string str_anchor [] = 
{
    "左上",
    "中央左",
    "左下",
    "中央下",
    "右下",
    "中央右",
    "右上",
    "中央上",
    "中心"
};

input ENUM_BASE_CORNER  _SetConerAnchor = CORNER_RIGHT_LOWER; // コーナーアンカー
input ENUM_ANCHOR_POINT _SetAnchorPoint = ANCHOR_LEFT_UPPER;  // アンカーポイント

//+------------------------------------------------------------------+
//| スクリプトプログラムスタート
//+------------------------------------------------------------------+
void OnStart()
{
    DispObj( _SetAnchorPoint );
}

void DispObj( ENUM_ANCHOR_POINT in_anchor ) {

    string obj_name = StringFormat("TestObj%d" , in_anchor);
    int    chart_id = 0;
    
    ObjectDelete(obj_name);                                                // オブジェクト全削除

    ObjectCreate(chart_id,obj_name,                                     // オブジェクト作成
                OBJ_LABEL,                                              // オブジェクトタイプ
                0,                                                       // サブウインドウ番号
                0,                                                       // 1番目の時間のアンカーポイント
                0                                                        // 1番目の価格のアンカーポイント
                );

    ObjectSetInteger(chart_id,obj_name,OBJPROP_COLOR,clrYellow);            // 色設定
    ObjectSetString(chart_id,obj_name,OBJPROP_TEXT, str_anchor[in_anchor] );  // 表示するテキスト
    ObjectSetString(chart_id,obj_name,OBJPROP_FONT,"MS ゴシック");        // フォント

    ObjectSetInteger(chart_id,obj_name,OBJPROP_FONTSIZE,14);                  // フォントサイズ
    ObjectSetInteger(chart_id,obj_name,OBJPROP_CORNER,_SetConerAnchor);       // コーナーアンカー設定
    ObjectSetInteger(chart_id,obj_name,OBJPROP_XDISTANCE,100);                // X座標
    ObjectSetInteger(chart_id,obj_name,OBJPROP_YDISTANCE,20);                 // Y座標

    // オブジェクトバインディングのアンカーポイント設定
    ObjectSetInteger(chart_id,obj_name,OBJPROP_ANCHOR,in_anchor);             
}






管理人の勝手なコメント:
MT4のプロパティのアンカー設定表示はOBJPROP_CORNERの設定値に依存します。OBJPROP_ANCHORの設定値には依存しません。


MT4のプロパティのアンカー設定を手動で変更すると、OBJPROP_CORNERとOBJPROP_ANCHORの設定値が変わります。




グラフィカルオブジェクトのアロー(OBJ_ARROW)は2種類の座標リンク(ENUM_ARROW_ANCHOR)があります。
ENUM_ARROW_ANCHOR
ID 詳細
ANCHOR_TOP 上にアンカー
ANCHOR_BOTTOM 下にアンカー


サンプルソース:
#property strict
#property indicator_chart_window

#define OBJNAME_TEST "test_obj"

//+------------------------------------------------------------------+
//| 初期化                         
//|------------------------------------------------------------------|
void OnInit(){

    string objname;
    int    icount;

    ObjectsDeleteAll();
    
    for ( icount = 0 ; icount < 2 ; icount++) {
        objname  = OBJNAME_TEST + (string)icount;

        if( icount ==0 ) {
            ObjectCreate(0,objname,OBJ_ARROW_THUMB_UP,0,Time[30],High[1]); // アロー(サムズアップ)オブジェクト作成
            ObjectSetInteger(0,objname,OBJPROP_ANCHOR    , ANCHOR_TOP);     // アンカーポイント:上
            ObjectSetInteger(0,objname,OBJPROP_COLOR     , clrYellow);       // カラー:黄
        } else {
            ObjectCreate(0,objname,OBJ_ARROW_THUMB_UP,0,Time[5],High[1]); // アロー(サムズアップ)オブジェクト作成
            ObjectSetInteger(0,objname,OBJPROP_ANCHOR    , ANCHOR_BOTTOM);  // アンカーポイント:下
            ObjectSetInteger(0,objname,OBJPROP_COLOR     , clrRed);          // カラー:赤
        }

        ObjectSetInteger(0,objname,OBJPROP_WIDTH,10);                           // 幅設定

    }
}






スポンサーリンク
スポンサーリンク


Copyright ©2015 MT4でEA自作しちゃお~ All Rights Reserved.


Top

inserted by FC2 system