Fehler, Irrtümer, Fragen - Seite 1698

 
Vladimir Pastushak:

Dennoch werden die Methoden des Elternteils in den Erben übertragen, der nicht übertragen werden sollte.

Sie "fallen aus", aber wenn Sie versuchen, sie anzurufen, wird ein Kompilierungsfehler angezeigt.
 
Karputov Vladimir:

Wenn Sie sich weigern, den Puffer zu kopieren:

der Indikator wird erfolgreich beendet

Wenn Sie den Puffer nicht kopieren wollen, brauchen Sie das Handle nicht. Ist das Ihre Art, den Entwicklern bei der Lokalisierung des Fehlers zu helfen?
 
fxsaber:
Wenn Sie den Puffer nicht kopieren wollen, brauchen Sie auch das Handle nicht. Ist das Ihre Art, den Entwicklern bei der Lokalisierung des Fehlers zu helfen?
Ich versuche, das Problem so genau wie möglich zu lokalisieren. Dies kann die Reaktionszeit von ServiceDesk erheblich verkürzen.
 
fxsaber:
Wo kann man es hinzufügen und wie könnte es zumindest theoretisch helfen. Dies ist ein Fehler im Terminal. Und es ist ein schwerwiegender Fehler. Ich hatte Glück - ich sehe im Protokoll, dass der Indikator funktioniert. Es gibt jedoch eine Reihe von Indikatoren, die im Terminal funktionieren, ohne dass Informationen über sie vorliegen. Es stellt sich die Frage, warum die CPU bei einem leeren Terminal so stark belastet wird?
Fügen Sie es zu OnCalculate() hinzu, bevor Sie prüfen, ob der Handle korrekt ist. Und wenn das Flag geschrieben wird - OnCalculate() beenden. Natürlich wird es OnCalculate() kaum aufhalten... aber es werden keine Aktionen durchgeführt...
 
Alexey Kozitsyn:
Hinzufügen, bevor überprüft wird, ob der Handle in OnCalculate() korrekt ist. Und wenn das Flag geschrieben wird - OnCalculate() beenden. Natürlich wird dies OnCalculate() kaum aufhalten... aber es werden keine Aktionen durchgeführt...
Lassen Sie eine unkontrollierbare Anzahl von Indikatoren im Terminal hängen, da sie ohnehin fast nichts verbrauchen.
 
Karputov Vladimir:
Versuchen Sie, das Problem so genau wie möglich zu lokalisieren. Dies kann die Antwortzeit auf einen Antrag an ServiceDesk erheblich verkürzen.
Haben Sie eine Bewerbung geschrieben?
 
Ich schreibe schon lange nicht mehr in MQL5, ich bin kein Programmierer. Ich kenne MQL4, und jetzt kenne ich MQL5 ein wenig. Warum stoße ich fast täglich auf Bugs im MT5? In der Tat findet fast jeden Tag ein Mann auf der Straße zufällig Wanzen! Was hat es damit auf sich, warum ist es so roh? Überhaupt keine Tester? Ich würde nicht lügen, wenn ich sage, dass MT allmählich lästig wird. Und noch ärgerlicher ist die Erkenntnis, dass ich nichts anderes programmieren kann.
 

Und hier liegt die Wurzel allen Übels: Solange der Indikatorpuffer nicht berechnet ist (bis prev_calculated==0) - kann nichts getan werden

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//if(handle!=INVALID_HANDLE)
   if(prev_calculated!=0)
     {
      Buffer[rates_total-1]=MathRand();

      double BufferCopy[];
      Print(__FUNCTION__);
      if(CopyBuffer(handle,0,0,1,BufferCopy)>0)
         Print(TOSTRING(BufferCopy[0])+TOSTRING(Buffer[rates_total-1]));
     }

   return(rates_total);
  }

so funktioniert es, und der Indikator wird sofort entladen.

 
Karputov Vladimir:

Und hier liegt die Wurzel allen Übels: Solange der Indikatorpuffer nicht berechnet ist (bis prev_calculated!=0) - kann nichts getan werden

so funktioniert es, und der Indikator wird sofort entladen.

Das funktioniert nicht.
 
fxsaber:
Ich schreibe schon lange nicht mehr in MQL5, ich bin kein Programmierer. Ich kenne MQL4, und jetzt kenne ich MQL5 ein wenig. Warum stoße ich fast täglich auf Bugs im MT5? In der Tat findet fast jeden Tag ein Mann auf der Straße zufällig Wanzen! Was hat es damit auf sich, warum ist es so roh? Überhaupt keine Tester? Ich würde nicht lügen, wenn ich sage, dass MT anfängt, nervig zu werden. Und noch ärgerlicher ist die Erkenntnis, dass ich nichts anderes programmieren kann.
Man kann nicht jedes Auftreten eines falschen Programmierstils als Fehler abtun. Sonst wird es wie im Märchen vom Hirten, der ohne Grund schrie: "Wölfe, Wölfe." Alle eilten zu Hilfe - und es stellte sich heraus, dass es keine Wölfe gab. Aber als die Wölfe wirklich angriffen und der Hirte wieder um Hilfe rief, kam niemand, um ihm zu helfen - alle dachten, er mache wieder einen Scherz.