Fehler, Irrtümer, Fragen - Seite 1325

 
-Aleks-:

Mensch, es ist gar nicht so einfach, einen Spitznamen zu finden... Und warum es nicht möglich war, einen Darsteller namentlich auszuwählen, ist ein Rätsel.

Danke für die Klarstellung.

Vitaly Maslennikov. Sie sind herzlich willkommen.
© barabashkakvn. Ihr Waldfreund.
 

Liebe Entwickler!

Ich bin so dumm :) An was ist das Steuerelement im CAppDialog-Formular gebunden? Zu dem untergeordneten Element Client Area oder zu dem untergeordneten Element Underlay?

 

Liebe Entwickler!

Anfrage an servicedesk gestellt -Gestartet: 2015.07.10 15:48,#1257674

Lassen Sie es nicht an sich vorbeiziehen bitte....

 

Terminal MetaTrader 5 x64 build 1159 (MetaQuotes Software Corp.)

Nach dem Anhängen eines Skripts aus dem Fenster "Navigator" bleibt dieses Skript aktiv. Ein solches Verhalten ist nicht sicher, da dieses Skript versehentlich gelöscht werden kann. Zum Beispiel:

Ein Skript wird an eine Grafik angehängt, das Skript zeichnet einige Linien und diese Linien bleiben aktiv (hervorgehoben). Wenn ich nun diese Zeilen auf einen Schlag (mit der "Entf"-Taste) löschen möchte, erhalte ich eine Warnung über das mögliche Löschen des Skripts, anstatt die Zeilen zu löschen:

Das Skript löschen?

Die Warnung ist gut, aber die Schaltfläche "Ja" ist in dem Dialogfeld standardmäßig aktiv! Und so können Sie auf die Schaltfläche klicken und das Skript löschen! Schließlich möchte ich zunächst die Zeilen löschen und klicke auf "Löschen", in der Hoffnung, die Zeilen zu löschen, aber am Ende lösche ich vielleicht doch das Skript!

 
Alexander Laur:

Dieser Fehler ist bereits ärgerlich:

Wenn das Terminal hochfährt, gibt es null Daten und einen kritischen Fehler bei der Division durch Null.

Keine Datenabrufkontrollen helfen!!!

Sie haben vergessen, auf Null zu prüfen, Sie prüfen nur den Funktionsaufruf.
 
Versuchen Sie nicht, die Programmierungsprinzipien durch Sonderfälle zu ändern. Dies ist nur das Ergebnis guter Absichten.

Die Datenerfassungsfunktion hat diese Daten geliefert, und nun müssen Sie sie interpretieren. Nicht jede Null ist ein Fehler. Es ist besonders gefährlich, von den Merkmalen der Finanzinstrumente auf Fehler zu schließen, da oft die Hälfte ihrer Felder leer ist oder in einem bestimmten Modus keinen Sinn ergibt.
 
Du verstehst es nicht, aber wir schon.

Lesen Sie noch einmal meine obige Antwort - sie ist absolut korrekt und erklärt das Verhalten.
 

Guten Tag,

Ich habe ein Ticket für das Problem mit den Copyticks hinterlassen:

https://www.mql5.com/ru/forum/38520/page3

bereits am 03. Juli, niemand antwortet.

 
Alexander Laur:

Das heißt, nachdem die Datenabfragefunktion verarbeitet wurde, muss ich überprüfen, welche Daten ich abgerufen habe. OK, ich werde den Code korrigieren:

Aber beim ersten Durchlauf, wenn es am Wochenende passiert, d.h. wenn es keine Ticks gibt, zeigt der Indikator die Informationen nicht an. Er wartet auf den nächsten Tick. Aus den Log-Einträgen sehen wir, dass tickValue = 0 ist, also beenden wir bei Fehler und warten auf......

Schade!

Sie erhalten nur Null, wenn Sie das Terminal zum ersten Mal starten. Was hindert sie daran, auf Null zu prüfen und das Flag zu setzen, um den Betrieb zu deaktivieren? Und wenn OnCalculate() das nächste Mal aufgerufen wird, geben alle Funktionen bereits einen Wert ungleich Null zurück (es ist leicht, die Ausgabe zu überprüfen - klicken Sie einfach mit der rechten Maustaste auf das Diagramm und wählen Sie "Aktualisieren").
 
Alexander Laur:

Das heißt, nachdem die Datenabfragefunktion verarbeitet wurde, muss ich überprüfen, welche Daten ich abgerufen habe. OK, ich werde den Code korrigieren:

Aber beim ersten Durchlauf, wenn es am Wochenende passiert, d.h. wenn es keine Ticks gibt, zeigt der Indikator die Informationen nicht an. Er wartet auf den nächsten Tick. Aus den Protokolleinträgen sehen wir, dass tickValue = 0 ist, also beenden wir bei Fehler und warten auf......

Schade!

Also, was ist so schwer zu prüfen, für die Division durch Null? wenn es eine solche Funktion zurück, ist es einfacher, eine Zeile in den Code hinzufügen oder fragen Sie auf dem Forum, um das Terminal und nicht die Tatsache, dass in der Zukunft nicht wiederholen ?