Information über das Konto

für den Erhalt von Informationen über das laufende Konto werden die Funktionen AccountInfoInteger(), AccountInfoDouble() und AccountInfoString() verwendet. Als Parameter werden diesen Funktionen die Werte aus den entsprechen Enumerationen ENUM_ACCOUNT_INFO übergeben.

für die Funktion AccountInfoInteger()

ENUM_ACCOUNT_INFO_INTEGER

Identifikator

Beschreibung

Typ der Eigenschaft

ACCOUNT_LOGIN

Nummer des Kontos

long

ACCOUNT_TRADE_MODE

Handelsweise des Kontos

ENUM_ACCOUNT_TRADE_MODE

ACCOUNT_LEVERAGE

Höhe des Leverage

long

ACCOUNT_LIMIT_ORDERS

Maximale zulässige Anzahl der geltenden Warteordern

int

ACCOUNT_MARGIN_SO_MODE

Modus des minimal zugänglichen Marge

ENUM_ACCOUNT_STOPOUT_MODE

ACCOUNT_TRADE_ALLOWED

Erlaubnis zu handeln für das laufende Konto

bool

ACCOUNT_TRADE_EXPERT

Erlaubnis zu handeln für den Experten

bool

ACCOUNT_MARGIN_MODE

Berechnungsmodus der Marge

ENUM_ACCOUNT_MARGIN_MODE

ACCOUNT_CURRENCY_DIGITS

Die Anzahl der Nachkommastellen für Kontowährung, die für eine genaue Anzeige der Handelsergebnisse erforderlich sind

int

ACCOUNT_FIFO_CLOSE

Ein Kennzeichen, das anzeigt, dass Positionen nur mittels der FIFO-Regel geschlossen werden können. Wenn der Eigenschaftswert auf true gesetzt ist, dann werden alle Symbolpositionen in der gleichen Reihenfolge geschlossen, in der sie geöffnet werden, beginnend mit der ältesten. Im Falle eines Versuchs, Positionen in einer anderen Order zu schließen, erhält der Händler eine entsprechende Fehlermeldung.

 

Für Konten, deren Positionen nicht im Hedging-Modus abgerechnet werden (ACCOUNT_MARGIN_MODE!=ACCOUNT_MARGIN_MODE_RETAIL_HEDGING), ist der Eigenschaftswert immer 'false'.

bool

für die Funktion AccountInfoDouble()

ENUM_ACCOUNT_INFO_DOUBLE

Idenifikator

Beschreibung

Typ der Eigenschaft

ACCOUNT_BALANCE

Bilanz des Kontos in der Währung des Deposits

double

ACCOUNT_CREDIT

Grösse des gegebenen Kredits in der Währung des Deposits

double

ACCOUNT_PROFIT

Grösse des laufenden Gewinns auf dem Konto in der Währung des Deposits

double

ACCOUNT_EQUITY

Wer der Eigenmittel auf dem Konto in der Währung des Deposits

double

ACCOUNT_MARGIN

Wert des reservierten Pfandgeldes in der Währung des Deposits

double

ACCOUNT_MARGIN_FREE

Grösse der freien Mittel auf dem Konto in der Währung des Deposits, die für die Öffnung der Position zugänglich sind

double

ACCOUNT_MARGIN_LEVEL

Konto-Margenniveau in Prozenten

double

ACCOUNT_MARGIN_SO_CALL

Margin Call. Abhängig vom eingestellten ACCOUNT_MARGIN_SO_MODE wird in Prozenten oder in der Währung des Deposits ausgedrückt

double

ACCOUNT_MARGIN_SO_SO

Margin Stop Out. Abhängig vom eingestellten ACCOUNT_MARGIN_SO_MODE wird in Prozenten oder in der Währung des Deposits ausgedrückt

double

ACCOUNT_MARGIN_INITIAL

Initial Margin. Die reservierte Mittel auf dem Konto als die Garantie für alle ausstehenden Aufträge (Pending Ordern)

double

ACCOUNT_MARGIN_MAINTENANCE

Maintenance Margin. Die reservierte Mittel auf dem Konto als ein Sicherheitsmindestbetrag für alle offenen Positionen

double

ACCOUNT_ASSETS

Die Aktiva auf dem Konto

double

ACCOUNT_LIABILITIES

Aktuelle Verbindlichkeiten auf dem Konto

double

ACCOUNT_COMMISSION_BLOCKED

Die aktuelle blockierte Kommission für das Konto

double

für die Funktion AccountInfoString()

ENUM_ACCOUNT_INFO_STRING

Identifikator

Beschreibung

Typ der Eigenschaft

ACCOUNT_NAME

Name des Kunden

string

ACCOUNT_SERVER

Name des Handelsservers

string

ACCOUNT_CURRENCY

Depositenwaehrung

string

ACCOUNT_COMPANY

Name der Gesellschaft, die das Konto bedient

string

Es gibt verschiedene Typen von Konten, die auf dem Handelsserver geöffnet werden können. Um den Typ des Kontos, auf dem das MQL5-Programm lauft, zu finden, verwenden Sie ENUM_ACCOUNT_TRADE_MODE.

ENUM_ACCOUNT_TRADE_MODE

Identifikator

Beschreibung

ACCOUNT_TRADE_MODE_DEMO

Demokonto

ACCOUNT_TRADE_MODE_CONTEST

Wettbewerbskonto

ACCOUNT_TRADE_MODE_REAL

Realkonto

Wenn es nicht genügend Eigenkapital, um offene Positionen zu halten, gibt, geschieht eine Situation der erzwungenen Schließung Stop-Out. Die minimale Marge-Ebene, bei dem Stop-Out eintretet, kann als Prozentsatz oder in Form von Geld angegeben werden. Finden Sie heraus, welcher Modus für dieses Konto eingestellt ist, mit der Enumeration ENUM_ACCOUNT_STOPOUT_MODE.

ENUM_ACCOUNT_STOPOUT_MODE

Identifikator

Beschreibung

ACCOUNT_STOPOUT_MODE_PERCENT

Level wird in Prozenten vorgegeben

ACCOUNT_STOPOUT_MODE_MONEY

Level wird in Geld vorgegeben

ENUM_ACCOUNT_MARGIN_MODE

Bezeichnung

Beschreibung

ACCOUNT_MARGIN_MODE_RETAIL_NETTING

Wird beim außerbörslichen Handel mit Netting Mode verwendet (nur eine Position pro Symbol). Die Marge wird je nach Symboltyp(SYMBOL_TRADE_CALC_MODE) berechnet.

ACCOUNT_MARGIN_MODE_EXCHANGE

Wird beim Handel an Devisenmärkten verwendet. Die Margin wird auf der Basis von Diskonten berechnet, die in den Einstellungen des Symbols angegeben sind. Diskonte werden vom Broker gesetzt, können aber nicht niedriger als die von der Börse gesetzten Werte sein.

ACCOUNT_MARGIN_MODE_RETAIL_HEDGING

Wird beim außerbörslichen Handel bei einer unabhängigen Verrechnung von Positionen verwendet (Hedge Modus, man kann mehrere Positionen pro Symbol haben). Die Marge wird je nach Symboltyp (SYMBOL_TRADE_CALC_MODE) und unter Berücksichtigung des Wertes der abgesicherten Marge (SYMBOL_MARGIN_HEDGED) berechnet.

Ein Beispiel für ein Skript, das kurze Information über das Konto anzeigt.

//+------------------------------------------------------------------+
//| Skript Programm Start Funktion                                   |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- Firmenname
   string company=AccountInfoString(ACCOUNT_COMPANY);
//--- Kundenname
   string name=AccountInfoString(ACCOUNT_NAME);
//--- Kontonummer
   long login=AccountInfoInteger(ACCOUNT_LOGIN);
//--- Servername
   string server=AccountInfoString(ACCOUNT_SERVER);
//--- Kontowährung
   string currency=AccountInfoString(ACCOUNT_CURRENCY);
//--- Demo-, Konkurs- oder Realkonto
   ENUM_ACCOUNT_TRADE_MODE account_type=(ENUM_ACCOUNT_TRADE_MODE)AccountInfoInteger(ACCOUNT_TRADE_MODE);
//--- Nun verwandeln wir den Enum-Wert in übersichtlicher Form
   string trade_mode;
   switch(account_type)
     {
      case  ACCOUNT_TRADE_MODE_DEMO:
         trade_mode="Demo";
         break;
      case  ACCOUNT_TRADE_MODE_CONTEST:
         trade_mode="Konkurs";
         break;
      default:
         trade_mode="Real";
         break;
    ;}
//--- Stop Out wird in Prozent oder in Form von Geld angegeben
   ENUM_ACCOUNT_STOPOUT_MODE stop_out_mode=(ENUM_ACCOUNT_STOPOUT_MODE)AccountInfoInteger(ACCOUNT_MARGIN_SO_MODE);
//--- Erhalten die Werte der Ebenen, auf denen Margin Call und Stop-Out geschehen
   double margin_call=AccountInfoDouble(ACCOUNT_MARGIN_SO_CALL);
   double stop_out=AccountInfoDouble(ACCOUNT_MARGIN_SO_SO);
//--- Zeigen kurze Informationen über das Konto
   PrintFormat("Konto des Kunden '%s' #%d %s öffnet in '%s' am Server '%s'",
               name,login,trade_mode,company,server);
   PrintFormat("Kontowährung - %s, MarginCall und StopOut werden in %s" angegeben,
               currency,(stop_out_mode==ACCOUNT_STOPOUT_MODE_PERCENT)?"Prozent":" Geld");
   PrintFormat("MarginCall=%G, StopOut=%G",margin_call,stop_out);
 ;}