[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 1108

 

Guten Abend allerseits!!!

Ich bin in Panik, ich erstelle 10 Objekte des Typs OBJ_TEXT im Diagramm und führe dann eine Schleife aus, um sie nach Namenstag zu löschen.

Also die Funktion

int Obektov = ObjectsTotal(OBJ_TEXT);

zeigt, dass es in der Tat 10 sind, aber wenn ich anfange, ihre Namen für die Löschung zu analysieren (dem Namen nach sind alle 10 zu löschen) mit diesem Code

int Obektov = ObjectsTotal(OBJ_TEXT);
       Alert(Obektov);
       for(int j = 0; j < Obektov; j++)
         {
          Alert("Анализ ", j, "  ", ObjectName(j));
          ObjectName(j)
          if(StringFind(ObjectName(j), "Skalomer_", 0) == 0)
            {
             Alert("Удяляем ", j, "   ", ObjectName(j));
             ObjectDelete(ObjectName(j));
            }
         }
      }

Ich sehe, dass

ObjectName(j)

Liest die Namen nur einen Teil der Objekte, und der Rest sieht nicht und gibt den Fehler ERR_OBJECT_DOES_NOT_EXIST 4202 Das Objekt existiert nicht, ABER ICH SEHE SIE MIT MEINEN AUGEN - SIE SIND 8-))!

 

Das Ergebnis des Ausdrucks sieht so aus

Wenn Sie den Zyklus erneut ausführen, werden einige der verbleibenden Objekte angezeigt und ebenfalls entfernt (es werden 5 verbleibende Objekte angezeigt).

Und beim dritten Mal werden alle Objekte gelöscht. Es fühlt sich so an, als würden die Objekte eines nach dem anderen entfernt werden.

 
ALEX_SPB_RU:

Das Ergebnis des Ausdrucks sieht so aus

Wenn Sie den Zyklus erneut ausführen, werden einige der verbleibenden Objekte angezeigt und ebenfalls entfernt (es werden 5 verbleibende Objekte angezeigt).

Und beim dritten Mal werden alle Objekte gelöscht. Es fühlt sich an, als würde es die Objekte einzeln entfernen.

https://www.mql5.com/ru/forum/123941

Mir wurde gesagt, ich solle diesen Code verwenden

// удаление по маске всех объектов индюка
   for (int i = ObjectsTotal() - 1; i >= 0; i--)
    {
      string name = ObjectName(i);
      if (StringFind(name, "sig_nal") == 0)
      {
         ObjectDelete(name);
      }
    }
//----

und für verschiedene Namen habe ich

// удаление по маске всех объектов индюка
   for (int i = ObjectsTotal() - 1; i >= 0; i--)
   {
      string name = ObjectName(i);
      if (StringFind(name, "signal") == 0)
      {
         ObjectDelete(name);
      }
      else if (StringFind(name, "Asignal") == 0)
      {
         ObjectDelete(name);
      }
   }
//----
 
ALEX_SPB_RU:

Guten Abend allerseits!!!

Ich bin in Panik, ich erstelle 10 Objekte des Typs OBJ_TEXT im Diagramm und führe dann eine Schleife aus, um sie nach Namenstag zu löschen.

Also die Funktion

zeigt, dass es in der Tat 10 sind, aber wenn ich beginne, ihre Namen für die Löschung zu analysieren (dem Namen nach sind alle 10 zu löschen) mit diesem Code

int Obektov = ObjectsTotal(OBJ_TEXT);
       Alert(Obektov);
       for(int j = 0; j < Obektov; j++)
         {
          Alert("Анализ ", j, "  ", ObjectName(j));
          ObjectName(j)
          if(StringFind(ObjectName(j), "Skalomer_", 0) == 0)
            {
             Alert("Удяляем ", j, "   ", ObjectName(j));
             ObjectDelete(ObjectName(j));
            }
         }
      }

Ich sehe, dass

Liest die Namen nur einen Teil der Objekte, und der Rest sieht nicht und gibt den Fehler ERR_OBJECT_DOES_NOT_EXIST 4202 Das Objekt existiert nicht, ABER ICH SEHE SIE MIT MEINEN AUGEN - SIE SIND 8-))!

Löschen (von Objekten) in umgekehrter Reihenfolge (von einer größeren Nummer zu einer kleineren Nummer), da die Nummerierung nach dem Löschen geändert wird ..... Dies wurde bereits Hunderte Male diskutiert.
 

Guten Abend zusammen!

Wie berechne ich den Stop Loss? Berechnungsformel.

 
Sergey_Rogozin:

Guten Abend zusammen!

Wie berechne ich den Stop Loss? Berechnungsformel.

Teilen Sie die Zeit durch den Preis und multiplizieren Sie ihn mit der Anzahl der Währungen.

 
Danil93:
Wenn man das Lesen eines Nachschlagewerks als faul bezeichnen kann, dann ist es das auch, ich will nur wissen, was ich lesen soll, und dann kann ich es vielleicht selbst tun...

Ich habe Ihnen die Namen der Funktionen genannt.

Ich habe Ihnen sogar den Algorithmus gezeigt.

Sind Sie zu faul, um über das, was Sie geschrieben haben, überhaupt nachzudenken?

 
Können Sie mir sagen, was diese Meldung beim Kompilieren des EA bedeutet?

Function "openPositionsBUYreal" is not referenced and will be removed from exp-file

Funktion "openPositionsSELLreal" ist nicht referenziert und wird aus der exp-Datei entfernt

0 Fehler, 2 Warnungen

Am Anfang des EA steht:
#include <stdlib.mqh>


Handelt es sich um einen Dateiverweis in Bibliotheken? Und wird der EA mit dieser Referenz und 2 Warnungen während der Kompilierung korrekt funktionieren?
 
Danil93:
Wenn man es als Faulheit bezeichnen kann, das Gewicht des Leitfadens zu lesen, dann ist es Faulheit, ich würde gerne etwas Konkretes lesen, und dann kann ich es vielleicht selbst tun. Ich weiß nur, dass, wenn jemand ein gutes Verständnis von etwas hat, es sehr einfach und schnell zu helfen ist...

Aber ich weiß aus Erfahrung, wenn jemand zu faul ist, sein eigenes Problem zu verstehen, ist es schade, ihm zu helfen...
 
kolyango:
Sagen Sie mir, was bedeutet es, wenn ich den EA kompiliere: Am Anfang des EA steht: Ist es ein Dateiverweis in Bibliotheken? Und wird der EA mit dieser Referenz und 2 Warnungen beim Kompilieren korrekt funktionieren?

Es kommt darauf an, wo diese Funktionen angesiedelt sind.
Wo sind sie in Ihrem Code gespeichert?
Und Sie verwenden sie in Ihrem EA. Sie werden einfach nicht verwendet, und der Compiler warnt Sie, dass er sie ausschließt. Das ist normal.
Grund der Beschwerde: