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

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Älterste Order schließen (http://www.expert-advisor.com/forum/showthread.php?t=4884)

Hannes 12.04.16 21:35

Älterste Order schließen
 
Hallo zusammen,

habe da ein kleines Problem. Ich habe mehrere Order offen, wie kann ich nun die Order schließen, die am längsten offen ist? Hat da jemand von euch ne Idee? :confused:
Wäre nett wenn mir jemand weiterhelfen könnte.

Danke euch
Hannes

Top-SecreT 12.04.16 21:47

ich würds so in etwa versuchen

Code:

datetime oldest;

for(int i = 0; i < OrdersTotal(); i++){
    if(OrderSelect(i, SELECT_BY_POS)==true){
        if(!oldest || (OrderOpenTime() < oldest)){
            oldest = OrderOpenTime();
        }
    }
}

for(int i = 0; i < OrdersTotal(); i++){
    if(OrderSelect(i, SELECT_BY_POS)==true){
        if(OrderOpenTime() == oldest){
            OrderClose(...);
        }
    }
}


traderdoc 13.04.16 08:39

Ich darf mal vereinfachen und zusammenfassen:

Code:

datetime oldest = 0;
int ticket = 0;

for(int i = 0; i < OrdersTotal(); i++){
    if(OrderSelect(i, SELECT_BY_POS)) {
        if(oldest == 0 || OrderOpenTime() < oldest) {
            oldest = OrderOpenTime();
            ticket = OrderTicket();
        }
    }
}

if (ticket > 0) OrderClose(...);

traderdoc

Top-SecreT 13.04.16 08:53

Hast Recht. Kann man zusammenfassen.

Danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:53 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