MetaTrader 5 Plattform Beta Build 1910: freies Drag-and-Drop von Charts und .Net-Bibliotheken in MQL5

 

Die Beta-Version der aktualisierten MetaTrader 5-Plattform soll am 14. Oktober 2018 veröffentlicht werden. Wir werden unseren öffentlichen MetaQuotes-Demo-Server unter access.metatrader5.com:443 aktualisieren. Wir laden alle Händler ein, an den Tests teilzunehmen, um die aktualisierten Funktionen der Plattform zu bewerten und Entwicklern bei der Fehlerbehebung zu helfen.

Um die MetaTrader 5 Plattform bis zum Build 1910 zu aktualisieren, verbinden Sie sich mit dem Server access.metatrader5.com:443.

Der endgültige Build der neuen MetaTrader 5 Plattform wird nach dem öffentlichen Beta-Test freigegeben.

Das Update enthält die folgenden Änderungen:

  1. Terminal: Jetzt können Sie die Charts der Finanzsymbole vom Fenster des Handelsterminals ablösen.

    Diese Funktion ist praktisch, wenn Sie mehrere Monitore verwenden. Jetzt können Sie das Hauptfenster der Plattform auf einem Monitor einstellen, um Ihren Kontostand zu kontrollieren, und Ihre Charts auf den zweiten Bildschirm verschieben, um die Marktsituation zu beobachten. Um ein Diagramm vom Terminal zu trennen, deaktivieren Sie die Option Docked in dessen Kontextmenü. Verschieben Sie anschließend das Diagramm auf den gewünschten Monitor.



    Eine separate Symbolleiste auf abgelösten Charts ermöglicht die Anwendung von analytischen Objekten und Indikatoren, ohne zwischen den Monitoren wechseln zu müssen. Verwenden Sie das Kontextmenü der Symbolleiste, um den Satz der verfügbaren Befehle zu managen oder auszublenden.

  2. Terminal: Aktualisiert vollständig die integrierte Chats. Jetzt werden Gruppendialoge und Kanäle unterstützt. Führen Sie private Gespräche mit einer Gruppe von Personen in einer einheitlichen Umgebung, ohne zwischen verschiedenen Dialogen zu wechseln, und erstellen Sie Kanäle nach Ihren Interessen und Sprachen. Kommunizieren Sie mit Kollegen und Freunden der MQL5.community, ohne die Website zu besuchen.

    Gruppen-Chats und Kanäle können öffentlich oder privat sein. Derjenige, der sie erstellt entscheidet, ob es möglich ist, sich ihnen frei oder nur auf Einladung anzuschließen. Sie können Moderatoren auch Kanälen und Chats für zusätzliche Kommunikationskontrolle zuordnen.



  3. Terminal: Ergänzt wurde die Unterstützung einer erhöhten Volumengenauigkeit beim Handel mit Kryptowährungen. Nun ist das Mindestvolumen der Handelsgeschäfte 0,000000000001 Lots. Die Markttiefe, die Zeit und der Umsatz sowie andere Oberflächenelemente bieten nun die Möglichkeit, Volumina mit einer Genauigkeit von 8 Dezimalstellen darzustellen.

    Das Mindestvolumen und dessen Änderungsstufen hängen von den Einstellungen des Finanzinstrumentes ab, die vom Broker festgelegt werden.




  4. Terminal: Hinzugefügt wurde eine Registerkarte der veröffentlichten Artikel der MQL5.community zum Fenster Werkzeuge. Über 600 detailliertes Material über die Entwicklung von Handelsstrategien in MQL5 sind nun erreichbar ohne das Terminal verlassen zu müssen. Neue Artikel werden wöchentlich veröffentlicht.



  5. Terminal: Hinzugefügt wurde die Unterstützung einer erweiterten Authentifizierung mittels Zertifikat bei einem Betrieb auf Linux/Wine.
  6. Terminal: Korrigiert wurde die Darstellung der Markttiefe, wenn sie auf eine Ebene begrenzt ist.
  7. Terminal: Hinzugefügt wurde der Befehl "Sichern als Bild" zur Standard-Symbolleiste. Jetzt ist es viel einfacher, Charts zu fotografieren und in der Community zu teilen.




  8. Terminal: Korrigiert wurde die Zeitverschiebung beim Importieren von Bars und Ticks. Bisher wurde die Verschiebung in einigen Fällen nicht angewendet.



  9. MQL5: Hinzugefügt wurde die direkte Unterstützung für .NET-Bibliotheken mit "Smart"-Funktionen-Import. Jetzt können .NET-Bibliotheken verwendet werden, ohne spezielle Wrapper zu schreiben - MetaEditor macht es selbst.

    Um mit.NET-Bibliotheksfunktionen zu arbeiten, importieren Sie einfach die DLL selbst, ohne bestimmte Funktionen zu definieren. MetaEditor importiert automatisch alle Funktionen, mit denen man arbeiten kann:
    • Einfache Strukturen (einfache, alte Daten oder POD, plain old data)
    • Strukturen mit einfachen Datentypen
    • 'Public static' Funktionen mit Parametern, bei denen nur einfache Typen und POD-Strukturen oder deren Arrays verwendet werden.

    Um Funktionen aus der Bibliothek aufzurufen, importieren Sie sie einfach:
    #import "TestLib.dll"
    
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart()
      {
       int x=6;
       TestClass::Inc(x);
       Print(x);
      }
    Der C#-Code der Funktion Inc() aus TestClass schaut wie folgt aus:
    public class TestClass
    {
       public static void Inc(ref int x)
       {
        x++;
       }
    }
    Als Ergebnis der Ausführung gibt das Skript den Wert 7 zurück.

  10. MQL5: Hinzugefügt wurde die Unterstützung der Spezifizierer inline, __inline und __forceinline beim Parsen von Code. Die Anwesenheit der Spezifizierer im Code verursacht keine Fehler und hat keinen Einfluss auf die Kompilierung. Im Moment vereinfacht diese Funktion die Übertragung von С++ Code nach MQL5.
    Weitere Informationen über Spezifizierer finden Sie unter MSDN.

  11. MQL5: Deutlich optimierte Ausführung von MQL5-Programmen. In einigen Fällen kann die Leistungssteigerung 10% erreichen. Kompilieren Sie Ihre Programme mit der neuen MetaEditor-Version erneut, damit sie schneller laufen.
    Leider werden neue Programme aufgrund dieser zusätzlichen Optimierung nicht mit früheren Terminalversionen kompatibel sein. Programme, die in MetaEditor Version 1910 und später kompiliert wurden, können in Terminalversionen unter 1880 nicht gestartet werden. Programme, die in früheren MetaEditor-Versionen kompiliert wurden, können auf neuen Terminals ausgeführt werden.

  12. MQL5: Signifikant optimierte multiple MQL5-Funktionen.
  13. MQL5: Hinzugefügt wurden neue Eigenschaften zum Anheften/Ablösen der Charts vom Hauptfenster des Terminals und der Kontrolle von deren Position.

    Hinzugefügt wurden folgende Eigenschaften der Enumeration ENUM_CHART_PROPERTY_INTEGER:

    • CHART_IS_DOCKED - das Chartfenster ist angeheftet. Ist dessen Wert 'false', dann kann der Chart aus dem Terminalbereich abgelöst werden.
    • CHART_FLOAT_LEFT — die linke Koordinate der losgelösten Chartfensters, relativ zum virtuellen Bildschirm.
    • CHART_FLOAT_TOP — die obere Koordinate der losgelösten Chartfensters, relativ zum virtuellen Bildschirm.
    • CHART_FLOAT_RIGHT — die rechte Koordinate der losgelösten Chartfensters, relativ zum virtuellen Bildschirm.
    • CHART_FLOAT_BOTTOM — die untere Koordinate der losgelösten Chartfensters, relativ zum virtuellen Bildschirm.

    Hinzugefügt wurden folgende Funktionen zur Enumeration ENUM_TERMINAL_INFO_INTEGER:

    • TERMINAL_SCREEN_LEFT — die linke Koordinate des virtuellen Bildschirms. Ein virtueller Bildschirm ist ein Rechteck, dass alle Monitore umfasst. Wenn ein System zwei Monitore hat, aufgereiht von rechts nach links, befindet sich die linke Koordinate des virtuellen Bildschirms möglicherweise an der Grenze der beiden Monitore.
    • TERMINAL_SCREEN_TOP — die obere Koordinate des virtuellen Bildschirms.
    • TERMINAL_SCREEN_WIDTH — Breite des Terminals.
    • TERMINAL_SCREEN_HEIGHT — Höhe des Terminals.
    • TERMINAL_LEFT — die linke Koordinate des Terminals relativ zum virtuellen Bildschirm.
    • TERMINAL_TOP — die obere Koordinate des Terminals relativ zum virtuellen Bildschirm.
    • TERMINAL_RIGHT — die rechte Koordinate des Terminals relativ zum virtuellen Bildschirm.
    • TERMINAL_BOTTOM — die untere Koordinate des Terminals relativ zum virtuellen Bildschirm.

  14. MQL5: Hinzugefügt wurde das Feld 'volume_real' zu den Strukturen MqlTick und MqlBookInfo. Damit wird die Genauigkeit des Volumens erhöht. Der Wert von 'volume_real' hat eine höhere Priorität als 'volume'. Der Server wird diesen Wert verwenden, wenn angegeben.

    struct MqlTick
      {
       datetime         time;          // Aktualisierungszeit des letzten Preises
       double           bid;           // Aktueller Bid-Preis
       double           ask;           // Aktueller Ask-Preis
       double           last;          // Aktueller Preis der letzten Transaktion (Last)
       ulong            volume;        // Volumen des letzten aktuellen Preises
       long             time_msc;      // Letzte Preisaktualisierung in Millisekunden
       uint             flags;         // Tick-Flags
       double           volume_real;   // Volumen des aktuelle Preises (Last) mit höherer Genauigkeit
      };

    struct MqlBookInfo
      {
       ENUM_BOOK_TYPE   type;            // Order-Typ der Enumeration ENUM_BOOK_TYPE
       double           price;           // Preis
       long             volume;          // Volumen
       double           volume_real;     // Volumen mit höherer Genauigkeit
      };

  15. MQL5: Hinzugefügt wurden neue Eigenschaften zur Enumeration ENUM_SYMBOL_INFO_DOUBLE:

    • SYMBOL_VOLUME_REAL — Volumen der letzten abgeschlossenen Transaktion;
    • SYMBOL_VOLUMEHIGH_REAL — der maximale Wert des Transaktionsvolumens für den aktuellen Tag;
    • SYMBOL_VOLUMELOW_REAL — der minimaler Wert des Transaktionsvolumens für den aktuellen Tag;

    Verwenden Sie die Funktion SymbolInfoDouble zur Abfrage dieser Eigenschaften.

  16. MQL5: Hinzugefügt wurde die Eigenschaft MQL_FORWARD zur Enumeration ENUM_MQL_INFO_INTEGER — Flag für das Programm im Vorwärtstest.
  17. MQL5: Entspanntere Bedingungen für die Auswertung von Enumerationen. Bei einer impliziten Umwandlung ersetzt der Compiler automatisch den Wert der korrekten Enumeration und zeigt eine Warnung an.

    Für folgenden Code:
    enum Main
      {
       PRICE_CLOSE_,
       PRICE_OPEN_
      };
    
    input Main Inp=PRICE_CLOSE;
    //+------------------------------------------------------------------+
    //| Start function                                                   |
    //+------------------------------------------------------------------+
    void OnStart()
      {
      }
    zeigt der Compiler eine Warnung:
    implicit conversion from 'enum ENUM_APPLIED_PRICE' to 'enum Main'
    'Main::PRICE_OPEN_' instead of 'ENUM_APPLIED_PRICE::PRICE_CLOSE' will be used
    Zuvor wurde in diesem Fall der folgende Fehler erzeugt:
    'PRICE_CLOSE' - cannot convert enum
    Der Compiler zeigt den Fehler nur noch an, wenn Enumerationen in den Funktionsparametern falsch verwendet werden.

  18. MQL5: Die Kompilierung von Template-Funktionen wurde korrigiert. Bei der Verwendung überladener Template-Funktionen wird nun nur noch die notwendige Überladung und nicht mehr alle vorhandenen instanziiert.
    class X {  };
    
    void f(int)  {  }
      
    template<typename T>
    void a(T*) { new T(2); }  // vorher hat der Compiler hier einen Fehler generiert
      
    template<typename T>
    void a()  { f(0); }
      
      
    void OnInit()  { a<X>(); }  
    
  19. MQL5: Optimiert wurden einige Zugriffsformen auf die Tick-Historie über die Funktion CopyTicks*.
  20. Tester: Korrigiert wurde die Berechnung der Genauigkeit der Kontowährung beim Testen/Optimieren und Erstellen relevanter Berichte.
  21. Tester: Optimiert und Beschleunigt wurde der Arbeitsweise des Strategietesters.
  22. MetaEditor: Korrigiert wurde die Suche nach ganzen Wörtern. Bei der Suche wird nun der Unterstrich als normales Zeichen und nicht mehr als Worttrennzeichen gezählt.
  23. Aktualisierte Dokumentation.
 
Das Leiden hat begonnen! Build 1910.
Das Leiden hat begonnen! Build 1910.
  • 2018.10.15
  • www.mql5.com
Der Tester Build 1910 ist unbrauchbar geworden...
 

Bei der Reparatur des Testers sollte auch ein alter Fehle behoben werden. (build 1881)

Im visuellen Modus wird die OnTick() des EA VOR der Aktualisierung des Charts aufgerufen.

Dadurch werden die Pfeilsymbole von Buy und Sell ins Nirvana gezeichnet.

Erst beim Wiedereintritt in die OnTick() wird der Chart aktualisiert.

Dadurch wird visuelles debuggen im Schrittmodus enorm erschwert.

Die richtige Reihenfolge wäre: zuerst Chart aktualisieren, dann die OnInit() des EAs aufrufen.

------------------------------------------------------------------

OnInit() wird aufgerufen und eine Order abgesetzt:

Fehler

Erst beim Wiedereintritt in die OnTick() wird der Chart aktualisiert.

Richtig aber zu spät

 

Ein weiterer Punkt der mich, stört ist die Anzeige der Ticks im Fenster 'Market Watch'.

Wird der MT5 nach einer Pause neu gestartet wird der Tickchart nicht aktualisiert.

Dadurch entstehen scheinbare Gaps:

Die Antwort vom ServiceDesk war: Klick mal 'Autoscroll' weg und dann wieder an.


Ja, funktioniert. Aber ist das eine Lösung?

Das ist Ignoranz und Schlamperei.

@Christian: Das ist nicht Schimpfen, das sind die Tatsachen.

Ich habe enorm viel Zeit investiert um Fehler und Ungereimtheiten zu dokumentieren, viel davon war vergebliche Mühe.

 

Otto nimm das nicht zu persönlich von mir bitte. Ich verstehe dich ja und den Frust der schnell entsteht.Bin mitlerweile sowas von geerdet .....:-)

In Osten ticken die Uhren leider immernoch anders. Kundennähe sind da Fremdwörter.


Aber trotzdem wäre es schön auch mal eine Resonanz hier zu erfahren , von wem auch immer da in MQ-Universum :-)

 
Christian:

Aber trotzdem wäre es schön auch mal eine Resonanz hier zu erfahren , von wem auch immer da in MQ-Universum :-)

Ja, es ist sehr ruhig hier. Testet niemand das neue build?

Positiv ist zu vermerken, daß sich die Charts an und abdocken lassen.

Eine weitere Steigerung wären so eine Art 'Frames' in die dann mehrere Charts geladen werden können.

Um solche Konfigurationen auf den Bildschirmen herumschieben zu können.

Multiframe

Also 4 mal der gleiche Chart nur in unterschiedlichen Timeframes.

Aber das kann ich mir auch programmieren, fällt mir gerade auf.

Ich habe noch einige weitere Wünsche. Die werde ich halt hier hereinstellen.

LG, Otto

 

Hier ist nichts los, aber im englischen Forum tut sich einiges.

Da wird von ähnlichen Problemen berichtet.

Ich wechsle, was das build 1910 betrifft, in's englisch sprachige Forum.

 
Otto Pauser:

Hier ist nichts los, aber im englischen Forum tut sich einiges.

Da wird von ähnlichen Problemen berichtet.

Ich wechsle, was das build 1910 betrifft, in's englisch sprachige Forum.

Auf jeden Fall lässt sich eines feststellen wenn man sich durch das englische und das russische Forum forstet.

Es sind hauptsächlich Verständigungsprobleme zwischen Entwicklern-Mods-Usern.

Hier der Grund warum der Service Desk reduziert worden ist.

"Übersetzt"

Übrigens kann der Editor im Forum nun auch übersetzte

Falls es keiner mitbekommen hat.


 
Build 1914 ist draußen.
 
Christian:
Build 1914 ist draußen.

Hallo, wie hast du das erfahren und wo krieg ich es her?

access.metatrader5.com:443 liefert nur build 1910, oder mach ich schon wieder was falsch?

 
Otto Pauser:

Hallo, wie hast du das erfahren und wo krieg ich es her?

access.metatrader5.com:443 liefert nur build 1919, oder mach ich schon wieder was falsch?

LEIDER bezieht sich das NUR auf den Editor hier für allen Foren - nicht auf den des Terminals.

Aber, Otto, damit kannst Du Deine Fehler im russischen Forum melden - da STEPPT DER BÄR :)

Leider kann man nicht die Beiträge anderer in die eigene Sprache übersetzen lassen :(

Grund der Beschwerde: