Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4642
Beiträge: 41801
Benutzer: 7.010
Aktive Benutzer: 171
Links: 82
Wir begrüßen unseren neuesten Benutzer: Beef_Poppi
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- Beef_Poppi
vor einer Woche
- Innocent
vor einer Woche
- Olaf4476
vor einer Woche
- bobbyandex...
vor einer Woche
- boboyelang

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 95
Gesamt: 95
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt vor einer Woche
Mitglied
 
Registriert seit: Sep 2011
Beiträge: 41
derumuro befindet sich auf einem aufstrebenden Ast
Standard 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!
Mit Zitat antworten
  #2 (permalink)  
Alt vor einer Woche
Benutzerbild von Indikator-Trading
Mitglied
 
Registriert seit: May 2020
Ort: Bielefeld
Beiträge: 192
Indikator-Trading befindet sich auf einem aufstrebenden Ast
Standard

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.
Mit Zitat antworten
  #3 (permalink)  
Alt vor einer Woche
Mitglied
 
Registriert seit: Sep 2011
Beiträge: 41
derumuro befindet sich auf einem aufstrebenden Ast
Standard

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

Was ist denn der Unterschied von ArraySort() im Code und in der Dokumentation ?
Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +1. Es ist jetzt 22:31 Uhr.





Die Suchmaschine - Der Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2021 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2020 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------