Interessantes Thema für viele: was ist neu in MetaTrader 4 und MQL4 - große Änderungen auf dem Weg - Seite 8
![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
Sie suchten und suchten. Konnte keinen finden...
So habe ich es nicht formuliert.
An den Debugger wurde noch nicht gedacht, d.h. es ist nicht bekannt, ob er kommen wird oder nicht, aber da er nicht gedacht wurde, bedeutet das, dass er "noch" nicht kommen wird.
http://forum.mql4.com/ru/56881/page4#820225
Während Sie sich mit den technischen Details des Upgrades beschäftigen, ist Ihnen ein wichtiges Detail entgangen - MetaTrader 4 wird Marketplace haben. In Anbetracht der Verbreitung der 4, können Sie schätzen, wie viel ein Roboter/Indikator-Entwickler auf dem vereinigten Markt von 7 Millionen Händlern verdienen kann. Die Ergebnisse von MQL5 Market können als Grundlage für Annahmen verwendet werden, um eine bessere Vorstellung davon zu bekommen, welche Art von Software bei den Händlern am beliebtesten ist.
Sie sind noch nicht als Entwickler registriert?
C-4:
Вот тут подумалось что при объединении двух языков абсолютно необходимы условные директивы компиляции типа #ifdef - это бы существенно упростило бы унификацию кодов между двумя платформами, и плотформозависимый API определялся на этапе компиляции.
Ja, das wäre gut.
Bisher habe ich als krumme Alternative eine Konstruktion wie
#define _DEBUG_OR_RELEASE_(DEBUG, RELEASE) DEBUG
Aber es wäre wesentlich flexibler mit #ifdef
Während wir uns mit den technischen Details des Upgrades beschäftigen, haben wir ein wichtiges Detail vergessen - MetaTrader 4 wird den Marketplace haben. Angesichts der Prävalenz von 4 können Sie abschätzen, wie viel ein Roboter/Indikatorentwickler auf dem vereinigten Markt von 7 Millionen Händlern verdienen kann. Die Ergebnisse des MQL5-Marktes können als Grundlage für Annahmen verwendet werden, um eine bessere Vorstellung davon zu erhalten, welche Art von Software bei den Händlern am beliebtesten ist.
Sie sind noch nicht als Entwickler registriert?
Dann kommen wir zu Ihnen :)
In der Tat haben es alle bemerkt und freuen sich im Stillen, um sie nicht zu vergraulen :)
Ich stimme nicht mit allen Argumenten von hrenfx überein, aber ich persönlich habe MT5 nur wegen der OOP und der Standardbibliothek gewählt.
Ich würde mir wünschen, dass bei der Einführung von OOP in MT4++ so viele Schnittstellen der Standardbibliothek wie möglich beibehalten werden (idealerweise alle außer den Handelsklassen CTrade und CPositionInfo, die sich direkt auf das Netting beziehen).
Übrigens geht es bei der alten Tabelle, von der er spricht,um die benutzerdefinierte Historie - in MT5 ist es immer noch möglich, diese zu emulieren, indem man die Vorteile dieser Funktionen nutzt.
Ich frage mich, wie es möglich ist, im MT5-Tester zu emulieren (d.h. mit der eigenen Historie zu testen)?
Wo steht das?
Ich frage mich, wie dies im MT5-Tester emuliert werden kann (d.h. Testen mit Ihrer Historie)?
Wo steht das?
Das steht nirgendwo. Das ist meine Idee. Ich habe ein Thema in diesem Forum begonnen, aber niemand hat es unterstützt, so dass mir klar wurde, dass niemand daran interessiert war.
Wenn ein Expert Advisor nur mit Klassen der Standardbibliothek arbeitet und die Funktionen des direkten Zugriffs auf den Server nicht nutzt, besteht die Aufgabe der Emulation darin, abgeleitete Klassen der Klassen der Standardbibliothek zu schreiben, die sich nicht auf den Server beziehen und ihre eigenen, internen Variablen verwenden.
Danach erhält der Expert Advisor nicht die ursprünglichen Klassen der Standardbibliothek, sondern die abgeleiteten Klassen, die statt auf den Server zuzugreifen, die Ergebnisse ihrer eigenen, internen Berechnungen an den Expert Advisor weitergeben. Der Expert Advisor bemerkt den Wechsel nicht - es ist ihm egal, womit er arbeitet - entweder mit den realen oder den historischen Daten.
Für mich selbst habe ich bereits eine Klasse-Speicher von historischen Daten und Klassen, die Erben von Zeitreihen (wie SOPrep, CHigh, etc.), die die EA sowohl reale Daten aus dem Server und historische Daten aus dem Speicher zurückgeben kann geschrieben. Später werde ich Handelsklassen als Abkömmlinge der Standardbibliotheksklassen schreiben, die als "Wrapper" für die Geschäfte des realen Servers dienen und virtuelle Geschäfte auf der Grundlage historischer Daten durchführen können. Auch hier wird der Expert Advisor von der Ersetzung nichts mitbekommen.
All dies ist möglich. Aber natürlich gibt es noch viel zu tun.
Das steht nirgendwo. Es war meine Idee. Ich habe einen Thread im Forum gestartet, aber niemand hat ihn unterstützt, ich habe erkannt, dass niemand daran interessiert ist.
Wenn ein Expert Advisor nur mit Klassen der Standardbibliothek arbeitet und die Funktionen des direkten Zugriffs auf den Server nicht nutzt, besteht die Aufgabe der Emulation darin, von den Klassen der Standardbibliothek abgeleitete Klassen zu schreiben, die sich nicht auf den Server beziehen und ihre eigenen, internen Variablen verwenden würden.
Danach erhält der Expert Advisor nicht die ursprünglichen Klassen der Standardbibliothek, sondern die abgeleiteten Klassen, die statt auf den Server zuzugreifen, die Ergebnisse ihrer eigenen, internen Berechnungen an den Expert Advisor weitergeben. Der Expert Advisor bemerkt den Wechsel nicht - es ist ihm egal, womit er arbeitet - entweder mit den realen oder den historischen Daten.
Für mich selbst habe ich bereits eine Klasse-Speicher von historischen Daten und Klassen, die Erben von Zeitreihen (Typ SOPrep, CHigh, etc.), die die EA sowohl reale Daten aus dem Server und historische Daten aus dem Speicher zurückgeben kann geschrieben. Später werde ich Handelsklassen als Abkömmlinge der Standardbibliotheksklassen schreiben, die als "Wrapper" für die Geschäfte des realen Servers dienen und virtuelle Geschäfte auf der Grundlage historischer Daten durchführen können. Auch hier wird der Expert Advisor von der Ersetzung nichts mitbekommen.
All dies ist möglich. Natürlich gibt es eine Menge Arbeit.
Wenn Sie einen Indikator schreiben, der Daten aus einer Datei liest (benutzerdefinierte Historie), setzen Sie die Standardfunktionen des Datenempfangs außer Kraft (sowohl Kurse als auch die Marktumgebung), verwenden Sie eine Definition von Kontexten und Sie werden zufrieden sein.
Ich teile Ihre Bewunderung für die Standardbibliothek nicht. Sie ist ein riesiges Monster, das den Anschein von Universalität erweckt und nur für Beispiele und die Erstellung von Expert Advisors im Assistenten gedacht ist.
Obwohl es für den Zweck geschrieben wurde, erfüllt es seine Aufgaben recht gut.
Schreiben Sie einen Indikator, der Daten aus einer Datei liest (benutzerdefinierte Historie), setzen Sie die Standardfunktionen der Datenerfassung außer Kraft (sowohl Kurse als auch Marktumfeld), verwenden Sie die Definition von Kontexten und Sie werden zufrieden sein.
Das ist genau das, was ich tue. Ich habe bereits Klassen geschrieben, die einem EA die benutzerdefinierte Historie (anstelle der echten vom Server) übergeben können. Aber der EA darf keine Funktionen des Terminals direkt für die vollständige Umsetzung meiner Idee verwenden. Sagen wir, die gleiche OrderSend(). Es sollte nur durch einen "Wrapper" funktionieren, dessen Rolle wunderbar von der Standardbibliothek übernommen werden kann. Wir schreiben abgeleitete Klassen, füttern den EA damit, und voila - er arbeitet jetzt mit historischen Daten. Wenn der EA die Funktionen des Terminals direkt verwendet, kann er die Historie nicht nutzen.
Ich teile Ihre Bewunderung für die Standardbibliothek nicht, ein riesiges Monstrum, das vorgibt, universell zu sein, und nur für Beispiele und die Erstellung von Expert Advisors im Assistenten geschaffen wurde.
Aber es erfüllt seinen Zweck ganz gut.
Nun, vielleicht ist es die Auswirkung meiner langen Arbeit mit der MFC-Bibliothek, mit der ich sehr zufrieden war und zu der ich viele Parallelen finde. Ich bin sicher, dass die Entwickler der Standardbibliothek auch mit MFC vertraut sind.
Der Hauptvorteil der Standardbibliothek ist die gute Unterstützung der OOP-Ideologie, die es ermöglicht, dem Expert Advisor eine benutzerdefinierte Historie zu übergeben, so dass er ohne jegliche Änderungen ordnungsgemäß funktioniert.
Darf ich fragen, warum Sie die Standardbibliothek nicht mögen (abgesehen von dem offensichtlichen Nachteil - "lernfaul")?
Während wir die technischen Details des Upgrades untersuchten, haben wir ein wichtiges Detail vergessen - der Markt wird in MetaTrader 4 erscheinen. Angesichts der Verbreitung von Q4 können Sie abschätzen, wie viel ein Entwickler von Robotern/Indikatoren auf dem vereinigten Markt von 7 Millionen Händlern verdienen kann. Die MQL5 Marktergebnisse können als Grundlage für Annahmen verwendet werden und um eine bessere Vorstellung davon zu bekommen, welche Art von Software bei den Händlern am beliebtesten ist.
Haben Sie sich schon als Entwickler registriert?
Da wir nun den Markt berührt haben, würde ich gerne einige Meinungen zu einem Thema hören...
Nach der Philosophie von MQL5 sollen Indikatoren zählen und EAs handeln.
Aber der Markt verkauft fertige Lösungen, wie man so schön sagt, alles in einem.
Vielleicht sollte der Compiler so verbessert werden, dass Indikatoren in Expert Advisors als Ressourcen gespeichert werden?
Andernfalls müssen wir den Code des Indikators in den Expert Advisor übertragen, wo er keine geeignete Umgebung hat. Auch hier ist das Schema "Indikator für Indikator" ein ganzes Epos, um den Code auf den Expert Advisor zu übertragen.