Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 209
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
Das Problem liegt in dieser Zeile
Da ich mehrere Währungen auf einem Balken überprüfen möchte, sollte ich die Zeit und die Währung überprüfen, um zu vermeiden, dass ein Alarm auf einem Balken und einem Symbol wiederholt wird, aber einen Alarm auf demselben Balken mit einem anderen Symbol zuzulassen. Auf den ersten Blick brauchen wir ein weiteres Array mit Flags, die anzeigen, ob das Symbol angezeigt wird oder nicht.
Im Allgemeinen müssen wir entweder eine Symbolprüfung in diese Zeile einfügen oder die Schleife nur wiederholen, wenn ein neuer Balken erscheint. Aber ich habe die Befürchtung, dass wenn ein neuer Balken auf dem Symbol mit diesem Indikator erscheint, ein neuer Balken noch nicht auf einem anderen Symbol erschienen ist.
Die Schlussfolgerung: Wir müssen unsere Kopfmuskeln anstrengen, um festzustellen, ob ein neuer Balken auf jedem einzelnen Symbol erscheint, aber gleichzeitig die Anzahl der Zeilen nicht ins Unendliche zu dehnen. Ich habe keine fertige Lösung. Und ich mag es nicht vorschlagen, indem ich Code schreibe...
Und ich habe sein Problem nicht gelöst?
Vielleicht habe ich irgendwo etwas übersehen - ich habe den Code auf meinem Knie geschrieben.
Und ich habe sein Problem nicht gelöst?
Vielleicht habe ich irgendwo etwas übersehen - ich habe den Code auf meinem Knie geschrieben.
Artem, der letzte Satz in meinem Beitrag erklärt alles. Ich habe mir Ihren Code nicht einmal angesehen. Ich öffnete die erste ungelesene Frage mit einem Zitat aus meiner vorherigen Antwort, antwortete und sah dann die anderen Ratschläge. Ich zweifle nicht an der Korrektheit Ihres Codes, auch nicht von meinem Knie aus...
Artyom, der letzte Satz in meinem Beitrag erklärt alles. Ich habe mir Ihren Code nicht einmal angesehen. Ich öffnete die erste ungelesene Frage mit einem Zitat aus meiner vorherigen Antwort, ich antwortete und sah dann andere Ratschläge. Ich zweifle nicht an der Korrektheit Ihres Codes, auch nicht von meinem Knie aus...
Ich hätte "faul" gesagt ;)
Schon auf den ersten Blick ist zu erkennen, dass der Code von den Ticks des aktuellen Symbols abhängt. Daher müssen wir die Schleife aus OnTick() entfernen und sie in einen Timer verschieben. Und ändern Sie die Definition von Zeitwarnungen leicht ab.
Hallo zusammen, es gibt ein Missverständnis des Prozesses, in der Funktion "Start" im Zyklus mm++; und folgen Sie die Änderungen in ihm durch Print(); so die Frage: "Warum statt 1,2,3,4, etc. pop-up vierstellige Zahlen? "
der Code selbst
Hallo zusammen, es gibt ein Missverständnis des Prozesses, in der Funktion "Start" im Zyklus mm++; und folgen Sie die Änderungen in ihm durch Print(); so die Frage: "Warum statt 1,2,3,4, etc. pop-up vierstellige Zahlen? "
der Code selbst
Beim ersten Durchlauf, 10 SekundenIndicatorCounted()=0
alsoLimit= max. Balken in Geschichte-1
Beim ersten Durchlauf, für 10 SekundenIndicatorCounted()=0
Mittelwertgrenze= maximale Balken in Geschichte-1
immer noch nicht klar, Deklaration und Initialisierung mit Null außerhalb der Schleife int mm=0; und in der Schleife platziert mm++; print() zeigt vierstellige Zahlen, die sich mit einer Differenz von einer Einheit ändern, aus irgendeinem Grund nur in absteigender Richtung
Alexey Viktorov:
...müssen Sie Ihre Kopfmuskeln anspannen...
Vielen Dank an alle, die geantwortet haben.
Artyom Trishkin: Genau so:
Die Prüfung auf einen neuen Balken zu beschränken, wird nicht funktionieren, weil es auch Bedingungen geben wird, die bei jedem Tick geprüft werden müssen.
Ich versuche, OnTimer() zu Ihrem Code hinzuzufügen. Es funktionierte in EA, wenn OnTick(), aber wie man es mit OnCalculate tun?
Können Sie mir sagen, warum die Bestellungen nicht geöffnet werden?
Vielen Dank an alle, die geantwortet haben.
Artyom, warum schreiben Sie, dass Sie das Problem nicht gelöst haben? Alle Instrumente zeigen Signale an, aber das System ist stark belastet. Gibt es eine Möglichkeit, die Belastung zu verringern?
Die Beschränkung auf die Überprüfung bei einem neuen Balken reicht nicht aus, da es auch Bedingungen gibt, die bei jedem Tick überprüft werden müssen.
In Ihrem Code, ich versuche, OnTimer() hinzufügen, es funktionierte in EA, wenn OnTick(), aber wie man es mit OnCalculate tun?
Versuchen Sie es mit einem Timer für 200 Millisekunden.