Ergebnis 1 bis 4 von 4

Thema: Kann EA nicht dazu bringen, 2 offene Positionen zu schließen ???

  1. #1
    Ich habe einen EA, der voraussichtlich 2 offene Käufe oder Verkäufe abschließt, wenn die Bedingungen zutreffen (eine der Funktionen des EA).

    Ich habe den EA-Generator auf dieser einen Website verwendet.

    Wie auch immer, es funktioniert viel von der Zeit, aber manchmal schließt es nur einen Kauf.
    Ich habe sogar eine kurze Verzögerung zwischen den Schließungen eingefügt, weil ich dachte, dass es sich um ein Timing-Problem handelt.

    Gibt es eine Funktion, um ALLE offenen Käufe oder Verkäufe in einem Schuss zu schließen? Der Generator geht 1 nach 1 durch und schließt sie.

    Ich kann mir nicht vorstellen, warum dies nicht immer beide schließen wird


  2. #2
    Ich bin nicht sicher, aber ich denke, dass EA immer die Funktionen Order by OrderClose oder OrderCloseBy schließt - was nur eine Bestellung abschließt - es hängt von EA ab, wie oft und wie diese Funktion verwendet wird. Wenn Sie alle Bestellungen schließen möchten, sollten Sie es in einer Schleife verwenden (natürlich sollten Sie keine anderen Bestellungen schließen, z. B. von einem anderen EA usw.). Siehe:
    http://articles.mql4.com/145
    http://articles.mql4.com/44und ein weiterer Artikel auf www.mql4.com Viele Grüße, Andrew

  3. #3
    Ich werde diese lesen. Ich ändere diesen EA, um alle Positionen zu schließen, und HALTE den Versuch, zu schließen, bis Allopen-Trades = 0 sind. DANN dann weiter zum restlichen Code. HOPEFULLY Ich kann dieses Schreiben schreiben, weil ich ungefähr 50% der MMS-Sprache verstehe

  4. #4
    Hier ist die Lösung aus dem Metaquotes.net-Forum:
    Zitat Zitat von ;
    Slawa 02.06.06 10:43 Siehe Beispiel. Sie haben 5 Aufträge 0 - 110001 1 - 110002 2 - 110003 3 - 110004 4 - 110005 Sie wählen den ersten Auftrag (Index 0) und schließen ihn. Ihre Liste hat sich geändert 0 - 110002 1 - 110003 2 - 110004 3 - 110005 Der nächste Index ist 1 (Handel ). Sie wählen die zweite Reihenfolge und schließen sie. 0 - 110002 1 - 110004 2 - 110005 Nächster Index ist 2. Sie wählen und schließen 0 - 110002 1 - 110004 Nächster Index ist 3. Aber Sie haben keine Reihenfolge mit Index 3.
    Der korrekte Code würde also ungefähr so ​​aussehen (habe ich getestet): Inserted Code int total = OrdersTotal (); for (int cnt = total; cnt == 0; cnt--) {OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES); if (OrderMagicNumber () == MagicNumber) {if (OrderType () == OP_BUY) {OrderClose (OrderTicket (), OrderLots (), Gebot, Slippage, Violett);/Schlaf (1000); } if (OrderType () == OP_SELL) {OrderClose (OrderTicket (), OrderLots (), Ask, Slippage, Violett);/Schlaf (1000); }}} Ich bin mir noch nicht sicher, wie dies gelingen würde, da ich gehört habe, dass es einige Broker-Probleme geben könnte, wenn Sie versuchen, mehrere Aufträge gleichzeitig zu öffnenschließen und eine Sleep-Funktion erforderlich ist.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
Die tradingintuitive Webseite verwendet Cookies
Wir nutzen Cookies, um Ihnen das Webseitenerlebnis bestmöglich anbieten zu können. Durch weitere Nutzung der Webseite erlauben Sie die Nutzung von Cookies. Für weitere Details und wie Sie ggf. diese Einstellungen verändern können, lesen Sie bitte unsere Datenschutzbestimmung. Lesen Sie mehr