Fragen von Anfängern MQL4 MT4 MetaTrader 4 - Seite 248
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Herzlichen Dank für Ihre Antworten. Ich habe einige Ihrer Vorschläge umgesetzt.
Ich habe eine Funktion geschrieben, die das richtige Häkchen findet.
Ich habe eine Funktion geschrieben, die den Gewinn aller geschlossenen Aufträge nach dem gewünschten Auftragstick der gewählten Funktion berechnet. Jetzt muss ich sie nur noch gemäß Ihren Empfehlungen korrigieren und eine Prüfung nach Zeit usw. hinzufügen.
Das Einzige, was mich jetzt verwirrt, ist, dass es nicht richtig berechnet wird. Wenn der Test einen TP von 0,02 ergibt, wird 0,1300 berechnet und in Comment geschrieben. Bitte teilen Sie mir mit, was damit nicht in Ordnung ist?
Tick und Ticket sind unterschiedliche Dinge, ein Tick ist ein neu erscheinender Preis des Handels... Es ist besser, sich nicht gleich verwirren zu lassen.
TP und SL schließen an den Kursniveaus und dem Kurs mehr oder weniger. Der Preis ist diskret und der Preis der Stopp-Levels ist es auch. Wenn sie nicht über das Niveau hinausgeht, bleibt der Auftrag bestehen, wenn doch, wird er geschlossen. Im Tester werden 4 Ticks modelliert, das sind weniger als in der realen Situation und daher ist der Abstand zwischen den Tick-Preisen größer.
Fehler und der Handelsverlauf sind besser entweder in das Journal zu schreiben, aber dort gibt es viele unnötige Informationen, man sollte die notwendigen Zeilen finden, oder in die Datei. Es werden keine unnötigen Dinge in der Datei enthalten sein.
Tick und Ticket sind unterschiedliche Dinge, ein Tick ist ein neuer Preis... Am besten ist es, wenn man sich nicht gleich verwirren lässt.
TP und SL schließen auf Preisniveau und Preis mehr oder weniger. Der Preis ist diskret und der Preis der Stopp-Levels ist es auch. Wenn sie nicht über das Niveau hinausgeht, bleibt der Auftrag bestehen, wenn doch, wird er geschlossen. Im Tester werden 4 Ticks modelliert, das sind weniger als in der realen Situation und daher ist der Abstand zwischen den Tick-Preisen größer.
Fehler und der Handelsverlauf sind besser entweder in das Journal zu schreiben, aber dort gibt es viele unnötige Informationen, Sie sollten die notwendigen Zeilen finden, oder in die Datei. Es werden keine unnötigen Dinge in der Datei enthalten sein.
Ich möchte sie heute im Protokoll anzeigen. Wenn überhaupt, werde ich wieder Fragen stellen.
Was ist der Unterschied zwischen einer Funktion und einem Operator?
Warum ist "if()" ein Operator und"Alert()" eine Funktion, wenn beide Klammern hinter ihrem Namen stehen? Ich studiere das mql4-Tutorial, aber ich verstehe die Zeichen und Eigenschaften nicht
Was ist der Unterschied zwischen einer Funktion und einem Operator?
Ich habe mir diese Frage nie gestellt, aber ich weiß, dass es in allen Programmiersprachen nur ein Dutzend Operatoren gibthttps://www.mql5.com/ru/docs/basis/operators
und der Rest sind entweder eingebaute Bibliotheken oder benutzerdefinierte Funktionen, deren Syntax wie () aussieht
S: Theoretisch werden alle Bibliotheken von den Betreibern geschrieben..... - zumindest war das früher in C so. MQL ist ein Wrapper auf einige Compiler, jetzt ist es wie LLVM und einige fertige Bibliotheken, die die eingebetteten Funktionen .... geben. aber das ist nur ein Gedanke, im Prinzip ist es egal, es kann die Aufgaben bewältigen
"if" wird direkt als Befehl in den Assembler übersetzt, während "Alert" eine Funktion ist, die Benachrichtigungen sendet.
"if" wird direkt als Befehl in den Assembler übersetzt, während "Alert" eine Funktion ist, die Benachrichtigungen sendet.
Hmm ... Und switch oder new werden auch in einen Assembler-Befehl übersetzt?
;)
die Programmierfibel ist der beste Ort, um nachzuschauen, dort im Vorwort und in den ersten Kapiteln wird normalerweise etwas zu diesem Thema geschrieben, du musst nach einer Fibel für Schüler suchen, dort wird es sicher zu finden sein
UPD: und wenn ich mich recht erinnere, wird if durch Assembler XOR / CMP und dann JNE / JNZ ersetzt ... d.h. für Vergleiche und Flag-Übergänge, nicht ganz derselbe Assembler-Befehl, wenn auch nicht der Punkt
Unterschiede nur in der Semantik der jeweiligen Sprache. In dieser Sandbox ist es üblich, einen if-Operator aufzurufen. Solange du hier Puppen machst, soll es so sein :-)
Eigentlich ist es das Gleiche. Ich kenne Sprachen, in denen es keine "Operatoren", sondern nur Funktionen gibt... und umgekehrt (in der Praxis nicht verwendet, aber es gibt einige)
Hmm ... werden switch oder new auch in einen Assembler-Befehl übersetzt?
;)
im Allgemeinen solltest du eine Programmierfibel zu Rate ziehen, im Vorwort und in den ersten Kapiteln steht normalerweise etwas zu diesem Thema, du musst nach einer beliebigen Fibel für Schüler suchen, dort wird es genau stehen
UPD: und wenn ich mich recht erinnere, wird if durch Assembler XOR / CMP und dann JNE / JNZ ersetzt ... d.h. zum Vergleich und für Flag-Schalter, nicht ganz derselbe Assembler-Befehl, aber darum geht es auch nicht.
Wenn ich mich richtig an BASIC erinnere, sind Operatoren einfach eine Aktion, während Funktionen komplexer sind und mehrere Aktionen umfassen.
Dies ist historisch gesehen eine gute Erklärung)
UPD: und wenn ich mich recht erinnere, wird if durch Assembler XOR / CMP und dann JNE / JNZ ersetzt ... d.h. für den Vergleich und für Flag-Passes, nicht ganz derselbe Assembler-Befehl, obwohl es nicht darum geht
Das ist der Punkt, Sie können Operatoren in Assembler übersetzen, ohne Funktionen zu verwenden, mit einfachen CPU-Befehlen.
Und alles, was komplizierter ist, alles, was den Aufruf komplexer Prozeduren erfordert, das sind Funktionen.
Noch komplexer sind die Klassen-Strukturen.
Wenn nichts anderes, müssen Sie Wiki )))) lesen.
Bediener (Programmierung)
und es gibt einen Link zu einem entsprechenden Artikel
Bediener (Programmierung)