ObjectSetInteger

この関数は、対応するオブジェクトプロパティの値を設定します。オブジェクトプロパティは datetime、int、color、bool または char 型でなければなりません。この関数には 2 つのバージョンがあります。

修飾語なしでのプロパティ値の設定

bool  ObjectSetInteger(
  long                            chart_id,          // チャート識別子
  string                          name,              // オブジェクト名
  ENUM_OBJECT_PROPERTY_INTEGER    prop_id,          // プロパティ
  long                            prop_value         // 値
  );

修飾子を使用してのプロパティ値の設定

bool  ObjectSetInteger(
  long                            chart_id,          // チャート識別子
  string                          name,              // オブジェクト名
  ENUM_OBJECT_PROPERTY_INTEGER    prop_id,          // プロパティ
  int                              prop_modifier,    // 修飾子
  long                            prop_value         // 値
  );

パラメータ

chart_id

[in]  チャート識別子( 0 は現在のチャート)

name

[in]  オブジェクト名

prop_id

[in]  オブジェクトプロパティ識別子。値は ENUM_OBJECT_PROPERTY_INTEGER 列挙のいずれかです。

prop_modifier

[in]  指定されたプロパティの修飾子。修飾子はフィボナッチツールのレベル数及びグラフィックオブジェクトのアンドリューズピッチフォークを示します。 レベルの番号付けは0から始まります。

prop_value

[in]  プロパティ値

戻り値

グラフィックオブジェクトのプロパティ変更コマンドが正常にチャートに送信された場合にのみ true、その他の場合は false。エラーの詳細を読むには GetLastError() を呼びます。

注意事項

この関数は非同期呼び出しを使用します。つまり、この関数は指定されたチャートのキューに追加されたコマンドの実行を待機せずに、代わりに、すぐに制御を返します。

コマンドの実行結果を確認するには指定されたオブジェクトプロパティをレクエストする関数を使用できますが、そのような関数はそのチャートのキューの最後に追加され、実行結果を待つため時間がかかることにご注意ください。チャート上で多数のオブジェクトを操作する場合は、この特徴を考慮する必要があります。

ウェブカラーの表を作成する例

//+------------------------------------------------------------------+
//|                                               Table of Web Colors|
//|                         Copyright 2011, MetaQuotes Software Corp |
//|                                       https://www.metaquotes.net |
//+------------------------------------------------------------------+
#define X_SIZE 140     // 編集オブジェクトの幅
#define Y_SIZE 33       // 編集オブジェクトの幅の高さ
//+------------------------------------------------------------------+
//| ウェブカラーの配列                                                     |
//+------------------------------------------------------------------+
color ExtClr[140]=
 {
  clrAliceBlue,clrAntiqueWhite,clrAqua,clrAquamarine,clrAzure,clrBeige,clrBisque,clrBlack,clrBlanchedAlmond,
  clrBlue,clrBlueViolet,clrBrown,clrBurlyWood,clrCadetBlue,clrChartreuse,clrChocolate,clrCoral,clrCornflowerBlue,
  clrCornsilk,clrCrimson,clrCyan,clrDarkBlue,clrDarkCyan,clrDarkGoldenrod,clrDarkGray,clrDarkGreen,clrDarkKhaki,
  clrDarkMagenta,clrDarkOliveGreen,clrDarkOrange,clrDarkOrchid,clrDarkRed,clrDarkSalmon,clrDarkSeaGreen,
  clrDarkSlateBlue,clrDarkSlateGray,clrDarkTurquoise,clrDarkViolet,clrDeepPink,clrDeepSkyBlue,clrDimGray,
  clrDodgerBlue,clrFireBrick,clrFloralWhite,clrForestGreen,clrFuchsia,clrGainsboro,clrGhostWhite,clrGold,
  clrGoldenrod,clrGray,clrGreen,clrGreenYellow,clrHoneydew,clrHotPink,clrIndianRed,clrIndigo,clrIvory,clrKhaki,
  clrLavender,clrLavenderBlush,clrLawnGreen,clrLemonChiffon,clrLightBlue,clrLightCoral,clrLightCyan,
  clrLightGoldenrod,clrLightGreen,clrLightGray,clrLightPink,clrLightSalmon,clrLightSeaGreen,clrLightSkyBlue,
  clrLightSlateGray,clrLightSteelBlue,clrLightYellow,clrLime,clrLimeGreen,clrLinen,clrMagenta,clrMaroon,
  clrMediumAquamarine,clrMediumBlue,clrMediumOrchid,clrMediumPurple,clrMediumSeaGreen,clrMediumSlateBlue,
  clrMediumSpringGreen,clrMediumTurquoise,clrMediumVioletRed,clrMidnightBlue,clrMintCream,clrMistyRose,clrMoccasin,
  clrNavajoWhite,clrNavy,clrOldLace,clrOlive,clrOliveDrab,clrOrange,clrOrangeRed,clrOrchid,clrPaleGoldenrod,
  clrPaleGreen,clrPaleTurquoise,clrPaleVioletRed,clrPapayaWhip,clrPeachPuff,clrPeru,clrPink,clrPlum,clrPowderBlue,
  clrPurple,clrRed,clrRosyBrown,clrRoyalBlue,clrSaddleBrown,clrSalmon,clrSandyBrown,clrSeaGreen,clrSeashell,
  clrSienna,clrSilver,clrSkyBlue,clrSlateBlue,clrSlateGray,clrSnow,clrSpringGreen,clrSteelBlue,clrTan,clrTeal,
  clrThistle,clrTomato,clrTurquoise,clrViolet,clrWheat,clrWhite,clrWhiteSmoke,clrYellow,clrYellowGreen
 };
//+------------------------------------------------------------------+
//| 編集オブジェクトを作成と初期化                                           |
//+------------------------------------------------------------------+
void CreateColorBox(int x,int y,color c)
 {
//--- 新しい編集オブジェクトの名称を作成
  string name="ColorBox_"+(string)x+"_"+(string)y;
//--- 新しい編集オブジェクトを作成
  if(!ObjectCreate(0,name,OBJ_EDIT,0,0,0))
    {
    Print("Cannot create: '",name,"'");
    return;
    }
//--- 座礁、幅及び高さを設定する
  ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x*X_SIZE);
  ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y*Y_SIZE);
  ObjectSetInteger(0,name,OBJPROP_XSIZE,X_SIZE);
  ObjectSetInteger(0,name,OBJPROP_YSIZE,Y_SIZE);
//--- テキストの色を設定する
  if(clrBlack==c) ObjectSetInteger(0,name,OBJPROP_COLOR,clrWhite);
  else           ObjectSetInteger(0,name,OBJPROP_COLOR,clrBlack);
//--- 背景色を設定する
  ObjectSetInteger(0,name,OBJPROP_BGCOLOR,c);
//--- テキストを設定する
  ObjectSetString(0,name,OBJPROP_TEXT,(string)c);
 }
//+------------------------------------------------------------------+
//| スクリプトプログラムを開始する関数                                          |
//+------------------------------------------------------------------+
void OnStart()
 {
//--- 色のついた編集オブジェクトの 7x20 の表を作る
  for(uint i=0;i<140;i++)
     CreateColorBox(i%7,i/7,ExtClr[i]);
 }

参照

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