Fehler, Irrtümer, Fragen - Seite 1326

 
Alexander Laur:

Karputov Vladimir und Vladimir Zubov, lesen Sie überhaupt, was Sie kommentieren? Oder die Hauptsache für Sie ist, dass Sie Ihren Respekt zum Ausdruck bringen. Wenn Sie das Problem, um das es geht, nicht verstanden haben, nehmen Sie einfach Abstand, vielleicht lernen Sie ja etwas Nützliches für sich selbst.

Mein Gespräch mit Renat zum Thema INKORREKTES ARBEITEN VON FUNKTIONEN !!!

Warum gibt die Funktion RIGHT (return(true)) NULL zurück?

Wie kann der Wert eines Häkchens gleich Null sein? Woher nimmt SymbolInfoDouble() die Daten über den Wert des Ticks, wenn es den Wert Null des Ticks zurückgibt?

Sie sollten zumindest verstehen, worüber Sie sich äußern.

Sie haben wahrscheinlich nicht ganz richtig verstanden, wie Funktionen funktionieren. Die Funktion:

  1. Gibt das Ergebnis seiner Ausführung korrekt zurück. Nehmen wir als Beispiel den Lebensmittelladen. Die Aufgabe der Funktion ist es, den Inhalt von Feld 5 zu holen. Wenn die Funktion in das Lagerhaus gegangen ist, die Kiste Nr. 5 gefunden hat und das, was sich in der Tasche befindet, herausgeschüttelt hat, dann wird die Funktion "Aufgabe erfolgreich abgeschlossen" zurückgeben.
  2. Der Funktion ist es eigentlich egal, was sie in ihrer Tasche hat. Das ist jetzt Ihr Problem. Analysieren Sie genau, was die Funktion in die Tasche gebracht hat.

Ihre Aufgabe als Programmierer besteht also darin, zwei Ergebnisse zu überprüfen: ob die Funktion erfolgreich abgeschlossen wurde und was die Funktion zurückgegeben hat. Und Sie brauchen nicht vom Terminal zu verlangen, was Sie sehen wollen. Es reicht schon, das Richtige zu tun.

 

Zweideutiges Ergebnis

void OnStart()
{
        A a( 10 );
        {
                A a( a.c );             //здесь = не 10
                Print( a.c );
        }
        {
                A a = a.c;              //здесь = 10
                Print( a.c );
        }
}

In einem Fall lautet das Ergebnis: 10 und im anderen Fall: nicht 10. Worin besteht der Unterschied?

 
A100:

Zweideutiges Ergebnis

In einem Fall lautet das Ergebnis: 10 und im anderen Fall: nicht 10. Worin besteht der Unterschied?

tin :) was steht in den Methoden selbst?
 
Konstantin Karpov:
tinny :) was steht in den Methoden selbst?

vergaß hinzuzufügen :)

class A {
public:
        A( int b ) : c( b ) {} 
        int c;
};
 
Alexander Laur:

Sie schreiben Unfug. Funktionen werden erstellt, um Daten zu verarbeiten und die Ergebnisse dieser Verarbeitung zu erhalten. Eine Funktion erstellen, nur damit sie FUNKTIONIERT. Ich bin sprachlos.

Ich werde mich aus der Diskussion zurückziehen.

+

Ich schreibe gerade einen Expert Advisor für mehrere Währungen, bei dem die Tools synchronisiert werden müssen, und ich bin auf solche Probleme gestoßen, dass mir die Haare zu Berge stehen.

Im Moment muss ich feststellen, dass es einfach keine zuverlässige Möglichkeit gibt, Marktdaten zu erhalten und gleichzeitig genau zu wissen, dass die Daten aktuell sind.

Das Lustigste und zugleich Schockierendste war, dass sogar die Flaggen in den Eigenschaften des Symbols wie

SERIEN_SYNCHRONISIERT

übernehmen KEINE GARANTIE.

 
A100:

Zweideutiges Ergebnis

In einem Fall lautet das Ergebnis: 10 und im anderen Fall: nicht 10. Worin besteht der Unterschied?

Danke für die Nachricht, wir werden das überprüfen/korrigieren.
In MSVC ist das Ergebnis übrigens das Gegenteil.
 

Weiß jemand, dass SymbolsTotal(true) und seine Derivate überhaupt keine Informationen von Market Watch anzeigen?

Nun, das hätten sie in der Hilfe sagen sollen, aber nein, es ist ein Geheimnis...

 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Liste der Änderungen in MetaTrader 5 Client Terminal Builds

kogriv, 2015.07.18 10:44

Irgendein Rat, was zu tun ist. Es gab eine Datei - ein Skript auf mql5, die letzten Änderungen waren im März 15. Ich habe die Datei und den Meta-Editor seit März lange Zeit nicht mehr angerührt. Neulich habe ich den Metatrader gestartet, ich habe ihn aktualisiert und irgendwie wurde die Skriptdatei (Quelle) auf eine frühere Version umgestellt. Die ausführbare Datei ist immer noch in der neuesten Version. Gibt es eine Möglichkeit, die Quelldatei wiederherzustellen?

 

Sie sollten MQL5 Storage verwenden, um verschiedene Versionen zu speichern.

Höchstwahrscheinlich geht es um die Änderung von Dateien aus dem Standardsatz von Terminalskripten. Sie werden bei Aktualisierungen immer überschrieben, daher sollten Sie sie nicht selbst ändern. Sie müssen eine Kopie unter einem anderen Namen erstellen und diese ändern.

 
Renat Fatkhullin:

Sie sollten MQL5 Storage verwenden, um verschiedene Versionen zu speichern.

Höchstwahrscheinlich geht es um die Änderung von Dateien aus dem Standardsatz von Terminalskripten. Sie werden bei Aktualisierungen immer überschrieben, daher sollten Sie sie nicht selbst ändern. Sie müssen eine Kopie unter einem anderen Namen erstellen und diese ändern.

Nein. Die Datei wurde gegenüber der Standardauslieferung nicht verändert und MQL5 Storage wurde nicht verwendet. Der Benutzer ist wahrscheinlich in einen anderen "Datenordner" gegangen - zumindest ist das die bisher praktikabelste Version.