[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 47
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 die Funktion kennen, mit der Sie den Gesamtsaldo des Verlusts der geschlossenen Positionen durch SL und den Gesamtsaldo der offenen gewinnbringenden Geschäfte berechnen können, schreiben Sie bitte.
Die Berechnung des Verlustsaldos sollte mit dem letzten maximalen Einzahlungswert beginnen.
Ihre Frage ist der vorherigen etwas ähnlich, deshalb habe ich die Funktion aus der vorherigen Antwort ein wenig abgeändert. Ich gebe zu, dass ich es nicht getestet habe, aber es sollte funktionieren. Die Variablen Gewinn und Verlust, die auf globaler Ebene angegeben werden, sollten den Gesamtgewinn bzw. -verlust für die geschlossenen Positionen anzeigen.
Wenn Sie dies auch für offene Aufträge tun müssen, fügen Sie eine zweite for-Schleife hinzu, um diese nicht nach der Historie, sondern nach dem Kriterium OrdersTotal() auszuwählen: for(int n=1; n<=OrdersTotal(); n++)
Und addieren Sie die erhaltenen Werte zu den gleichen Variablen Gewinn und Verlust.
Ich muss zum Beispiel wissen, ob ein ausstehendes Kauflimit ausgelöst wurde und wenn ja, zu welchem Preis, und dann ein neues setzen.
Wie erkenne ich, ob ein Auftrag einen Trailing-Stop ausgelöst hat, und wie kann ich neue Aufträge platzieren, wenn der Trailing-Stop ausgelöst wurde?
Wenn geschlossen, müssen Sie wissen, ob sie gerade geschlossen wurde? Oder wurde er mit einem StopLoss geschlossen? (Er kann bei TakeProfit und OrderClose() oder OrderCloseBy() schließen)
Hier ist meine neue Balkenkontrollfunktion:
wobei i_trading_TF eine global als extern deklarierte Variable ist. Wenn ich also meinen Expert Advisor auf einem Chart einstelle, kann ich den Wert dieser Variable im Pop-up-Fenster einstellen und so den Zeitrahmen der Balkenöffnung festlegen, den ich kontrollieren möchte.
Ich habe eine ähnliche Funktion in einem Expert Advisor gesehen, allerdings mit einem formalen Parameter im Funktionskopf. Hier ist sie:
Der Zeitrahmen wird über den Funktionsparameter übergeben. Wenn die Variablei_trading_TF jedochauf globaler Ebene deklariert ist, macht es meines Erachtens keinen Sinn, sie über einen formalen Parameter zu übergeben, da ihre Sichtbarkeit nicht eingeschränkt ist.
Bitte äußern Sie sich zu diesem Punkt.
Die erste Option funktioniert auch bei mir, aber es ist seltsam, dass manche Programmierer die Angewohnheit haben, auch Funktionen mit formalen Parametern vollzustopfen, bei denen ich es selbst nicht tun würde.
Überwachen Sie bei jedem Tick das Vorhandensein eines Auftrags vom Typ OP_BUYLIMIT mit der Funktion OrderType(). Wenn dieser Typ verschwindet, bedeutet dies, dass der Auftrag geöffnet und zum Typ OP_BUY geworden ist. Alle 6 Typen sindhier aufgeführt. Mit der Funktion OrderOpenPrice() können Sie herausfinden, zu welchem Preis der Auftrag eröffnet wurde.
Hier ist meine neue Balkenkontrollfunktion:
wobei i_trading_TF eine global als extern deklarierte Variable ist. Wenn ich also meinen Expert Advisor auf einem Chart einstelle, kann ich den Wert dieser Variable im Pop-up-Fenster einstellen und so den Zeitrahmen der Balkenöffnung festlegen, den ich kontrollieren möchte.
Ich habe eine ähnliche Funktion in einem Expert Advisor gesehen, allerdings mit einem formalen Parameter im Funktionskopf. Hier ist sie:
Der Zeitrahmen wird über den Funktionsparameter übergeben. Wenn die Variablei_trading_TF jedochauf globaler Ebene deklariert ist, macht es meines Erachtens keinen Sinn, sie über einen formalen Parameter zu übergeben, da ihre Sichtbarkeit nicht eingeschränkt ist.
Bitte äußern Sie sich zu diesem Punkt.
Die erste Option funktioniert auch bei mir, aber es ist seltsam, dass manche Programmierer die Angewohnheit haben, auch Funktionen mit formalen Parametern vollzustopfen, bei denen ich es selbst nicht tun würde.
Es macht Sinn, wenn der EA mehrere Frames analysiert und bei jedem Frame ein neuer Bar gebildet werden muss.
Das ist noch nicht alles, fügen wir den Namen des Instruments zu den übergebenen Parametern hinzu
und die Tatsache zu analysieren, dass sich ein neuer Balken bildet, egal bei welchem Instrument und in welchem Zeitraum.Nicht unbedingt. Er kann auch manuell getötet werden. Vielmehr müssen Sie sich das Ticket der schwebenden Order merken; sobald eine schwebende Order mit diesem Ticket fehlt und eine Marktposition mit demselben Ticket auftaucht, wird sie ausgelöst...
Es macht Sinn, wenn der EA mehrere Frames analysiert und jeder Frame die Tatsache benötigt, einen neuen Balken zu bilden.
Das ist noch nicht alles, fügen wir den Namen des Instruments zu den Parametern hinzu
und analysieren Sie die Tatsache, dass sich ein neuer Balken bildet, ein beliebiges Symbol, einen Zeitraum.Halten Sie es für angemessen, ein Symbol in den "Mechanismus zum Auffinden eines neuen Balkens" "einzubeziehen"? :)))
Es wäre interessant, eine universelle Kontrolle der neuen Leiste zu schaffen. Übrigens - dafür ist alles da
Es wäre interessant, eine universelle Kontrolle der neuen Leiste durchzuführen. Übrigens - dafür ist alles da