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.


Portalsuche


Werbung

Login
Benutzername:
Kennwort:


Statistik
Themen: 3820
Beiträge: 36899
Benutzer: 6.067
Aktive Benutzer: 491
Links: 80
Wir begrüßen unseren neuesten Benutzer: POCJonah7
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 6 Stunden
- POCJonah7
vor 13 Stunden
- flowi88
vor 13 Stunden
- dealtycoon
vor 17 Stunden
- VicenteWuc
vor 21 Stunden
- sazaron

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 74
Gesamt: 75
Team: 0
Team:  
Benutzer:  Domke01
Freunde anzeigen

Empfehlungen

Werbung

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


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 08:55 Uhr.



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