Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1326

 
DanilaMactep:

Mehr als einmal habe ich gesehen, dass solche Variablen in Videotutorials problemlosgeändert werden können.

Ich würde es auch gerne sehen, kann ich einen Link bekommen?

DanilaMactep:

Bitte geben Sie wirklich klare und vernünftige Ratschläge

Beitrag#13247

 

Können Sie mir sagen, wie ich ein Objekt anhand eines Namens finden kann, der nicht vollständig ist?

Der Indikator erstellt Objekte und gibt ihnen einen Namen

HlineCreate(0,"Min"+rand(),...);

Suchen Sie das Objekt und löschen Sie es, wenn sein Preis niedriger ist als der aktuelle Preis

 
MakarFX:

Können Sie mir sagen, wie ich ein Objekt anhand eines Namens finden kann, der nicht vollständig ist?

Der Indikator erstellt Objekte und gibt ihnen einen Namen

Ich muss ein Objekt finden und es löschen, wenn sein Preis niedriger ist als der aktuelle Preis

Ist es das?

StringFind

Suche nach Teilstring in String.

intStringFind(
stringstring_value,//string string wir suchen
stringmatch_substring,//Wonach wir suchen
intstart_pos=0// an welcher Stelle die Suche beginnen soll
);

Parameter

string_value

[in] Zeichenfolge, in der gesucht werden soll.

match_substring

[in] Zu durchsuchende Teilzeichenkette Match_substring.

start_pos=0

[in] Position in der Zeichenkette, an der die Suche beginnen soll.

Zurückgegebener Wert

Gibt die Positionsnummer in der Zeichenkette zurück, an der die zu suchende Teilzeichenkette beginnt, oder -1, wenn keine Teilzeichenkette gefunden wird.

 
Vitaly Muzichenko:

Das hier?

Wahrscheinlich nicht...

oder besser gesagt, ich weiß nicht, wie ich sie mit der Objektsuche verknüpfen kann.

Ich versuche es.

 for(int i=0;i<ObjectsTotal();i++)
     ObjectDelete(0,"Min"+IntegerToString(i));

aber es funktioniert nicht.

 
MakarFX:

Wahrscheinlich nicht...

oder besser gesagt, ich weiß nicht, wie ich sie mit einer Objektsuche verknüpfen kann.

Ich versuche es immer noch.

aber es funktioniert einfach nicht(

for(int i=0;i<ObjectsTotal();i++) {
 if(StringFind(получим имя объекта,"Min")>-1) { // ObjectName
   ObjectDelete(0,"полученное имя");

stringObjectName(
intobject_index// Nummer in der Objektliste
);

 

Ich schlage Folgendes vor:

int obj_total=ObjectsTotal(); 
 
   for(i=obj_total-1;i>=0;i--) 
     { 
      string name=ObjectName(i); 
      if(StringFind(name,"Min",0)!=-1)
        {
        ObjectDelete(name);
        } 
     } 
 
Vitaly Muzichenko:


Alekseu Fedotov:

Danke, ich werde jetzt beides ausprobieren)

 

Ich habe es so gemacht.

 for(int a = 0; a<ObjectsTotal() ;a++)
  {
   if(ObjectGet(ObjectName(a),OBJPROP_PRICE1)>iHigh(Symbol(),PERIOD_D1,1))
   if(ObjectDelete(ObjectName(a)))Print("Delete");
  }

Funktioniert tadellos!

Ich danke Ihnen allen)

 

Hallo. Frage nach den Kosten des Artikels. Ich tue dies:

MarketInfo("EURCAD",MODE_TICKVALUE) 
MarketInfo("USDCAD",MODE_TICKVALUE)

Ich erhalte bei diesen beiden Paaren die gleichen Werte. Funktioniert das so? Oder handelt es sich um eine Störung?

 
MakarFX:

Ich habe es so gemacht.

Funktioniert tadellos!

Ich danke Ihnen allen)

Der Kreislauf muss umgekehrt werden. Andernfalls wird es Fragen darüber geben, warum es nicht perfekt funktioniert hat.

Grund der Beschwerde: