Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1482
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
Hallo Alexey, die Variable pos_total=PositionsTotal() war nur auf der globalen Ebene gesetzt. Jetzt habe ich sie innerhalb der Funktion verschoben und es stellte sich heraus, dass dies das Problem war. Alles hat funktioniert. Was ist das Problem? Ich verstehe den Scherz überhaupt nicht!!!
Jetzt habe ich pos_total versuchsweise wieder auf die globale Ebene verschoben und es funktionierte wieder nicht, aber wenn ich es in die Funktion einfüge, funktioniert es wie es soll! Ein paar Wunder, zumindest für mich!!!! )))
Es stellt sich heraus, dass eine Variable auf globaler Ebene nicht durch eine Funktion initialisiert werden kann? Ist das richtig?
Mit freundlichen Grüßen, Vladimir.
Manchmal kann man das, aber nicht jede Variable. In diesem Fall, wenn Sie den EA ausführen, sieht er noch keine offenen Positionen und die Variable ist gleich null....
Eigentlich habe ich gestern mit Positionssampling experimentiert und bin zu dem Schluss gekommen, dass PositionsTotal() nur benötigt wird, um die Anzahl der Positionen zu bestimmen. Und diese Zahl wird nur benötigt, um die Schleife zu begrenzen.
Hier ist eine solche Schleife
funktioniert auch, wenn man vorher eine Liste von Aufträgen oder Geschäften aus der Historie erhält. Eines Tages werde ich prüfen, ob die Auswahl der schwebenden Aufträge die Schleife stören wird.
Und in Ihrem Fall ist es einfacher, ohne eine Schleife zu schreiben
wenn Sie die letzte Position benötigen...
In diesem Fall, wenn Sie den EA starten, sieht er noch keine offenen Positionen und die Variable ist gleich Null ...
Ich würde Ihnen zustimmen, aber hier ist das Problem - als ich die Variable pos_total auf die globale Ebene setzte, sah der EA während des gesamten Testzeitraums keine offenen Positionen, obwohl in diesem Zeitraum mehr als 50 Positionen eröffnet wurden. Ich verstehe das nicht! Es stellt sich heraus, dass diese Option nicht funktioniert?
Mit freundlichen Grüßen, Vladimir.
In Ihrem Fall ist es einfacher, ohne eine Schleife zu schreiben
wenn Sie die letzte Position benötigen...
Ich stimme zu, wenn ich nicht mehrere Positionen auf einem anderen Symbol und in verschiedenen Richtungen offen hätte. Ich meine kaufen und verkaufen. Aber trotzdem danke für den Hinweis!
Mit freundlichen Grüßen, Vladimir.
Ich stimme zu, wenn nicht mehrere Positionen auf einem anderen Symbol und in verschiedenen Richtungen offen wären. Ich meine kaufen und verkaufen. Aber trotzdem danke für den Tipp!
Mit freundlichen Grüßen, Vladimir.
Es macht keinen Unterschied, wie viele Positionen offen sind und ob sie nach Norden oder zum Ficken oder in alle Richtungen gleichzeitig gehen... Das letzte wird PositionsTotal()-1 sein.
Es macht keinen Unterschied, wie viele Positionen offen sind und ob sie nach Norden, nach Norden oder in alle Richtungen gleichzeitig offen sind... Die letzte Zahl wird PositionsTotal()-1 sein.
Hallo Alexej, ich war ein bisschen verwirrt. Du hast wie immer Recht!!! )))
Mit freundlichen Grüßen, Vladimir.
Tatsächlich habe ich gestern mit Positionssampling experimentiert und bin zu dem Schluss gekommen, dass PositionsTotal() nur benötigt wird, um die Anzahl der Positionen zu bestimmen. Und diese Zahl wird nur benötigt, um die Schleife zu begrenzen.
Hier ist eine solche Schleife
funktioniert auch, wenn man vorher eine Liste von Aufträgen oder Geschäften aus der Historie erhält. Am anderen Tag werde ich prüfen, ob die Auswahl der ausstehenden Aufträge stören wird.
Auch hier gibt es eine Raffinesse.
Wenn die Liste wirklich groß und nach einem bestimmten Kriterium geordnet ist, kann es vorteilhafter sein, das gesuchte Element nicht durch Durchsuchen aller Elemente in der Schleife, sondern durch Halbteilung zu suchen, und hier kann die Kenntnis der Gesamtzahl der Elemente in der Liste sehr nützlich sein.
Auch hier gibt es eine gewisse Subtilität.
Wenn die Liste wirklich groß und nach einem bestimmten Kriterium geordnet ist, kann es vorteilhafter sein, das gesuchte Element nicht in einer Schleife durch alle Elemente zu suchen, sondern durch Halbteilung, und hier kann die Kenntnis der Gesamtzahl der Elemente in der Liste sehr nützlich sein.
Ich habe nicht gesagt, dass die Funktion völlig nutzlos ist. Aber in manchen Fällen kann und muss man auf sie verzichten. Schließlich ist jede Funktion Zeit. Sie können ein bisschen auf einmal tippen, bis Sie Bremsen bekommen....
Hallo, Alexej! Ich war dumm. Du hast wie immer Recht!!! )))
Mit freundlichen Grüßen, Vladimir.
Ich habe Recht, aber ich habe nicht angegeben, dass die Funktion, so wie Sie sie geschrieben haben, nicht korrekt funktioniert, wenn mehrere Trades auf verschiedenen Symbolen eröffnet werden.
Da Sie nur das letzte überprüfen, und es (das letzte) kann auf einem anderen Symbol geöffnet werden.
Richtig, aber ich habe nicht angegeben, dass die Funktion, so wie Sie sie geschrieben haben, nicht richtig funktioniert, wenn mehrere Geschäfte für verschiedene Symbole eröffnet werden.
Denn Sie prüfen nur das letzte, und dieses (das letzte) kann auf einem anderen Symbol eröffnet werden.
Hallo Alexander, ich habe bereits über dieses Thema nachgedacht, aber ich habe noch nicht angefangen, die Frage hier zu stellen, weil ich noch nicht an der Stelle im Code angekommen bin, an der es verschiedene Symbolpositionen geben wird. Danke für den Hinweis! )) Jetzt bin ich an einer Stelle ratlos, aber ich will es hier nicht zur öffentlichen Diskussion stellen, denn ich habe den unbändigen Wunsch, es aus eigener Kraft "fertigzustellen".
Übrigens ist mir aufgefallen, dass alle meine so genannten "Stolpersteine" in solchen Kleinigkeiten liegen, die ich nicht sehen kann. Nehmen Sie den Spezifizierer, von dem mir Artem Trishkin erzählt hat. Das ist so eine Kleinigkeit, und hier habe ich mir den Kopf darüber zerbrochen, warum das Skript nicht funktioniert. Oder der gleiche Link &. Ich habe so viel Zeit damit verloren. Im Allgemeinen, immer noch zu lernen, zu lernen und zu lernen, und in Russisch - zu lesen, zu lesen und zu lesen Dokumentation.
Mit freundlichen Grüßen, Vladimir.
Ich habe ein Netting-Konto.