Fehler, Irrtümer, Fragen - Seite 593

 

Ich beschloss, mir eine meiner alten Entwicklungen anzusehen und... Können Sie mir sagen, was dieser Fehler bedeutet?

---

Die Initialisierung des Expert Advisors ist erfolgreich. Wenn ich versuche, das Informationsfeld zu öffnen, erlebe ich eine Überraschung. Wo kann man nach dem Grund suchen? ))

 
tol64:

Ich beschloss, mir eine meiner alten Entwicklungen anzusehen und... Können Sie mir sagen, was dieser Fehler bedeutet?

---

Die Initialisierung des Expert Advisors ist erfolgreich. Wenn ich versuche, das Informationsfeld zu öffnen, erlebe ich eine Überraschung. Wo kann man nach dem Grund suchen? ))

Wir müssen das Problem lokalisieren. Ich war in einer ähnlichen Situation, habe Drucke gesetzt und schau, wo sie rausfliegen. Und dann entweder servicedesk oder im Forum. Vielleicht finden Sie den Fehler aber auch selbst.
 
Valmars:
Wir müssen das Problem lokalisieren. In einer ähnlichen Situation setze ich Drucke und schaue, wo sie herausfliegen. Und dann entweder auf servicedesk oder im Forum. Vielleicht finden Sie den Fehler aber auch selbst.

Ich muss ausdrucken, wo ich nicht gedruckt habe. )) Können die Entwickler anhand dieses Bildcodes nicht erkennen, woher die Beine kommen? Wir brauchen einen Hinweis. Allerdings wird dort immer ein neuer Code generiert. Hier ein weiteres Beispiel:

[Gelöscht]  
tol64:

Wir müssen drucken, wo nicht gedruckt wird. )) Können die Entwickler anhand dieses Bildcodes nicht erkennen, woher die Beine kommen? Wir brauchen einen Hinweis. Allerdings wird dort immer ein neuer Code generiert. Hier ein weiteres Beispiel:

Die Entwickler werden auf jeden Fall darum bitten, alles zu lokalisieren, eine Anwendung im SD zu erstellen, einen Experten beizuziehen und alles so detailliert wie möglich zu beschreiben.

Deshalb sind sie Entwickler (du kennst sie) und die Telepathen ruhen heute. :)

[Gelöscht]  
Nach dem Kopieren eines dynamischen Arrays some_ array_1, das als some_ array_1[] deklariert ist und dem kein Speicher zugewiesen wurde, in ein dynamisches Array some_ array_2[], dem mit ArrayResize(some_ array_2, some_ array_2_quantity) Speicher zugewiesen wurde, stellt der Operator ArrayCopy(some_ array_1, some_ array_2) fest, dass die Anzahl der Elemente in some_ array_1 nicht 0, sondern some_ array_2_quantity ist. Dies ist ein schwerwiegender Fehler, da dem Array some_ array_1[] kein Speicher zugewiesen ist. Bitte sorgen Sie dafür, dass sich die Arraygröße in dieser Situation nicht von selbst ändert und der Compiler einen Fehler erzeugt.
Документация по MQL5: Основы языка / Типы данных / Объект динамического массива
Документация по MQL5: Основы языка / Типы данных / Объект динамического массива
  • www.mql5.com
Основы языка / Типы данных / Объект динамического массива - Документация по MQL5
[Gelöscht]  
Interesting:
An die Entwickler.

Nach dem Wechsel zum neuen Build (555) speichert das Terminal die Position (korrekter Aktivitätsstatus) für "Tools", "Market Watch", "Tester" und"Datenfenster" nicht mehr.

Nachdem das Terminal geschlossen und wieder geöffnet wurde (nicht minimiert, sondern geschlossen), verschwindet alles außerhalb des Hauptformulars. So wie ich das verstehe, denkt das Terminal aus irgendeinem Grund, dass der Händler auf diese Dinge verzichtet hat. Ich muss ins Menü gehen und alles wieder einschalten (gut ist, dass zumindest der Standort gespeichert wird).

Der "Navigator" befindet sich wie immer zusammen mit den Diagrammen im Hauptformularfenster, das ist in Ordnung.

Das Betriebssystem ist Win XP32, Bild 555, ich habe zwei Monitore. Auf einem Hauptfenster (auf dem Navigator und Charts), und auf dem zweiten alle oben genannten ("Tools", "Market Watch", "Tester" und "Datenfenster").

PS

Über x64 und andere Betriebssysteme kann ich nichts sagen, da ich keine Möglichkeit habe, es auf zwei Monitoren zu überprüfen.

Derselbe Mist bei 7 auf einem Monitor. Die Neuinstallation hat geholfen. Außerdem verwechselt das Terminal nach der Neuinstallation die Ordner im Roaming für verschiedene Terminals.
 
-Alexey-:
Nach dem Kopieren eines dynamischen Arrays some_ array_1, deklariert als some_ array_1[], dem kein Speicher zugewiesen wurde, in ein dynamisches Array some_ array_2[], dem mit ArrayResize(some_ array_2, some_ array_2_quantity) Speicher zugewiesen wurde, unter Verwendung des Operators ArrayCopy(some_ array_1, some_ array_2) stellt sich heraus, dass die Anzahl der Elemente in some_ array_1 nicht 0 ist, sondern some_ array_2_quantity. Dies ist ein schwerwiegender Fehler, da dem Array some_ array_1[] kein Speicher zugewiesen ist. Bitte korrigieren Sie es so, dass sich die Größe des Arrays in dieser Situation nicht von selbst ändert und der Compiler einen Fehler erzeugt.

Es liegt kein Fehler vor, die Funktion ArrayCopy weist dem dynamischen Array von sich aus Speicher in der Größe der zu kopierenden Daten zu.

Dies ist kein Fehler, sondern eine Funktion.

[Gelöscht]  
Urain:

Es liegt kein Fehler vor, die ArrayCopy-Funktion weist den Speicher des dynamischen Empfänger-Arrays selbst zu.

Dies ist kein Fehler, sondern eine Funktion.

Aufgrund dieser Eigenschaft können Sie leicht versehentlich oder aufgrund eines Algorithmusfehlers algorithmische Fehler machen. Und dann werden Sie es nie finden und nie wissen, wenn es einen Fehler gibt. Ich habe nur dann einen Fehler gefunden, wenn ich ein Programm in C++ übersetzt habe, weil der Compiler dort ein Fehlererkennungsassistent ist. Ich denke also, dass es sich eher um einen Fehler als um eine Funktion handelt. IMHO!
 
-Alexey-:
Aufgrund dieser Eigenschaft kann es leicht zu algorithmischen Fehlern kommen - entweder aus Versehen oder weil der Algorithmus fehlerhaft ist. Und dann kann man nie einen Fehler finden und nie wissen, dass es einen gibt. Ich habe nur dann einen Fehler gefunden, wenn ich ein Programm in C++ übersetzt habe, weil der Compiler dort ein Fehlererkennungsassistent ist. Ich denke also, dass es sich eher um einen Fehler als um eine Funktion handelt. IMHO!
ArrayCopy ist nicht die einzige Funktion, die Speicher zuweist, alle Copy-Funktionen kümmern sich um die Arrays selbst, also seien Sie vorsichtig und lesen Sie das Handbuch.
 

Wie kommt es, dass TimeCurrent() kleiner ist als der letzte Zeitreihenwert?

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[])
  {

   Print("time[rates_total-1] = ",time[rates_total-1]); 
   Print("TimeCurrent()         = ",TimeCurrent());  

   return(rates_total);
  }
TimeCurrent()         = 2011.12.09 18:47:29
time[rates_total-1]  = 2011.12.09 23:00:00