Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Codeschnipsel (http://www.expert-advisor.com/forum/forumdisplay.php?f=291)
-   -   Orders Schließen (http://www.expert-advisor.com/forum/showthread.php?t=5408)

voitl1979 19.01.17 10:32

Orders Schließen
 
Hallo!
Kann mir bei meinem Code bitte wer Helfen?? DANKE!!
Möchte gerne das alle Orders geschlossen werden bis auf die, die als letztest aufgegeben wurde.

Mein Code....
Code:

void CloseOrders()
  {

  bool close1=false;
  bool delite1=false;
  int closez;
  RefreshRates();

  for(closez=OrdersTotal()-2; closez>=0; closez--)
    {

      if(OrderSelect(closez,SELECT_BY_POS,MODE_TRADES))

      if(AllSymbols==false && OrderSymbol()!=Symbol())
        {
        continue;
        }

      if(OrderType()==OP_BUY)
        {
          close1=OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),5,Violet);
        }
      if(OrderType()==OP_SELL)
        {
          close1=OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),5,Violet);
        }

      if(PendingOrders)
        {
        if(OrderType()==OP_BUYLIMIT)
          {
            delite1=OrderDelete(OrderTicket());
          }
        if(OrderType()==OP_SELLLIMIT)
          {
            delite1=OrderDelete(OrderTicket());
          }
        if(OrderType()==OP_BUYSTOP)
          {
            delite1=OrderDelete(OrderTicket());
          }
        if(OrderType()==OP_SELLSTOP)
          {
            delite1=OrderDelete(OrderTicket());
          }
        }

    } // for

  }


Leopold 22.01.17 20:09

Und was ist das Ergebnis dieses Codes?

voitl1979 23.01.17 12:30

Zitat:

Zitat von Leopold (Beitrag 37235)
Und was ist das Ergebnis dieses Codes?

Jetzt ist es so das wenn die Funktion ausgeführt wird alle Positionen geschlossen werde. Ich möchte aber gerne das die letzte Aufgegeben Position offen bleibt?

Leopold 23.01.17 16:08

Wenn ich mir den Code so ansehe müsste doch zumindest eine Order überbleiben.

Du könntest ja die Ticketnummer der letzten Order ermitteln und alle anderen schließen, die nicht diese Ticketnummer haben.

traderdoc 23.01.17 18:42

Zitat:

Zitat von Leopold (Beitrag 37249)
Du könntest ja die Ticketnummer der letzten Order ermitteln und alle anderen schließen, die nicht diese Ticketnummer haben.

Ja, so würde ich das auch lösen.

traderdoc

voitl1979 24.01.17 15:29

Danke für die Tips. Habe mir jetzt alle OrderTickets mit ArrayResize gespeichert und schließe alle bis auf die Letzte. So funktioniert das jetzt.:)


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:40 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum