Forschung in Matrix-Paketen - Seite 5

 
Alexey Volchanskiy:

Toll, es ist mein erster Tag, an dem ich R lerne. Bitte beantworten Sie meine Fragen, ich möchte die Möglichkeiten von R und Matlab vergleichen. Aber seien Sie nicht feindselig, sondern vernünftig und ruhig :).

  1. Ist R eine Sprache mit OOP-Fähigkeiten?
  2. Kann ich R verwenden, um eine 32-Bit- und eine 64-Bit-DLL zur direkten Verwendung von MQL4/5 zu erstellen? Wenn ja, wie groß muss das Paket sein, das ich installieren muss, um eine solche DLL auf dem Computer eines Benutzers zu verwenden?
  3. Kann ich allgemeine DLLs für den direkten Zugriff von R aus verbinden?
  4. Gibt es ein Analogon zu Simulink in R?
  5. Warum betonen alle Rezensionen, dass R ein Statistikprogramm ist? Ich interessiere mich für DSP. Gibt es in R Pakete für digitale Signalverarbeitung?
  6. Verfügt R über ein eingebautes kompaktes Format zum Speichern von Daten, ähnlich den .mat-Dateien in Matlab?

1. Ja.

2. Warum? Sie benötigen eine einzige MT4R.dll, die das Gateway für die Übertragung von Daten an R und die Rückgabe von Ergebnissen ist.

3. Zu allen bestehenden Datenbanken. Und nicht nur das: Sowohl Microsoft als auch Oracle haben R in ihre Datenbanken integriert.

4. R bietet verschiedene Optionen für die Verbindung mit Matlab, vom einfachen Austausch von Matlab-Dateien bis zur Ausführung von Matlab-Funktionen aus R heraus. Wenn Sie Erfahrung in diesem Bereich haben, können Sie mit R eine hervorragende Matlab-MTterminal-Schnittstelle implementieren.

5. In R werden die Pakete für alle Richtungen einer Wissenschaft und Technik und unter Berücksichtigung der neuesten Errungenschaften realisiert. Sie können von hier aus starten.

6. Es gibt mehr als eine. Die häufigste ist ff.

Generell bin ich überrascht. Sie sind mitten im Nirgendwo. Schauen Sie sich die Artikel 1 und 2 auf dieser Website an, und Sie werden nicht viel verstehen, aber Sie werden eine Vorstellung davon bekommen, wie die Sprache funktioniert.

Ich beende gerade den zweiten Artikel über Deep Learning, der hoffentlich morgen zur Überarbeitung eingereicht wird und Beispiele von Experten enthalten wird... Wenn Interesse besteht, werde ich wohl mehrere Artikel über die erste Ebene schreiben (Filterung, Zerlegung, Vorhersage usw.). Und natürlich sollten Sie sich weiter mit Deep Learning beschäftigen, zumal Google seine TensorFlow-Bibliothek für alle geöffnet hat. Und es gibt andere, die nicht weniger interessant und vielversprechend sind (mxnet, pyBrain).

Wenn sich eine Gruppe von Enthusiasten zusammenfindet, können wir einen Zweig der R-Sprachbenutzer organisieren.

Viel Glück!

 
Alexey Volchanskiy:
Bitte beschreiben Sie den Prozess der Bearbeitung dieser DLL genauer. Und wo kann man es bekommen?
In meiner Antwort habe ich einige Links zu Artikeln angegeben. Dort gibt es Beispiele.
 
Im Archiv habe ich gutes Material auf Russisch gefunden
Введение в R
  • Alexander Novopoltsev
  • rstudio-pubs-static.s3.amazonaws.com
Установить среду R Установить графическую оболочкуRStudio. Установка R Markdown (для создания автоматически генерируемых отчетов): в RStudio автоматически при первом создании файла с расширением “.Rmd”. Установка библиотек расширений: набрать в консоли install.packages(“pname”), где “pname” - название библиотеки. Полный список библиотек по...
 
Renat Fatkhullin:

Lassen Sie uns darüber diskutieren, wie wir eine bessere Integration mit R erreichen können?

  1. Integration auf API-Ebene in R
  2. native Unterstützung für R-Pakete in MQL4/MQL5, so dass jede Funktionalität von Paketen direkt aufgerufen werden kann
  3. etwas anderes

Es ist ein interessantes Thema und kann gut entwickelt werden.

Hallo.

Ich möchte mich dem anschließen, was bereits gesagt wurde.

Option 1 wird aus mehreren Gründen bevorzugt:

  • Es sind keine drastischen Änderungen im Terminal und im Editor erforderlich.
  • Es wird nicht viel Zeit und Mühe von Ihnen erfordern, und wir können die Sprache R schnell und einfach in unseren Entwicklungen verwenden.
  • wird Ihnen die Möglichkeit geben, den Bedarf (die Notwendigkeit) für Ihre Kunden zu untersuchen. Im englischsprachigen Segment ist dieser Bedarf meiner Meinung nach hoch.
  • Wir wären weiterhin in der Lage, normale Entwicklungs- und Debugging-Tools (Rstudio, Jupiter, Knitr) zu verwenden.

Bei dieser Variante stellen wir lediglich den Datentransfer zum R-Prozess bereit und empfangen Daten von ihm. Was in MT4R.mqh zur Verfügung gestellt wird, ist mehr als genug für den Moment.

Das Einzige, was wir uns zusätzlich wünschen würden, ist die Einholung von Angeboten auf Anfrage durch einen R-Prozess unter Umgehung des Terminals. Dabei spielt es keine Rolle, ob die Daten aus lokalen Dateien/Puffern des Terminals oder direkt vom Server eines Maklerunternehmens stammen. Aber es ist kein entscheidender Wunsch.

Meine laienhafte Meinung ist, dassVariante 2 nicht nur im Terminal, sondern auch im Editor kardinale Änderungen erfordert. Und ich erinnere mich mit Schaudern an die letzte kardinale Neugestaltung des Terminals. Diese Variante kann gleichzeitig mit der Realisierung der ersten Variante entwickelt und implementiert werden, wenn sich die meisten Kunden an sie gewöhnt haben und vor allem, wenn sie die Vorteile der Verwendung dieser Sprache erkennen. Ideal ist natürlich die vollständige Integration von Terminal und Editor in die Sprache R.

Ich bin froh, dass Sie auf diese Richtung geachtet haben.

Viel Glück!

 
Renat Fatkhullin:

Lassen Sie uns darüber diskutieren, wie wir eine bessere Integration mit R erreichen können?

  1. Integration auf API-Ebene in R
  2. native Unterstützung für R-Pakete in MQL4/MQL5, so dass jede Funktionalität von Paketen direkt aufgerufen werden kann
  3. etwas anderes

Dies ist ein interessantes Thema, das gut ausgebaut werden könnte.

Ich habe mich immer gefragt, warum MT nicht in R enthalten ist?

Wenn man sich 15 Jahre MT anschaut, ist es eine evolutionäre Entwicklung, bei der die Funktionalität zunahm, aber die Hauptsache, der Kunde, gleich blieb. Es handelt sich um einen Pseudotrader, der TA als Werkzeug verwendet.

1. Die Einbeziehung von MT in R ermöglicht es Ihnen, sich der professionellen Gemeinschaft von Händlern anzuschließen, jenen Organisationen, in denen nicht nur Hunderte, sondern Tausende von Händlern professionelle Tools in Form von Statistik, Ökonometrie, maschinellem Lernen .... verwenden.

2. Es ist nicht unwichtig, dass die Einbeziehung von MÜ in R den Einsatz von MÜ im Unterrichtsprozess ermöglichen wird. Als ich einst mechanische Handelssysteme unterrichtete, entschied ich mich für Quick und Metastock, obwohl ich MT kannte, aber es hatte eine Sprache, die den Studenten beigebracht werden musste, und diese war nicht im Programm enthalten. Die Einbindung von MT in R mit der algorithmischen Sprache R als EA-Schreibwerkzeug beseitigt alle Lernprobleme - R wird außerhalb der Verbindung mit Terminals gelernt.

So wie ich es sehe:

1. MT selbst muss eine GUI in R sein (Beispiele sind verfügbar, ebenso wie ein Tool zur Erstellung einer solchen GUI - shiny). Es ist sehr wünschenswert, dass diese GUI eine Kopie von einem der Terminals ist, oder besser beide

2. die algorithmische Sprache R. Expert Advisors sind in der Sprache R geschrieben und alle spezifischen Handelsfunktionen sind als Paket implementiert. In diesem Fall bleibt die Syntax für den Aufruf spezieller Funktionen, soweit ich weiß, dieselbe. Dies ist eine Standardlösung, da die Leistung von der Sprache und der Qualität des Schreibens dieser Funktionen abhängt, und da sie in C geschrieben und seit vielen Jahren getestet wurden, werden die Leistungsergebnisse mit denen der bestehenden Funktionen vergleichbar sein. Ich möchte darauf achten, dass die Ausführungsgeschwindigkeit anderer, rechenintensiver Algorithmen in R maximal ist und nicht schlechter als ihre Implementierung in anderen Algorithmussprachen, da ein Programm in R normalerweise Pakete aufruft, die für rechenintensive Algorithmen nicht in R implementiert sind. Hinzu kommt, dass die übliche Praxis der Realisierung rechenintensiver Algorithmen die Auslastung aller Rechenkerne des Computers erfordert.

3. Meiner laienhaften Meinung nach werden die Arbeitskosten nicht sehr hoch sein, da die Beziehungen zwischen R und C sehr freundschaftlich sind und die interne Küche, die wir nicht sehen können, vom bestehenden Terminal zum neuen Terminal übertragen werden kann.

4. der Teil des Terminals, der von den Maklern gehalten wird, bleibt unverändert.

Sobald die erwähnten Pakete in den CRAN-Spiegeln enthalten sind, erlangen die Metazitate eine geringe Bekanntheit in weiten Kreisen statt einer großen Bekanntheit in engen Kreisen. Das Metakvot-Terminal wird keine Konkurrenten haben, da das einzige verfügbare R-Terminal IBrokers ist, das an bestimmte kostenpflichtige Makler gebunden ist.

 
СанСаныч Фоменко:

Ich habe mich immer gefragt, warum MT nicht in R enthalten ist?

Und ich habe mich immer gefragt, warum sie angefangen haben, selbst einen C-ähnlichen Compiler zu entwickeln (ich meine den frühen MQL4), anstatt einen fertigen freien C++-Compiler wie GCC zu verwenden.

Ich habe für große westliche Unternehmen gearbeitet, und niemand hat je daran gedacht, einen eigenen C++-Compiler für verschiedene eingebettete Anwendungen von Grund auf zu entwickeln. Sie haben immer gcc genommen und eine Portierung für einen bestimmten Prozessor gemacht.
Und nach der Tatsache zu urteilen, dass 2006 eine sehr erfolgreiche Portierung auf 4-Prozessor-DSP mit NEON-Architektur (bis zu 6 Anweisungen pro Takt pro Kern) vorgenommen wurde, ist dieser Compiler ziemlich flexibel für Anpassungen. D.h. der Compiler hat wirklich parallele Operationen mit durchschnittlich 2-4 Operationen pro Takt und Kern durchgeführt, nur die Engpässe mussten auf asm optimiert werden.

Und nun erinnern wir uns an die beschissene Sache, die MQL4 bis zur Version 600 war.

Nun zum Thema. Wie Renat erläuterte, war der Grund dafür der wahnsinnige Wunsch, einen Compiler mit dem Schutz vor Narren und Eindringlingen zu erstellen. Obwohl es vor der Version 600 nicht einmal so roch, war es eine Panne über eine Panne.

Aber wenn man seine Worte für bare Münze nimmt, wie sieht dann R unter dem Gesichtspunkt der Sicherheit aus? Ich bin ziemlich neu darin, ich arbeite seit 2000 mit Matlab, also erklären Sie es mir bitte, wenn Sie etwas wissen. Kann es Ausgabedateien wie MQL4/5-Compiler verschlüsseln?

Außerdem bleibt R, soweit ich verstanden habe, ein Interpreter, was bedeutet, dass es noch langsamer als das alte MQL4 und sicherlich um Größenordnungen langsamer als das heutige MQL5 sein wird.

 
Alexey Volchanskiy:

Ich habe mich immer gefragt, warum sie mit der Entwicklung eines C-ähnlichen Compilers (ich meine den frühen MQL4) begonnen haben, anstatt einen freien C++-Compiler wie GCC zu verwenden.

Ich habe für große westliche Unternehmen gearbeitet, und niemand hat je daran gedacht, einen eigenen C++-Compiler für verschiedene eingebettete Anwendungen von Grund auf zu entwickeln. Sie haben immer gcc genommen und eine Portierung für einen bestimmten Prozessor gemacht.
Und nach der Tatsache zu urteilen, dass 2006 eine sehr erfolgreiche Portierung auf 4-Prozessor-DSP mit NEON-Architektur (bis zu 6 Anweisungen pro Takt pro Kern) vorgenommen wurde, ist dieser Compiler ziemlich flexibel für Anpassungen. D.h. der Compiler hat wirklich parallele Operationen mit durchschnittlich 2-4 Operationen pro Takt pro Kern durchgeführt, nur die Engpässe mussten auf asm optimiert werden.

Und nun erinnern wir uns an die beschissene Sache, die MQL4 bis zur Version 600 war.

Nun zum Thema. Wie Renat erläuterte, war der Grund dafür der wahnsinnige Wunsch, einen Compiler mit dem Schutz vor Narren und Eindringlingen zu erstellen. Obwohl es vor der Version 600 nicht einmal so roch, war es eine Panne über eine Panne.

Aber wenn man seine Worte für bare Münze nimmt, wie sieht dann R unter dem Gesichtspunkt der Sicherheit aus? Ich bin ziemlich neu darin, ich arbeite seit 2000 mit Matlab, also erklären Sie es mir bitte, wenn Sie etwas wissen. Kann es Ausgabedateien wie MQL4/5-Compiler verschlüsseln?

Außerdem bleibt R, soweit ich weiß, ein Interpreter, was bedeutet, dass es noch langsamer sein wird als das alte MQL4 und sicherlich um Größenordnungen langsamer als das heutige MQL5.

Lesen Sie meine Beiträge über Geschwindigkeit. Kurz und bündig. R ist größtenteils eine Shell, und die von Ihnen aufgeworfenen Fragen haben überhaupt nichts mit R zu tun - all diese Probleme werden durch die in anderen Sprachen implementierten Funktionen gelöst. Wenn es um Verschlüsselung geht, hat das sicherlich nichts mit der beabsichtigten Implementierung des Terminals zu tun - man kann alles Bestehende nehmen.
 
СанСаныч Фоменко:
Lesen Sie meine Beiträge über Geschwindigkeit. Kurz und bündig. R ist größtenteils eine Shell und die Probleme, die Sie ansprechen, haben überhaupt nichts mit R zu tun - all diese Probleme werden durch Funktionen gelöst, die in anderen Sprachen implementiert sind. Wenn es um Verschlüsselung geht, hat das sicherlich nichts mit der beabsichtigten Implementierung des Terminals zu tun - man kann alles Bestehende nehmen.

Ich habe die Angewohnheit, frühere Beiträge zu lesen, so dass der Rat nicht für mich ist ))

**************************

SanSanych Fomenko2016.02.12 15:18 RU
Alexey Volchanskiy:
Ich muss versuchen, einige meiner Matlab-Programme in R zu übersetzen, um die Geschwindigkeit zu vergleichen. Wenn ich es bis zum Wochenende herausfinde, werde ich es tun und Ihnen Bescheid geben. Matlab ist ziemlich langsam, ich mache vieles in C# oder C++ und füge es aus Geschwindigkeitsgründen als DLL ein.

R selbst ist dreimal zurückgeblieben. Es ist ein Dolmetscher. Keine Probleme mit dem Debugging, zuerst habe ich einen Debugger verwendet, der sich dann als nutzlos erwies.

Apropos R-Geschwindigkeit: Hier gibt es mehrere Überlegungen.

1. Sie können es in Byte-Code übersetzen, aber das ist ein Hexenwerk

**************************

Ist Ihnen bewusst, dass MQL4/5 kompilierbare Sprachen sind? Und dass Metakvotam für Ihren Traum von einem MT-ähnlichen R-Terminal einen R-Compiler entwickeln muss?

 
Alexey Volchanskiy:

Aber wenn man seine Worte für bare Münze nimmt, wie sieht dann R unter dem Gesichtspunkt der Sicherheit aus? Ich bin ziemlich neu darin, ich arbeite seit 2000 mit Matlab, also erklären Sie es mir bitte, wenn Sie etwas wissen. Kann es Ausgabedateien wie MQL4/5-Compiler verschlüsseln?

Außerdem bleibt R, soweit ich weiß, ein Interpreter, was bedeutet, dass es noch langsamer sein wird als das alte MQL4 und sicherlich um Größenordnungen langsamer als das heutige MQL5.

1. Alles wird auf verschiedene zuverlässige Arten verschlüsselt.

2) Dies ist grundlegend falsch. Alle schweren Berechnungen sind in C geschrieben und werden parallelisiert.

Probieren und lernen.

Viel Glück!

 
СанСаныч Фоменко:

Lassen Sie uns realistisch sein.

Heute funktioniert das MT4-Terminal mit dem EDITOR ohne Probleme (zumindest bei mir). Wir müssen nur die kleinste Sache hinzufügen, um mit R zu interagieren.

Die Entwickler haben eine bessere Vorstellung davon, wie man das machen kann. Das Wichtigste ist, dass dies schnell und ohne Kopfschmerzen für die Nutzer geschieht.

Viel Glück!

Grund der Beschwerde: