Objektsichtbarkeit

Kombination von Flaggen der Objektsichbarkeit destimmt Timeframes des Charts, auf denen das Objekt dargestellt wird. Für Einstellung/Erhaltung des Wertes der Eigenschaft OBJPROP_TIMEFRAMES können die Funktionen ObjectSetInteger()/ObjectGetInteger() verwendet werden.

Konstante

Wert

Beschreibung

OBJ_PERIOD_M1

0x00000001

Objekt wird auf 1-Minute Chart gezeichnet

OBJ_PERIOD_M2

0x00000002

Objekt wird auf  2-Minuten Chart gezeichnet

OBJ_PERIOD_M3

0x00000004

Objekt wird auf  3-Minuten Chart gezeichnet

OBJ_PERIOD_M4

0x00000008

Objekt wird auf  4-Minuten Chart gezeichnet

OBJ_PERIOD_M5

0x00000010

Objekt wird auf  5-Minuten Chart gezeichnet

OBJ_PERIOD_M6

0x00000020

Objekt wird auf  6-Minuten Chart gezeichnet

OBJ_PERIOD_M10

0x00000040

Objekt wird auf  10-Minuten Chart gezeichnet

OBJ_PERIOD_M12

0x00000080

Objekt wird auf  12-Minuten Chart gezeichnet

OBJ_PERIOD_M15

0x00000100

Objekt wird auf  15-Minuten Chart gezeichnet

OBJ_PERIOD_M20

0x00000200

Objekt wird auf  20-Minuten Chart gezeichnet

OBJ_PERIOD_M30

0x00000400

Objekt wird auf  30-Minuten Chart gezeichnet

OBJ_PERIOD_H1

0x00000800

Objekt wird auf  1-Stunde Chart gezeichnet

OBJ_PERIOD_H2

0x00001000

Objekt wird auf  2-Stunden Chart gezeichnet

OBJ_PERIOD_H3

0x00002000

Objekt wird auf  3-Stunden Chart gezeichnet

OBJ_PERIOD_H4

0x00004000

Objekt wird auf  4-Stunden Chart gezeichnet

OBJ_PERIOD_H6

0x00008000

Objekt wird auf  6-Stunden Chart gezeichnet

OBJ_PERIOD_H8

0x00010000

Objekt wird auf  8-Stunden Chart gezeichnet

OBJ_PERIOD_H12

0x00020000

Objekt wird auf  12-Stunden Chart gezeichnet

OBJ_PERIOD_D1

0x00040000

Objekt wird auf  Tageschart gezeichnet

OBJ_PERIOD_W1

0x00080000

Objekt wird auf  Wochenchart gezeichnet

OBJ_PERIOD_MN1

0x00100000

Objekt wird auf  Monatschart gezeichnet

OBJ_ALL_PERIODS

0x001fffff

Objekt wird auf allen Timeframes gezeichnet

Flaggen der Sichbarkeit können durch das Symbol  "|" kombiniert werden, zB Flaggenkombination OBJ_PERIOD_M10|OBJ_PERIOD_H4 bedeutet, dass Objekt auf dem  10-Minuten und 4-Minuten timeframes sichtbar sein wird.

Beispiel:

void OnStart()
  {
//---
   string highlevel="PreviousDayHigh";
   string lowlevel="PreviousDayLow";
   double prevHigh;           // High des Vortages
   double prevLow;            // Low des Vortages
   double highs[],lows[];     // Felder für Erhaltung von High und Low
 
//--- stellen wir den Wert des letzten Fehlers zurück 
   ResetLastError();
//---  wir bekommen 2 letzte Werte High auf Tagstimeframe
   int highsgot=CopyHigh(Symbol(),PERIOD_D1,0,2,highs);
   if(highsgot>0) // wenn  Kopieren erfolgreich ist 
     {
      Print("Preise High für letzte 2 Tage erfolgreich erhalten");
      prevHigh=highs[0]; // High des Vortages
      Print("prevHigh =",prevHigh);
      if(ObjectFind(0,highlevel)<0) // Objekt mit dem Namen highlevel nicht gefunden
        {
         ObjectCreate(0,highlevel,OBJ_HLINE,0,0,0); // schaffen wir das Objekt Hotline 
        }
      //--- stellen wir Preislevel für die Linie highlevel fest
      ObjectSetDouble(0,highlevel,OBJPROP_PRICE,0,prevHigh);
      //--- Stellen wir Sichtbarkeit nur für PERIOD_M10 und PERIOD_H4
      ObjectSetInteger(0,highlevel,OBJPROP_TIMEFRAMES,OBJ_PERIOD_M10|OBJ_PERIOD_H4);
     }
   else
     {
      Print("Erhalten von Preisen High für letzte 2 Tage Fehler, Error = ",GetLastError());
     }
 
//---stellen wir den wert des letzen Fehlers zurück  
   ResetLastError();
//--- bekommen wir 2 letzte Werte auf Tagstimeframe Low 
   int lowsgot=CopyLow(Symbol(),PERIOD_D1,0,2,lows);
   if(lowsgot>0) // wenn Kopierenoperation erfolgreich ist 
      Print("Preise Low für letzte 2 Tage erfolgreich erhalten");
      prevLow=lows[0]; // Low des Vortages
      Print("prevLow =",prevLow);
      if(ObjectFind(0,lowlevel)<0) // Objekt mit dem Namen lowlevel nicht gefunden
        {
         ObjectCreate(0,lowlevel,OBJ_HLINE,0,0,0); // erzeugen wir das Objekt "Hotline" 
        }
      //--- stellen wir Preislevel für Linie lowlevel fest
      ObjectSetDouble(0,lowlevel,OBJPROP_PRICE,0,prevLow);
      //--- stellen wir Sichbarkeit nur für  PERIOD_M10 und PERIOD_H4 fest
      ObjectSetInteger(0,lowlevel,OBJPROP_TIMEFRAMES,OBJ_PERIOD_M10|OBJ_PERIOD_H4);
     }
   else Print("Erhalten von Preisen für die letzten zwei Tage Fehler, Error = ",GetLastError());
 
   ChartRedraw(0); // zeichnen wir Chart zwangslaeufig neu 
  }

Sehen Sie auch

PeriodSeconds, Period, Chartperioden, Datum und Zeit