Diskussion zum Artikel "Neuronale Netzwerke der dritten Generation: Tiefe Netzwerke" - Seite 11

 
kimkarus:

Der Meta Trader 4-Tester erzeugt einen Fehler:

i_SAE EURUSD,M30: Array außerhalb des Bereichs in 'i_SAE.mq4' (140,22)

Rterm startet korrekt, zwei Instanzen.

Laut dem Code ist es Time[]. Ich habe den Indikator nach Balken, nach Ticks laufen lassen, zusammen mit dem Expert Advisor initialisiert. Das hilft aber nicht.

Gibt es eine Lösung?

In der Regel passiert es, wenn die Historie links vom Triggerpunkt weniger als "zurück" ist (d.h. weniger als 700 Bars).

Sie können diesen Wert nicht verringern. Dies ist der Mindestwert.

Solche Fehler sind seit langem nicht mehr aufgetreten.

Prüfen Sie die Historie oder pumpen Sie sie auf. Und lassen Sie den Indikator nicht am äußersten Rand der Historie laufen.

Viel Erfolg!

 
kimkarus:

Nichts Besonderes, nur initialisiert Expert Advisor und Indikator in der Konsole und im Studio (R-Projekt, alles nach den Anweisungen in dem Artikel).

Ist es möglich, mt4Rb7.dll für 64 Bit und mql5 zu bekommen?

Es funktioniert nicht ohne sie, nur in Metatrader 4.

Ich habe es noch nicht geschafft, einen Tester hinzuzufügen (mql4).

R Version 3.2.2

MT5 war nicht involviert und wird es auch nicht sein. DLL funktioniert jetzt mit 64-Bit-R in MT4 (32p).

Nach meinem Verständnis, DLL Arbeit in MT5 sollte keine Probleme verursachen. Allerdings kenne ich die Eigenheiten von MT5 nicht.

Und worin sehen Sie den Vorteil der Verwendung von MT5? Was kann man in MT4 nicht machen im Vergleich zu MT5? Also für die allgemeine Entwicklung.

Viel Glück

 

Die Fehler scheinen behoben zu sein. Aber die zweite Instanz von Rterm wird nicht gestartet, wenn der Indikator aus dem Expert Advisor über iCustom() aufgerufen wird. Gibt es eine andere Möglichkeit, den Indikator zusammen mit dem Expert Advisor zu starten, außer den Indikator in den Expert Advisor aufzunehmen?

Über MQL5. Ich habe gerade begonnen, die Sprache zu beherrschen.

Von dem, was ich gelernt habe. Es gibt einen unbestrittenen Vorteil der Erstellung eines Expert Advisors auf der Grundlage von Indikatorabstimmungen (Signale), Austausch von Indikatorpuffern.

Natürlich ist alles in MQL4 implementiert, aber durch "Krücken", nicht out of the box. Es gibt auch einige Schwierigkeiten bei der Übertragung von Code von MQL4 auf MQL5, weil einfache Grundfunktionen in MQL5 fehlen, die früher gebraucht wurden, aber jetzt versteckt sind.

Bezüglich mt4Rb7.dll. Diese Bibliothek ist als 32-Bit-Systemobjekt kompiliert und läuft daher nicht in Meta Trader 5, da sie als 64-Bit-Bibliothek arbeitet. Nur die 32-Bit-Version von Meta Trader ist geeignet, die fünfte Version habe ich nicht gefunden. Deshalb teste ich mit der 4. Version.

 
kimkarus:

Die Fehler scheinen behoben zu sein. Aber die zweite Instanz von Rterm wird nicht gestartet, wenn der Indikator aus dem Expert Advisor über iCustom() aufgerufen wird. Gibt es eine andere Möglichkeit, den Indikator zusammen mit dem Expert Advisor zu starten, außer den Indikator in den Expert Advisor aufzunehmen?

Über MQL5. Ich habe gerade begonnen, die Sprache zu beherrschen.

Von dem, was ich gelernt habe. Es gibt einen unbestrittenen Vorteil der Erstellung eines Expert Advisors auf der Grundlage von Indikatorabstimmungen (Signale), Austausch von Indikatorpuffern.

Natürlich ist alles in MQL4 implementiert, aber durch "Krücken", nicht out of the box. Es gibt auch einige Schwierigkeiten bei der Übertragung von Code von MQL4 auf MQL5, weil einfache Grundfunktionen in MQL5 fehlen, die früher benötigt wurden, aber jetzt versteckt sind.

Bezüglich mt4Rb7.dll. Diese Bibliothek ist als 32-Bit-Systemobjekt kompiliert und läuft daher nicht in Meta Trader 5, da sie als 64-Bit-Bibliothek arbeitet. Nur die 32-Bit-Version von Meta Trader ist geeignet, die fünfte Version habe ich nicht gefunden. Deshalb teste ich in der 4.

Erlauben Sie mir meine fünf Cents.

Warum ist es so schwierig mit R? Einige Indikatoren, Server...

Immerhin funktioniert (zumindest bei mir) alles über die mitgelieferte Bibliothek. Du schreibst eine String-Variable in µl, die ein Funktionsaufruf ist, übergibst sie an R, das die notwendige Anzahl von R-Funktionen ausführt, und das Glück ist gekommen....

Oder übersehe ich etwas?

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

Erlauben Sie mir meine fünf Cent.

Warum ist es so schwierig mit R? Einige Indikatoren, Server...

Immerhin funktioniert (zumindest bei mir) alles über die mitgelieferte Bibliothek. Du schreibst eine String-Variable in µl, die ein Funktionsaufruf ist, übergibst sie an R, das die notwendige Anzahl von R-Funktionen ausführt, und das Glück ist gekommen....

Oder habe ich etwas übersehen?

Offenbar ein Missverständnis.

Ich möchte das alles mit dem mql4-Tester ausführen.

Ohne den Tester, alles funktioniert gut, Glück ist da.

In MQL5 funktioniert es nicht, wegen der unterschiedlichen Digitalisierung der Objekte, die ausgeführt werden sollen.

Was ist der Unterschied zwischen der beigefügten Bibliothek für die Arbeit mit R aus dem Artikel und die, die Sie vorschlagen (Gewicht ist anders)?

 
kimkarus:

Offenbar gibt es ein Missverständnis.

Ich möchte in mql4 Tester all dieses Zeug zu laufen.

Ohne den Tester, alles funktioniert gut, das Glück ist da.

In MQL5 funktioniert es nicht, wegen der unterschiedlichen Digitalisierung der Objekte gestartet werden.

Was ist der Unterschied zwischen der beigefügten Bibliothek für die Arbeit mit R aus dem Artikel und die, die Sie vorschlagen (Gewicht ist anders)?

Ich verwende jetzt diese Bibliothek.

Auf der vorherigen Version von MT4 (bis 540) habe ich den Tester ohne Probleme verwendet.

Die Bibliothek selbst ist in Pascal geschrieben, der Quellcode ist verfügbar. Ich sehe keine Probleme bei der Verwendung dieser Bibliothek in mcl4 oder mcl5.

Ich denke, das ganze Problem liegt in der komplizierten Schaltung, bei der der Tester sich abschaltet

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

Erlauben Sie mir meine fünf Cent.

Warum ist es so schwierig mit R? Einige Indikatoren, Server...

Immerhin funktioniert (zumindest bei mir) alles über die mitgelieferte Bibliothek. Du schreibst eine String-Variable in µl, die ein Funktionsaufruf ist, übergibst sie an R, das die notwendige Anzahl von R-Funktionen ausführt, und das Glück ist gekommen....

Oder übersehe ich etwas?

Grüße SanSanych.

Die Client-Server-Variante ist aus mehreren Gründen attraktiv:

- Man kann an vielen Tools gleichzeitig arbeiten.

- Aber das Wichtigste ist, dass der Server einen bidirektionalen, nicht blockierenden Informationsaustausch nicht nur Client<->Server (Clients können bis zu 128 sein), sondern auch zwischen Clients und anderen Servern ermöglicht. D.h. bei langen Berechnungen ist ein Datenaustausch mit dem Server und anderen Clients möglich. Die einzige Einschränkung ist, daß man das Ergebnis einer Berechnung nicht abfragen kann, bevor sie beendet ist, sonst stürzt der Rterm ab, so daß man ein komplexes hierarchisches System aufbauen kann, bei dem ein Rterm alle anderen kontrolliert. Natürlich, wenn Sie es brauchen.

- Es ist möglich, die Daten an einen Indikator zu übergeben, der die notwendigen Informationen auf dem Chart anzeigt. Meiner Erfahrung nach gibt es keine zuverlässigere Kontrolle als die visuelle Kontrolle. Und das Zeichnen aus dem Expert Advisor ist problematisch.

Natürlich kann alles im Expert Advisor gesammelt werden, aber wenn man mit mehreren Paaren arbeitet, entstehen einige Probleme, die natürlich auf andere Weise gelöst werden können.

Dies ist eine Arbeitsweise, aber das heißt nicht, dass sie die einzige oder ideale ist.

Ich versuche, in dem Artikel möglichst viele mögliche Arbeitsvarianten zu zeigen. Und der Benutzer wird wählen, was er braucht.

Aus Komplexem lässt sich leicht Einfaches machen, das Gegenteil ist schwierig. Obwohl meiner Meinung nach die vorgeschlagene Client-Server-Variante ist nicht so kompliziert. Schauen Sie sich die Menge an Code auf MKL5, die erforderlich ist, um ein solches Problem zu lösen.

Viel Erfolg!

 
kimkarus:

Offenbar gibt es ein Missverständnis.

Ich möchte in mql4 Tester all dieses Zeug zu laufen.

Ohne den Tester, alles funktioniert gut, das Glück ist da.

In MQL5 funktioniert es nicht, wegen der unterschiedlichen Digitalisierung der Objekte gestartet werden.

Was ist der Unterschied zwischen der beigefügten Bibliothek für die Arbeit mit R aus dem Artikel und die, die Sie anbieten (Gewicht ist anders)?

Darf ich fragen, warum Sie brauchen, um den Expert Advisor in der Tester laufen?
 
kimkarus:

Die Fehler scheinen behoben zu sein. Aber die zweite Instanz von Rterm wird nicht gestartet, wenn der Indikator aus dem Expert Advisor über iCustom() aufgerufen wird. Gibt es eine andere Möglichkeit, den Indikator zusammen mit dem Expert Advisor zu starten, außer den Indikator in den Expert Advisor aufzunehmen?

Um welchen Indikator handelt es sich? Welchen Indikator möchten Sie über iCustom() verwenden?

Bezüglich MQL5. Ich habe gerade angefangen, die Sprache zu beherrschen.

Von dem, was ich gelernt habe. Es gibt einen unbestreitbaren Vorteil bei der Erstellung eines Expert Advisors auf der Grundlage von Indikatorabstimmungen (Signalen), die Indikatorpuffer austauschen.

Alle Berechnungen, auch die der Indikatoren, sollten in R durchgeführt werden. Dabei sind Ihrer Fantasie in Sachen Mathematik keine Grenzen gesetzt. Es werden nur Zitate aus MT übernommen!

Natürlich kann alles in MQL4 implementiert werden, aber mit "Krücken", nicht out of the box. Es gibt auch einige Schwierigkeiten bei der Übertragung des Codes von MQL4 auf MQL5, weil einfache Grundfunktionen in MQL5 fehlen, die früher gebraucht wurden, aber jetzt versteckt sind.

Bezüglich mt4Rb7.dll. Diese Bibliothek ist als 32-Bit-Systemobjekt kompiliert und läuft daher nicht in Meta Trader 5, da sie als 64-Bit-Bibliothek arbeitet. Nur die 32-Bit-Version von Meta Trader ist geeignet, die fünfte Version habe ich nicht gefunden. Deshalb teste ich vorerst mit der 4.

Versuchen Sie, den Autor anzuschreiben. Er hat einen Zweig, wo er von Zeit zu Zeit erscheint. Aber nach meinen Informationen wurde die Bibliothek nicht für MT5 umgestaltet.

Sie müssen Ihre Vorstellungen über die Struktur des Expert Advisors ein wenig umstellen. Ein Expert Advisor sollte seine Aufgabe erfüllen (Aufträge ausführen, Positionen überwachen, etc. etc.). Um diese Aufgaben zu erfüllen, spielt es keine Rolle, in welcher Sprache (MKL4 oder MKL5) Sie ihn implementieren wollen. Es ist eine Frage der Vorliebe. Berechnungen, Analysen und andere komplexe Aufgaben müssen im R-Prozess implementiert werden.

Trennen Sie das "Tun" vom "Denken". Keine MKL ist zum "Denken" gedacht. Sie ist für das "Tun" optimiert.

Sie müssen jede Sprache für den Zweck verwenden, für den sie entwickelt wurde.

Viel Erfolg!

 

Wladimir Perervenko

Fügen Sie dem Artikel zusätzliche Informationen über die Arbeit mit R Studio hinzu

  • Um alles korrekt auszuführen, müssen Sie sicherstellen, dass es keine weiteren Verweise auf "localhost" in der hosts-Datei gibt.
  • Installieren Sie alle Pakete und führen Sie sie mit dem Befehl (im R-Arbeitsbereich) aus:

install.packages("R.matlab")
install.packages("deepnet")
install.packages("caret")
install.pakete("h2o")
install.pakete("TTR")
install.pakete("rminer")
install.packages("foreach")
install.pakete("doParallel")
install.packages("svSocket")
install.packages("lattice")
install.pakete("ggplot2")
install.packages("statmod")
install.packages("kknn")
install.packages("iterators")
install.pakete("parallel")

bibliothek("R.matlab")
bibliothek("deepnet")
bibliothek("caret")
bibliothek("h2o")
bibliothek("TTR")
bibliothek("rminer")
bibliothek("foreach")
bibliothek("doParallel")
bibliothek("svSocket")
Bibliothek("lattice")
bibliothek("ggplot2")
bibliothek("statmod")
bibliothek("kknn")
bibliothek("iteratoren")
bibliothek("parallel")