Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 251
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Was ist R?
Das ist die russische Art.
R ist eine algorithmische Sprache, die nicht sehr interessant ist. Das Interessanteste: R ist eine Statistiksoftware mit Grafiken.
Obwohl R als algorithmische Sprache nicht sehr interessant ist, rangiert es unter den algorithmischen Allzwecksprachen auf einem soliden 5.
Hier ist ein Bild.
R ist eine Abteilung von Microsoft. Sie müssen es von hier herunterladen.
R selbst besteht aus zwei Teilen: der algorithmischen Sprache selbst und Paketen.
Hier finden Sie eine alphabetische Liste der Pakete. Hier gibt es Fourier und Wavelets und eine Menge (sogar eine Menge) anderer Dinge.
Hier finden Sie eine Gruppierung der unter dem vorherigen Link aufgeführten Pakete nach thematischen Bereichen.
Wenn Sie das alles sehen, erschrecken Sie nicht. Es ist ein äußerst praktisches System.
1. Die Sprache R selbst ist sehr fortgeschritten, aber das erste Minimum kann in ein paar Stunden gemeistert werden, wenn Sie mindestens MKL besitzen
2) R ist ein Interpreter, so dass die Fehlersuche extrem einfach ist. Sie können jederzeit eine oder mehrere Linien ausprobieren. Die Installation und Ausführung der ersten Codezeilen dauert höchstens eine halbe Stunde.
3. Die schiere Anzahl der Pakete macht es nicht schwer, sie zu benutzen, weil man einfach ein Paket findet, an dem man interessiert ist, zum Beispiel für Wavelets, eine Funktion darin findet und sie ausführt. In der Regel handelt es sich dabei um eine oder mehrere Codezeilen.
Auf der Ebene des "Versuchs" sind die Dinge sehr einfach.
Viel Glück dabei.
aber niemand hat versucht, das Wissen in diesem Bereich auf die Vorhersage von Sportwetten - Tennis, Fußball usw. - anzuwenden oder Bots für Poker/Pref zu schreiben?
Gibt es eine große Stichprobe???
oder überhaupt eine Probe...?
dieselbe Sache...?
Gibt es eine große Stichprobe???
oder überhaupt eine Probe...?
das Gleiche...
Wenn Sie keine haben, heißt das nicht, dass Sie keine haben. Es gibt eine Online-Ressource für Tennisvorhersagen mit neuronalen Netzen, die nach eigenen Angaben über 800.000 Spielergebnisse analysiert haben.
Sogar ibm und Software schrecken nicht davor zurück, solche Projekte zu präsentieren.
Beim Poker kann man auch die Ergebnisse verschiedener Turniere abrufen.
das Gleiche...
Wenn Sie es nicht haben, bedeutet das nicht, dass Sie es überhaupt nicht haben. Es gibt eine Online-Ressource für auf neuronalen Netzwerken basierende Tennisprognosen. Sie sagen, dass sie über 800k Spielergebnisse analysiert haben.
Beim Poker können Sie auch Ergebnisse von verschiedenen Turnieren abrufen.
das Gleiche...
Wenn Sie es nicht haben, bedeutet das nicht, dass Sie es überhaupt nicht haben. Es gibt eine Online-Ressource für auf neuronalen Netzwerken basierende Tennisprognosen. Sie sagen, dass sie über 800k Spielergebnisse analysiert haben.
Beim Poker können Sie auch Ergebnisse von verschiedenen Turnieren abrufen.
das Gleiche...
Ich habe viel Erfahrung auf diesem Gebiet, aber haben Sie jemals versucht, diese Methode auf Sportwetten - Tennis, Fußball usw. - anzuwenden oder Bots für Poker/Pref zu schreiben?
Beim Poker wäre maschinelles Lernen meiner Meinung nach zu kompliziert und unverständlich, es ist ein Spiel mit geschlossenen Informationen.
Aber einfache Statistiken sollten ausreichen, um zu gewinnen.
Wenn Sie Ihre eigenen Karten und die Karten Ihrer Gegner kennen, können Sie die Optionen der Karten Ihrer Gegner durchgehen und Ihre Gewinnchancen einschätzen. Ferner auf der Grundlage des investierten Geldes (eigenes und gegnerisches) - zu beurteilen, ob sich der nächste Schritt lohnt. Auf die gleiche Weise können Sie eine Simulation der Ereignisse für einige Züge im Voraus hinzufügen, um die Tausenden von verschiedenen möglichen Situationen zu bewerten und den durchschnittlichen Gewinn zu berechnen. Korrekturfaktoren für Bluffen und Pech. Und die Erstellung von Profilen von Gegnern, um ihre Neigung zum Bluffen zu erkennen. Das sollte genügen.
Forum zum Thema Handel, automatische Handelssysteme und Testen von Handelsstrategien
GitHub-Dienst unterstützt jetzt MQL5 und MQL4
fxsaber, 2016.12.15 06:30
Bei der Suche auf githab kann man einige sehr interessante Lösungen finden.
https://github.com/femtotrader/rabbit4mt4
https://github.com/OpenTrading
Mit Python
Kompliziert und veraltet.
Durch "PythonInR" wird beliebiger .py-Code ohne Probleme ausgeführt.
Übrigens, zum Debuggen in RStudio führt NotebookR Python-Code als nativen Code aus.
Viel Glück!
Kompliziert und veraltet.
Durch "PythonInR" wird beliebiger .py-Code ohne Probleme ausgeführt.
Übrigens, zum Debuggen in RStudio führt NotebookR Python-Code als nativen Code aus.
Viel Glück!
Python ist großartig, aber Sie brauchen MKL4.
Es gibt einRserve-Paket. Hier ist meine Übersetzung des Kommentars
Rserve ist ein TCP/IP-Server, der es anderen Programmen ermöglicht, R-Tools aus anderen Sprachen zu verwenden, ohne R initialisieren oder mit einer R-Bibliothek verknüpfen zu müssen.Jede Verbindung hat einen eigenen Arbeitsbereich und ein eigenes Arbeitsverzeichnis. Client-Implementierungen sind für gängige Sprachen wie C/C++ und Java verfügbar. Rserve unterstützt Fernverbindung, Authentifizierung und Dateiübertragung.
Der Hauptzweck von Rserve besteht darin, eine Schnittstelle bereitzustellen, die von Anwendungen zur Durchführung von Berechnungen in R verwendet werden kann. Unsere Erfahrung mit anderen Kommunikationsmitteln hat gezeigt, dass bei der Entwicklung eines neuen Systems vor allem drei Dinge zu beachten sind: Trennung, Flexibilität und Geschwindigkeit.
Es ist wichtig, das R-System von der eigentlichen Anwendung zu trennen. Ein Grund dafür ist, jegliche Abhängigkeit von der Programmiersprache der Anwendung zu vermeiden, da die eigene direkte Schnittstelle zu R (Chambers, 1998) nur mit C anwendbar ist (R Working Group Development, 2003). Ein weiterer Aspekt ist die Tatsache, dass eine enge Integration mit R fehleranfälliger ist, da die Anwendung die Interna von R berücksichtigen muss. Auf der anderen Seite wollen Anwendungsentwickler, dass die Schnittstelle sehr flexibel ist und die meisten Funktionen von R nutzt. Schließlich ist die Geschwindigkeit ein Schlüsselelement, denn das Ziel ist es, dem Benutzer schnell die gewünschten Ergebnisse zu liefern, ohne dass er eine R-Sitzung von Grund auf neu beginnen muss.
Das Client-Server-Konzept ermöglicht es uns, alle drei Hauptanforderungen zu erfüllen. Die Berechnungen werden vom Rserve-Kern, dem Server, durchgeführt, der auf Anfragen von Clients wie Anwendungen antwortet. Die Kommunikation zwischen Rserve und dem Client erfolgt über Netzwerk-Sockets, in der Regel TCP/IP, aber auch andere Varianten sind möglich. Dies ermöglicht die Nutzung eines zentralen Rserve von entfernten Computern aus, die Nutzung mehrerer Rserve durch einen entfernten Client zur Verteilung der Berechnungen, aber auch die lokale Kommunikation auf einem einzelnen Rechner.
Ein einzelner Rserve kann mehrere Kunden gleichzeitig bedienen. Jede Rserve-Verbindung erhält ihren eigenen Datenbereich und ihr eigenes Arbeitsverzeichnis. Das bedeutet, dass das von einer einzelnen Verbindung erzeugte Objekt keine Auswirkungen auf andere Verbindungen hat. Darüber hinaus kann jede Verbindung lokale Dateien, wie z. B. vom Rserve-Bitmap-Geräterstellte Bilder, erzeugen , ohne andere Verbindungen zu stören. Jede Anwendung kann mehrere Verbindungen öffnen, um parallele Aufgaben zu erledigen.
Die Datenübertragung zwischen der Anwendung und dem Rserve erfolgt in binärer Form, um Geschwindigkeit zu erreichen und die Summe der übertragenen Daten zu minimieren. Zwischengeschaltete Objekte werden in Rserve gespeichert, so dass nur die für den Kunden interessanten Objekte übertragen werden müssen.
Rserve kommuniziert nicht nur mit dem R-Kernel, sondern verfügt auch über integrierte Authentifizierungs- und Dateiübertragungsprotokolle, die Rserve für den Einsatz auf einzelnen Rechnern geeignet machen. Die Benutzerauthentifizierung bietet eine zusätzliche Sicherheitsebene für die Fernnutzung. Die Dateiübertragung ermöglicht das Kopieren von Dateien, die für die Berechnung oder die Produktion von R benötigt werden, vom Client zum Server und umgekehrt.
Rserve unterstützt derzeit zwei Hauptgruppen von Befehlen für die Kommunikation mit R: die Erstellung von Objekten in R und die Auswertung von R-Code. Die meisten grundlegenden Objekte wie Zahlen, Zeichenketten oder Vektoren können durch direkte Addition erstellt werden. Der Inhalt der Objekte wird in binärer Form vom Client zum Server gesendet.
Dies ermöglicht einen effizienten Transport der für die Auswertung erforderlichen Daten. Alle Objekte werden immer wertmäßig übertragen, um den Datenraum von Client und Server zu trennen. Auf diese Weise können sowohl der Client als auch der Server die Daten jederzeit loswerden, was katastrophale Ausfälle verhindert, wie sie bei anderen Kommunikationsmethoden auftreten, bei denen die Systeme dieselben Daten physisch teilen.
Die zweite große Befehlsgruppe ist die R-Code-Auswertung. Im Gegensatz zur Erstellung eines Objekts wird ein solcher Code im Klartext an Rserve gesendet und so behandelt, als ob der Code an der Konsole in R eingegeben worden wäre. Das resultierende Auswertungsobjekt kann bei Bedarf in binärer Form an den Client zurückgegeben werden. Die meisten R-Typen werden unterstützt, darunter skalare Zahlen, Zeichenketten, Vektoren, Listen (also Klassen, Datenrahmen usw.), lexikalische Objekte usw. Dadurch kann Rserve alle Modelle an den Kunden zurückgeben. Der Kunde kann beschließen, keine nützlichen Objekte zu erhalten, indem er Zwischenobjekte in R einrichtet, die nicht direkt mit dem Kunden verbunden sind.
Rserve bietet zwei grundlegende Dienste zur Fehlerbehandlung. Die drei möglichen Auswertungsergebnisse sind eine erfolgreiche Auswertung, ein Laufzeitfehler durch Parserfehler und ein Codefehler. Der Status kehrt immer zur Client-Anwendung zurück, um die entsprechende Aktion zu ermöglichen. Da Rserve nur eine Schicht zwischen Anwendung und R ist, ist es immer noch möglich, die Behandlung eines Laufzeitfehlers in R selbst zu beeinflussen, z.B. durch eine fehlerhafte Option oder einen fehlerhaften Befehl.
Ein typischer Einsatz der Rserve-Tools besteht darin, alle erforderlichen Daten in R zu laden, Berechnungen entsprechend den Benutzereingaben durchzuführen, wie z. B. die Konstruktion von Modellen, und die Ergebnisse zur Anzeige an die Anwendung zurückzugeben. Alle Daten und Objekte bleiben bestehen, bis die Verbindung geschlossen wird. Dies ermöglicht es der Anwendung, die Verbindung frühzeitig zu öffnen, z. B. wenn der Benutzer zum ersten Mal einen Datensatz angibt, alle erforderlichen Daten an den Server zu übertragen und auf Benutzereingaben zu reagieren, indem die gewünschten Modelle oder Schätzungen umgehend berechnet werden. Da die Ergebnisse nicht in Textform vorliegen, entfällt das mühsame Parsen der Ergebnisse.
Die Schnittstelle zu Rserve ist modular und dokumentiert und ermöglicht den Zugriff auf Rserve von jeder Anwendungs- oder Programmiersprache, die Sockets unterstützt, einschließlich der gängigen Skript- und Programmiersprachen. Wir haben den Client für Rserve in reinem Java implementiert, der über eine Schnittstelle mit den meisten Rserve-Funktionen kommuniziert und alle für Rserve verfügbaren Objekte in eigenen Java-Objekten oder -Klassen abbildet. Die Verwendung des Java-Clients wird in diesem Abschnitt als Beispiel dargestellt.
Es gibt einJava-Paket, das den Zugang zu diesem Server ermöglicht.
Wenn wir dieses Paket vonJava nach MKL4.... umschreiben, erhalten wir echten Zugang zu R von EA