Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4
Startseite Registrieren Hilfe Community Kalender Heutige Beiträge Suchen

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4978
Beiträge: 43273
Benutzer: 7.224
Aktive Benutzer: 74
Links: 84
Wir begrüßen unseren neuesten Benutzer: Sundaytrader
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 4 Stunden
- Sundaytrad...
vor 11 Stunden
- TS_6
vor 2 Tagen
- Mane
vor 2 Wochen
- AlbertZiz
vor 2 Wochen
- michak

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

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 19.04.13
Premium Mitglied
 
Registriert seit: Mar 2013
Beiträge: 332
feelfree befindet sich auf einem aufstrebenden Ast
Standard Offene Positionen abfragen

Servus zusammen,

mal wieder stehe ich vor einem kleinen Rätsel.

Wie kann ich meine tatsächlich offenen Positionen abfragen?
Also quasi OrdersTotal minus PendingOrders.

Wer hat Ideen???

Besten Dank und Grüße,
Dan
  #2 (permalink)  
Alt 19.04.13
Mitglied
 
Registriert seit: Mar 2012
Ort: Wien
Beiträge: 191
Deepack befindet sich auf einem aufstrebenden Ast
Deepack eine Nachricht über Skype™ schicken
Standard

hi
ja mit einer for schleife gehst du alle orders durch

und mit if (ordertyp() == OP_SELL)...
OP_BUY, usw. kannst du abfragen um welchen ordertyp es sich handelt

lg
  #3 (permalink)  
Alt 20.04.13
Mitglied
 
Registriert seit: Apr 2011
Ort: Osnabrück
Beiträge: 103
Racki befindet sich auf einem aufstrebenden Ast
Standard

Du meinst sowas?

PHP-Code:
//+------------------------------------------------------------------+
//| Anzahl der Longpositionen                                        |
//+------------------------------------------------------------------+
int CountLong(string countLongSymbolint countLongMagic)
{
   
int CountLongReturn 0;
   if (
OrdersTotal() > )
   {
       for(
int counterCountLong 0counterCountLong OrdersTotal(); counterCountLong++)
       {
           
OrderSelect(counterCountLongSELECT_BY_POSMODE_TRADES);
           if(
OrderSymbol() == countLongSymbol && OrderMagicNumber() == countLongMagic)
           {
              if(
OrderType() == OP_BUY)
                 {
                    
CountLongReturn++;
                 }
           }
       }
   }
   return (
CountLongReturn);
}
//+------------------------------------------------------------------+
//| Anzahl der Shortpositionen                                       |
//+------------------------------------------------------------------+
int CountShort(string countShortSymbolint countShortMagic)
{
   
int CountShortReturn 0;
   if (
OrdersTotal() > )
   {
       for(
int counterCountShort 0counterCountShort OrdersTotal(); counterCountShort++)
       {
           
OrderSelect(counterCountShortSELECT_BY_POSMODE_TRADES);
           if(
OrderSymbol() == countShortSymbol && OrderMagicNumber() == countShortMagic)
           {
              if(
OrderType() == OP_SELL)
                 {
                    
CountShortReturn++;
                 }
           }
       }
   }
   return (
CountShortReturn);

So bekommst du mit
PHP-Code:
int AnzahlLong CountLong(Symbol(),Magic);
int AnzahlShort CountShort(Symbol(),Magic); 
die jeweilige Anzahl der offenen Typen.
  #4 (permalink)  
Alt 20.04.13
Premium Mitglied
 
Registriert seit: Mar 2013
Beiträge: 332
feelfree befindet sich auf einem aufstrebenden Ast
Standard

Servus und vielen Dank für die Hammer Antwort.

die beiden int Count Funktionen hab ich erfolgreich einbauen können aber die beiden Zeilen zur Abfrage der Werte wollen noch nicht so recht.

Bei
int AnzahlLong = CountLong(Symbol(),Magic);
int AnzahlShort = CountShort(Symbol(),Magic);

heißt es immer "Initialization expexted".

Und wenn ich die Werte von CountLong oder CountShort in einer anderen Abfrage nutzen will heißt es das beide Variablen nicht definiert sind.

Hintergrund dazu:
Für meinen EA gibt es fest definierte Zeiten, die mit TradingTime() abgefragt werden. Er soll allerdings weiterarbeiten solange noch eine Position offen ist.
Abgekürzt:

Code:
bool TradingTime()
{
    {
     if ((AnzahlLong > 0) || (AnzahlShort > 0)) return(true);
    }        
 return(false);
}
Ohne diese Abfrage stellt er nämlich die Arbeit (Close oder Modify) konsequent ein und die Position bleibt sich selbst überlassen.

Danke für eure tatkräftige Unterstützung.

Dan
  #5 (permalink)  
Alt 20.04.13
Premium Mitglied
 
Registriert seit: Mar 2013
Beiträge: 332
feelfree befindet sich auf einem aufstrebenden Ast
Standard gelöst

mit diesem Code läuft's:

Code:
     if (OrdersTotal() > 0 )
      {
       OrderSelect(SELECT_BY_POS, MODE_TRADES);
       {
       if((OrderType() == OP_SELL)||(OrderType() == OP_BUY))  return(true);
       }
      }
Nochmals vielen Dank an Racki und Deepack
Thema geschlossen

Lesezeichen

Stichworte
mql4, offenen positionen, positionen, programmierung, programmierung metatrader


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 +2. Es ist jetzt 23:16 Uhr.





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