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
Wenn Sie ACR zum ersten Mal aufrufen, erhalten Sie die Fehlermeldung 4066. Das war's. Bei einem erneuten Aufruf erhalten Sie eine gültige Zählung, aber keine Daten in den Arrays. Der Zugriff auf die Arrays führt nicht zu einer Bereichsüberschreitung.
Wenn Sie ACR zum ersten Mal aufrufen, erhalten Sie die Fehlermeldung 4066. Das war's dann. Rufen Sie es erneut auf, erhalten Sie eine gültige Zählung, aber keine Daten in den Arrays. Der Zugriff auf die Arrays führt nicht zu einer Bereichsüberschreitung.
Ich muss Ihnen widersprechen, denn ich sehe nicht, was Sie gerade beschrieben haben. Das kann jedoch daran liegen, dass bei meiner Real-Live-Nutzung in der Regel alle Daten verfügbar sind, während ich in meiner Demo-/Testumgebung ".hst" und ".fxt" aus externen Daten generiert habe.
Ich werde versuchen, die Bedingungen für einen "Neustart" ohne lokale Daten wiederherzustellen, um zu sehen, ob ich das von Ihnen beschriebene Problem wiederholen kann.
Ich habe die "Clean Slate"-Bedingungen neu erstellt und ein kleines Skript kodiert, um dies in einer Endlosschleife ohne Sleep-Funktion zu testen. Ich habe das Skript zweimal mit einem "EURUSD"-Diagramm laufen lassen, aber den Code Daten von der "NZDCAD" anfordern lassen, die vorher nie geladen wurde.
habe eine ZIP-Datei mit dem Testskript und den daraus resultierenden Protokolldateien angehängt.Ich überlasse es Ihnen, Ihre eigenen Schlüsse zu ziehen!
PS! Meine Schlussfolgerung ist, alle Tests zu kombinieren, bevor man fortfährt. (d.h. den Rückgabewert von "ArrayCopyRates" testen, die Fehlercodes überprüfen, die Array-Größe des MqlRates-Arrays testen und (zur Sicherheit, wie WHRoeder vorschlägt) auch die Gültigkeit des Datums der Array-Elemente testen.
EDIT: Hätte ich nur den "pair[0].time == 0"-Test verwendet, hätte er während der ersten Iterationen des ersten Durchlaufs, als noch keine Daten verfügbar waren, einen Array-Index-Fehler ausgelöst (und die Ausführung zum Stillstand gebracht). Daher bleibe ich bei meiner Aussage, dass man den Rückgabecode und die Array-Größe überprüfen muss, stimme aber zu, dass der Zeittest eine weitere Überprüfungsebene bieten kann, sobald die anderen Bedingungen erfüllt sind.
Das hatte ich ursprünglich erwartet, aber ich wurde eines Besseren belehrt.
Jetzt haben sie es endlich richtig gemacht, und ich werde dies für die Zukunft festhalten.
EDIT: Hätte ich nur den Test "pair[0].time == 0" verwendet, hätte er während der ersten Iterationen des ersten Durchlaufs, als noch keine Daten verfügbar waren, einen Array-Index-Fehler angezeigt (und die Ausführung zum Stillstand gebracht). Daher bleibe ich bei meiner Aussage, dass man den Rückgabecode und die Array-Größe überprüfen muss, stimme aber zu, dass der Zeittest eine weitere Überprüfungsebene bieten kann, sobald die anderen Bedingungen erfüllt sind.
Das ist alles sehr nützlich, danke für die Recherche und die Ergebnisse.
Seltsam, dass es seit Beginn dieses Threads keinen einzigen Kommentar des ursprünglichen Posters gegeben hat. Verfolgt er das Thema überhaupt?
Warum sollte er/sie diesem Beitrag folgen, die nachfolgenden Beiträge gehen weit über das Verständnisniveau der meisten Leute in diesem Forum hinaus.
Wie wäre es, wenn Sie versuchen würden, die Frage einfach und präzise zu beantworten?
Um nun die ursprüngliche Frage zu beantworten, nur für den Fall, dass es eine kleine Chance gibt, dass der ursprüngliche Poster noch da ist: Google ist dein Freund.
Wie wäre es, wenn Sie versuchen würden, die Frage einfach und präzise zu beantworten?
Wir haben die Frage beantwortet, die im Wesentlichen lautete: "Ich möchte ZWISCHEN 1 und 10 verschiedenen Währungen und 5 Balken für jede Währung wählen."
Da er weder einen Beispielcode noch weitere Details angegeben hat, war es nicht möglich, eine einfache und präzise Antwort zu geben. Alles, was wir tun konnten, war, allgemeine Antworten zu geben und auf die Probleme aufmerksam zu machen, die sich ihm stellen würden. Wir antworteten, dass er"ArrayCopyRates()" oder die"iFunctions()" verwenden sollte und dass er die inhärente Verzögerung und die Fehler, die er offensichtlich bekommen würde, im Auge behalten müsste. Wir haben dann die Informationen ergänzt, indem wir die Fallstricke und Probleme erörtert haben, wie z. B. das Fehlen der sleep-Funktion in Indicators und das unterschiedliche Verhalten von Pre-600 und Post-Builds.
Wenn Sie sagen, dass das alles zu hoch für ihn ist, hätte er nur etwas in der Art posten müssen wie: "Entschuldigung, ich verstehe das nicht! Können Sie es für mich vereinfachen!". Da es aber nie einen solchen Beitrag (oder einen anderen) gab, ging die Diskussion in dem Glauben weiter, dass er und andere ihr folgen konnten.
Wie Sie geschrieben haben, könnte er jetzt Google benutzen und viele Multi-Time-Frame-Indikatoren finden, aber wenn er immer noch nicht weiß, WIE sie funktionieren, wird er nicht sehr weit kommen, wenn er seinen Indikator nach seinen Wünschen gestalten will.
EDIT: PS! NB! Nachdem ich noch einmal darüber nachgedacht habe, hat WHRoeder tatsächlich einen Skelettcode als Lösung für das Problem bereitgestellt. Einfacher und präziser geht es nicht, wenn man bedenkt, wie wenig Details die ursprüngliche Frage enthielt.
Wir haben die Frage beantwortet, die im Wesentlichen lautete: "Ich möchte ZWISCHEN 1 und 10 verschiedenen Währungen und 5 Balken für jede Währung wählen."
Da er weder einen Beispielcode noch weitere Details angab, war es nicht möglich, eine einfache und präzise Antwort zu geben. Alles, was wir tun konnten, war, allgemeine Antworten zu geben und auf die Probleme aufmerksam zu machen, die sich ihm stellen würden. Wir antworteten, dass er"ArrayCopyRates()" oder die"iFunctions()" verwenden sollte und dass er die inhärente Verzögerung und die Fehler, die er offensichtlich bekommen würde, im Auge behalten müsste. Wir haben dann die Informationen ergänzt, indem wir die Fallstricke und Probleme erörtert haben, wie z.B. das Fehlen der sleep-Funktion in Indicators und das unterschiedliche Verhalten zwischen pre-600 und post builds.
Wenn Sie sagen, das sei ihm alles zu hoch, hätte er nur etwas in der Art posten müssen wie: "Tut mir leid, ich verstehe das nicht! Kannst du es für mich vereinfachen!". Da es aber nie einen solchen Beitrag gab (und auch keinen anderen), ging die Diskussion in dem Glauben weiter, dass er und andere ihr folgen könnten.
Nun, wie Sie geschrieben haben, könnte er Google benutzen und viele Multi-Time-Frame-Indikatoren da draußen finden, aber wenn er immer noch nicht weiß, WIE es funktioniert, wird er nicht sehr weit kommen, wenn er seinen Indikator so funktionieren lassen will, wie er will.
EDIT: PS! ACHTUNG! Nachdem ich noch einmal darüber nachgedacht habe, hat WHRoeder tatsächlich einen Skelettcode als Lösung für das Problem bereitgestellt. Einfacher und präziser geht es nicht, wenn man bedenkt, wie wenig Details die ursprüngliche Frage enthielt.
Die Frage lautete: "Weiß jemand, wie man einen Mehrwährungsindikator entwickelt?".
Die offensichtliche Antwort lautete: "Ja, wir (FMIC und WHRoeder) wissen es, schauen Sie sich die Diskussion an", ohne zu fragen oder auf Details zu warten, was der Fragesteller eigentlich braucht.
Was er/sie mit diesem Indikator tun wollte, war: "Ich möchte zwischen 1 und 10 verschiedenen Währungen und 5 Balken für jede Währung wählen."
Ja, es wurden Beispiele genannt. Aber sie waren eher als Wettbewerb zwischen Ihnen beiden gedacht. Interessante Debatte? Ja. Ich habe etwas gelernt, was ich noch nicht wusste. Wurde das Beispiel so dargestellt, dass es ein Neuling verstehen kann? Nicht so sehr. Die Leute kommen in dieses Forum, weil es an Unterstützung und Tutorials von MetaTrader mangelt. Die meisten Leute, die hier posten, haben ein minimales Verständnis von dem, was sie tun wollen, und wenn die Diskussion zu weit über ihr Verständnis hinausgeht, schweifen sie ab. Das ist eine absolute Schande.
Ein großer Hinweis war "Aber ich weiß nicht, wie man das macht".
Das Ausbleiben jeglicher Reaktion seitens des Auftraggebers ist ein Hinweis darauf, dass etwas nicht stimmt. Meine "Vermutung" ist, dass der Betreiber aufgrund des fehlenden Verständnisses frustriert war und den Thread aufgegeben hat. Es gab eine Zeit, vor Jahren, als ich das Gleiche tat. Ich habe auf anderen Websites/Foren mehr gelernt als in diesem Forum, weil sich niemand die Zeit nahm zu erkennen, wie neu ich war, und ständig Beispiele gepostet und Diskussionen geführt hat, die mein damaliges Verständnis völlig überstiegen.
Aber all das spielt keine Rolle mehr, da der Betreiber verschwunden ist.
Auch das ist eine Schande, wer weiß, vielleicht ist oder wird diese Person der nächste Guru, den dieses und andere Foren so dringend brauchen.
Großer Hinweis war "Aber ich weiß nicht, wie man das macht.".
Das Ausbleiben jeglicher Reaktion seitens des Auftraggebers ist ein Hinweis darauf, dass etwas nicht stimmt. Meine "Vermutung" ist, dass der Betreiber aufgrund des mangelnden Verständnisses frustriert war und den Thread aufgegeben hat. Es gab eine Zeit, vor Jahren, als ich das Gleiche tat. Ich habe auf anderen Websites/Foren mehr gelernt als in diesem Forum, weil sich niemand die Zeit nahm zu erkennen, wie neu ich war, und ständig Beispiele gepostet und Diskussionen geführt hat, die mein damaliges Verständnis völlig überstiegen.
Aus deiner Sicht magst du Recht haben, andererseits habe ich viele viele Fragen gesehen, die einfach beantwortet wurden, wenn man einen kurzen Blick in die Dokumentationen riskiert und ich fühle mich wirklich wie ein Narr, wenn ich immer wieder solche Fragen beantworte.
Außerdem gibt es hier google und eine Suchoption. Wenn ich nicht weiß, wie man etwas macht, wäre das mein nächster Schritt, das Problem selbst zu lösen.
Nun zum Thema dieses Threads: "...wie man ein Mehrwährungssystem entwickelt". Das hört sich für mich an wie "bring mir das Programmieren kostenlos bei", was ziemlich nahe an "kannst du das für mich programmieren" liegt. All dies ist nicht ganz ernst gemeint.
Da es so viel kostenlosen Code gibt, wäre meine Antwort auf diese Frage gewesen: "Benutze Google oder die Suche hier, um freien Code zu finden und ändere ihn!"
Wenn die Leute sich davon angegriffen fühlen, ist das ihr Problem.