---
title: "MetaTrader 5 Build 1455: Bibliotheken mathematischer Funktionen in MQL5 - Versionshinweise"
description: "Es wurden Tooltips für die Buttons Buy, Sell und Close in Handelsdialogen hinzugefügt. - Versionshinweise"
image: "https://www.metatrader5.com/c/17/0/2__6.png"
url: "https://www.metatrader5.com/de/releasenotes/terminal/1384"
---

# MetaTrader 5 Build 1455: Bibliotheken mathematischer Funktionen in MQL5

## Es wurden Tooltips für die Buttons Buy, Sell und Close in Handelsdialogen hinzugefügt

14 Oktober 2016

### Terminal

1. Es wurden Tooltips für die Buttons Buy, Sell und Close in Handelsdialogen hinzugefügt. Die Tooltips erklären, welche Aktiva genau bei der Abwicklung der Transaktion gekauft bzw. verkauft werden, und helfen Anfängern den Sinn des Handeslprozesses besser nachzuvollziehen.

   ![](https://www.metatrader5.com/c/17/0/1__6.png)
2. Es wurden neue Icons für Orders, Trades und Positionen in den Reitern "Handel" und "Historie" hinzugefügt.

   ![](https://www.metatrader5.com/c/17/0/2__6.png)
3. Die Anzeige und Aktualisierung der Markttiefe, des Tick-Charts der Markttiefe und von Times & Sales wurde optimiert und wesentlich beschleunigt (um das 4-5-Fache).
4. Es wurde ein Fehler bei der Synchronisierung der Tick-Historie außerhalb der Handelszeiten korrigiert. In einigen Fällen führte der Fehler zu einem übermäßigen Traffic-Vebrauch.

### MQL5

1. Der Standardbibliothek wurde eine MQL5-Verison der [Bibliothek der numerischen Analyse ALGLIB](https://www.alglib.net/) hinzugefügt.

   **Eigenschaften der Bibliothek**

     - Lineare Algebra
     - Lösen von Gleichungen - linearen und nicht linearen
     - Interpolation
     - Optimierung
     - Schnelle Fourier-Transformation
     - Numerische Integration
     - Lineare und nicht lineare Approximation nach der Methode der kleinsten Quadraten
     - Gewöhnliche Differentialgleichungen
     - Berechnung spezieller Funktionen
     - Deskriptive Statistik und Hypothesentest
     - Datenanalyse - Klassifizierung, Regression
     - Implementierung von Algorithmen linearen Algebra, Interpolation usw. hochgenaue Arithmetik (mit MPFR)

   **Wie es verwendet wird**

   Die Dateien der ALGLIB sind im Verzeichnis \MQL5\Include\Math\Alglib gespeichert. Für die Verwendung der Funktionen, fügen Sie Ihrem Programm die Hauptdatei hinzu:

    #include <Math\Alglib\alglib.mqh>
2. Der Standardbibliothek wurden Funktionen für das Arbeiten mit der mathematischen Statistik hinzugefügt. Nun sind die Möglichkeiten der R-Sprache, eines der besten Werkzeuge der statistischen Datenverarbeitung und -analyse, in MQL5 verfügbar.

   **Eigenschaften der Bibliothek**

   Die statistische Bibliothek beinhaltet Funktionen für die Berechnung statistischer Eigenschaften sowie Funktionen für das Arbeiten mit statistischen Verteilungen:

     - Funktionen für die Berechnung statistischer Charakteristiken der Elemente eines Arrays
     - Funktionen für das Arbeiten mit statistischen Verteilungen: Normalverteilung, Log-Normalverteilung, Betaverteilung usw.

   **Wie es verwendet wird**

   Die Dateien der statistischen Bibliothek sind in \MQL5\Include\Math\Stat gespeichert. Um Funktionen der Bibliothek zu verwenden, fügen Sie die Datei mit den notwendigen Funktionen in Ihr Programm hinzu, zum Beispiel:

   ```
   #include <Math\Stat\Binomal.mqh> #include <Math\Stat\Cauchy.mqh>
   ```

   Eine ausführliche Beschreibung der Bibliotheksfunktionen finden Sie im Artikel Statistische Verteilung in MQL5 - das beste aus R rausholen.
3. Der Standardbibliothek wurde eine MQL5-Version der [Fuzzy-Bibliothek](https://sourceforge.net/projects/fuzzynet/) hinzugefügt, in der Inferenzen vom Typ Mamdani und Sugeno implementiert werden.

   **Eigenschaften der Bibliothek**

     - 13 Zugehörigkeitsfunktionen
     - Flexible Form für die Entwicklung von Relgeln für Fuzzy-Systeme
     - Unscharfe Inferenz nach Mamdani
     - Unscharfe Inferenz nach Sugeno
     - 5 Methoden der Defuzzifizierung für das System vom Typ Mamdani
     - Unbegrenzte Anzahl der Ein- und Ausgabevariablen

   **Wie es verwendet wird**

   Die Dateien der Fuzzy-Bibliothek sind im Verzeichnis \MQL5\Include\Math\Fuzzy gespeichert. Um Funktionen der Bibliothek zu verwenden, fügen Sie die Datei mit den notwendigen Funktionen in Ihr Programm hinzu, zum Beispiel:

   ```
   #include <Math\Fuzzy\mamdanifuzzysystem.mqh> #include <Math\Fuzzy\sugenofuzzysystem.mqh>
   ```

   Eine ausführliche Beschreibung der Bibliothek ist in der Code Base zu finden: Fuzzy - Bibliothek für das Arbeiten mit der Fuzzy-Logik
4. Es wurde die Eigenschaft CHART_QUICK_NAVIGATION für das Aktivieren/Deaktivieren der Leiste der schnellen Navigation hinzugefügt. Für die Änderung und das Erhalten des Zustands der Eigenschaft verwenden Sie bitte die Funktionen ChartSetInteger und ChartGetInteger.

   ![](https://www.metatrader5.com/c/17/0/3__6.png)

    Die Navigationsleiste wird durch das Drücken auf die Eingabe- oder Leertaste aufgerufen. So können Sie schnell zum angegebenen Datum auf dem Chart gelangen sowie Symbol oder Zeitrahmen ändern. Wenn Ihr MQL5-Programm das Drücken der Eingabe- und Leertaste verarbeitet, deaktivieren Sie die Option CHART_QUICK_NAVIGATION, damit das Terminal diese Events nicht abfängt. Die Navigationsleiste kann auch mit einem Doppelklick aufgerufen werden.
5. Es wurden die Funktionen FileLoad und FileSave für ein einfaches Lesen und Speichern von Arrays in Dateien hinzugefügt. Im Gegensatz zu FileRead* und FileWrite* brauchen diese Funktionen den Handle der Datei nicht. FileLoad und FileSave funktionieren mit Arrays von numerischen Typen sowie mit einfachen Strukturen, die keine Strings, dynamischen Arrays oder Klassenobjekte haben.

   ```
   long  FileLoad(    const string filename,      // [in] Dateiname    void         &buffer[],     // [out] ein Array, in das die Datei geschrieben wird liest    uint         common_flag=0  // [in] 0 - Suche nach der Datei im Files-Ordner des Terminals, FILE_COMMON - im gemeinsamen Verzeichnis der Terminals    ); bool  FileSave(    const string filename,      // [in] Dateiname    const void   &buffer[],     // [in] Array, welches in der Datei gespeichert wird    uint         common_flag=0  // [in] 0 - Erstellung einer Datei im Files-Ordner des Terminals, FILE_COMMON - im gemeinsamen Verzeichnis der Terminals );    );
   ```

   Ein Beispiel dafür, wie Ticks in eine Datei geschrieben und anschließend gelesen werden:

   ```
   //--- Eingabeparameter input int      ticks_to_save=1000; // Anzahl von Ticks //+------------------------------------------------------------------+ //| Script program start function                                    | //+------------------------------------------------------------------+ void OnStart()   {    string  filename=_Symbol+"_ticks.bin";    MqlTick ticks[]; //---    int copied=CopyTicks(_Symbol,ticks,COPY_TICKS_ALL,0,ticks_to_save);    if(copied!=-1)      {       PrintFormat(" CopyTicks(%s) copied %d ticks",_Symbol,copied);       //--- wenn die Tick-Historie synchronisiert ist, ist der Fehlercode gleich Null       if(!GetLastError()==0)          PrintFormat("%s: Ticks are not synchronized. Error=",_Symbol,copied,_LastError);       //---  schreiben wir die Ticks in eine Datei       if(!FileSave(filename,ticks,FILE_COMMON))          PrintFormat("FileSave() failed, error=%d",GetLastError());      }    else       PrintFormat("Failed CopyTicks(%s), Error=",_Symbol,GetLastError()); //--- nun lesen wir diese Ticks aus der Datei    ArrayFree(ticks);    long count=FileLoad(filename,ticks,FILE_COMMON);    if(count!=-1)      {       Print("Time\tBid\tAsk\tLast\tVolume\tms\tflags");       for(int i=0;i<count;i++)         {          PrintFormat("%s.%03I64u:\t%G\t%G\t%G\t%I64u\t0x%04x",          TimeToString(ticks[i].time,TIME_DATE|TIME_SECONDS),ticks[i].time_msc%1000,          ticks[i].bid,ticks[i].ask,ticks[i].last,ticks[i].volume,ticks[i].flags);         }      }   }
   ```
6. Die Anzeige benutzerdefinierter Indikatoren mit dem Modus DRAW_CANDLES wurde geändert. Nun kann man für diesen Stil eine bis drei Farben setzen, davon hängt die Darstellung von Kerzen ab. **Wenn nur eine Farbe angegeben wurde**, werden alle Kerzen auf dem Chart diese Farbe haben.

   ```
   //--- Kerzen haben die gleiche Farbe  #property indicator_label1  "One color candles" #property indicator_type1   DRAW_CANDLES //--- es wurde nur eine Farbe angegeben, deswegen haben alle Kerzen die gleiche Farbe #property indicator_color1  clrGreen
   ```

   **Wenn zwei Farben angegeben wurden**, werden die Umrisse der Kerzen die erste Farbe und der Körper — die zweite Farbe haben.

   ```
   //--- die Farbe der Kerzen unterscheidet sich von der Farbe der Schatten #property indicator_label1  "Two color candles" #property indicator_type1   DRAW_CANDLES //--- Schatten und Umriss - grün, Körper - weiss #property indicator_color1  clrGreen,clrWhite
   ```

   **Wenn drei Farben angegeben wurden**, werden der Umriss der Kerzen die erste Farbe, bullische Kerzen - die zweite und bärische Kerzen - die dritte Farbe haben.

   ```
   //--- die Farbe der Kerzen unterscheidet sich von der Farbe der Schatten #property indicator_label1  "One color candles" #property indicator_type1   DRAW_CANDLES //--- die Schatten und der Umriss sind grün, der Körper der bärischen Kerze ist weiß, der Körper der bärischen Kerze ist rot #property indicator_color1  clrGreen,clrWhite,clrRed
   ```

    Auf diese Weise kann man mithilfe des Stils DRAW_CANDLES eigene benutzerdefinierte Varianten der Kerzenfarben gestalten. Alle Farben können beim Laufen des Indikators mithilfe der Funktion PlotIndexSetInteger(Index_DRAW_CANDLES, PLOT_LINE_COLOR, modifier_nummer, Farbe) geändert werden, wobei:

     - 0 – Farbe des Umrisses und der Schatten
     - 1– Farbe des Körpers einer bullischen Kerze
     - 2 – Farbe des Körpers einer bärischen Kerze

   ```
   //--- setzen wir die Farbe für den Umriss und die Schatten PlotIndexSetInteger(0,PLOT_LINE_COLOR,0,clrBlue); //--- setzen wir die Farbe für den Körper der bullischen Kerze PlotIndexSetInteger(0,PLOT_LINE_COLOR,1,clrGreen); //--- setzen wir die Farbe für den Körper der bärischen Kerze PlotIndexSetInteger(0,PLOT_LINE_COLOR,2,clrRed);
   ```
7. Es wurde eine Reihe von Fehlern behoben und das Arbeiten mit der Tick-Historie mithilfe der CopyTicks Funktion beschleunigt.
8. Die Verwendung von Operatoren wurde in Schnittstellen erlaubt.

### Market

1.  Es wurde ein Fehler behoben, der in einigen Fällen zu einer erneuten Autorisierung auf MQL5.community beim Einkaufen im Market führte.

### Tester

1. Es wurde eine Übersetzung der Benutzerschnittstelle in die griechische, malaiische und neuhebräische Sprachen hinzugefügt.

Die Dokumentation wurde aktualisiert.

**Lesen Sie die vorige Nachricht:**

- [MetaTrader 5 Webplattform: Optimierung des Codes und neue Möglichkeiten der Benutzerschnittstelle](https://www.metatrader5.com/de/releasenotes/terminal/1382)
- [MetaTrader 5 iOS Build 1403](https://www.metatrader5.com/de/releasenotes/iphone/1379)
- [MetaTrader 5 Android Build 1372](https://www.metatrader5.com/de/releasenotes/android/1377)
- [MetaTrader 5 build 1430: Aktualisierung des Exposure-Tabs](https://www.metatrader5.com/de/releasenotes/terminal/1375)
- [MetaTrader 5 Build 1395: Schnellere Handeslausführungen und Verbesserungen bei der visuellen Ausführung des Strategietesters](https://www.metatrader5.com/de/releasenotes/terminal/1369)
