Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1948
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
Sie müssen die Kosten des Artikels berücksichtigen
Ich kann Ihnen den Code geben, aber es wird lange dauern, ihn zu verstehen, er ist umfangreich und berücksichtigt auch das maximal mögliche Los auf der MargeWenn ich es nicht schaffe, werde ich Fragen stellen))) Natürlich müssen Sie den Punktwert berücksichtigen und die Formel ist keine 2-Stufen-Formel. Es fällt mir schwer, die Begriffe nicht vollständig zu verstehen, und die Überprüfung der Richtigkeit der Annahmen kostet Zeit))) Der Wert des Kontrakts = der Wert eines Lots in Geld Tag berechnet))))
Guten Tag, bitte beraten Sie, wie man einen Wert aus einer Liste von Konstanten in Form von Text zurückgeben.
Beispielsweise gibt die Funktion HistoryDealGetInteger bei der Abfrage des Ereignisses den int-Wert aus der ListeENUM_DEAL_TYPE zurück. Wie können wir aus der zurückgegebenen Nummer die Information erhalten, dass es sich um "DEAL_TYPE_CREDIT - Kreditabgrenzung" handelt? Nach der Fehlersuche wird dieser Wert natürlich nicht mehr benötigt, int reicht aus, um das Ereignis zu verarbeiten, aber während der Fehlersuche ist überhaupt nicht klar, was die von der Funktion zurückgegebenen Zahlen 3 oder 5 bedeuten.
Guten Tag, könnten Sie mir bitte sagen, wie man einen Wert als Text aus einer Liste von Konstanten zurückgibt.
Beispielsweise gibt die Funktion HistoryDealGetInteger bei der Abfrage des Ereignisses den int-Wert aus der ListeENUM_DEAL_TYPE zurück. Wie können wir aus der zurückgegebenen Nummer die Information erhalten, dass es sich um "DEAL_TYPE_CREDIT - Kreditabgrenzung" handelt? Nach der Fehlersuche wird dieser Wert natürlich nicht mehr benötigt, int reicht aus, um das Ereignis zu verarbeiten, aber während der Fehlersuche ist überhaupt nicht klar, was die von der Funktion zurückgegebenen Zahlen 3 oder 5 bedeuten.
string s = EnumToString((ENUM_DEAL_TYPE) x)
string s = EnumToString((ENUM_DEAL_TYPE) x)
Können Sie mir bitte sagen, wie ich das Problem lösen kann:
1) Ich habe die Historie nicht geladen, im Chart-Fenster während des Online-Prozesses hatte ich Zeit, 70 000 Minuten-Balken zu laden. Ich lade meinen Expert Advisor in den Strategy Tester und gerade, wenn ich die Mindestanzahl von Balken für ein bestimmtes Muster geschrieben habe, antwortet er mit "nicht genug Balken für die Analyse". Ich drucke iBars aus und es werden 1200 Balken angezeigt. Ich habe die Geschichte geladen (8 000 000 Balken). Neustart, "9999999999" Balken in Fenster und Verlauf. Nova schreibt "nicht genug Geschichte". Drucken von iBars, wieder 1200. Was ist das und wie kann man es lösen?
2) Wie kann ich in der Mehrwährungsanalyse erzwingen, dass der Indikator neue eingehende Ticks für andere Währungspaare nicht verpasst, wenn die Kurse im aktuellen Chart plötzlich eingefroren sind und OnTick die Prüfung nicht aufruft? Ich habe OnTimer ausprobiert, aber es funktioniert nicht im Testgerät
Und hier ist das Ergebnis
Es stellt sich heraus, dass das Array b[] (das eine umgekehrte Indexierung hat) seine Werte irgendwie dupliziert, nachdem die Größe
erhöht wurde. Übersehe ich etwas oder habe ich einen Fehler gemacht?
Und dies ist das Ergebnis
Es stellt sich heraus, dass Array b[] (die umgekehrte Indizierung hat) hat irgendwie doppelte Werte nach Erhöhung der Größe
Warum? Übersehe ich etwas oder habe ich einen Fehler gemacht?
In jedem Fall können wir uns nicht auf die Werte in den neuen Array-Zellen verlassen - es handelt sich um nicht initialisierte Variablen, die jeden beliebigen Unsinn enthalten können.
Und dies ist das Ergebnis
Es stellt sich heraus, dass Array b[] (das eine umgekehrte Indizierung hat) irgendwie doppelte Werte hat, nachdem die Größe erhöht wurde
Warum? Übersehe ich etwas oder habe ich einen Fehler gemacht?
Sie müssen das Feld umdrehen, nachdem es gefüllt wurde.
In jedem Fall können wir uns nicht auf die Werte in den neuen Array-Zellen verlassen - diese sind nicht initialisierte Variablen, die jeden beliebigen Müll enthalten können.
Richtig, aber es gibt 2 Abers
1) Die Spiegelung wird bei jeder anderen Größe beobachtet, nicht nur, wie in meinem Beispiel - 5
2) Wenn ein Array eine umgekehrte Indizierung hat, dann sollten neue Zellen am Anfang des Arrays erscheinen - was nicht der Fall ist
Sie müssen das Feld nach dem Füllen umdrehen.
Daran habe ich auch gedacht - zumindest sehe ich im Moment keine andere Lösung