Einzelnen Beitrag anzeigen
  #4 (permalink)  
Alt 18.02.21
AVT AVT ist offline
Elite Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 612
AVT befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von derumuro Beitrag anzeigen
Im Indikatorbuffer steht der Preis für das Arrow. Dieser wird dann über ObjectCreate() erzeugt (wenn ich den Code richtig gelesen habe).

Da ich nicht sicher bin, ob das Arrow immer an der aktuellen Kerze erscheint,
würde ich gerne die letzten beiden Kerzen über eine for-Schleife absuchen lasen.

Beim Namen des Arrows habe ich mich wahrscheinlich etwas ungenau ausgedrückt.
Name = "abc" + Präfix
mit SringFind(Name,"abc",0) bekomme ich dann "abc".

Falls noch weitere Infos gebraucht werden, bitte fragen.

Danke
derumuro
Für 2 Kerzen brauchst Du keine Schleife. Wenn Du mehrere Indikatoren und/oder Objekte hast, brauchst Du für die Objekte die Schleife

Code:
bool Result=false;
// === fange beim letzten/neusten Objekt an zu suchen
for(int i=0; i<ObjectsTotal()-1; i++) 
{
   string Search="abc"; //wonach suchen wir
   string obj_name=ObjectName(i); //Name des jeweiligen Objektes
   if(obj_name==Search) //wenn der Name "abc" lautet
   {
      // === hat der Pfeil dieselbe Zeit wie die laufende Kerze
      if(ObjectGetInteger(0,obj_name,OBJPROP_TIME)==Time[0]) Result=true;
      // === hat der Pfeil dieselbe Zeit wie die vergangene Kerze
      if(ObjectGetInteger(0,obj_name,OBJPROP_TIME)==Time[1]) Result=true;
   }
}
if(Result==true) Print("Pfeil auf letzter oder aktueller Kerze");
Bei dem Namen mußt Du eventuell noch was ändern - Du brauchst den vollständigen Namen des Pfeil-Objektes.
In etwa so geht die Abfrage, kannst Du aber noch mit weiteren Bedingungen erweitern, z.B. wenn Objekte kein Pfeil ist, dann continue.

Hoffe, das hilft Dir schon weiter. AVT