Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 660
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
dieser Code funktioniert, machen Sie es analog:
Minimale Änderungen vorgenommen - OrderMagicNumber()-Analyse entfernt und drei Protokolle hinzugefügt.
Das Ergebnis ist leider das gleiche - siehe pr. - Auf dem ersten Screenshot gibt es einen Anfang (es ist unklar, warum er nicht mit 0 beginnt), und auf dem zweiten, wo er mit 124 bis 99 beginnt.
int NumberOfOrders()
{
int i,res=0,k=OrdersTotal(); string sy=Symbol();
for(i=0; i<k; i++)
{
log("k = " + k +"; ");
log("i = " + i +"; ");
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if((OrderSymbol()==sy)) res++; //if((OrderMagicNumber()==magic_) && (OrderSymbol()==sy)) res++;
log("res = " + res +"; ");
}
}
return(res);
}
Lässt sich dieser Code wirklich ohne Fehler kompilieren? Ich kann es nicht glauben...
(es ist unklar, warum sie nicht mit 0 beginnt), und an der zweiten Stelle, wo sie von 124 auf 99 kommt.
da das Terminal einen Teil von Print() "gefressen" hat, hat die Ausgabe in MQL die niedrigste Priorität, fügen Sie Slepp(123) vor Print() ein und es gibt keine Auslassungen
obwohl Sie dem Protokoll zufolge nur den Schleifenzähler ausgeben
da der Terminal "ate" Teil von Print(), in MQL Ausgabe die niedrigste Priorität hat, fügen Sie Slepp(123) vor Print() ein und es wird keine Auslassungen geben
obwohl Sie dem Protokoll zufolge nur den Schleifenzähler ausgeben
Ihre Antwort vermittelt mir den Eindruck, dass ich "gegessen" habe - er hat es einfach nicht ins Protokoll geschrieben, weil es wichtigere Dinge gab, aber meine eigentliche Aufgabe war es, alle Aufträge durchzugehen und bestimmte zu löschen, und ich habe bemerkt, dass der EA einige von ihnen übersprungen hat (dies war keine Ausgabe von Informationen mit der niedrigsten Priorität). Ich habe die Aufgabe vereinfacht, um den Grund zu verstehen, und als Ergebnis haben wir nur die Ausgabe im Protokoll, aber ich sehe immer noch ausgelassene Aufträge, d.h. der Expert Advisor springt über mehrere Aufträge. Die niedrigste Auftragspriorität erklärt gut die Startausgabe nicht von 0, aber wie kann es inkonsistente Ausgabe erklären, wenn es springt, zum Beispiel, von 124 bis 99.
Wenn wir mit "gegessen" etwas anderes meinen, würde ich gerne verstehen, was?
Das ist großartig!
Roman!
Ich zum Beispiel bin ein erfolgreicher Händler mit 20 Jahren Erfahrung.
Ich verstehe nicht, warum Sie "die Differenz zwischen den Schlusskursen der von Ihnen eingegebenen Paare undeinem gleitenden Durchschnitt dieser Paare" benötigen.
Und wissen Sie, wie man einen gleitenden Durchschnitt aus diesen Differenzen bildet? - Fantastisch!
Können Sie einfach den gleitenden Durchschnitt der Notierungen zeichnen? - Auch nicht?
Wo liegt also das Problem?
die Differenz der Schlussdurchschnitte ist nicht gleich der Differenz der Schlussdurchschnitte, ach und weh
Was sind die Zweifel? Jedenfalls keine Fehler in MQL4.
1. Lernen Sie, wie man Code einfügt.
Ich habe nur minimale Änderungen vorgenommen - die OrderMagicNumber()-Analyse entfernt und drei Protokolle hinzugefügt.
Das Ergebnis ist leider das gleiche - siehe oben. - Auf dem ersten Screenshot der Anfang (ich weiß nicht, warum es nicht mit 0 beginnt), und auf dem zweiten - die Stelle, wo es mit 124 bis 99 beginnt.
2. log ist ein Logarithmus.
Hinweis
Sie können log()anstelle von MathLog() verwenden.
Ich habe auch einen schwerwiegenden Nachteil gefunden, es gibt zu viele CopyClose()-Aufrufe
Können Sie mir sagen, wie ich Kurse aus einem Array von Währungspaaren in eine Schleife kopieren kann?
Das scheint ein Doppel-Array zu sein, aber MQL unterstützt es nicht, wie %.
Was meinen Sie mit "Doppelanordnung"?
Was meinen Sie mit "Doppelanordnung"?
Nun, zweidimensional.
Gut zweidimensional.
Wo steht geschrieben, dass CopyClose Daten in ein 2D-Array kopiert? Warum wurde das 2D-Array überhaupt erwähnt?
Wo steht geschrieben, dass CopyClose Daten in ein 2D-Array kopiert? Warum wurde die zweidimensionale Anordnung erwähnt?
Weil ich Arrays von Anführungszeichen in einem Array speichern muss
Um es einmal in einer Schleife zu kopieren und dann Berechnungen mit ArrayCopy, aber nicht CloseCopy durchzuführen