Fehler, Irrtümer, Fragen - Seite 2967

 
Artyom Trishkin:
Das Nichtinitialisieren Ihrer Variablen ist ein abnormales Verhalten. Initialisieren Sie es, und es wird keine solchen Fragen geben.

Völlig FÜR sie.

Das heißt aber nicht, dass der Fehler nirgendwo zu finden ist ))). Ich wollte nur sicherstellen, dass alles in Ordnung ist.

 
mktr8591:

Völlig FÜR sie.

Das heißt aber nicht, dass der Fehler nirgendwo zu finden ist ))). Ich wollte nur sicherstellen, dass alles in Ordnung ist.

Wahrscheinlich ist es eine Art Schutz.
Da der Zugriff auf Speicherzellen in mql nicht möglich ist, nehme ich an, dass beim Zugriff auf eine Variable ihr Müllwert zufällig generiert wird.
Und wenn die Variable nicht initialisiert ist, dann erhöht sich beim Debuggen die Wahrscheinlichkeit, den Fehler nicht zu finden, um ein Vielfaches ))
Und der Compiler sagt höchstwahrscheinlich in Warnungen, dass die Variable nicht initialisiert ist.

 
Roman:

Wahrscheinlich ist dies eine Art Schutz.
Da der Zugriff auf Speicherzellen in mql nicht möglich ist, nehme ich an, dass beim Zugriff auf eine Variable ihr Müllwert zufällig generiert wird.
Und wenn die Variable nicht initialisiert ist, erhöht sich beim Debuggen die Wahrscheinlichkeit, dass kein Fehler gefunden wird, um ein Vielfaches ))
Und der Compiler teilt dies höchstwahrscheinlich in der Warnung mit, dass die Variable nicht initialisiert ist.

Oder Optimierung. Da die Variable undefiniert ist, können wir ihr jeden beliebigen Wert geben, zum Beispiel in einem Register.

 
JRandomTrader:

Oder Optimierung. Da die Variable nicht definiert ist, kann jeder beliebige Wert angegeben werden, der am nächsten liegt, z.B. in einem Register.

So etwas in der Art, aus meinem Umfeld. Generation ist natürlich nicht angebracht, wie ich sagte, nur eine verallgemeinerte Annahme.

 

Beschlossen, herauszufinden, wie viel 2 Agenten im MQL5 Cloud Network Service verdienen werden, um in Zukunft ein Bügeleisen mit einem Multicore-Prozessor zu bauen. Ich habe die Agenten mit Agent Manager hinzugefügt. Es scheint, dass sie gut hinzugefügt wurden.

Agent Manager

Nichts scheintverdächtig zu sein...Ich habe mich bei meinem MQL5.COM-Konto angemeldet. Ich habe die erstellten Agenten im Abschnitt "Agenten" in myAlpari gesehen. Ich habe auch zwei Dienste, MetaTester-1 und MetaTester-2, im Task-Manager gefunden. Aber einen halben Tag lang gibt es keine Aufgaben für Agenten. Alles ist null. Warum arbeiten die Agenten nicht?

Распределенные вычисления в сети MQL5 Cloud Network
Распределенные вычисления в сети MQL5 Cloud Network
  • cloud.mql5.com
Заработать деньги, продавая мощности своего компьютера для сети распределенных вычислений MQL5 Cloud Network
 
	 CList *deals_array = new CList;

         for(int i=0;i<10;i++)
         {
            RobotDeal *cobj = new RobotDeal;
            cobj.ticker = "ticker " +IntegerToString(i);
            deals_array.Add(cobj);
         }
         
         RobotDeal *cobj11 = new RobotDeal;
         cobj11.ticker = "ticker 11 ";
         deals_array.Add(cobj11);
         
         RobotDeal *cobj12 = new RobotDeal;
         cobj12.ticker = "ticker 12 ";
         deals_array.Add(cobj12);
         
         RobotDeal *cobj13 = new RobotDeal;
         cobj13.ticker = "ticker 13 ";
         deals_array.Add(cobj13);
         
         RobotDeal *cobj14 = new RobotDeal;
         cobj14.ticker = "ticker 14 ";
         deals_array.Add(cobj14);

         Print("Total: " + IntegerToString(deals_array.Total()));

         for(int i=0;i<deals_array.Total();i++)
           {
               RobotDeal *object=deals_array.GetNodeAtIndex(i);
               Print(object.ticker);
           }
         
         for(int i=0; i < 14; i++)
         {
            Print("remove # " + IntegerToString(i));
            RobotDeal *deal = deals_array.GetNodeAtIndex(i);
            
            if(CheckPointer(deal) != POINTER_INVALID)
            {
               Print("remove: " + deal.ticker);
               deals_array.Delete(i);
            }
         }

         for(int i=0;i<deals_array.Total();i++)
           {
               RobotDeal *object=deals_array.GetNodeAtIndex(i);
               Print(object.ticker);
           }

         Print("Total end: " + IntegerToString(deals_array.Total()));
class RobotDeal: public CObject
{
    public:

    string ticker;

    RobotDeal() {}
};

Können Sie mir sagen, wie ich Objekte korrekt aus der Liste löschen kann? Wenn ich versuche, sie zu löschen, wird nur die Hälfte davon gelöscht und die Indizierung geht schief. Ich habe alles versucht. Es funktioniert überhaupt nicht!


Bei der Ausführung dieses Codes wird z. B. Folgendes ausgegeben


Insgesamt: 14

Ticker 0

Ticker 1

Ticker 2

Ticker 3

Ticker 4

Ticker 5

Ticker 6

Ticker 7

Ticker 8

Ticker 9

Ticker 11

Ticker 12

Ticker 13

Ticker 14

entfernen # 0

entfernen: Ticker 0

entfernen # 1

entfernen: Ticker 2

entfernen # 2

entfernen: Ticker 4

entfernen # 3

entfernen: Ticker 6

entfernen # 4

entfernen: Ticker 8

entfernen # 5

entfernen: Ticker 11

entfernen # 6

entfernen: Ticker 13

entfernen # 7

entfernen # 8

entfernen # 9

entfernen # 10

entfernen # 11

entfernen # 12

entfernen # 13

Ticker 1

Ticker 3

Ticker 5

Ticker 7

Ticker 9

Ticker 12

Ticker 14

Ende insgesamt: 7


 
Mihail Matkovskij:

Beschlossen, herauszufinden, wie viel 2 Agenten im MQL5 Cloud Network Service verdienen werden, um in Zukunft ein Bügeleisen mit einem Multicore-Prozessor zu bauen. Ich habe die Agenten mit Agent Manager hinzugefügt. Es scheint, dass sie gut hinzugefügt wurden.

Nichts scheintverdächtig zu sein...Bei meinem MQL.COM-Konto angemeldet. Ich habe die erstellten Agenten in meinem Konto unter "Agenten" gesehen. Ich habe auch zwei Dienste, MetaTester-1 und MetaTester-2, im Task-Manager gefunden. Aber einen halben Tag lang gibt es keine Aufgaben für Agenten. Alles ist null. Warum arbeiten die Agenten nicht?

Welche PR haben Sie für Ihre Agenten bekommen? Zum Beispiel gab es am 20. (vor allem am Morgen) Aufgaben für PR180.

 
Vladimir Karputov:

Welche PR-Agenten haben Sie bekommen? Zum Beispiel, 20Chisla für PR180 waren die Aufgaben (vor allem am Morgen).

Ich habe PR-Agenten von 119. Ich frage mich, wie sich das auswirkt?

 
Mihail Matkovskij:

Ich habe 119 PR-Agenten. Ich frage mich, wie sich das auswirkt?

Ich weiß es nicht genau. Ich habe mich nur gewundert.

 
DimaDDM:

Können Sie mir sagen, wie ich Objekte korrekt aus der Liste löschen kann? Wenn ich versuche, sie zu löschen, wird nur die Hälfte davon gelöscht und die Indizierung geht schief. Ich habe alles versucht, aber es funktioniert nicht!

Sie haben eine falsche Löschung! Ihr Code:

        for(int i=0; i < 14; i++)
        {
            Print("remove # " + IntegerToString(i));
            RobotDeal *deal = deals_array.GetNodeAtIndex(i);
            
            if(CheckPointer(deal) != POINTER_INVALID)
            {
               Print("remove: " + deal.ticker);
               deals_array.Delete(i);
            }
         }

Wenn Sie jeden Eintrag löschen, wird die Liste kleiner! Deshalb muss man es so machen:

        for(int i = deals_array.Total() - 1; i >= 0; i--)
        {
            Print("remove # " + IntegerToString(i));
            RobotDeal *deal = deals_array.GetNodeAtIndex(i);
            
            if(CheckPointer(deal) != POINTER_INVALID)
            {
               Print("remove: " + deal.ticker);
               deals_array.Delete(i);
            }
         }

Oder noch einfacher:

deals_array.Clear();