Fragen von Anfängern in MQL5. Fachleute kommen nicht vorbei.

 

Ich habe mich entschlossen, ein ähnliches Thema wie das bestehende im 4er-Forum zu erstellen (es gibt einen populären Weg dorthin). Wenn es wiederholt wird, lösche es ohne Bedauern.

Natürlich ist das Thema nicht nur zum Spaß gedacht. Ich beschloss, MQL5 in Angriff zu nehmen, und es tauchten gleich mehrere Fragen auf:

1) Ist der Anwendungsbereich von Strukturen derselbe wie der von einfachen Variablen?

2)MqlRates-Struktur. Ich möchte die letzten 10 Extrema finden und weiß daher nicht, wie viele Kursdaten ich benötige. Soll ich alle verfügbaren Daten kopieren? Ist das nicht sehr ressourcenaufwändig?

Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных - Документация по MQL5
 
Figar0:

1) Ist der Geltungsbereich von Strukturen derselbe wie der von Variablen?

Strukturen sind einer der Datentypen (zusammengesetzte Datentypen). Daher ist es besser, von Variablen des Strukturtyps zu sprechen. Die Regeln für den Geltungsbereich gelten gleichermaßen für Variablen einfacher Typen und Strukturtypen. Bislang habe ich noch keine Ausnahmen gesehen.

Figar0:

2)MqlRates-Struktur. Ich möchte die letzten 10 Extrema finden und weiß daher nicht, wie viele Kursdaten ich benötige. Soll ich alle verfügbaren Daten kopieren? Ist das nicht sehr ressourcenintensiv?

:) Es kommt auf den Grad des Extremums an. Wenn ein Extremum über den gesamten Beobachtungszeitraum gesucht wird, gibt es keine Möglichkeit, 10 Elemente zu erhalten, selbst wenn "alle verfügbaren Daten zu kopieren".

Tatsächlich ist es nicht immer notwendig, die vordefinierteMqlRates-Struktur zu verwenden. In vielen Fällen reicht es aus, eine eigene "leichte" Struktur (z. B. hoch-niedrig) zu erstellen und mit Variablen dieses Typs zu arbeiten. Zum Ressourcenverbrauch kann ich nichts sagen, da mich diese Frage nicht interessiert (ich verzichte auf die Verwendung derMqlRates-Struktur).

 

Eine weitere meiner Annäherungen an MQL5: Ich beschloss, seine Fähigkeiten zu nutzen, um Expert Advisors zu optimieren, da MT4 mir erlaubt, sie innerhalb von 24 Stunden zu optimieren, und die Fähigkeiten von Multicore-Prozessoren und Agenten so unterschiedlich sind... Bevor ich mir jedoch die Mühe mache, "echte" Expert Advisors neu zu kodieren, habe ich beschlossen, zu prüfen, was ich bekommen werde. Ich habe eine einfache Expert Advisor mit perseptron ala AI Reshetov, nicht einmal Indikatoren zu geben, sondern einfach schließen Preisdifferenz geschrieben, habe ich es von H4 offene Preise optimiert, vor einem Jahr. CPU-Kerne sind alle geladen, und Agenten scheinen zu arbeiten, und die Wolke bewegt, aber....Langsamer als in MT4 viele Male einfach Warum ist alles so traurig????

Знакомство с MQL5: написание простого советника и индикатора
Знакомство с MQL5: написание простого советника и индикатора
  • 2010.03.16
  • Denis Zyatkevich
  • www.mql5.com
В этой статье проведен краткий обзор языка MQL5, приведен пример написания советника и индикатора. Данная статья ориентирована как на читателей, знакомых с программированием на языке MQL4, так и на тех, кто только начинает знакомство с программированием торговых систем и индикаторов.
 
Figar0:

Eine weitere meiner Annäherungen an MQL5: Ich beschloss, seine Fähigkeiten zu nutzen, um Expert Advisors zu optimieren, da MT4 mir erlaubt, sie innerhalb von 24 Stunden zu optimieren, und die Fähigkeiten von Multicore-Prozessoren und Agenten so unterschiedlich sind... Bevor ich mir jedoch die Mühe mache, "echte" Expert Advisors neu zu kodieren, habe ich beschlossen, zu prüfen, was ich bekommen werde. Ich habe eine einfache Expert Advisor mit perseptron ala AI Reshetov, nicht einmal Indikatoren zu geben, sondern einfach schließen Preisdifferenz geschrieben, habe ich es von H4 offene Preise optimiert, vor einem Jahr. CPU-Kerne sind alle geladen, und Agenten scheinen zu arbeiten, und die Wolke bewegt, aber....Langsamer als in MT4 viele Male einfach Warum ist alles so traurig????

Irgendwo liegt ein logischer Fehler im Code vor. Ich glaube nicht, dass MT5 langsamer ist als MT4.
 
Figar0:

Eine weitere meiner Annäherungen an MQL5: Ich beschloss, seine Fähigkeiten zu nutzen, um Expert Advisors zu optimieren, da MT4 mir erlaubt, sie innerhalb von 24 Stunden zu optimieren, und die Fähigkeiten von Multicore-Prozessoren und Agenten so unterschiedlich sind... Bevor ich mir jedoch die Mühe mache, "echte" Expert Advisors neu zu kodieren, habe ich beschlossen, zu prüfen, was ich bekommen werde. Ich habe eine einfache Expert Advisor mit perseptron ala AI Reshetov, nicht einmal Indikatoren zu geben, sondern einfach schließen Preisdifferenz geschrieben, habe ich es von H4 offene Preise optimiert, vor einem Jahr. CPU-Kerne sind alle geladen, und Agenten scheinen zu arbeiten, und die Wolke bewegt, aber....Langsamer als in MT4 viele Male einfach.Warum ist alles so traurig????

Wahrscheinlich, weil MQ4- und MQ5-Dateien nicht beigefügt sind.

Es gibt hier Programmierer. Es ist unangemessen, solche Fragen zu stellen, ohne den Quellcode beizufügen.

 
Renat:

Wahrscheinlich, weil die MQ4- und MQ5-Dateien nicht beigefügt sind.

Es gibt hier Programmierer. Es ist nicht gut, solche Fragen ohne den beigefügten Quellcode zu stellen.

Ich bin weit davon entfernt zu glauben, dass mein Code ist ein Modell der Perfektion, ich schrieb es in 20 Minuten, und nur um zu überprüfen, außerdem, da in MQ5 Ich bin immer noch ein Schwein in Orangen), aber ich denke, es ist nichts so schrecklich für die Leistung. Hier ist sie.
Dateien:
First.mq5  19 kb
 
und MQ4?
 

Renat:
 MQ4?

Und in MQ4 habe ich einfach ArtificialIntelligence.mq4 genommen und vorsichtshalber angehängt, natürlich sind sie nicht identisch, aber sie sind fast genauso zeitaufwendig, zumindest einfach wegen ihrer Einfachheit. Aber wir haben Folgendes:

Auf 8 Kernen in MT5 (alle Agenten deaktiviert):

2011/11/11 15:01:07 PM Statistik Lokale 13371 Aufgaben (100%), Remote 0 Aufgaben (0%), Cloud 0 Aufgaben (0%)
2011.11.11 15:01:07 Statistik bestanden in 1 Stunde 07 Minuten 51 Sekunden

Insgesamt: 4071/13371=0,3044 Sekunden pro Durchgang.

Auf einen Kern in MT4:

2011.11.11 15:17:40 Während der Optimierung wurden 6345 Durchläufe durchgeführt
2011 11/11/11 15:17:40 ArtificialIntelligence: Optimierung gestoppt, 2103 Cache-Datensätze wurden verwendet, 2103 Cache-Datensätze abgelehnt
2011.11.11 15:17:12 ArtificialIntelligence: Optimierung gestartet

Insgesamt: 28/6345=0,0044129 Sekunden pro Durchgang.

Zwei Grössenordnungen. Beide sind Genetik, EURUSD H4 offene Kurse, Intervall vom 1.01.11 bis heute, Einzelrechner, Win7 x64. Was verlangsamt die Optimierung in MT5 so sehr? Habe ich einen solchen kritischen Fehler dort????

Dateien:
 
Figar0:

Zwei Aufträge von . Beide sind Genetik, beide sind EURUSD H4 Eröffnungskurse, Intervall 1.01.11 bis heute, gleicher Computer, Win7 x64. Was bremst die Optimierung in MT5 so sehr? Habe ich einen solchen kritischen Fehler dort????

Was ist der Simulationstyp, 1 oder 2?


 
Rosh:

Welche Art von Modellierung, 1 oder 2?

" Nur Eröffnungspreise", die zweite muss lauten
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
 

Ich glaube, ich beginne zu verstehen, was hier vor sich geht:

2011.11.11 16:11:37 Core 1 EURUSD,H4: 1271227 Ticks (1344 Balken) innerhalb von 1326 ms erzeugt (Gesamtbalken in der Historie 2904, Gesamtzeit 1372 ms)

Warum gibt es so viele Häkchen bei den Eröffnungskursen? Außerdem passiert dasselbe, wenn ich das Modell "OHLC on M1" verwende:

2011.11.11 16:15:48 Core 1 EURUSD,H4: 1271227 Ticks (1344 Balken) innerhalb von 2075 ms erzeugt (Gesamtbalken in der Historie 2904, Gesamtzeit 2106 ms)

Ich habe es 10 Mal überprüft und bei der ersten und zweiten Art von Builds (aus Roshs Bild) ändert sich die Anzahl der Ticks nicht..... Imho nicht gut, oder mache ich etwas falsch?

Build 527.

Z.I. hat alle Zecken getestet:

2011/11/11 16:24:55 Core 1 EURUSD,H4: 18578763 Ticks (1344 Balken) innerhalb von 24819 ms erzeugt (Gesamtbalken in der Historie 2904, Gesamtzeit 25319 ms)

Mit dem "all ticks"-Modell gibt es nur 14 Mal mehr Ticks als mit dem "open prices"-Modell auf H4. Entweder bin ich verrückt, oder einer von zwei ... Das Modell "Eröffnungspreis" gibt es also nicht?

Grund der Beschwerde: