MetaTrader 5 - Trading MetaTrader 5 verfügt über ein Hedging Position Accounting System Die MetaTrader 5 Plattform wurde ursprünglich für den Handel innerhalb des Netting Position Accounting System konzipiert. Das Netting-System erlaubt nur eine Position pro Finanzinstrument, so dass alle weiteren Operationen an diesem Instrument nur zum Schließen, Umkehren oder Ändern des Volumens der bereits vorhandenen Position führen. Um die Möglichkeiten der Retail-Devisenhändler erweitern, haben wir die zweite Buchhaltungssystem Hedging hinzugefügt. Nun ist es möglich, mehrere Positionen pro Symbol zu haben, einschließlich entgegengesetzt gerichteter. Dies ebnet den Weg zur Umsetzung von Handelsstrategien auf der Grundlage der sogenannten Sperrung, wenn der Preis sich gegen einen Händler bewegt, können sie eine Position in die entgegengesetzte Richtung zu öffnen. Da das neue System dem von MetaTrader 4 ähnlich ist, wird es den Händlern vertraut sein. Zur gleichen Zeit werden Händler in der Lage, alle Vorteile der fünfte Plattform Version Abfüllung Bestellungen mit mehreren Angeboten (einschließlich Teilfills), Multicurrency und Multithread-Tester mit Unterstützung für MQL5 Cloud Network genießen. und vieles mehr. Jetzt können Sie ein Konto verwenden, um die Märkte zu handeln, die sich an das Netting-System und erlauben nur eine Position pro Instrument, und verwenden Sie ein anderes Konto auf der gleichen Plattform zu handeln Forex und Hedging. Dieser Artikel beschreibt die Netze und Hedging-Systeme im Detail sowie die Auswirkungen auf die Änderungen im Zusammenhang mit der Umsetzung des zweiten Buchhaltungssystems. Positionsbuchhaltung hängt von einem Handelskonto ab Ein Positionskonto wird auf Kontoebene gesetzt und im Terminalfensterkopf und im Journal angezeigt: Um ein Demokonto mit Hedging zu öffnen, aktivieren Sie die entsprechende Option: Um ein reales Konto mit Hedging zu öffnen, setzen Sie sich mit uns in Verbindung Ihr Broker. Netting-System Mit diesem System können Sie nur eine gemeinsame Position für ein Symbol gleichzeitig haben: Wenn es eine offene Position für ein Symbol gibt, erhöht das Ausführen eines Deals in dieselbe Richtung die Lautstärke dieser Position. Wenn ein Deal in der entgegengesetzten Richtung ausgeführt wird, kann das Volumen der vorhandenen Position verringert, die Position geschlossen werden (wenn das Dealvolumen gleich dem Positionsvolumen ist) oder umgekehrt (wenn das Volumen des gegenüberliegenden Deals größer ist als Die aktuelle Position). Es spielt keine Rolle, was hat die umgekehrte Deal eine ausgeführte Marktordnung oder eine ausgelöste ausstehende Bestellung verursacht. Das nachstehende Beispiel zeigt die Ausführung von zwei EURUSD-Buy-Deals jeweils 0,5 Lose: Die Ausführung beider Deals führte zu einer gemeinsamen Position von 1 Lot. Hedging-System Mit diesem System können Sie mehrere offene Positionen von ein und demselben Symbol, einschließlich entgegengesetzter Positionen, haben. Wenn Sie eine offene Position für ein Symbol haben und einen neuen Deal (oder einen ausstehenden Trigger) ausführen, wird zusätzlich eine neue Position geöffnet. Ihre aktuelle Position ändert sich nicht. Das nachstehende Beispiel zeigt die Ausführung von zwei EURUSD Buy Deals jeweils 0,5 Lose: Die Ausführung dieser Deals führte zur Eröffnung von zwei separaten Positionen. Auswirkungen des gewählten Systems Abhängig von dem Positionsrechnungssystem können einige der Plattformfunktionen unterschiedliches Verhalten aufweisen: Regelungen zum Stoppen und Vererben von Gewinnverwendungen. Um eine Position im Netting-System zu schließen, sollten Sie einen entgegengesetzten Handel mit demselben Symbol und demselben Volumen durchführen. Um eine Position im Hedging-System zu schließen, markieren Sie im Kontextmenü der Position explizit den Befehl Position schließen. Eine Position kann im Hedging nicht rückgängig gemacht werden. In diesem Fall wird die aktuelle Position geschlossen und eine neue mit dem verbleibenden Volumen wird geöffnet. Im Hedging-System ist eine neue Bedingung für die Margin-Berechnung Hedged Margin verfügbar. Neue Handelsoperationsart - Close By Der neue Handelsvorgangstyp wurde hinzugefügt, um die Hedging-Konten zu schließen, die eine Position gegenüber einer anderen Position schließen. Dieser Vorgang ermöglicht das Schließen von zwei entgegengesetzt gerichteten Positionen an einem einzigen Symbol. Wenn die entgegengesetzten Positionen eine unterschiedliche Anzahl von Losen haben, bleibt nur eine der beiden Reihen offen. Sein Volumen ist gleich der Differenz der Lose der geschlossenen Positionen, während die Positionsrichtung und der offene Preis (von Volumen) die größere der geschlossenen Positionen übereinstimmen. Gegenüber einem einzigen Verschluß der beiden Positionen erlaubt das Schließen durch eine entgegengesetzte Position den Händlern, eine Spalte zu speichern: Bei einem einzigen Schließen müssen die Händler eine Spalte zweimal bezahlen: beim Schließen einer Kaufposition zu einem niedrigeren Preis (Bid) Und schließt eine Verkaufsposition an einem höheren (Ask). Wenn eine entgegengesetzte Position verwendet wird, wird ein offener Preis der zweiten Position verwendet, um die erste zu schließen, während ein offener Preis der ersten Position verwendet wird, um die zweite zu schließen. Im letzteren Fall wird eine enge Ordnung gelegt. Tickets von geschlossenen Positionen sind in seinem Kommentar angegeben. Ein Paar von entgegengesetzten Positionen wird durch zwei heraus durch Abkommen geschlossen. Der Gesamtgewinn, der sich aus der Schließung der beiden Positionen ergibt, wird nur in einem Deal festgelegt. Margin-Berechnung im Hedging-System der Positionsabrechnung Wenn das Hedging-Position-Buchhaltungssystem verwendet wird, wird die Marge nach den oben beschriebenen Formeln und Prinzipien berechnet. Es gibt jedoch einige zusätzliche Funktionen für mehrere Positionen des gleichen Symbols. Positionsorders öffnen sich in die gleiche Richtung Die Volumina werden zusammengefasst und der gewichtete durchschnittliche offene Kurs berechnet. Die resultierenden Werte werden für die Berechnung des Randes durch die Formel verwendet, die dem Symboltyp entspricht. Bei ausstehenden Aufträgen (wenn das Margin-Verhältnis ungleich Null ist) wird die Marge separat berechnet. Gegenüberliegende offene Positionen desselben Symbols gelten als abgesichert oder abgedeckt. Für solche Positionen sind zwei Berechnungsmethoden möglich. Die Berechnungsmethode wird vom Broker bestimmt. Verwenden des größeren Beines Wird verwendet, wenn ein größeres Bein berechnet wird, nicht im Hedged-Margin-Feld der Vertragsspezifikation angegeben. Die Berechnung erfolgt in mehreren Schritten: Für nicht aufgedecktes Volumen Bei gedecktem Volumen (wenn gesicherte Margengröße angegeben ist) Für ausstehende Aufträge Der resultierende Marginwert wird als Summe der bei jedem Schritt berechneten Margen berechnet. Berechnung für ungedecktes Volumen Berechnung des Gesamtvolumens Alle Positionen und Marktaufträge für jedes der Beine kaufen und verkaufen. Berechnung der gewogenen durchschnittlichen Position und Marktordnung Offener Preis für jedes Bein: (offener Preis der Position oder Bestellung 1 Positions - oder Auftragsvolumen 1. offener Preis der Position oder Auftrag N Positions - oder Auftragsvolumen N) (Positions - bzw 1. Volumen der Position oder Ordnung N). Berechnung des nicht aufgedeckten Volumens (kleineres Beinvolumen wird vom größeren abgezogen). Das berechnete Volumen und der gewichtete Durchschnittspreis werden dann verwendet, um die Marge durch die entsprechende Formel entsprechend dem Symboltyp zu berechnen. Der gewichtete Durchschnittswert des Verhältnisses und der Quote wird unter Berücksichtigung der Margin Ratio und der Umwandlung der Marginwährung in die Devisentermingeschäfte verwendet. Berechnung für Deckungsvolumen Wird verwendet, wenn der Hedged Margin-Wert in einer Kontraktspezifikation angegeben ist. In diesem Fall wird die Margin sowohl für abgesichertes als auch für ungedecktes Volumen berechnet. Wird die Anfangsspanne für ein Symbol angegeben, wird die abgesicherte Marge als absoluter Wert (monetär) angegeben. Wenn der Anfangsrand nicht angegeben ist (gleich 0), wird die Kontraktgröße im Feld Hedged angegeben. Die Marge wird durch die entsprechende Formel in Übereinstimmung mit der Art des Finanzinstruments unter Verwendung der festgelegten Kontraktgröße berechnet. Zum Beispiel haben wir zwei Positionen Kaufen EURUSD 1 Los und Verkauf EURUSD 1 Los, die Kontraktgröße ist 100.000. Wenn der Wert von 100.000 im Hedged-Feld angegeben ist, wird der Margin für die beiden Positionen gemäß 1 Los berechnet. Wenn Sie 0 angeben, wird für das abgesicherte (abgedeckte) Volumen kein Margin berechnet. Für jeden abgesicherten Los einer Position wird die Marge gemäß dem im Hedged Margin-Feld in der Kontraktspezifikation angegebenen Wert berechnet: Berechnung des abgesicherten Volumens für alle offenen Positionen und Marktaufträge (nicht aufgedecktes Volumen wird vom größeren Bein abgezogen). Berechnung der gewogenen durchschnittlichen Position und Marktordnung Offener Preis: (offener Preis der Position oder Bestellung 1 Positions - oder Auftragsvolumen 1. offener Preis der Position oder Bestellung N Positions - oder Auftragsvolumen N) (Positions - bzw Der Position oder der Ordnung N). Das berechnete Volumen, der gewichtete Durchschnittspreis und der abgesicherte Marginwert werden dann verwendet, um die Marge durch die entsprechende Formel entsprechend dem Symboltyp zu berechnen. Der gewichtete Durchschnittswert des Verhältnisses und der Quote wird unter Berücksichtigung der Margin Ratio und der Umwandlung der Marginwährung in die Devisentermingeschäfte verwendet. Berechnung für ausstehende Aufträge Berechnung der Marge für jede ausstehende Auftragsart gesondert (Buy Limit, Sell Limit, etc.). Der gewichtete Durchschnittswert des Verhältnisses und des Satzes für jede anstehende Auftragsart wird unter Berücksichtigung der Margin Ratio und der Umwandlung der Marginwährung in die Depotwährung verwendet. Wird verwendet, wenn die Berechnung mit einem größeren Bein im Feld "Hedged Margin" der Vertragsspezifikation angegeben ist. Berechnung der Marge für kürzere und längere Beine für alle offenen Positionen und Marktaufträge. Berechnung der Marge für jede ausstehende Auftragsart gesondert (Buy Limit, Sell Limit, etc.). Summiert eine längere Beinlänge: Langpositionen und Marktaufträge lange ausstehende Aufträge. Summiert eine kürzere Bein-Marge: Short-Positionen und Marktaufträge kurz anstehende Aufträge. Der größte aller berechneten Werte wird als endgültiger Grenzwert verwendet. Änderungen in MQL5 Jetzt hat jede Position ein einzigartiges Ticket. Es entspricht in der Regel dem Ticket einer Bestellung, die verwendet wird, um die Position zu öffnen. Ein Ticket wird nach der Terminalaktualisierung automatisch allen verfügbaren Positionen zugewiesen. Wenn Sie eine Position im Hedging-System ändern oder schließen, müssen Sie dessen Ticket angeben (MqlTradeRequest :: ticket). Sie können auch ein Ticket im Netting-System angeben, die Positionen werden jedoch durch einen Symbolnamen gekennzeichnet. Positionspositionsausweis. Füllen Sie es beim Wechseln und Schließen einer Position für seine klare Identifikation. Es entspricht in der Regel das Ticket eines Auftrags verwendet, um die Position zu öffnen. Position durch gegenüberliegendes Positionsticket. Es wird verwendet, wenn eine Position durch eine entgegengesetzte geschlossen wird (geöffnet auf dem gleichen Symbol, aber in die entgegengesetzte Richtung). MqlTradeTransaction kennzeichnet auch die zwei ähnlichen Felder: Positionsticket einer Position, die von der Transaktion betroffen ist. Es ist für Transaktionen im Zusammenhang mit der Abwicklung von Marktaufträgen (TRADETRANSACTIONORDER außer TRADETRANSACTIONORDERADD, wo noch kein Positionsticket vorhanden ist) und Auftragsverlauf (TRADETRANSACTIONHISTORY) gefüllt. Position durch gegenüberliegendes Positionsticket. Es wird verwendet, wenn eine Position durch eine entgegengesetzte geschlossen wird (geöffnet auf dem gleichen Symbol, aber in die entgegengesetzte Richtung). Es wird nur für Aufträge gefüllt, die eine Position durch eine entgegengesetzte (in der Nähe) schließen und schließt durch eine entgegengesetzte (out by). Die neue Funktion PositionGetTicket gibt ein Positionsticket durch einen Index in der Liste der offenen Positionen zurück und wählt diese Position automatisch für die weitere Arbeit mit dem Parameter PositionGetDouble. PositionGetInteger. Und PositionGetString-Funktionen. Die neue PositionSelectByTicket-Funktion wählt eine offene Position für die weitere Arbeit durch ein bestimmtes Ticket aus. PositionSelect wählt eine Position durch einen Symbolnamen für die weitere Arbeit mit dem PositionsmodusDouble aus. PositionGetInteger. Und PositionGetString-Funktionen. Im Hedging-System (wo es mehrere Positionen an einem einzigen Symbol geben kann) wählt die Funktion eine Position mit dem niedrigsten Ticket aus. Die neue Eigenschaft ACCOUNTMARGINMODE ermöglicht das Empfangen der Art der Margin Berechnung und Position Buchhaltung auf einem Trading-Konto: Kostenlose Institutional Forex Indicator Tool Commercial Member Registriert seit Aug 2010 48 Beiträge Wissen Sie, was Institutional Traders höher ist als gewöhnliche Händler Einfache. Sie sehen, und haben viele Daten, die ihnen großen Vorteil gegenüber Einzelhändlern gibt. Heres ein kostenloses institutionelles Trading Tool, das genau zeigt, was sie sehen (Live Daten aus MyFxbook API, Info über 70 Symbole, bis zu 100.000 Live Traders Positionen, Short vs Long - Positionen Verhältnis in Prozent, Positionen Volumen, Anzahl der Positionen) und viele Nützlicher Informationen, die rechts auf Ihrem Diagramm, die Ihre Handelsentscheidungen führen wird angezeigt. Total frei. Wissen Sie, was gibt Institutional Traders höherer als normale Händler Einfach. Sie sehen, und haben viele Daten, die ihnen großen Vorteil gegenüber Einzelhändlern gibt. Heres ein kostenloses institutionelles Trading Tool, das genau zeigt, was sie sehen (Live Daten aus MyFxbook API, Info über 70 Symbole, bis zu 100.000 Live Traders Positionen, Short vs Long - Positionen Verhältnis in Prozent, Positionen Volumen, Anzahl der Positionen) und viele Nützlicher Informationen, die rechts auf Ihrem Diagramm, die Ihre Handelsentscheidungen führen wird angezeigt. Total frei. Herunterladen. Einige wichtige Informationen aus der heutigen Analyse des Instruments: Der Australische Dollar ist bei 17 gegenüber einem starken NZD bei 82 sehr schwach. Dies impliziert, dass mehr als 100.000 Händler die NZD kaufen und die AUD (AUDNZD) verkaufen. Dies zeigt sich im fundamentalen Ergebnis der letzten Wirtschaftsmeldung von gestern. Gold (XAUUSD) 36 sind kurz, während 63 lang sind. Auf der langfristigen Gold wurde unter dem 200SMA. EURGBP: 3267 Etwa 1.367 Positionen sind kurz, während 2.350 sind lang Attached Image (zum Vergrößern anklicken) Diese und viele weitere Informationen stammen aus diesem Tool direkt auf meiner Karte. Sie brauchen nicht, Ihr Diagramm beim Besuchen von Websites zu minimieren, um diese nützlichen Informationen zu erhalten. So sparen Sie Bandbreite und maximieren Ressourcen. Was ist mehr seine FREEFX-Optionen Nasdaq bietet eine Vielzahl von Derivaten-Angeboten, einschließlich FX-Optionen, die Einzelhandel und institutionelle Händler die Möglichkeit, Optionen auf sieben wichtigsten Währungen Handel. Features und Funktionalität Einfach zu handeln: Retail-fokussiert und Größe US-Dollar-gerechnet, anstatt in zugrunde liegenden Devisen Handel in Ihrer Devisenoptionen genehmigt Brokerage-Konto europäischen Stil Übung, kann aber immer gekauft oder verkauft werden vor dem Verfall Leicht zu verstehen : Anzeige ähnlich wie Indexoptionen - Verschiebung der Nachkommastellen zwei Stellen nach rechts Getting Started Die Nasdaq FX-Optionen sind so strukturiert, dass sie über ein zugelassenes Optionskonto bei einem Wertpapierbroker-Händler verfügbar sind. Diversifizieren Sie Ihr Portfolio mit Nasdaq FX Optionen, indem Sie Ihren Broker-Händler für weitere Informationen kontaktieren. FX Options Fact SheetWas neu in MetaTrader 5 27 Januar 2017 Der Handelsverlauf kann zusätzlich in Form von Positionen angezeigt werden. Das Terminal sammelt Daten zu Geschäften, die sich auf eine Position beziehen (Positionsöffnung, zusätzliches Volumen, teilweises und vollständiges Schließen) und dann die Daten zu einem Datensatz zusammenfasst, der die folgenden Details enthält: Positionsöffnungs - und Schließzeit, die vom ersten und letzten Handel bzw. Position bestimmt wird Volumen. Wenn ein Teil der Position geschlossen wurde, enthält der Datensatz das geschlossene Volumen und das Anfangsvolumen Der gewogene durchschnittliche Positionsöffnungspreis und sein enger Preis Das gesamte Finanzergebnis der Geschäfte, die sich auf die Position beziehen Bei Hedgingkonten ähnelt das neue Verlaufsformular Der in MetaTrader 4 verwendet wurde. Es wurde ein neuer Befehl hinzugefügt, der es ermöglicht, Trades auf einem Symboldiagramm zu visualisieren. Wenn Sie Angebote eines ausgewählten Positionssymbols anzeigen möchten, klicken Sie auf Symbolnamen hinzufügen. Entsprechende Angebote werden auf allen aktuell geöffneten Diagrammen des ausgewählten Symbols angezeigt. Wenn es keine offenen Diagramme dieses Symbols gibt, wird ein neues Diagramm geöffnet. Klicken Sie auf Alle Angebote hinzufügen, um Angebote aller Symbole aus dem Verlauf des Kontos anzuzeigen. Entsprechende Angebote entsprechender Symbole werden allen offenen Karten hinzugefügt. Hinzugefügte Anzeige des internationalen Namens eines Handelsinstruments in Kontraktspezifikation sowie Suche nach dem internationalen Namen im Symbolmanagement-Dialog. Hinzugefügt Befehl für Terminal-Setup-Auflösung. Die Funktion ist hilfreich, um Videos zu erstellen. Das Menü bietet die gängigsten Auflösungsoptionen, die in verschiedenen Videodiensten wie YouTube verwendet werden. Diagrammvorlagen und Profile wurden von Terminal Data FolderProfiles zu Terminal Data FolderMQL5Profiles verschoben. Jetzt können Sie einfach hinzufügen, Vorlagen, um die MQL5 Storage und Zugriff von jedem PC. Unterstützung für Ressourcenvariablen hinzugefügt. Die Entwicklung einiger Programme kann durch die Verwendung solcher Variablen erheblich erleichtert werden. Zum Beispiel können Sie einen Code eines OpenCL-Programms in einer separaten CL-Datei schreiben und ihn dann als String in Ihre MQL5-Programmressourcen aufnehmen. Vor dem Update musste ein solcher Code als eine große String-Variable beschrieben werden. Deklaration der Ressourcendatei Merkmale Die Codierung der String-Dateien erfolgt automatisch anhand der Stückliste (der Kopfzeile). Wenn die Stückliste nicht vorhanden ist, wird die Kodierung durch den Inhalt der Datei definiert. ANSI, UTF-8 und UTF-16 werden unterstützt. Alle Zeichenfolgen werden in Unicode konvertiert. Daten einer solchen Ressource können nur über eine Variable adressiert werden. Die automatische Adressierung mit :: ltresource namegt ist nicht verfügbar. Der spezielle Bitmap-Ressource-Variablentyp zeigt dem Compiler an, dass die Ressource ein Bild ist. In diesem Fall erhält die Ressourcenvariable den uint-Typ. Bei Verwendung eines 24-Bit-Bildes wird die Alphakanalkomponente für alle Bildpixel auf 255 gesetzt. Wenn ein 32-Bit-Bild ohne den Alphakanal verwendet wird, wird die Alphakanalkomponente auch für alle Bildpixel auf 255 gesetzt. Beim Laden eines 32-Bit-Bildes mit dem Alphakanal werden die Pixel in keiner Weise verarbeitet. Die Ressourcenvariable des Bitmap-Typs kann zwei Dimensionen aufweisen. In diesem Fall ist die Arraygröße als imageheight imagewidth definiert. Wenn ein Array mit einer Dimension angegeben ist, ist die Anzahl der Elemente gleich imageheightimagewidth. Wenn die Ressourcendateigröße nicht ein Vielfaches der Arrayelementgröße ist, werden die verbleibenden Daten beschnitten. Wenn die Dateigröße beispielsweise 14 Byte beträgt, ist die Anzahl der Elemente für ein int-Array gleich 3, während die anderen 2 Bytes (14 - sizeof (int) 3) verworfen werden. Anwendungsbeispiele Neue Eigenschaft CHARTSHOW ermöglicht das Deaktivieren der Diagrammdarstellung. Funktionen ChartGetInteger und ChartSetInteger werden verwendet, um die Eigenschaft zu erhalten und festzulegen. Wenn falsch, wird das Zeichnen von Preisdiagrammattributen deaktiviert und alle Diagrammrandindizes werden entfernt, einschließlich Zeit - und Preisskalen, schnelle Navigationsleiste, Kalenderereignisetiketten, Handelsetiketten und Indikatoren Und Balken-Tooltips, Indikator-Unterfenster, Volumen-Histogramme, etc. Die Deaktivierung der Zeichnung ist eine perfekte Lösung für die Erstellung einer benutzerdefinierten Programmoberfläche mit grafischen Ressourcen. Die grafischen Objekte werden immer unabhängig vom CHARTSHOW-Eigenschaftswert gezeichnet. Neue Eigenschaft CHARTKEYBOARDCONTROL ermöglicht die Aktivierung der Diagrammsteuerung über die Tastatur (Home, End, PageUp,, -, Pfeil nach oben usw.). Durch das Setzen von CHARTKEYBOARDCONTROL auf false wird das Scrollen und Skalieren des Diagramms deaktiviert, während es intakt bleibt, die Tasten zu drücken, um Ereignisse in OnChartEvent () zu drücken. Funktionen ChartGetInteger und ChartSetInteger ermöglichen das Ermitteln und Festlegen der Eigenschaft. Neue Funktionen für die Arbeit mit OpenCL. New-Eigenschaften für den Arbeitsspeicher hinzugefügt Vier neue Eigenschaften können über CLGetInfoIntegrer empfangen werden: CLDEVICEMAXWORKGROUPSIZE die Gesamtzahl der lokalen Arbeitsgruppen, die für ein OpenCL-Gerät verfügbar sind. CLKERNELWORKGROUPSIZE die Gesamtzahl der lokalen Arbeitsgruppen, die für ein OpenCL-Programm zur Verfügung stehen. CLKERNELLOCALMEMSIZE Größe des lokalen Speichers in Bytes, die von einem OpenCL-Programm zum Lösen aller parallelen Aufgaben in einer Gruppe verwendet werden. Verwenden Sie CLDEVICELOCALMEMSIZE, um den maximal verfügbaren Wert zu erhalten. CLKERNELPRIVATEMEMSIZE die Mindestgröße des privaten Speichers (in Byte), die von jeder Task im OpenCL-Programmkernel verwendet wird. Bool CLExecutionStatus (int kernel) Gibt den Status der OpenCL-Programmausführung zurück. Der OpenCL-Programmkernel-Handle wird als Parameter übergeben. Bool CLSetKernelArgMemLocal (int kernelhandle, int argindex, ulong localmemsize) Setzt den lokalen Puffer als Argument der Kernelfunktion. Das OpenCL-Programmkernel-Handle, die Nummer des OpenCL-Funktionsarguments und die Puffergröße werden als Parameter übergeben. Neues Antwort-Code TRADERETCODELIMITPOSITIONS wurde hinzugefügt. Die Anzahl der offenen Positionen, die gleichzeitig auf einem Konto vorhanden sind, kann durch die Servereinstellungen begrenzt werden. Nachdem ein Limit erreicht ist, gibt der Server den TRADERETCODELIMITPOSITIONS-Fehler zurück, wenn er versucht, eine Bestellung aufzugeben. Die Begrenzung ist je nach Positionsrechnungsart unterschiedlich: Die Netting-Anzahl der offenen Positionen wird berücksichtigt. Wenn ein Limit erreicht ist, deaktiviert die Plattform die Platzierung neuer Aufträge, deren Ausführung die Anzahl der offenen Positionen erhöhen kann. Tatsächlich erlaubt die Plattform, Aufträge nur für die Symbole zu platzieren, die bereits offene Positionen haben. Die aktuellen ausstehenden Aufträge werden nicht berücksichtigt, da ihre Ausführung zu Änderungen in den aktuellen Positionen führen kann, aber sie kann ihre Zahl nicht erhöhen. Hedging-Pending-Orders werden zusammen mit offenen Positionen betrachtet, da eine anstehende Orderaktivierung immer dazu führt, eine neue Position zu eröffnen. Wenn ein Limit erreicht ist, deaktiviert die Plattform die Platzierung sowohl neuer Marktaufträge für Eröffnungspositionen als auch ausstehende Aufträge. Fehler, der gelegentlich das Überspringen von Zecken im Tickverlauf verursachen könnte. Fehlerhafte indirekte Schablonenschreibfehler behoben. Aktualisierte Bibliothek mit mathematischen Statistikfunktionen. TranslateKey-Funktion hinzugefügt, die ein Unicode-Zeichen durch einen virtuellen Schlüsselcode unter Berücksichtigung der aktuellen Eingabesprache und des Status der Bedientasten zurückgibt. Die Funktion verwendet ToUnicodeEx, um von einem Benutzer gedrückte Schlüssel in Unicode-Zeichen umzuwandeln. void OnChartEvent (const int id, const long amp lparam, const double amp dparam, const string amp sparam) if (id CHARTEVENTKEYDOWN) short symTranslateKey ((int) lparam) - wenn das eingegebene Zeichen erfolgreich in Unicode konvertiert wird, wenn (symgt 0) Print (sym,.KurzToString (sym),) else Print (Fehler in TranslateKey für Schlüssel, lparam) Fehler beim Öffnen einer Demo-Version. Nach Abschluss der Optimierung werden die Ergebnisse automatisch nach der Spalte Ergebnisse sortiert. Ein neuer Befehl im Kontextmenü der Registerkarte Optimierungsergebnisse ermöglicht das automatische Öffnen der Ergebnisse nach Abschluss der Optimierung. Der Strategie-Tester bleibt nun nach dem Start eines einzelnen Testlaufs im Optimierungsmodus. Wenn in früheren Versionen auf der Registerkarte Optimierungsergebnisse ein einzelner Test gestartet wurde, wechselte der Strategieprüfer zum Einzelprüfmodus. Für die weitere Optimierung musste der Optimierungsmodus in den Einstellungen aktiviert werden. Nun können Sätze von Eingangsparametern als lokale Strategie-Tester-Einstellungen gespeichert werden, auf die bequem aus dem Kontextmenü zugegriffen werden kann, zusätzlich zu herkömmlichen. set-Dateien. Zusätzliche UI-Übersetzungen in Mongolisch, Ungarisch, Rumänisch und Urdu. MetaEditor Die Möglichkeit, die Reihenfolge der beobachteten Ausdrücke im Debuggerfenster zu ändern. Ein Ausdruck kann mit der Maus an die gewünschte Position gezogen werden. Festlegung der Codierung der Quelldatei. Feste Suche nach Dateien in der UTF-8-Kodierung. Feste Textauswahl mit einer Maus, falls der Text Tabs enthält. UI-Übersetzungen wurden in Ungarisch und Rumänisch hinzugefügt. 18 Januar 2017 MetaTrader 5 Android Build 1506: Handel Filtern und sortieren Handel und Geschichte Registerkarten bieten nun Sortierung nach Symbolen (Finanzinstrumente), Aufträge und Handelszeit. Neben der Sortierung können Sie auch Trades nach Symbolen auf der Registerkarte Verlauf filtern. Die Arbeit mit Diagrammen im Multi-Fenster-Modus wurde optimiert. Das verbesserte Menü ermöglicht es Ihnen, neue Fenster zu öffnen, alte zu löschen, neu zu ordnen und ein gewünschtes Layout (vertikal, horizontal oder flach) auszuwählen. 9 Dezember 2016 Die Funktion CopyTicksRange wurde hinzugefügt. Verbesserte Anti-Aliasing-Funktionen zur CCanvas-Klasse hinzugefügt: CircleWu EllipseWu LineWu PolygonWu PolylineWu TriangleWu Eine weitere Beschreibung der grafischen Bibliothek der MQL5-Referenz. Die Bibliothek ermöglicht die schnelle Erstellung von Histogrammen, Verteilungen und Liniendiagrammen direkt auf den Preistabellen. Die Identifikatoren des Zustands der Systemschlüssel wurden der Liste der Konstanten der Client-Terminal-Eigenschaften hinzugefügt. Ein Aufruf von TerminalInfoInteger (TERMINALKEYSTATEXXX) gibt denselben Statuscode eines Schlüssels wie die GetKeyState () - Funktion in MSDN zurück. Deaktiviert die Unterstützung für das Gießen von String-Typ zu bool. Um Strings zu prüfen, müssen explizite Bedingungen verwendet werden. Beispielsweise wird in dem neuen Build die Kompilierung des folgenden Codes zu einem Fehler führen: Man sollte eine explizite Bedingung verwenden: Fixed errors in Crash-Protokollen gemeldet. 2 Dezember 2016 MetaTrader 5 Web-Plattform: Zwei-Faktor-Authentifizierung und Passwort-Änderung Wir haben die Zwei-Faktor-Authentifizierung mit Einmal-Passwörtern, die den Schutz von Konten gegen unbefugten Zugriff verbessert verbessert. Um die Zwei-Faktor-Authentifizierung zu ermöglichen, starten Sie die mobile Anwendung MetaTrader 5. Melden Sie sich an und wählen Sie im Fenster Einstellungen die Option Einmalpasswort (OTP) aus. Der OTP-Generator kann alle Ihre Handelskonten binden und automatisch ein eindeutiges einmaliges sechsstelliges Kennwort für jedes Konto generieren. Geben Sie dieses Kennwort ein, wenn Sie sich bei der Web-Plattform anmelden. Eine weitere neue Option erlaubt das Ändern der Master - und Investor-Passwörter. Nutzen Sie diese Gelegenheit, um eine leicht zu merkende persönliche ID zu erstellen. Außerdem kann die aktualisierte Web-Plattform automatisch Demo-Konten generieren. Jetzt können Sie starten die MetaTrader 5 Web-Plattform aus jedem Browser und starten Sie den Handel Forex, Aktien, Futures oder CFDs Finanzinstrumente sofort. 24. November 2016 Die Reihenfolge der Einträge in den Terminals und MetaEditor-Zeitschriften hat sich geändert. Vor dem Update wurden die neuesten Protokolleinträge zuerst angezeigt. Nun werden die ältesten Einträge am Anfang der Zeitschrift angezeigt. Eine konventionelle umgekehrte Sortierreihenfolge erleichtert das Lesen der Zeitschrift. Darüber hinaus ist es jetzt möglich, die Zeit - und Ausgangsspalten mit dem Journal-Kontextmenü zu verbergen. Im Hedging-Modus wird nun das Ticket einer geschlossenen Position für die Aufträge und Deals im Handelsverlauf angezeigt. Dies erleichtert das Auffinden entsprechender Öffnungs - und Schließvorgänge. Ein Fehler, der das Kopieren von SLTP aus einer vorhandenen Position zu einer neuen Position auf demselben Instrument verursacht hat, wurde behoben. Der Fehler kann auftreten, wenn Sie One-Click-Trading-Funktionen (z. B. aus dem Chart oder aus dem Market Watch-Fenster) im Hedging-Modus verwenden. Feste Anzeige von Pfeilobjekten auf Ultra-High-Definition-Bildschirmen (4K). Es wurde eine neue ArrayPrint-Funktion hinzugefügt, die einfache Typen und Strukturen für das Array-Protokoll druckt. ArrayPrint druckt nicht alle Felder eines Strukturarrays, um Arrayfelder zu protokollieren, und Zeigerfelder von Objekten werden übersprungen. Wenn Sie alle Felder einer Struktur drucken möchten, sollten Sie eine benutzerdefinierte Funktion für den Massendruck mit einer gewünschten Formatierung verwenden. Fehler beim Hinzufügen von Strings vom Typ S1S2S1 Das Verhalten der ArrayResize-Funktion hat sich geändert. Wenn -1 als Reserveparameter übergeben wird, gibt die Funktion nur unbenutzten (reservierten) Speicher frei, wenn die Funktion die Arraygröße nicht erhöht. Das Einstellen der neuen Arraygröße auf 0 mit reservesize-1 entspricht dem ArrayFree-Aufruf. Das neue Verhalten ermöglicht die Optimierung der Speicherauslastung in MQL5-Programmen. Chart Zeichnungsfunktionen wurden der Standardbibliothek hinzugefügt. Um die neue Funktionalität zu nutzen, schließen Sie MQL5IncludeGraphicsGraphic. mqh in Ihr Projekt ein. Erstellen eines Diagramms auf Basis von drei Datenreihen mit GraphPlot: Das Ergebnis: Plotten eines Diagramms auf Basis eines Datenarrays mit GraphPlot: Das Ergebnis: Aktualisierte Funktionen zur mathematischen Statistik Die Standardbibliothek. Wir haben die Qualität und Genauigkeit aller Funktionen sowohl in der MQL5-Version als auch in der R-Sprache gründlich überprüft. Unit-Tests werden zusammen mit der statischen Bibliothek verteilt die Tests ermöglichen die Kontrolle über die Genauigkeit und Performance-Geschwindigkeit. Sie sind im Verzeichnis MQL5ScriptsUnitTestsStat. TestStat. mq5 verfügbar. Das Haupttestskript für die Überprüfung der Berechnungsergebnisse TestPrecision. mq5 Test der Berechnungspräzision TestBenchmark. mq5 der Test umfasst die Berechnung der Leistungsmessung Die aktualisierte Version bietet erweiterte Einstellungen für die Konfiguration von Ausführungsverzögerungen während des Testens. Jetzt können Sie Ihre Expert Advisors in einer Vielzahl von Handelsbedingungen testen, einschließlich der ideale Fall ohne Verzögerung und jede benutzerdefinierte Einstellung verzögern. Nur der zufällige Verzögerungsmodus war in früheren Versionen verfügbar. Fixed Erzeugung der Tick-Volumen von Bars in der M1-basierte OHLC-Modus. Feste Spezifikation der Order - und Positionsöffnungszeit bis zu Millisekunden beim Handel im Hedging-Modus. Fester alter Tickfehler, der bei Multi-Currency - oder Multi-Timeframe-Tests im Real Ticks-Modus auftreten könnte. Verbesserte CopyTicks Leistung Geschwindigkeit, wenn die angeforderten Zecken aus einer Datenbank auf einem Datenträger gelesen werden. MetaEditor Das Kontextmenü im Navigator und in der Toolbox enthält nun Befehle für die Arbeit mit dem versionierten Quellcode-Repository MQL5 Storage. Es wurde ein Fehler behoben, durch den die Integrität der lokalen MQL5-Speicherdatenbank gelegentlich unterbrochen werden konnte, wenn mehr als 1024 Dateien im Repository verwendet wurden. Feste Anzeige des Dateibaums von MQL5 Storage. Feste Dateianzeige nach einem Massentextwechsel. 24. November 2016 Verbesserungen des One-Click-Trading-Panels auf dem Chart: Es ist nun auch im Portrait-Modus verfügbar. Das Handelsvolumen kann schnell geändert werden, indem ein gewünschter Wert aus der Liste ausgewählt wird. Das Diagrammsymbol kann nun durch Antippen des Symbolnamens im Fensterkopf geändert werden. Verbesserungen im Bereich der App-Einstellungen: Jetzt enthält es Informationen über das aktuelle Konto, ordnungsgemäß angeordneten Einheiten und verbessertes Design. Mehrere Verbesserungen und Korrekturen. 14 Oktober 2016 Tooltips für die Schaltflächen Kaufen, Verkaufen und Schließen wurden in Handelsdialogen hinzugefügt. Die Tooltips enthalten Informationen über die Sicherheit, die während der Operation gekauft oder verkauft werden soll, damit Anfänger den Handelsprozess verstehen können. Neue Icons von Aufträgen, Deals und Positionen wurden auf den Registerkarten Trading und History hinzugefügt. Das aktualisierte Terminal bietet eine optimierte und viel schnellere (bis zu 4-5 mal) Anzeige und Aktualisierung der Markttiefe, des Tick-Charts in der Market-Tiefe und Des Time amp Verkaufsdaten. Die Synchronisation der Tick-History während der Nicht-Handelszeiten wurde behoben. Der Prozess könnte in einigen Fällen eine übermäßige Menge an Netzwerkverkehr verbrauchen. Eine MQL5-Version der ALGLIB-Bibliothek für numerische Analysen wurde in die Standardbibliothek aufgenommen. Lineare Algebra Systeme linearer und nichtlinearer Gleichungen Interpolation Optimierung Fast Fourier Transformation Numerische Integration Lineare und nichtlineare kleinste Fehlerquadrate Ordentliche Differentialgleichungen Sonderfunktionen Deskriptive Statistik und Hypothesentests Datenanalyse - Klassifikation, Regression Implementierung von Algorithmen der linearen Algebra, Interpolation, Präzisions-Arithmetik (mit MPFR) ALGLIB-Dateien befinden sich in MQL5IncludeMathAlglib. Um die Funktionen zu verwenden, fügen Sie die Hauptbibliotheksdatei in Ihr Programm ein: Mathematische Statistikfunktionen wurden in die Standardbibliothek aufgenommen. MQL5 bietet nun die Funktionalität der R-Sprache. Das eines der besten Werkzeuge für die statistische Datenverarbeitung und - analyse ist. The statistical library contains functions for calculating the statistical characteristics of data, as well as functions for operations with statistical distributions: Functions for the calculation of statistical characteristics of array elements Options for operations with statistical distributions: normal distribution, lognormal distribution, beta distribution, etc. The statistical library files are located in MQL5IncludeMathStat. To use the library, add the file with required functions into your program, for example: The detailed description of the library functions is available in the article Statistical Distributions in MQL5 - Taking the Best of R . The MQL5 version of the Fuzzy library has been included into the Standard Library. The Fuzzy library implements Mamdani and Sugeno fuzzy inference systems. 13 membership functions Flexible form for developing fuzzy system rules Mamdani fuzzy inference system Sugeno fuzzy inference system 5 defuzzification method for Mamdani-type systems Unlimited amount of input and output variables Fuzzy Library files are located in MQL5IncludeMathFuzzy. To use the library, add the file with required functions into your program, for example: A detailed description of the library is available in the Code Base: Fuzzy - library for developing fuzzy models New property CHARTQUICKNAVIGATION allows enablingdisabling quick navigation bar in the chart. If you need to modify and access the property state, use the ChartSetInteger and ChartGetInteger functions. The navigation bar is opened by pressing Enter or Space. It allows you to quickly move to the specified date on the chart, as well as to switch symbols and timeframes. If your MQL5 program processes Enter or Space key pressing, disable the CHARTQUICKNAVIGATION property, in order to avoid interception of these events by the terminal. The quick navigation bar can still be opened by a double click. New functions FileLoad and FileSave have been added. They provide an easy method to read and save arrays to files. Unlike FileRead and FileWrite, these functions do not require the indicator handle. FileLoad and FileSave operate with arrays of numeric types, as well as with simple structures that do not have strings, dynamic arrays or class objects. An example of how to write ticks to a file and then read them:Modified display of custom indicators with the DRAWCANDLES drawing mode. Now it is possible to set from one to three colors for this mode. The display of candlesticks depends on how many colors are set. If one color is specified . all candlesticks on the chart will be fully painted in this color. If two colors are specified . one color is used for candlestick edges, the other one is used for the body. If three colors are specified . one color is used for candlestick edges, two other colors are used for the bodies of bullish and bearish candlesticks. The DRAWCANDLES style allows setting custom colors of candlesticks. All colors can also be changed dynamically while the indicator is running, using the function PlotIndexSetInteger(drawingindexDRAWCANDLES, PLOTLINECOLOR, modifiernumber, color) where modifiernumber can have the following values: 0 the color of edges and shadows 1 the color of the bullish candlestick body 2 the color of the bearish candlestick body Fixed bugs and improved operation with the tick history using CopyTicks functions. Starting with the new build, operators can be used in interfaces (was not allowed before). Fixed an error that could lead to the repeated request to sign in to MQL5munity when buying products from the Market. Added UI translation into Greek, Malay and Hebrew. 29 September 2016 MetaTrader 5 web platform: Code optimization and new interface features Added the ability to re-size the web application blocks, including Market Watch and price chart windows. Added the ability to sort by columns in Trade and History tabs of Toolbox window. The column width can be changed. Added Details tab and the ability to quickly add a symbol. Optimized the code to increase the overall web terminal operation speed. Account initialization, adding symbols and trading itself are now performed even faster. 26 September 2016 Changed Trade section display trading data representation now depends on the risk management system on a trading account: Retail Forex, CFD, Futures or Exchange model. Moved interface language selection to a separate menu item in the general settings. Fixes and improvements. 26 September 2016 MetaTrader 5 Android build 1372 The platform supports the multi-window mode allowing traders to monitor price changes on multiple symbols simultaneously. Added the ability to change an indicator subwindow height. Now, the mobile platform features a symbol fast selection button and a separate menu of chart settings. Added the ability to edit indicator levels. The interface is translated into Bulgarian. 16 September 2016 Implemented the new algorithm of forming the Exposure tab for an exchange market. Now, the platform adapts the display of assets depending on the risk management system applied to a trading account: Retail Forex, CFD, Futures or Exchange model. The Assets section is helpful for those trading Forex or futures at an exchange showing their current status on the market. Same currencies can be found in a variety of different symbols: as one of the currencies in a pair, as a base currency, etc. For example, you may have oppositely directed positions on GBPUSD, USDJPY and GBPJY. In this situation, it is very difficult to understand how much currency you have and how much you need. Having more than three positions further complicates the task. In this case, the total account status can be easily seen in the Assets tab. Lets use the same three positions as an example: Buy GBPJPY 1 lot at 134.027 received 100 000 GBP, given 134 027 000 JPY Sell USDJPY 1 lot at 102.320 given 100 000 USD, received 102 320 000 JPY Sell GBPUSD 1 lot at 1.30923 given 100 000 GBP, received 103 920 USD We have bought and sold 100 000 GPB simultaneously. We have 0 GBP, and the Assets tab does not display this currency. As of USD, we gave a currency in one case and received it in another. The Assets tab calculates the final outcome and adds it to the current balance since the deposit currency is USD as well. JPY participated in two deals meaning that the tab displays its total value. Those using the exchange model can use the section to understand how their money is used. Unlike the previous model, the funds are withdrawnadded right when deals are performed. For example, if you buy EURRUB, you receive EUR at once while the appropriate sum in RUB is withdrawn from the balance. During trading, the account balance may even become negative: when you use borrowed money while purchased assets are used as the collateral. In this case, the Assets tab allows you to easily understand the trading account status. Additionally, you can see the liquidation value here amount of funds on the account and the price (result) of closing all current positions at the market price. Fixed deal type display in the history of trading operations. Terminal: Fixed repeated risk notification window display when re-connecting to a trading account. Optimized and fixed working with the trading symbol selection dialog in case of a large number of symbols (several thousands and more). Fixed display of levels of built-in indicators calculated based on Moving Average (Bollinger Bands, Adaptive Moving Average, etc.). Previously, an error occurred when plotting indicators in a separate subwindow. Fixed an error that could occasionally interfere with placing a futures contract order in case an order price coincides with the upper or lower contract price limit. Optimized and accelerated compilation of MQL5 applications. Added support for final and override modifiers for classes, structures and functions. final modifier for classes and structures The presence of the final modifier when declaring a structure or a class prohibits the further inheritance from it. If there is no need to make any further changes in the class (structure) or such changes are unacceptable for security reasons, declare that class (structure) with the final modifier. In this case, all class methods are also implicitly considered final. When attempting to inherit from a class with the final modifier as shown above, the compiler displays an error: cannot inherit from CFoo as it has been declared as final see declaration of CFoo override modifier for functions The override modifier means that a declared function should always override the parent class method. Using the modifiers allows you to avoid errors when overriding, such as accidental change of a method signature. For example, the func method accepting the int type variable is defined in the base class: The method is overridden in the inherited class: But the argument type is mistakenly changed from int to short. In fact, the method overload instead of overriding is performed in that case. While acting according to the overloaded function definition algorithm. the compiler may in some cases select a method defined in the base class instead of an overridden one. In order to avoid such errors, the override modifier should be explicitly added to the overridden method. If the method signature is changed during the overriding process, the compiler cannot find the method with the same signature in the parent class issuing the compilation error: CBar::func method is declared with override specifier but does not override any base class method final modifier for functions The final modifier acts in the opposite way it disables method overriding in derived classes. If the method implementation is self-sufficient and fully completed, declare it with the final modifier to ensure it is not changed later. When attempting to override a method with the final modifier as shown above, the compiler displays an error: CFoo::func method declared as final cannot be overridden by CBar::func see declaration of CFoo::func Fixed compiling template functions with default parameters. Fixed a few errors in sorting Market products. Fixed updating the current market prices for open orders and positions in the visual testing mode. Removed slippage during Buy Limit and Sell Limit order execution when testing using exchange symbols. Fixed occasional generation of incorrect prices in Open prices testing mode. Fixed generation of OnTradeTransaction events when testing. When testing based on real ticks, the data on the mismatch of tick prices (bid or last depending on the price used to generate a bar) and low or high values of the existing minute bar appears in the tester log. MetaEditor Fixed displaying the data profiling in source code files. 19 August 2016 The client terminal now provides for faster sending of trading commands. Fixed an error which prevented execution of MQL5 applications in terminals running in 32-bit Windows 10, build 1607. The Navigator now displays whether a trading account is operating in the Hedging or Netting mode. A new context menu command has been added to the Navigator, it allows to connect to a web terminal using a selected account. The Help section of the menu has been updated, now it features links to video guides . Error fixes connected with operation on high-resolution displays (4K). Fixed errors in Persian translation of the user interface. Added new void pointers to enable users to create abstract collections of objects. A pointer to an object of any class can be saved to this type of variable. It is recommended to use the operator dynamiccastltclass name gt(void pointer) in order to cast back. If conversion is not possible, the result is NULL. Added support for the operatorfor strings. The operator enables users to get a symbol from a string by index. If the specified index is outside the string, the result is 0. Added a second version of the TesterInit event handler with the int OnTesterInit(void) signature, which can return INITSUCCEEDED (0) or INITFAILED (or any non-zero value). If OnTesterInit returns a non-zero value, the optimization will not begin. Fixed an error, which could lead to different results returned by different ChartGetString overloaded functions. Added new commands and hot keys for visual testing. Now it is possible to configure charts in the visual tester like in the terminal: to change colors, to control visibility of various elements, to apply templates, etc. Fixed operation of the Sleep function in the Open prices testing mode. Fixed formation of incorrect state of bars on timeframes W1 and MN1. MetaEditor Added UI translation into Traditional Chinese. Updated documentation.8 August 2016 MetaTrader 5 iOS build 1371 A new design of messages. Now, MQL5munity messages and push notifications from the desktop platform are displayed as chats similar to popular mobile messengers. Now it is possible to switch to one of the 23 available languages straight from the platform. For example, if you prefer to use the English interface, you can choose it in the About page without changing the language setting of your device. 5 August 2016 New built-in MQL5munity chat. New option for transferring SSL certificates from a desktop platform. New interface translations into Persian and Dutch. 17 July 2016 The Time amp Sales feature has been added to the Market Depth. What is Time amp Sales The Time amp Sales feature provides the price and time of every trade executed on the exchange. Information on every trade includes the time when the trade was executed, its direction (buying or selling), as well as the price and volume of the trade. For easy visual analysis, different colors are used to indicate different trade directions: blue is used for Buy trades, pink for Sell trades, green means undefined direction. Trade volumes are additionally displayed in a histogram. How Time amp Sales can help you understand the market The Time amp Sales feature provides tools for a more detailed market analysis. The trade direction suggests who has initiated the trade: the buyer or the seller. The volume of trades allows traders to understand the behavior of market participants: whether the trades are performed by large or small market players, as well as estimate the activity of the players. The trade execution speed and the volume of trades on various price levels help traders to estimate the importance of the levels. How to use Time amp Sales data In addition to the visual analysis of the table, you can save the details of trades to a CSV file. Further, they can be analyzed using any other software, such as MS Excel. The file contains comma-separated data: Time, Bid, Ask, Last, Volume, Type 2016.07.06 16:05:04.305,89360,89370,89370,4,Buy 2016.07.06 16:05:04.422,89360,89370,89370,2,Buy 2016.07.06 16:05:04.422,89360,89370,89370,10,Buy 2016.07.06 16:05:04.669,89360,89370,89370,1,Buy 2016.07.06 16:05:05.968,89360,89370,89360,7,Sell If you want to save data to a file, open the context menu: The brokers platform should be updated to version 1375, in order to enable proper detection of trade direction. The time between the arrival of a new tickMarket depth change and call of OnTick and OnCalculate has been significantly reduced. Also the time between the arrival of a trade state change event and call of OnTick and OnCalculate has been reduced. Now MQL5 programs provide a faster response to market events. Trade requests are now sent faster when extended authentication with SSL certificates is used. User interface translation into Persian has been updated. Fixed display of SLTP setting commands in the context menu of the chart when working in the hedging mode. A new tester feature allows requesting tick history while testing using the CopyTicks function. In earlier versions, access to ticks was not available in the Strategy Tester. In the Every tick mode, the function will return the history of generated ticks. It is possible to request up to 128,000 last ticks. In the Every tick based on real ticks mode, the function will return the history of real ticks. The depth of the requested data depends on the availability of history data. However, note that last 128,000 ticks are cached in the Strategy Tester, and the request will be performed quickly. A deeper history is requested from a hard disk, so the request execution can take much more time. The function will not work in the modes Open price only and 1 minute OHLC, because tick history is not created in these modes. Added support for milliseconds. In previous versions, the time quantum in the Strategy Tester was equal to one second. Now the EventSetMillisecondTimer and Sleep functions are more accurate in the Tester. The accuracy of tick feeding during multi-currency EA testing has been increased. In earlier versions, if one second contained multiple ticks (i. e. the tick volume of a one-minute bars exceeded 60), the same time was set for all these ticks. It does not matter when testing single-currency Expert Advisor, because ticks are sequentially passed to the Expert Advisor. However, when you test an Expert Advisor on multiple pairs, it is important to know the pair, from which the tick has arrived first. In earlier versions, ticks of each symbol were passed to the Expert Advisor sequentially: first, all the ticks within one second for one symbol, then all the ticks for another symbol. Now they are sent taking into account milliseconds. When real ticks are used in testing, milliseconds are taken from the source tick data. When ticks are generated, milliseconds are set in accordance with the tick volume. For example, if 3 ticks fit within one second, their millisecond time will be equal to 000, 333 and 666. In the Open prices only and 1 minute OHLC modes, pending and SLTP orders are now executed at the requested price, not the current price at the time of execution. The algorithm of execution at market prices used in accurate modes (every tick and real ticks), is not suitable for less accurate modes. In some modes intermediate ticks are not generated, therefore the difference between the requested order price and the current price (Open or OHLC) can be significant. Execution of orders at the requested price in the Open prices only and 1 minute OHLC provides more accurate testing results. Added support for forward testing in the visual mode. Now two separate windows are opened for back and forward testing, allowing users to compare Expert Advisor performance on different time intervals. The forward testing window is only opened after testing on the main period is completed. Now, instead of the margin level, the load on the deposit is displayed on the main testing chart. The load is calculated as the marginequity ratio. Fixed calculation of commission as a percentage per annum during testing. Fixed calculation and display of balance on the chart generated in the process of testing. The behavior of the OrderSend function during order placing, modification, and canceling has changed. The changes only apply to orders sent to external trading systems. In earlier version, OrderSend function control was returned after the order has been successfully placed (handled) on the brokers server. Now the control is only returned after the brokers server receives a notification from an external trading system notifying that the order has been successfully placed in that system. The below diagram shows the previous (red arrow) and current behavior of the function: A new field in the MqlTradeResult structure: retcodeexternal - an error code in the external trading system. The use and types of these errors depend on the broker and the external trading system, to which trading operations are sent. For example, retcodeexternal values filled by Moscow Exchange differ from those returned by DGCX. New properties in the ENUMCHARTPROPERTYSTRING enumeration: CHARTEXPERTNAME and CHARTSCRIPTNAME. Now, the ChartGetString function allows users to find out the name of an Expert Advisor andor script attached to a chart which is defined by the chartid parameter. Fixed occasional error, due to which copying of the close by operation could fail. Improved automated matching of currency pairs containing RUB and RUR. Fixed sorting by product category. MetaEditor Fixed setting of focus in the replace text field when opening a replace dialog box. Fixed replacing of multiple text occurrences when you search upwards starting from the current positions. 5 July 2016 After two months of public testing, the web version of the multi-asset MetaTrader 5 platform has been officially released. It allows trading Forex and exchanges from any browser and operating system. Only Internet connection is necessary, no software installation is required. The application combines the key advantages of the desktop platform (high speed, support for multiple markets and expanded trading functions) with the convenience of the cross-platform nature of the web terminal. The key feature of the release version is the depth of market, which was not present in the beta version. The web platform allows traders to perform technical analysis and trading operations just like in the desktop version. The web platform provides the following features: Netting and hedging position accounting systems 31 technical indicators 23 analytical objects One-click trading and full set of trading orders Interface in 41 languages 19 May 2016 It is now much easier to transfer SSL certificates from the desktop platform to the mobile one. You no longer need iTunes to do that. MetaTrader 5 allows you to add an extra protection to your account by using a certificate. Without the certificate, connection is impossible. If the certificate was created in the desktop version, you should transfer it to be able to enter your account via a mobile device. To do this, open a desktop platform, right-click the necessary account in the Navigator window, and select Transfer. Set the certificate password which is known only to you, open the mobile platform, and connect to your account. You will be immediately offered to import the certificate. Besides, the latest version features the migration dialog for accounts transferred from MetaTrader 4. If your account has been transferred to the 5th generation platform, you are warmly greeted, provided with information on the new features, and offered to change your password. 13 May 2016 Now certificates used for the advanced security connection can be conveniently transfered from the desktop platform to mobile terminals. The trading platform supports extended authentication by protecting a trade account using an SSL certificate in addition to a password. The certificate is a file that is individually generated for an account on the trade server. This file is unique, and account connection is not possible without the certificate. In the earlier platform versions, any certificate requested and generated from the desktop terminal needed to be manually copied and installed on the device to enable use of the trading account from the MetaTrader 5 Mobile for iPhoneiPad or Android. Now, certificates can be conveniently transfered. The Process of Certificate Transfer A certificate is transfered via a trade server: A certificate is first encrypted on the desktop terminal: the account owner sets the password for certificate encryption using the secure AES-256 algorithm. This password is only know to the user, while it is not sent to the server. Further, the encrypted certificate is sent to the trade server, where it is stored until the mobile terminal receives it, but no more than one hour. To receive the certificate on a mobile device, the user must connect to the trading account from the mobile terminal. After connecting, the user is prompted to import the certificate. To proceed with the import, the user needs to specify the password that was used for the certificate encryption on the desktop terminal. Certificate transfer process is secure: the trade server is only used as an intermediate storage, while the certificate is encrypted on the clients side. The certificate password is not transmitted to or stored on the trade server. How to Transfer a Certificate Connect to your account from the desktop terminal and select Transfer Certificate in its context menu: Enter the master password of the account to confirm that it belongs to you. Next, set a password to protect the certificate before sending it to the server. Set a password that has at least 8 digits. After successfully sending the certificate to the server, open the mobile terminal and connect to your account. You will immediately be prompted to import the certificate. Confirm and enter the password that you have set from the desktop terminal. You can view the imported certificate in the About Certificates section. Updated MetaTrader 5 Platforms for iPhoneiPad and Android supporting certificate transfer will be released soon. An updated algorithm for the execution of pending orders, as well as SL ans TP, which provides more accurate testing conditions. Advanced options of visual testing. Whats New for Exchange Instruments In the real market, charts of exchange-traded instruments are generated based on Last price information (the price of the last executed deal). Stop Orders also trigger at the Last price. Limit orders trigger at Bid and Ask prices. All types of orders are always executed at the current market BidAsk prices. The Strategy Tester has been updated and now better emulates real market conditions: The price specified in the order for all types of Pending Orders and SLTP BidAsk at the time of order triggering for all types of Pending Orders and SLTP Let us consider an example of the Si-6.16 symbol. A new Buy Stop order with the trigger price 72580 is set while the current prices are: Bid72570, Ask72572, Last72552. New current prices are received in a price stream: A trigger for Stop-Orders of exchange instruments is the Last price. So the Last price72580 received in the stream activates the Buy Stop order. In the earlier versions, the same price would be used to execute this order. This behavior is incorrect, because there is no Ask72580 in the market to execute the Buy transaction. The current Ask72590 is used in the updated tester version, so the Buy Stop order is executed at this price. The new trade execution algorithm in the Tester is closer to real market conditions. The trade operation would be executed at a non-market price when using the previous algorithm, which would lead to inaccurate testing results. Whats New for Other Instruments The algorithm has not changed for other instruments: BidAsk prices are used for all types of pending orders, as well as for SL and TP. However, the execution mode has changed: in earlier versions, orders were executed at the price specified in the order. Now market Bid and Ask prices as of the time of order activation are used. Whats New in Visual Testing During visual testing, the bars High Ask and Low Bid price lines are now shown in the tester. On such charts, it is more convenient to test Expert Advisors that trade exchange instruments, because bars of such instruments, as well as order triggering are based on the Last prices, while market operations are executed at Bid and Ask prices. New option on the visual testing chart: navigation to a specified date. Double-click on the chart and enter the desired date and time. It is also possible to navigate to any order or trade: double-click on the appropriate trading operation on the Trade, History or Operations tab. Expanded logging of information about price and tick history loaded before testing start. The log now contains information about the completion of history loading, as well as the amount of data downloaded and time spent: 2016.05.10 12:47:53 Core 1 5.10 Mb of history processed in 0:00.842 2016.05.10 12:47:53 Core 1 GBPUSD: history synchronization completed 5225 KbFixed behavior of the CopyTicks function: it could return fewer ticks than was requested. Fixed generation of template functions. Updated documentation. Fixed errors reported in crash logs. 12 May 2016 The beta version of the MetaTrader 5 Web Platform has been released. The new product combines convenience and cross-platform nature of the web terminal with the advantages of the desktop version of MetaTrader 5 speed, support for multiple markets, and expanded trading functions. The MetaTrader 5 web platform is available on the MQL5munity. and it allows traders to perform trading operation on financial markets from any browser and any operating system, including Windows, Mac, and Linux. You only need to have an Internet connection. No additional software is required. The following features are available in the beta version: Hedging system 30 technical indicators 23 analytical objects Full set of MetaTrader 5 trading orders Interface in 41 languages The release of the beta version aims to provide global public testing and to allow traders to evaluate the new capabilities.22 April 2016 We have added the second accounting system hedging, which expands the possibilities of retail Forex traders. Now, it is possible to have multiple positions per symbol, including oppositely directed ones. This paves the way to implementing trading strategies based on the so-called locking if the price moves against a trader, they can open a position in the opposite direction. Since the new system is similar to the one used in MetaTrader 4, it will be familiar to traders. At the same time, traders will be able to enjoy all the advantages of the fifth platform version filling orders using multiple deals (including partial fills), multicurrency and multithreaded tester with support for MQL5 Cloud Network. and much more. Now, you can use one account to trade the markets that adhere to the netting system and allow having only one position per instrument, and use another account in the same platform to trade Forex and apply hedging. Opening a hedge account and viewing position accounting type A position accounting system is set at an account level and displayed in the terminal window header and the Journal: To open a demo account with hedging, enable the appropriate option: Netting system With this system, you can have only one common position for a symbol at the same time: If there is an open position for a symbol, executing a deal in the same direction increases the volume of this position. If a deal is executed in the opposite direction, the volume of the existing position can be decreased, the position can be closed (when the deal volume is equal to the position volume) or reversed (if the volume of the opposite deal is greater than the current position). It does not matter, what has caused the opposite deal an executed market order or a triggered pending order. The below example shows execution of two EURUSD Buy deals 0.5 lots each: Execution of both deals resulted in one common position of 1 lot. Hedging system With this system, you can have multiple open positions of one and the same symbol, including opposite position. If you have an open position for a symbol, and execute a new deal (or a pending order triggers), a new position is additionally opened. Your current position does not change. The below example shows execution of two EURUSD Buy deals 0.5 lots each: Execution of these deals resulted in opening two separate positions. New trade operation type - Close By The new trade operation type has been added for hedging accounts closing a position by an opposite one. This operation allows closing two oppositely directed positions at a single symbol. If the opposite positions have different numbers of lots, only one order of the two remains open. Its volume will be equal to the difference of lots of the closed positions, while the position direction and open price will match (by volume) the greater of the closed positions. Compared with a single closure of the two positions, the closing by an opposite position allows traders to save one spread: In case of a single closing, traders have to pay a spread twice: when closing a buy position at a lower price (Bid) and closing a sell position at a higher one (Ask). When using an opposite position, an open price of the second position is used to close the first one, while an open price of the first position is used to close the second one. In the latter case, a close by order is placed. Tickets of closed positions are specified in its comment. A pair of opposite positions is closed by two out by deals. Total profitloss resulting from closing the both positions is specified only in one deal. In addition to hedging support, the new platform version provides wider opportunities for migrating accounts from MetaTrader 4. Now, brokers can automatically transfer accounts to MetaTrader 5, including all operations: open and pending orders, and complete trading history. A welcome dialog appears when first connecting to the account migrated from MetaTrader 4. Data transmission is securely encrypted during migration. To get started, specify the password of your account that you used in MetaTrader 4, and then set a new password. Once connected, you will be able to continue using your account, just as if it has been opened in MetaTrader 5. The complete history of all trades from MetaTrader 4 is automatically added to the new account. The tickets of orders and positions (including history orders) are not preserved during import, because one history record from MetaTrader 4 can be imported as up to 4 history operations in MetaTrader 5. New tickets are assigned to all trading records. The account numbers can be preserved or replaced depending on how the broker imports them. Added the Chat. Now, you can communicate with your MQL5munity friends and colleagues. The chat displays all personal messages from your MQL5 account. To start communicating, log in to your account directly from the chat window or via the platform settings: Tools - gt Options - gt Community. Simplified demo account creation dialog, added ability to create hedge accounts. You do not have to fill the large form any more. Simply specify basic data and select trading parameters: account type, deposit, leverage, and hedging ability. Added automatic allocation of a demo account for quick start. If the platform has no accounts yet, a demo account on the first available trade server is allocated during the launch. After successful opening, connection to the account is established immediately. Now, each position has a ticket a unique number. It usually matches the ticket of an order used to open the position except when the ticket is changed as a result of service operations on the server, for example, when charging swaps with position re-opening. A ticket is assigned automatically to all available positions after the terminal update. Fixed setting Stop Loss and Take Profit levels when placing a market order leading to a position reversal. Until recently, no appropriate levels were set for a new position. Fixed displaying prices with four and more decimal places on the one-click trading panel elements. Fixed displaying news in the print preview window. Fixed tick chart display. Fixed opening the Market Depth after the terminal emergency shutdown. Added a check if market orders are allowed when displaying one-click trading panel control elements. Optimized profit and margin calculation in case of a large number of open orders and positions. Added translation of the user interface into Malay. Fully revised the user manual. New design, interactive screenshots and embedded videos learn trading in MetaTrader 5 with maximum convenience: Fixed display of graphical objects in the Chart on foreground mode. Added ability to test trading robots and technical indicators in real tick history. Testing and optimization on real ticks are as close to real conditions as possible. Instead of generated ticks based on minute data, it is possible to use real ticks accumulated by a broker. These are ticks from exchanges and liquidity providers. To start testing or optimization in real ticks, select the appropriate mode in the strategy tester: Tick data has greater size compared to minute one. Downloading it may take quite a long time during the first test. Downloaded tick data is stored by months in TKC files in basestrade server nametickssymbol name. Testing on real ticks When testing on real ticks, a spread may change within a minute bar, whereas when generating ticks within a minute, a spread fixed in the appropriate bar is used. If the Market Depth is displayed for a symbol, the bars are built strictly according to the last executed trade price (Last). Otherwise, the tester first attempts to build the bars by Last prices, and in case of their absence, uses Bid ones. OnTick event is triggered on all ticks regardless of whether the Last price is present or not. Please note that trading operations are always performed by Bid and Ask prices even if the chart is built by Last prices. For example, if an Expert Advisor using only bar open prices for trading (i. e. the built-in Moving Average) receives a signal at Last price, it performs a trade at another price (Bid or Ask depending on the direction). If Every tick mode is used, the bars are built by Bid prices, while trades are performed by Bid and Ask ones. The Ask price is calculated as Bid fixed spread of a corresponding minute bar. If a symbol history has a minute bar with no tick data for it, the tester generates ticks in the Every tick mode. This allows testing the EA on a certain period in case a brokers tick data is insufficient. If a symbol history has no minute bar but the appropriate tick data for the minute is present, these ticks are ignored. The minute data is considered more reliable. Testing on real ticks in the MQL5 Cloud Network Testing on real ticks is available not only on local and remote agents, but also through the MQL5 Cloud Network. Optimization of a strategy that could take months, can be completed in a few hours using the computing power of thousands of computers. To test a strategy using the MQL5 Cloud Network, enable the use of cloud agents: Tests on real ticks using the MQL5 Cloud Network can consume a lot of data. This can significantly affect the payment for the use of the network power. Fixed an error that hindered the calculation of commission on several trading symbol types. Fixed filling Expert field for trading orders resulting from SLTP activation according to the Expert field of the corresponding position. Previously, it was not filled. Fixed switching to usual and forward optimization results tabs. Fixed calculation and display of the Envelopes indicator. Optimized visual testing. Optimized profit and margin calculation in case of a large number of open orders and positions. Optimized trading operations during high-frequency trading. Now, history synchronization is not performed if a request for non-critical symbols properties (not requiring the current quotes) has been made. For example, SYMBOLSELECT, SYMBOLDIGITS, SYMBOLSPREADFLOAT, SYMBOLTRADECALCMODE, SYMBOLTRADEMODE, SYMBOLTRADESTOPSLEVEL, SYMBOLTRADEFREEZELEVEL, SYMBOLTRADEEXEMODE, etc. Previously, the non-critical symbol history was synchronized at any request for its property. Fixed calculation of swaps as a percentage per annum. The format of the executable EX5 files has changed to implement the new features of the MQL5 language and the new hedging option in MetaTrader 5. All EX5 applications compiled in previous builds of MetaEditor will work properly after the update, i. e. the upward compatibility is fully preserved. EX5 programs compiled in build 1325 and above will not run in old terminal builds - backward compatibility is not supported. Added support for abstract classes and pure virtual functions. Abstract classes are used for creating generic entities that you expect to use for creating more specific derived classes. An abstract class can only be used as the base class for some other class, that is why it is impossible to create an object of the abstract class type. A class which contains at least one pure virtual function in it is abstract. Therefore, classes derived from the abstract class must implement all its pure virtual functions, otherwise they will also be abstract classes. A virtual function is declared as pure by using the pure-specifier syntax. Consider the example of the CAnimal class, which is only created to provide common functions the objects of the CAnimal type are too general for practical use. Thus, CAnimal is a good example for an abstract class: Here Sound() is a pure virtual function, because it is declared with the specifier of the pure virtual function PURE (0). Pure virtual functions are only the virtual functions for which the PURE specifier is set: (NULL) or (0). Example of abstract class declaration and use: Restrictions on abstract classes If the constructor for an abstract class calls a pure virtual function (either directly or indirectly), the result is undefined. However, constructors and destructors for abstract classes can call other member functions. Added support for pointers to functions to simplify the arrangement of event models. To declare a pointer to a function, specify the pointer to a function type, for example: Now, TFunc is a type, and it is possible to declare the variable pointer to the function: The funcptr variable may store the function address to declare it later: Pointers to functions can be stored and passed as parameters. You cannot get a pointer to a non-static class method. MqlTradeRequest features two new fields:position position ticket. Fill it when changing and closing a position for its clear identification while trading in hedging mode. In the netting system, filling the field does not affect anything since positions are identified by a symbol name. positionby opposite position ticket. It is used when closing a position by an opposite one (opened at the same symbol but in the opposite direction). The ticket is used only in the hedging system. Added TRADEACTIONCLOSEBY value to the ENUMTRADEREQUESTACTIONS enumeration of trading operation types close a position by an opposite one. The ticket is used only in the hedging system. Added trading operation tickets to the enumerations of the appropriate order, deal, and position properties:Added ORDERTICKET property to ENUMORDERPROPERTYINTEGER order ticket. Unique number assigned to each order. Added DEALTICKET property to ENUMDEALPROPERTYINTEGER deal ticket. Unique number assigned to each deal. Added POSITIONTICKET property to ENUMPOSITIONPROPERTYINTEGER position ticket. Unique number assigned to each newly opened position. It usually matches the ticket of an order used to open the position except when the ticket is changed as a result of service operations on the server, for example, when charging swaps with position re-opening. To find an order used to open a position, apply the POSITIONIDENTIFIER property. POSITIONTICKET value corresponds to MqlTradeRequest::position. Added ORDERTYPECLOSEBY value to the ENUMORDERTYPE order type enumeration close by order. Added ORDERPOSITIONBYID value to the ENUMORDERPROPERTYINTEGER order property enumeration opposite position identifier for ORDERTYPECLOSEBY type orders. Added DEALENTRYOUTBY value to the ENUMDEALENTRY deal direction enumeration a deal is performed as a result of a close by operation. MqlTradeTransaction also features the two similar fields:position ticket of a position affected by transaction. It is filled for transactions related to handling market orders (TRADETRANSACTIONORDER except TRADETRANSACTIONORDERADD, where a position ticket is not assigned yet) and order history (TRADETRANSACTIONHISTORY). positionby opposite position ticket. It is used when closing a position by an opposite one (opened at the same symbol but in the opposite direction). It is filled only for orders closing a position by an opposite one (close by) and deals closing by an opposite one (out by). Added PositionGetTicket function return a position ticket by an index in the list of open positions and automatically select that position for further work using the PositionGetDouble, PositionGetInteger, and PositionGetString functions. Added PositionSelectByTicket function select an open position for further work by a specified ticket. Added SYMBOLMARGINHEDGED value to the ENUMSYMBOLINFODOUBLE trade symbol property enumeration size of a contract or margin for one lot of hedged positions (oppositely directed positions at one symbol).If the initial margin (SYMBOLMARGININITIAL) is specified for a symbol, the hedged margin is specified as an absolute value (in monetary terms). If the initial margin is not set (equal to 0), a contract size to be used in the margin calculation is specified in SYMBOLMARGINHEDGED. The margin is calculated using the equation that corresponds to a trade symbol type (SYMBOLTRADECALCMODE). Margin calculation for hedged positions is described in details in the MetaTrader 5 trading platform Help. Added ACCOUNTMARGINMODE value to the ENUMACCOUNTINFOINTEGER account property enumeration mode of margin calculation for the current trading account:ACCOUNTMARGINMODERETAILNETTING used for the over-the-counter market when accounting positions in the netting mode (one position per symbol). Margin calculation is based on a symbol type (SYMBOLTRADECALCMODE). ACCOUNTMARGINMODEEXCHANGE used on the exchange markets. Margin calculation is based on the discounts specified in symbol settings. Discounts are set by the broker, however they cannot be lower than the exchange set values. ACCOUNTMARGINMODERETAILHEDGING used for the over-the-counter market with independent position accounting (hedging, there can be multiple positions at a single symbol). Margin calculation is based on a symbol type (SYMBOLTRADECALCMODE). The hedged margin size (SYMBOLMARGINHEDGED) is also considered. Added TERMINALSCREENDPI value to the ENUMTERMINALINFOINTEGER client terminal property enumeration data display resolution is measured in dots per inch (DPI). Knowledge of this parameter allows specifying the size of graphical objects, so that they look the same on monitors with different resolution. Added TERMINALPINGLAST value to the ENUMTERMINALINFOINTEGER client terminal properties the last known value of a ping to a trade server in microseconds. One second comprises of one million microseconds. Fixed return of the SendFTP function call result. Previously, FALSE was returned after a successful sending instead of TRUE. MQL5: Fixed an error in StringConcatenate function that occasionally caused Access violation execution error. Fixed a few errors occurred when working with template functions. Added ability to display lines exceeding 4000 characters for Print, Alert, and Comment functions. Fixed an error in ArrayCompare function that occurred when comparing an array to itself but with different initial position shift from the beginning. Added support for hedging to Standard Library:CPosition Added methods: SelectByMagic select position by a magic number and symbol for further work. SelectByTicket select position by a ticket for further work. CTrade Added methods:RequestPosition receive a position ticket. RequestPositionBy receive an opposite position ticket. PositionCloseBy close a position with the specified ticket by an opposite position. SetMarginMode set margin calculation mode according to the current account settings. Added overloading for the methods:PositionClose close position by ticket. PositionModify modify position by ticket. CAccountInfo Changed the methods:MarginMode receive margin calculation mode. Until recently, the method worked similarly to the new StopoutMode method. MarginDescription receive margin calculation mode as a string. Until recently, the method worked similarly to the new StopoutModeDescription method. Added methods:StopoutMode receive minimum margin level specification mode. StopoutModeDescription receive minimum margin level specification mode as a string. CExpert Added methods:SelectPosition select a position for further work. Added a few improvements to the Standard Library. Fixed unloading of DLLs. Added support for template class constructors. Fixed a few trading signals showcase display errors. MetaEditor Fixed search of words by files in Match Whole Word Only mode. Added moving to a file by double-clicking on the necessary files compilation result line. Fixed display of some control elements in Windows XP. Updated documentation.
No comments:
Post a Comment