ObjectSetInteger

Gibt den Wert der entsprechenden Eigenschaft des Objekts vor.Eigenschaft des Objekts muss der Typen datetime, int, color, bool oder char sein. Es gibt 2 Varianten der Funktion.

Einstellung des Wertes der Eigenschaft ohne Modifikator

bool  ObjectSetInteger(
   long                             chart_id,          // Identifikator des Charts
   string                           name,              // Name
   ENUM_OBJECT_PROPERTY_INTEGER     prop_id,           // Eigenschaft
   long                             prop_value         // Wert
   );

Einstellung des Wertes der Eigenschaft mit Andeutung des Modifikatoren

bool  ObjectSetInteger(
   long                             chart_id,          // Identifikator des Dagramms
   string                           name,              // Name
   ENUM_OBJECT_PROPERTY_INTEGER     prop_id,           // Eigenschaft
   int                              prop_modifier,     // Modifikator
   long                             prop_value         // Wert
   );

Parameter

chart_id

[in]  Identifikator des Charts. 0 bedeutet den laufenden Chart.

name

[in]  Objektname.

prop_id

[in]  Identifikator der Eigenschaft des Objekts. Wert kann einer der Enumerationswerte ENUM_OBJECT_PROPERTY_INTEGER sein.

prop_modifier

[in]  Modifikator der angegebenen Eigenschaft. Die meisten Eigenschaften erfordern keinen Modifikator.

prop_value

[in]  Wert der Eigenschaft.

Rückgabewert

Die Funktion gibt true zurück nur wenn der Befehl zum Ändern der Eigenschaften von Objekten zum Chart erfolgreich gesendet wurde. Ansonsten gibt es false zurück. Für die Erhaltung derweiteren Information über den Fehler, muss die Funktion GetLastError() aufgerufen werden.

Hinweis

Die Funktion verwendet einen asynchronen Aufruf, d.h. dass die Funktion nicht auf die Ausführung des zur Warteschlange des Charts erfolgreich hinzugefügten Befehls wartet, sondern direkt die Kontrolle zurückgibt.

Für die Überprüfung des Ergebnisses der Ausführung in einem anderen Chart kann man eine Funktion verwenden, die die angegebene Eigenschaft des Objektes abruft. Dabei sollte man beachten, dass solche Funktion am Ende der Warteschlange von Befehlen eines anderen Charts hinzugefügt werden und auf das Ergebnis der Ausführung warten. D.h. sie können viel Zeit in Anspruch nehmen. Dies muss man beachten, wenn man mit vielen Objekten im Chart arbeitet.

Beispiel der Erstellung einer Web-Farbtabelle

//+------------------------------------------------------------------+
//|                                               Table of Web Colors|
//|                         Copyright 2011, MetaQuotes Software Corp |
//|                                       https://www.metaquotes.net |
//+------------------------------------------------------------------+
#define X_SIZE 140      // Breite des Objekts OBJ_EDIT
#define Y_SIZE 33       // Breite des Objekts OBJ_EDIT
//+------------------------------------------------------------------+
//| Ein Array von Web-Farben                                         |
//+------------------------------------------------------------------+
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
  };
//+------------------------------------------------------------------+
//| Erstellung und Initialisierung des Objekts OBJ_EDIT              |
//+------------------------------------------------------------------+
void CreateColorBox(int x,int y,color c)
  {
//--- Wir generieren einen Namen für das neue Objekt auf den Farbnamen
   string name="ColorBox_"+(string)x+"_"+(string)y;
//--- Wir erstellen ein neues Objekt OBJ_EDIT
   if(!ObjectCreate(0,name,OBJ_EDIT,0,0,0))
     {
      Print("Konnte nicht erstellen '",name,"'");
      return;
     }
//--- Wir definieren die Koordinate des Ankerpunktes, Breite und Höhe in Pixel
   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);
//--- Wir geben die Textfarbe für das Objekt ein
   if(clrBlack==c) ObjectSetInteger(0,name,OBJPROP_COLOR,clrWhite);
   else            ObjectSetInteger(0,name,OBJPROP_COLOR,clrBlack);
//--- Wir geben die Hintergrundfarbe ein
   ObjectSetInteger(0,name,OBJPROP_BGCOLOR,c);
//--- Wir setzen den Text des Objekts OBJ_EDIT entsprechend der Hintergrundfarbe
   ObjectSetString(0,name,OBJPROP_TEXT,(string)c);
  }
//+------------------------------------------------------------------+
//| Die Funktion starter Skript                                      |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- Wir erstellen eine Tabelle der Farbblöcke 7x20
   for(uint i=0;i<140;i++)
      CreateColorBox(i%7,i/7,ExtClr[i]);
  }

Sehen Sie auch

Objekttypen, Objekteigenschaften