ObjectSetInteger

La funzione imposta il valore della proprietà dell'oggetto corrispondente. La proprietà oggetto deve essere di tipo datetime, int, colore, bool o char. Ci sono due varianti della funzione.

Imposta il valore della proprietà, senza modificatore

bool  ObjectSetInteger(
   long                             chart_id,          // identificatore del grafico
   string                           name,              // nome dell'oggetto
   ENUM_OBJECT_PROPERTY_INTEGER     prop_id,           // proprietà
   long                             prop_value         // value
   );

Imposta un valore di proprietà che indica il modificatore

bool  ObjectSetInteger(
   long                             chart_id,          // identificatore del grafico
   string                           name,              // nome dell'oggetto
   ENUM_OBJECT_PROPERTY_INTEGER     prop_id,           // proprietà
   int                              prop_modifier,     // modificatore
   long                             prop_value         // value
   );

Parametri

chart_id

[in] Identificatore del Grafico. 0 significa il grafico corrente.

name

[in] Nome dell'oggetto.

prop_id

[in] ID della proprietà dell'oggetto. Il valore può essere uno dei valori dell' enumerazione ENUM_OBJECT_PROPERTY_INTEGER.

prop_modifier

[in] Modificatore della proprietà specificata. Esso denota il numero del livello negli strumenti di Fibonacci e nell'oggetto grafico Forche di Andrew's. La numerazione dei livelli parte da zero.

prop_value

[in] Il valore della proprietà.

Valore restituito

La funzione restituisce true solo se il comando per modificare le proprietà di un oggetto grafico sono state inviate con successo ad un grafico. In caso contrario, restituisce false. Per saperne di più sull' errore chiamare GetLastError().

Note

La funzione utilizza una chiamata asincrona, il che significa che la funzione non attende l'esecuzione del comando che è stato aggiunto alla coda del grafico specificato. Invece, restituisce immediatamente il controllo.

Per verificare il risultato di esecuzione del comando, è possibile utilizzare una funzione che richiede la proprietà dell'oggetto specificato. Tuttavia, è necessario tenere presente che tali funzioni vengono aggiunte alla fine della coda di quel chart, ed aspettano il risultato dell'esecuzione, e quindi possono richiedere molto tempo. Questa funzione deve essere presa in considerazione quando si lavora con un gran numero di oggetti su un chart.

Un esempio di come creare una tabella di Colori Web

//+--------------------------------------------------------------------------------+
//|                                                         Tabella dei colori Web |
//|                                       Copyright 2011, MetaQuotes Software Corp |
//|                                                     https://www.metaquotes.net |
//+--------------------------------------------------------------------------------+
#define X_SIZE 140      // spessore di un oggetto di modifica
#define Y_SIZE 33       // altezza di un oggetto di modifica
//+--------------------------------------------------------------------------------+
//| Array di colori 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
  };
//+--------------------------------------------------------------------------------+
//| Creazione ed inizializzazione di un oggetto di modifica                        |
//+--------------------------------------------------------------------------------+
void CreateColorBox(int x,int y,color c)
  {
//--- genera il nome per un nuovo oggetto di modifica
   string name="ColorBox_"+(string)x+"_"+(string)y;
//--- crea un nuovo oggetto di modifica
   if(!ObjectCreate(0,name,OBJ_EDIT,0,0,0))
     {
      Print("Non posso creare: '",name,"'");
      return;
     }
//--- imposta le coordinate, spessore ed altezza
   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);
//--- set text color
   if(clrBlack==c) ObjectSetInteger(0,name,OBJPROP_COLOR,clrWhite);
   else            ObjectSetInteger(0,name,OBJPROP_COLOR,clrBlack);
//--- imposta colore di background
   ObjectSetInteger(0,name,OBJPROP_BGCOLOR,c);
//--- imposta il testo
   ObjectSetString(0,name,OBJPROP_TEXT,(string)c);
  }
//+--------------------------------------------------------------------------------+
//| Funzione di avvio del programma Script                                         |
//+--------------------------------------------------------------------------------+
voidOnStart()
  {
//--- crea la tabella 7x20 degli oggetti di modifica colorati
   for(uint i=0;i<140;i++)
      CreateColorBox(i%7,i/7,ExtClr[i]);
  }

Vedi anche

Object Types, Proprietà Oggetto