Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 502
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
Die Funktion geht durch und wählt den zeitlich neuesten, d.h. den letzten, aus
Als Nächstes haben wir einen ausgewählten Balken, den wir in der FunktioniBarShift(sym, tf, oot ,true) ersetzen;
Die Funktion gibt die Taktnummer nach Zeit zurück. Das ist alles.
Leider kann ich es nicht überprüfen, aber als ich es benutzte, funktionierte es perfekt, ebenso wie alle Funktionen, die hier von I. Kim veröffentlicht wurden.
Schreibt eine Fehlermeldungif( iOpen[0] != time_open )'iOpen' - nicht deklarierte Kennung
Ich habe etwas Falsches geschrieben, ein wenig in die andere Richtung gedacht. Ändern Sie iOpen[0] in Open[0]. Korrigiert. Um es einfach auszudrücken. Wenn ich eine Bar öffne, erinnere ich mich an den Zeitpunkt der Bareröffnung, und es sind noch keine Bestellungen für diese Bar eingegangen.
In der Funktionsbeschreibung heißt es außerdem, dass
Die Auswahl der zu berücksichtigenden Positionen wird durch externe Parameter festgelegt:
In der Funktionsbeschreibung heißt es außerdem, dass
Die Auswahl der zu berücksichtigenden Positionen wird durch externe Parameter festgelegt:
Das reicht. In den externen Parametern können Sie die Werte eingeben, die Sie benötigen: MagicNumber, welche Positionen Sie suchen, wenn Sie BUY(0) und SELL(1) wollen - dann schreiben Sie "-1".
Ich habe etwas Falsches geschrieben, ein wenig in die andere Richtung gedacht. Ändern Sie iOpen[0] in Open[0]. Korrigiert. Um es einfach auszudrücken. Wenn ich einen Balken öffne, merkt er sich den Zeitpunkt der Balkenöffnung und es werden keine Aufträge für diesen Balken geöffnet.
viele Aufträge werden geöffnet und es sieht so aus, als ob die Bedingung if(NumberOfBarOpenLastPos(Symbol(),0,-1,-1)>0) erfüllt ist, bevor ein Nicht-Auftrag geöffnet wird, da NumberOfBarOpenLastPos -1 zurückgibt
viele Aufträge werden geöffnet, und es scheint, dass die Bedingung if(NumberOfBarOpenLastPos(Symbol(),0,-1,-1)>0) erfüllt ist, bevor ein Nicht-Auftrag geöffnet wird, da NumberOfBarOpenLastPos -1 zurückgibt
Wenn Sie nach Aufträgen suchen, müssen Sie die Funktion in ihrer vollen Version verwenden, d. h. mit der Möglichkeit, nach Aufträgen und nicht nur nach Positionen zu suchen:
Dies ist ausreichend. In den externen Parametern können Sie die gewünschten Werte eingeben: Majik, welche Positionen gesucht werden, vielleicht nur BUY, wenn BUY(0) und SELL(1) benötigt werden - dann schreiben wir "-1".
wenn ich den Tester starte, gibt es keine offenen Aufträge, vielleicht ist das der Grund, warum -1 zurückgegeben wird, weshalb die Bedingung if(NumberOfBarOpenLastPos(Symbol(),0,-1,-1)>0) nicht gilt?
Beim Start des Testers gibt es keine offenen Aufträge, vielleicht wird deshalb -1 zurückgegeben und die Bedingung if(NumberOfBarOpenLastPos(Symbol(),0,-1,-1)>0) ist nicht erfüllt?
Ich werde es jetzt überprüfen.
Wenn Sie nach Aufträgen suchen, müssen Sie die Funktion in ihrer vollständigen Version verwenden, d. h. mit der Möglichkeit, nach Aufträgen und nicht nur nach Positionen zu suchen:
gibt immer noch -1 zurück
gibt immer noch -1 zurück
Es funktioniert perfekt!
Von zwei Positionen hat es die letzte ausgewählt, die bei Takt 11 liegt, wie Sie auf dem Screenshot sehen können:
Code prüfen: