ObjectSetInteger

A função define o valor da propriedade do objeto correspondente. A propriedade do objeto deve ser do tipo datetime, int, color, bool ou char. Existem 2 variantes da função.

Define valor da propriedade, sem modificador

bool  ObjectSetInteger(
   long                             chart_id,          // identificador Gráfico
   string                           name,              // nome objeto
   ENUM_OBJECT_PROPERTY_INTEGER     prop_id,           // propriedade
   long                             prop_value         // valor
   );

Define um valor de propriedade que indica o modificador

bool  ObjectSetInteger(
   long                             chart_id,          // identificador Gráfico
   string                           name,              // nome objeto
   ENUM_OBJECT_PROPERTY_INTEGER     prop_id,           // propriedade
   int                              prop_modifier,     // modificador
   long                             prop_value         // valor
   );

Parâmetros

chart_id

[in]  Identificador do gráfico. Significa o gráfico atual.

nome

[in]  Nome do objeto.

prop_id

[in]  ID da propriedade do objeto. O valor pode ser um dos valores do enumerador ENUM_OBJECT_PROPERTY_INTEGER.

prop_modifier

[in]  Modificador da propriedade específica. Indica o número do nível em ferramentas Fibonacci e no objeto gráfico do tipo Tridente de Andrew. A numeração dos níveis começa a partir do zero.

prop_value

[in]  O valor da propriedade.

Valor do Retorno

A função retorna true somente se o comando para alterar as propriedades de um objeto gráfico foi enviado a um gráfico com sucesso. Do contrário ele retorna false. Para ler mais sobre o erro, chamar GetLastError().

Observação

A função utiliza uma chamada assíncrona, isso significa que a função espera a execução do comando que foi colocado com sucesso na fila do gráfico especificado e retorna o controle imediatamente.

Para verificar o resultado da execução, pode-se usar a função que solicita a propriedade especificada do objeto. Mas, ao fazer isto, deve-se ter em mente que estas funções são colocadas na fila de espera dos comandos de outro gráfico e são esperados os resultados da execução, isso quer dizer que não podem consumir muito tempo. Deve ter isso em mente, se você estiver trabalhando com um grande número de objetos no gráfico.

Um exemplo de como criar uma tabela de cores da Web

//+------------------------------------------------------------------+
//|                                            Tabela de Cores da Web|
//|                         Copyright 2011, MetaQuotes Software Corp |
//|                                       https://www.metaquotes.net |
//+------------------------------------------------------------------+
#define X_SIZE 140      // largura de uma edição de objeto
#define Y_SIZE 33       // altura de uma edição de objeto
//+------------------------------------------------------------------+
//| Array de cores da Web                                            |
//+------------------------------------------------------------------+
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
  };
//+------------------------------------------------------------------+
//| Criando e inicializando uma edição de objeto                     |
//+------------------------------------------------------------------+
void CreateColorBox(int x,int y,color c)
  {
//--- gerar um nome para uma nova edição de objeto
   string name="ColorBox_"+(string)x+"_"+(string)y;
//--- criar uma nova edição de objeto
   if(!ObjectCreate(0,name,OBJ_EDIT,0,0,0))
     {
      Print("Não é possível criar: '",name,"'");
      return;
     }
//--- definir coordenadas, largura e altura
   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);
//--- definir a cor do texto
   if(clrBlack==c) ObjectSetInteger(0,name,OBJPROP_COLOR,clrWhite);
   else            ObjectSetInteger(0,name,OBJPROP_COLOR,clrBlack);
//--- definir a cor de fundo
   ObjectSetInteger(0,name,OBJPROP_BGCOLOR,c);
//--- definir o texto
   ObjectSetString(0,name,OBJPROP_TEXT,(string)c);
  }
//+------------------------------------------------------------------+
//| Programa Script da função start (iniciar)                        |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- criar tabela de cores 7x20 para edição de objetos
   for(uint i=0;i<140;i++)
      CreateColorBox(i%7,i/7,ExtClr[i]);
  }

Veja Também

Tipos de Objetos, Propriedades de objeto