Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 76

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
Problem durch Preisvergleich gelöst
In diesem Zusammenhang möchte ich auf Folgendes hinweisen:
Aus diesem Grund wäre es besser, globale Arrays zu haben - für geschlossene und offene Aufträge und Positionen. Bei einem neuen Tick übergeben wir einmalig die erforderliche Anzahl von Aufträgen/Positionen und füllen damit die beiden Arrays. Und dann bekommen wir von ihnen alle notwendigen Daten auf denselben Tick. Beachten Sie, dass nicht nur der letzte geschlossene/offene Auftrag/die letzte offene Position und alle zugehörigen Daten berechnet werden, sondern auch alle übergeordneten und untergeordneten Ticks aller Positionen im Falle einer teilweisen Schließung durchsucht werden. So kann ich jederzeit sehen, welches Ticket von der einen oder anderen Position stammt, ob es teilweise mehrfach geschlossen wurde - all das funktioniert bereits in einer Klasse, die in einem Timer läuft. Ich habe viele andere Daten, die ich mit einer geringen Gesamtzahl von Zyklen benötige. Die erforderliche Tiefe der Historie für Arrays wird für den Prüfer festgelegt.
Und so weiter und so fort ...
Entschuldigung. Eine weitere Ergänzung (nicht als Gegengewicht, sondern als Ergänzung), möchte ich hinzufügen, dass lokale Arrays mitstatischen nicht verloren gehen. Das heißt, wenn die Bedingungen es erlauben, ohne sie global zu deklarieren.
Ich schreibe es jetzt langsam für 5. Ich meine, dass sich der Preis sehr schnell ändern kann und das Niveau unter dem Stop-Loss-Wert liegen kann, was zu einem Fehler führen wird. Ich meine damit, dass sich der Preis sehr schnell ändern kann und das Niveau unter dem zulässigen Stopp-Niveau liegt, was zu einem Fehler führen würde.
Ich verstehe, dass diese"SymbolInfoTick" Sache benötigt wird, um den aktuellen Preis zu erhalten?
Um die aktuellen Ask- und Bid-Werte in mql4 zu erhalten, hätte der Refresh also ohnehin aufgerufen werden müssen. Und es stellt sich heraus, dass sich die Auslastung im Vergleich zum Aufruf von SymbolInfoTick() kaum ändern wird.
Aber hier ist eine weitere Ergänzung: Ich schreibe SymbolInfoTick() in die folgende Schleife, um genaue Preise zu erhalten
while(!SymbolInfoTick(_Symbol, mqlTick));
Wenn wir vom ersten Mal an normale Preise erhalten, wird diese Schleife die Ausführungszeit nicht erhöhen. Und wenn etwas schief geht, ist es besser, es zu wiederholen, als den gleichen Preis zu bekommen.
Um die aktuellen Ask- und Bid-Werte in mql4 zu erhalten, müssen Sie also sowieso refresh aufrufen. Und es stellt sich heraus, dass sich die Auslastung im Vergleich zum Aufruf von SymbolInfoTick() kaum ändern wird.
Aber hier ist noch eine weitere Ergänzung: um die aktuellen Preise fehlerfrei zu ermitteln, habe ich SymbolInfoTick() in diese Schleife eingefügt
while(!SymbolInfoTick(_Symbol, mqlTick));
Wenn wir vom ersten Mal an normale Preise erhalten, wird diese Schleife die Ausführungszeit nicht erhöhen. Und wenn etwas schief geht, ist es besser, es zu wiederholen, als den gleichen Preis zu bekommen.
Verstehe, aber wo soll ich sie anbringen, innerhalb des Zyklus oder davor?
Um die aktuellen Ask- und Bid-Werte in mql4 zu erhalten, müssen Sie also sowieso refresh aufrufen. Und es stellt sich heraus, dass sich die Auslastung im Vergleich zum Aufruf von SymbolInfoTick() kaum ändern wird.
Aber hier ist noch eine weitere Ergänzung: um die aktuellen Preise fehlerfrei zu ermitteln, habe ich SymbolInfoTick() in diese Schleife eingefügt
while(!SymbolInfoTick(_Symbol, mqlTick));
Wenn wir vom ersten Mal an normale Preise erhalten, wird diese Schleife die Ausführungszeit nicht erhöhen. Und wenn etwas schief geht, ist es besser, es zu wiederholen, als den gleichen Preis zu bekommen.
Und wenn er sie gar nicht erhält? Wie kann man den Zyklus verlangsamen?
Ja, logischerweise könnte es z. B. sein, dass das Terminal die Verbindung verloren hat - dafür gibt es viele Gründe, bei mir hat es 50 Mal am Tag die Verbindung verloren.
Wie lassen sich die aktuellen Preise am besten ermitteln, und zwar ressourcenschonend - für den Netzbesuch.
Ja, logischerweise könnte es z. B. sein, dass das Terminal die Verbindung verloren hat - dafür gibt es viele Gründe, bei mir hat es 50 Mal am Tag die Verbindung verloren.
Was ist der beste Weg, um aktuelle Preise zu erhalten und gleichzeitig weniger ressourcenintensiv zu sein - denken Sie daran - für die Netzsuche.
Schauen Sie 10 Seiten zurück, dort gibt es einen ziemlich guten Schaltplan.