MQL5-RPC. Remote Procedure Calls von MQL5, mit Web Service Access und XML-RPC-ATC-Analysator
MQL5-RPC. Remote Procedure Calls von MQL5, mit Web Service Access und XML-RPC-ATC-Analysator
In diesem Artikel wird das MQL5-RPC-System beschrieben, das Remote Procedure Calls von MQL5 ermöglicht. Zuerst wird auf die Grundlagen XML-RPC eingegangen, dann folgt die MQL5 Implementierung und zwei Bespiele aus dem echten Leben. Beim ersten Beispiel wird ein externer Webdienst verwendet, beim zweiten ein Client für den einfachen Analysator Dienst XML-RPC ATC 2011. Wenn Sie sich für Implementierungen und Analysen von verschiedenen Statistiken des ATC 2011 in Echtzeit interessieren, dann ist dieser Artikel das Richtige für Sie.
Nutzung von Pseudo-Templates als Alternative für C++-Templates
Nutzung von Pseudo-Templates als Alternative für C++-Templates
Dieser Beitrag beschreibt eine Art der Programmierung ohne Templates, allerdings unter Beibehaltung des ihnen eigenen Programmierstils. Er schildert die Implementierung von Templates mithilfe von benutzerdefinierten Methoden und bietet ein vorgefertigtes, angehängtes Script zur Erstellung eines Codes auf Basis festgelegter Templates.
Die Interaktion von MetaTrader 5 und MATLAB
Die Interaktion von MetaTrader 5 und MATLAB
Dieser Beitrag beschäftigt sich mit den dEtailös der Interaktion zwischen MetaTrader 5 und dem MatLab Mathematik-Paket. Er erklärt die Mechanismen der Datenkonvertierung, den Entwicklungsprozess einer universellen Library, die mit dem MATLAB-Desktop interagieren kann. Zudem wird auch die Verwendung von DLL erklärt, die durch die MatLab Umgebung erzeugt werden. Dieser Beitrag richtet sich an bereits erfahrene Leser, die C++ und MQL5 kennen.
Datenaustausch zwischen Terminals via Internet mit Hilfe von WinInet.dll
Datenaustausch zwischen Terminals via Internet mit Hilfe von WinInet.dll
Dieser Beitrag beschreibt die Prinzipien der Arbeit mit dem Internet mittels Verwendung von HTTP-Anfragen sowie den Datenaustausch zwischen Terminals mit Hilfe eines Zwischenservers. Eine MqlNet Library-Klasse wird vorgestellt, die die Arbeit mit Internet-Ressourcen in der MQL5-Umgebung erlaubt. Kontrolle der Preise verschiedener Makler, Austausch von Nachrichten mit anderen Händler ohne Verlassen des Terminals, Suche nach Informationen im Internet – das sind nur einige Beispiele, die in diesem Beitrag behandelt werden.
Leitfaden zum Schreiben einer DLL für MQL5 in Delphi
Leitfaden zum Schreiben einer DLL für MQL5 in Delphi
Dieser Beitrag befasst sich mit dem Mechanismus zur Erstellung eines DLL-Moduls mithilfe der beliebten Programmiersprache ObjectPascal innerhalb einer Delphi-Programmierumgebung. Die Inhalte dieses Beitrags richten sich mit der Einbindung äußerer DLL-Module vorrangig an Neueinsteiger in der Programmierung, die mit Problemen kämpfen, die die Grenzen der eingebetteten Programmiersprache MQL5 sprengen.
Elektronische Tabellen in MQL5
Elektronische Tabellen in MQL5
Dieser Beitrag beschreibt eine Klasse eines dynamischen zweidimensionalen Arrays, die in ihrer ersten Dimension Daten verschiedener Typen enthält. Diese Daten in Form einer Tabelle abzulegen, ist zur Lösung von vielen Problemen bei der Anordnung, Speicherung und der Arbeit mit gebundenen Informationen unterschiedlicher Arten sehr bequem. Der Quellcode der Klasse, die Funktionalität mit Tabellen arbeiten zu können, implementiert, ist an diesen Beitrag angehängt.
Die Verwendung von WinInet in MQL5   Teil 2:  POST-Anfragen und -Dateien
Die Verwendung von WinInet in MQL5 Teil 2: POST-Anfragen und -Dateien
In diesem Artikel werden wir uns weiterhin mit den Grundlagen von internetbasierten HTTP-Anfragen und dem Informationsaustausch mit Servern befassen. Es werden neue Funktionen der CMqINet-Klasse, Methoden der Informationsübertragung mit Formularen, das Senden von Dateien mit POST-Anfragen sowie Autorisierungen auf Webseiten mit Ihrem Login unter Verwendung von Cookies behandelt.
Praktische Anwendung von Datenbanken für die Marktanalyse
Praktische Anwendung von Datenbanken für die Marktanalyse
Die Arbeit mit Daten ist zur Hauptaufgabe moderner Software geworden, sowohl autonomer als auch vernetzter Programme. Dazu wurde eine besondere Form von Software entwickelt. Diese Programme zur Verwaltung von Datenbanken (DBMS) ermöglichen die Strukturierung, Systematisierung und Organisation von Daten für ihre Speicherung und Verarbeitung auf Computern. Was den Börsenhandel betrifft, nutzen nur die wenigsten Analysten Datenbanken für ihre Arbeit. Es gibt jedoch Aufgaben, für die eine solche Lösung geeignet sein müsste. In diesem Beitrag wird ein Beispiel für Indikatoren vorgestellt, die sowohl unter einer Client-Server- als auch einer Datei-Server-Architektur Daten in Datenbanken speichern sowie aus diesen laden können.
Wie Sie OpenCl öffnen und für Kalkulationen verwenden.
Wie Sie OpenCl öffnen und für Kalkulationen verwenden.
Es ist nun schon mehr als ein Jahr her, dass MQL5 OpenCL unterstützt. Allerdings haben noch nicht sehr viele Benutzer den wahren Wert von paralleler Datenverarbeitung (Parallel Computing) bezüglich Expert Advisors, Indikatoren oder Skripten erkannt. Dieser Artikel soll Ihnen dabei helfen, OpenCL auf Ihrem Computer zu installieren als auch einzurichten, so dass Sie diese Technologie in Ihrem MetaTrader-5-Handelsterminal verwenden können.
Erweiterung der MQL5-Standardbibliothek und Wiederverwendung von Code
Erweiterung der MQL5-Standardbibliothek und Wiederverwendung von Code
Die MQL5-Standardbibliothek erleichtert Ihnen das Leben als Entwickler. Dennoch geht sie nicht auf die Bedürfnisse aller Entwickler auf der Welt ein. Wenn Sie also das Gefühl haben, dass Sie mehr benutzerdefinierte Funktionen brauchen, können Sie einen Schritt weitergehen und die Bibliothek erweitern. Dieser Beitrag begleitet Sie durch die Integration des technischen Indikators ZigZag von MetaQuotes in die Standardbibliothek. Wir lassen uns durch die Designphilosophie von MetaQuotes inspirieren, um unser Ziel zu erreichen.
Wie man auf die MySQL-Datenbank von MQL5 (MQL4) aus zugreift
Wie man auf die MySQL-Datenbank von MQL5 (MQL4) aus zugreift
Dieser Beitrag beschreibt die Entwicklung einer Schnittstelle zwischen MQL und der MySQL-Datenbank, diskutiert bestehende praktische Lösungen und bietet eine bequemere Art der Implementierung einer Library zur Arbeit mit Datenbanken an. Zudem enthält er eine detaillierte Beschreibung der Funktionen, der Struktur der Schnittstelle, Beispiele und einige der spezifischen Merkmale der Arbeit mit MySQL. Was die Software-Lösungen angeht, finden sich im Anhang an diesen Beitrag die Dateien der dynamischen Libraries, Dokumentationen und Script-Beispiele für die MQL4 und MQL5 Sprachen.
Versetzen Sie Ihre MQL5-Kunden mit einem Mix an verschiedenen Technologien ins Staunen!
Versetzen Sie Ihre MQL5-Kunden mit einem Mix an verschiedenen Technologien ins Staunen!
MQL 5 versorgt Programmierer mit einem sehr umfassenden Set an Funktionen und objektorientierten Anwendungsprogrammschnittstellen, die ihnen eine - eine MetaTrader-Umgebung vorausgesetzt - nahezu unendliche Handlungsfreiheit verleihen. Web-Technologien stellen heute ein äußerst mächtiges Instrument dar, das Ihnen in vielen verschiedenen Situationen gute Dienste kann - wenn Ihnen beispielsweise die Zeit fehlt, einen bestimmten Teil der MT5-Standard-Library zu meistern - bzw. das Ihnen dabei hilft, Ihre Kunden einfach nur ins Staunen zu versetzen. Die heutige Übung soll Ihnen als ein praktisches Beispiel dafür dienen, wie Sie Ihre Entwicklungszeit beschleunigen, als auch einen wahren Cocktail an Technologien hervorbringen können.
Fertige Expert Advisors von MQL5 Wizard laufen auf MetaTrader 4
Fertige Expert Advisors von MQL5 Wizard laufen auf MetaTrader 4
Im Artikel wird ein einfacher Emulator der MetaTrader 5 Handelsumgebung für den MetaTrader 4 vorgestellt. Mithilfe des Emulators werden Handelsklassen der Standardbibliothek übertragen und angepasst. Dementsprechend können die Expert Advisors, die MetaTrader 5 Wizard erzeugt, in MetaTrader 4 kompiliert und unverändert gestartet werden.
Gegenläufig gerichteter Handel und Sicherung von Positionen in MetaTrader 5 mithilfe der HedgeTerminalApi, Teil 2
Gegenläufig gerichteter Handel und Sicherung von Positionen in MetaTrader 5 mithilfe der HedgeTerminalApi, Teil 2
Bei diesem Beitrag handelt es sich um die Fortsetzung des Artikels Gegenläufig gerichteter Handel und Sicherung von Positionen in MetaTrader 5 mithilfe der HedgeTerminalApi, Teil 1. Im zweiten Teil geht es um Fragen zur Einbindung unserer Expert-Systeme sowie anderer in MQL5 geschriebener Programme in die Bibliothek der HedgeTerminalApi. Dieser Beitrag widmet sich der Darstellung der Arbeit mit dieser Bibliothek. Mit ihrer Hilfe können Sie Expert-Systeme für den Handel in unterschiedliche Richtungen erstellen und in einer praktischen und einfachen Handelsumgebung arbeiten.
Datenaustausch: Erstellen einer DLL für MQL5 in 10 Minuten
Datenaustausch: Erstellen einer DLL für MQL5 in 10 Minuten
Nicht allzu viele Entwickler erinnern sich noch daran, wie eine simple DLL geschrieben wird und was die Besonderheiten der unterschiedlichen Systemanbindungen sind. Anhand mehrerer Beispiele werde ich versuchen, Ihnen den gesamten Prozess zur Erstellung einer simplen DLL in 10 Minuten zu zeigen, sowie einige technische Einzelheiten der Umsetzung unserer Anbindung zu besprechen. Ich zeige Ihnen den Prozess der DLL-Erstellung in Visual Studio Schritt für Schritt mit Beispielen für den Austausch unterschiedlicher Typen von Variablen (Zahlen, Arrays, Strings usw.). Außerdem erkläre ich, wie Sie Ihr Client Terminal vor Abstürzen in benutzerdefinierten DLLs schützen können.
Eine DLL-freie Lösung für die Kommunikation zwischen Terminals von MetaTrader 5 mithilfe von Named Pipes
Eine DLL-freie Lösung für die Kommunikation zwischen Terminals von MetaTrader 5 mithilfe von Named Pipes
Dieser Beitrag beschreibt die Umsetzung der Interprozesskommunikation zwischen Client Terminals von MetaTrader 5 mithilfe von Named Pipes. Für die Nutzung von Named Pipes wird die Klasse CNamedPipes entwickelt. Um sie zu testen und um den Durchsatz der Verbindung zu messen, werden die Scripts für den Tick-Indikator, den Server und den Client vorgestellt. Die Nutzung von Named Pipes ist für Echtzeitgebote geeignet.
Arbeit mit einem GSM-Modem über einen Expert Advisor in MQL5
Arbeit mit einem GSM-Modem über einen Expert Advisor in MQL5
Es gibt derzeit ausreichend viele Möglichkeiten für die bequeme Remote-Überwachung eines Handelskontos: mobile Terminals, Push-Benachrichtigungen, Arbeiten mit ICQ. Doch all das erfordert eine Internetverbindung. Dieser Beitrag beschreibt die Erstellung eines Expert Advisors, der es Ihnen ermöglicht, mithilfe von Anrufen und SMS mit Ihrem Handelsterminal in Verbindung zu bleiben, auch wenn keine mobile Internetverbindung verfügbar ist.
SQL und MQL5: Mit der SQLite Datenbank arbeiten
SQL und MQL5: Mit der SQLite Datenbank arbeiten
Dieser Beitrag richtet sich an Entwickler, die in ihren Projekten gerne SQL verwenden möchten. Er erklärt die Funktionsweise und Vorteile von SQLite. Für diesen Beitrag sind keine speziellen Kenntnisse der SQLite-Funktionen nötig, doch ein Grundverständnis von SQL wäre durchaus hilfreich.
Den Ballast selbstgemachter "dynamischer Programmbibliotheken" loswerden
Den Ballast selbstgemachter "dynamischer Programmbibliotheken" loswerden
Wenn der Funktionsumfang der Programmiersprache MQL5 zur Erfüllung bestimmter Aufgaben nicht ausreicht, muss sich ein MQL5-Programmierer weiterer Hilfsmittel bedienen. Ein Weg besteht im Wechsel zu einer anderen Programmiersprache und dem Anlegen einer zwischengelagerten dynamischen Programmbibliothek (DLL). MQL5 bietet die Möglichkeit, unterschiedliche Datenarten abzubilden und sie an eine Programmierschnittstelle (API) weiterzugeben, leider ist MQL5 jedoch nicht in der Lage, das Problem des Auszugs von Daten aus einer zugelassenen Speicheradresse zu lösen. In diesem Beitrag wollen wir auf jedes „i“ einen Punkt setzen und einige einfache Mechanismen für den Austausch und die Arbeit mit komplexen Datenarten vorstellen.
Wie man mit einem UML-Werkzeug einen Expert Advisor entwickelt
Wie man mit einem UML-Werkzeug einen Expert Advisor entwickelt
In diesem Artikel wird die Erstellung von Expert Advisors mittels UML (Unified Modeling Language) beschrieben, einer Modellierungssprache, die für die bildliche Modellierung von objektorientierten Softwaresystemen verwendet wird. Der Hauptvorteil dieses Ansatzes ist die Verbildlichung des Modellierungsprozesses. In diesem Artikel wird auch ein Beispiel vorgestellt, das die Modellierung von Struktur und Eigenschaften eines Expert Advisors mit dem Programm "Software Ideas Modeler" zeigt.
Mit MetaTrader 5 via Named Pipes ohne DDLs kommunizieren
Mit MetaTrader 5 via Named Pipes ohne DDLs kommunizieren
Viele Entwickler sehen sich mit demselben Problem konfrontiert: Wie kreiert man eine Sandboxumgebung für ein Handelsterminal ohne unsichere DLLs zu benutzen. Eine der leichtesten und zugleich sichersten Methoden besteht in der Verwendung standardisierter Named Pipes, die normale Dateioperationen gewährleisten. Diese ermöglichen eine Interprozessor-Client-Server basierte Kommunikation zwischen Programmen. Werfen Sie einen Blick auf die praktischen C++- und MQL5-Beispiele, einschließlich Server, Client, den Datenaustausch zwischen beiden sowie den Benchmark-Test.
Aufbau eines Social-Technology Startups, Teil I: Ihre MetaTrader 5 Signale twittern
Aufbau eines Social-Technology Startups, Teil I: Ihre MetaTrader 5 Signale twittern
Heute erfahren wir, wie man einen MetaTrader 5 Terminal mit Twitter verbindet, damit Sie die Handelssignale Ihres EAs twittern können . Wir entwickeln ein Soziales Entscheidungsunterstützungssystem in PHP, das auf einem RESTful Webdienst beruht. Diese Idee stammt von einem besonderen Konzept automatischen Handels, dem sog. computergestützten Handel. Wir möchten, dass die kognitiven Fähigkeiten von tatsächlichen Händlern, diese Handelssignale filtern, die sonst von Expert Advisors automatisch auf dem Markt platziert werden würden.
Erzeugung von Multi-Expert Advisors auf Grundlage von Handelsmodellen
Erzeugung von Multi-Expert Advisors auf Grundlage von Handelsmodellen
Der Einsatz des Objekt-orientierten Ansatzes in MQL5 erleichtert die Erzeugung von Multi-Currency/Multi-System und Multi-Timeframe Expert Advisors ganz erheblich. Stellen Sie sich nur vor, Ihr einziger EA handelt mit mehreren Dutzend Handelsstrategien auf allen verfügbaren Instrumenten und allen möglichen Zeitrahmen ! Und zusätzlich kann er im Tester problemlos getestet werden und hat zudem für alle, in dieser Zusammenstellung eingeschlossenen Strategien ein oder mehrere Arbeitssysteme zur Geldverwaltung.
Diagramme in HTML
Diagramme in HTML
Es ist heutzutage schwierig, einen Computer zu finden, auf dem kein Web-Browser installiert ist. Browser werden seit langer Zeit weiterentwickelt und ständig verbessert. In diesem Beitrag wird eine einfache und sichere Art der Erstellung von Diagrammen auf Basis von Informationen aus dem MetaTrader 5 Client Terminal besprochen, die im Browser angezeigt werden.
Die Rolle von statistischen Verteilungen für die Arbeit eines Händlers
Die Rolle von statistischen Verteilungen für die Arbeit eines Händlers
Dieser Beitrag ist eine logische Fortsetzung meines Beitrags Statistische Verteilungen von Wahrscheinlichkeiten in MQL5, in dem die Klassen für die Arbeit mit einigen theoretischen statistischen Verteilungen dargelegt wurden. Da wir nun über die theoretische Grundlage verfügen, schlage ich vor, dass wir direkt mit realen Datensätzen fortfahren und versuchen, diese Grundlage für Informationszwecke zu nutzen.
OpenCL: Die Brücke zu parallelen Welten
OpenCL: Die Brücke zu parallelen Welten
Ende Januar 2012 kündigte die Softwareentwicklungsfirma, die hinter der Entwicklung von MetaTrader 5 steht, die native Unterstützung von OpenCL in MQL5 an. Dieser Beitrag legt anhand eines anschaulichen Beispiels die Programmiergrundsätze für OpenCL in der MQL5-Umgebung dar und liefert einige Beispiele für die "naive" Optimierung des Programms, um die Betriebsgeschwindigkeit zu erhöhen.
Erstellung der Dokumentation basierend auf Quellcodes von MQL5
Erstellung der Dokumentation basierend auf Quellcodes von MQL5
Der Artikel beschäftigt sich mit der Erstellung der Dokumentation zu einem Code in MQL5 und beginnt mit der Automatisierung der Platzierung von Tags. Weiter wird die Arbeit mit dem Programm Doxygen beschrieben, ihre Konfiguration und das Erhalten von Ergebnissen in verschiedenen Formaten: in HTML, HtmlHelp und in PDF.
Reguläre Ausdrücke für Trader
Reguläre Ausdrücke für Trader
Reguläre Ausdrücke (eng. regular expressions) stellen eine spezielle Sprache für die Textverarbeitung nach einer vorbestimmten Regel dar, die auch als Muster bezeichnet wird oder die Maske eines regulären Ausdrucks. In diesem Artikel zeigen wir Ihnen, wie Sie den Handelsbericht mit Hilfe von der Bibliothek RegularExpressions für MQL5 verarbeiten können, auch werden die Ergebnisse der Optimierung mit ihrer Anwendung demonstriert.
Cross-Plattform Expert Advisor: Eigene Stopps, Breakeven und Trailing
Cross-Plattform Expert Advisor: Eigene Stopps, Breakeven und Trailing
Dieser Artikel beschreibt, wie nutzerdefinierte Stopps in einem plattformübergreifenden Expert Advisor eingerichtet werden können. Darüber hinaus wird eine eng verwandte Methode diskutiert, mit der das Nachziehen von Stopps für die Dauer einer Position entwickelt werden können.
Cross-Plattform Expert Advisor: Stopps
Cross-Plattform Expert Advisor: Stopps
Dieser Artikel beschreibt eine Implementierung von Stopps in einem Experten Advisor, die mit den beiden Plattformen MetaTrader 4 und MetaTrader 5 kompatibel ist.
Tiefe neuronale Netzwerke (Teil I). Datenaufbereitung
Tiefe neuronale Netzwerke (Teil I). Datenaufbereitung
Diese Artikelserie setzt das Thema "Tiefe neuronale Netzwerke" (DNN) fort, die in der letzten Zeit in vielen angewandten Bereichen einschließlich Trading verwendet werden. Es werden neue Themenbereiche betrachtet; anhand praktischer Experimente werden neue Methoden und Ideen geprüft. Der erste Artikel dieser Serie beschäftigt sich mit der Datenaufbereitung für DNN.
Selbstoptimierung der Experten: evolutionäre und genetische Algorithmen
Selbstoptimierung der Experten: evolutionäre und genetische Algorithmen
Im Artikel werden die Hauptprinzipien betrachtet, die in den Evolutionsalgorithmen versetzt sind, auch ihre Arten und die Besonderheiten. Auf dem Beispiel des einfachen Experten mit Hilfe der Experimente wird es vorgeführt, was unserem Handelnsystem die Anwendung der Optimierung geben kann. Wir betrachten die Programm-Pakete, die genetische, evolutionäre und andere Arten der Optimierung realisieren und führen die Anwendungsbeispiele bei einer Optimierung eines Prädiktor-Satzes und bei einer Optimierung des Handelnsystems hin.
Universeller Expert Advisor: Zugang zu Symboleigenschaften (Teil 8)
Universeller Expert Advisor: Zugang zu Symboleigenschaften (Teil 8)
Der achte Teil des Artikels beschreibt die Klasse CSymbol, ein spezielles Objekt, das Zugriff auf ein Handelssymbol ermöglicht. Wenn diese Klasse in einen Expert Advisor miteibezogen wird, bietet sie eine breite Palette von Symboleigenschaften und macht die Programmierung von Expert Advisors noch einfacher und multifuktionaler.
Verwendung eines Cloud-Speichers für den Datenaustausch zwischen Terminals
Verwendung eines Cloud-Speichers für den Datenaustausch zwischen Terminals
Immer beliebter werden die wolkigen Technologien. Sowohl kostenpflichtige, als auch kostenfreie Speicher stehen uns zur Verfügung. Können wir sie im Traiding verwenden? In diesem Artikel wird die Technologie für den Datenaustausch zwischen Terminals durch die Verwendung wolkiger Speichers angeboten.
Cross-Plattform Expert Advisor: Order-Manager
Cross-Plattform Expert Advisor: Order-Manager
Dieser Artikel behandelt das Erstellen eines Order-Managers für einen Cross-Plattform Expert Advisor. Der Order-Manager ist verantwortlich, für beide Versionen die Positionen eines Experten zu öffnen oder zu schließen, und die jeweiligen Datensätze für eine weitere Verwendung aktuell zu halten.