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)
-   -   Fehler im Programm "Closing multiple positions according FIFO rule" (http://www.expert-advisor.com/forum/showthread.php?t=6920)

derumuro 22.02.21 11:31

Fehler im Programm "Closing multiple positions according FIFO rule"
 
Hi,

Code:

int ClosePositions(string symbol)
{
    int orderstotal = OrdersTotal();
    int orders      = 0;
    int ordticket[100][2];
   
    for (int i = 0; i < orderstotal; i++)
    {
        OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
       
        if (OrderMagicNumber() != Expert_Magic || OrderSymbol() != symbol)
            continue;
       
        int orderType = OrderType();
        if (orderType != OP_BUY && orderType != OP_SELL)
            continue;
       
        ordticket[orders][0] = OrderOpenTime();          // casting of datetime -> int, should work fine...
        ordticket[orders][1] = OrderTicket();
        orders++;
    }
   
    ArrayResize(ordticket,orders);                      // we have to remove rest of array otherwise it's contents will be sorted as well
    ArraySort(ordticket);                                // sorts ascending by first dimension -> by OrderOpenTime()

    for (i = 0; i < orders; i++)
        ClosePositionByTicket(ordticket[i][1]);
}

Ich bekomme folgende Fehler angezeigt:

- im Metaeditor : "possible loss of data due to type conversion"
- im Strategietester : "incorrect start position 0 for ArraySort function"

Wie kann man die Fehler beheben ?

Danke!

Indikator-Trading 22.02.21 16:00

Für "incorrect start position 0 for ArraySort function" bitte die Hilfe lesen:

https://docs.mql4.com/array/arraysort

Die Meldung "possible loss of data due to type conversion" wird wohl daher kommen, dass du OrderOpenTime() in ein als Integer definiertes Array speichern willst.

derumuro 22.02.21 19:26

Danke für die Antwort. Hilft mir nur leider nicht weiter.

Was ist denn der Unterschied von ArraySort() im Code und in der Dokumentation ?


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:22 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