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
Gibt es einen erzwungenen Abbruch der Funktion OnTester()
oder warum der Verlauf der Transaktionen vor der benutzerdefinierten Funktion existiert und danach Null zurückgibt:
Welche Funktionen funktionieren im Testgerät nicht?
Wie kann der Prüfer (während der Optimierung) nach außen signalisieren, dass etwas nicht stimmt (Warnungen drucken, nichts funktioniert)?
Anscheinend schlafen heute alle noch.
Haben Sie sich die Agentenprotokolle angesehen, vielleicht ist dort alles vorhanden?
Soweit ich weiß, werden die Drucker nur während der Optimierung nicht im Hauptprotokoll des Testers angezeigt (im normalen Modus ist alles in Ordnung).
OnTester() kann meines Wissens nach nicht zwangsweise beendet werden. Und wozu? Es wird einfach ein bestimmtes Testergebnis berechnet (außerdem wird es im Wesentlichen nur zur Optimierung verwendet)?
Die Funktion OnTester() ist ein Tester-Ereignishandler, der automatisch am Ende des historischen Tests des Expert Advisors für ein bestimmtes Datumsintervall erzeugt wird. Die Funktion muss mit dem Typ double definiert werden, sie hat keine Parameter:
doubleOnTester();
Die Funktion wird unmittelbar vor OnDeinit() aufgerufen und hat den Rückgabetyp double. Die Funktion OnTester() kann nur von Experten während des Testens verwendet werden. Ihr Hauptzweck besteht darin, einen Wert zu berechnen, der als Custom max-Kriterium bei der genetischen Optimierung der Eingabeparameter verwendet wird.
PS
> Warum zeigt die Transaktionshistorie vor einer benutzerdefinierten Funktion, aber danach null an...
Vielleicht ist dies eine Frage an die Entwickler.
Soweit ich verstehe, muss OnTester die Anzahl der Abschlüsse zurückgeben (falls es welche gibt), während Custom_func() als benutzerdefinierte Funktion verstanden wird?
Gewidmet den Entwicklern ...
Ihr hättet zumindest gewarnt, wenn ihr eine Gelegenheit gebt, die vorher prinzipiell nicht möglich war.
Ich habe vierundzwanzig Stunden damit verschwendet, diesen Fehler zu finden.
Natürlich weiß ich das, aber ich habe 24 Stunden vergeudet, nur weil ich mich daran gewöhnt habe, dass mit diesem
Ich bin es gewohnt, dass mir der Compiler einen Fehler anzeigt.
Gibt es einen erzwungenen Abbruch der Funktion OnTester()
oder warum der Verlauf der Transaktionen vor der benutzerdefinierten Funktion existiert und danach Null zurückgibt:
Welche Funktionen funktionieren im Testgerät nicht?
Wie kann man vom Tester (während der Optimierung) nach außen signalisieren, dass etwas nicht in Ordnung ist (druckt Warnungen, dass nichts funktioniert)?
Vielen Dank für Ihre Nachricht. Ihre Bewerbung ist bei uns eingegangen - wir bearbeiten sie gerade.
Wie berechne ich das maximal zulässige Lot nach Marge, um eine neue Position zu eröffnen? In MQL4 wurde dies wie folgt durchgeführt:
MaxLot=AccountFreeMargin()/MarketInfo(Symbol(),MODE_MARGINREQUIRED);
Wie berechne ich das maximal zulässige Lot nach Marge, um eine neue Position zu eröffnen? In MQL4 wurde das so gemacht:
Ungefähr so:
Dieser Code berechnet nicht nur das maximale Volumen, sondern passt es auch genau in die Grenzen der Symboleinstellungen.Es geht ungefähr so:
Dieser Code berechnet nicht nur die maximale Lautstärke, sondern passt sie auch genau in die Grenzen der Zeicheneinstellung.Ich danke Ihnen! Ich habe OrderCalcMargin() nicht in meiner Hilfe :)
Was ist also letztendlich der richtige Weg? Ist es "==" oder ist es "="?
So oder so.
if(a==0){Ausdruck} bedeutet, wenn a 0 ist, dann ist es wahr, also führen wir {Ausdruck} aus.
if(a=0){Ausdruck} ist gleich if(a){a=0;Ausdruck} wenn a wahr ist, {a=0;Ausdruck}.
Haben Sie sich die Agentenprotokolle angesehen, vielleicht ist dort alles vorhanden?
Soweit ich weiß, werden die Drucker nur während der Optimierung nicht im Hauptprotokoll des Testers angezeigt (im normalen Modus ist alles in Ordnung).
OnTester() kann meines Wissens nach nicht zwangsweise beendet werden. Und wozu, wenn es nur ein bestimmtes Testergebnis berechnet (außerdem wird es im Wesentlichen nur zur Optimierung verwendet)?
PS
> Warum existiert die Historie der Transaktionen vor einer benutzerdefinierten Funktion und gibt danach Null aus...
Vielleicht ist das ein Problem für die Entwickler.
Soweit ich verstanden habe, sollte OnTester die Anzahl der Geschäfte zurückgeben (wenn es welche gibt), während die benutzerdefinierte Funktion Custom_func() ist?
Das Problem ist, dass das Programm bei der Optimierung selbst nicht wie in anderen Situationen funktioniert (deshalb muss ich die Nachricht unter OnTester senden).
Zu diesem Zweck habe ich analog print erfunden (eine Funktion, die eine Datei erstellt, um eine Zeichenkette zu drucken, die der Funktion als Parameter übergeben wird).
So ist es mir gelungen, die fehlerhafte Ausführung einiger Funktionen in OnTester abzufangen.