Diskussion über die MQL4-Dokumentation - Seite 3

 
MQL ist ähnlich wie C, das wird niemand bestreiten. Niemand braucht ein Tutorial über die MQL-Syntax oder hat jemals danach gefragt.

In Programmiersprachen, in denen Framework-e und seine Funktionen, wie z.B. Java und MQL, den Schwerpunkt der Dokumentation bilden, weil man in dieser Art von Sprache nichts ohne sie tun kann. Es handelt sich nicht um Assembler oder C, wo man, wenn man etwas nicht mag oder nicht versteht, wie es funktioniert, es nach Belieben umschreiben kann. 90 Prozent der Java-Dokumentation handelt von Framework-Funktionen.

Die Situation ist in MQL sehr ähnlich, denn MQL ist eine Sprache, in der Standard-Framework-Funktionen eine große Rolle spielen, während die Dokumentation zu diesen Funktionen lahm ist (und das ist genau das, was newton sagte, und dem ich absolut zustimme).

Die Beispiele in der Dokumentation sind sehr oft unbrauchbar. Ein gutes Beispiel ist nicht eine Zeile, sondern ein Funktionsaufruf mit Parametern. In der Dokumentation und in den Beispielen muss sehr genau erklärt werden, welche Parametergrenzen zulässig sind, wo und wie man die Funktion aufrufen kann und wo und wie man sie nicht aufrufen darf und was als Ergebnis des Aufrufs zu erwarten ist.
Sie brauchen keine Tutorials, gehen Sie einfach die Dokumentation durch, und wenn sie nicht wie die OrderSend-Dokumentation, sondern wie diese aussieht, korrigieren Sie sie:

int AccountStopoutLevel()
Возвращает значение урвоня, по которому определяется состояние Stop Out.
Пример:
 
Print("StopOut level = ", AccountStopoutLevel());

Zumindest der Link von Stop Out, der erklärt, was mit Stop Out gemeint ist (dasselbe wie Margin Call? Es ist unklar. ...) wird hier benötigt. Noch besser wäre es, wenn das Beispiel den spezifischen Wert des Verbraucherkontos angibt und erklärt, was damit vor und nach der Anwendung der Funktion geschieht und warum. Im Falle von AccountStopOutLevel könnte das Beispiel das Verbraucherkonto zeigen, das auf dieser Ebene aus dem Handel herausgeworfen wurde, und den Zusammenhang zwischen dieser Ebene und dem, was AccountStopOutLevel meldet, erklären.

Um ehrlich zu sein - es gibt auch Funktionen, bei denen es ein Vergnügen ist, die Dokumentation zu lesen, man sieht sofort, dass sie durchdacht und ernsthaft geschrieben wurden, nicht um sie einfach zu ignorieren (OrderSend, zum Beispiel). Aber es gibt weniger solche Funktionen als solche, bei denen die Dokumentation gut ist. Bei OrderSend ist es klar - jeder braucht OrderSend, hier muss man eine Dokumentation schreiben, sonst können die Leute gar nicht handeln. Und zu den anderen Funktionen - "nun, sie schreien nicht, und nun, wenn nötig, werden wir sie später hinzufügen. Es ist notwendig, Herr MQS, es ist notwendig. Bitte fügen Sie sie hinzu.
 
Dmitrich:

Aber es gibt hier viele Händler, keine Programmierer! Ein Mann mag die Börse, die Aufregung, die Berechnungen. Warum sollte ein Trader ein Programmierer werden, indem er C++ und dann die Artikel und Chelers studiert? Für ihn ist es nicht interessant, und es ist schwierig, die Strategie ohne einen Expert Advisor "einzufahren". Was ist zu tun? Nehmen Sie den kürzesten Weg und suchen Sie ein Lehrbuch (bitten, fordern, erpressen). Was ist daran falsch? Wenn uns die Kuchen in der nächstgelegenen Bäckerei nicht schmecken, suchen wir uns eine andere Bäckerei und versuchen nicht immer, selbst zu backen. Jeder soll sein eigenes Ding machen und am besten das, was ihm gefällt.

Aus irgendeinem Grund werfen Sie die Abneigung der Händler, Programmierer zu werden, und den Bedarf an einem Lehrbuch in einen Topf.
Das sind völlig unterschiedliche Dinge! Ich bin kein ausgebildeter Programmierer, und niemand hat von mir verlangt, dass ich programmiere, außer am Institut während des Lernprozesses. Aber ich habe einfach gelesen, was ich vor 2 (ZWEI) Jahren in MQL bekommen habe, und allmählich angefangen zu programmieren. Jetzt habe ich 260Kb EA mit meinen Ideen geschrieben, die ich nirgendwo im Internet gesehen habe, und die ich ständig modifiziere (d.h. ich suche danach).
Wenn ein Trader seit 1-2 Monaten erfolgreich Geld in den Markt schaufelt, weil er denkt, er sei ein echter "Trader", und glaubt, dass er das Glück hat, eine fertig funktionierende Strategie zu haben - er braucht nur ein schlaues Lehrbuch und kann einmal in der Woche gut schlafen, weil er einen Expert Advisor mit einem Lehrbuch programmiert hat, dann ist das eine Illusion, die jeder schon einmal durchgemacht hat! Sie müssen es nur als einen bestimmten Schritt in der Entwicklung von MTS betrachten. Ich kann Ihnen versichern, dass der Algorithmus, den Sie verwendet haben, um auf dem Markt für 1-2 Monate erfolgreich zu sein, Ihnen absolut nichts in der Zukunft garantieren kann, egal wie und von wem dieser EA implementiert wird - der Autor selbst oder Dritte für Geld.
 
Aus irgendeinem Grund haben Sie die Abneigung von Händlern, Programmierer zu werden, und die Notwendigkeit eines Lehrbuchs in einen Topf geworfen. <br/ translate="no"> Das sind völlig unterschiedliche Dinge! Ich bin kein ausgebildeter Programmierer und niemand hat von mir verlangt, dass ich programmiere, außer am Institut während des Lernprozesses. Nichtsdestotrotz habe ich vor 2 (ZWEI) Jahren MQL gelesen und allmählich angefangen zu programmieren. Jetzt habe ich einen 260 KB großen EA, den ich mit meinen Ideen geschrieben habe, die ich nirgendwo im Internet gesehen habe und den ich ständig ändere (d. h. ich suche nach ihnen).
Wenn ein Händler seit 1-2 Monaten erfolgreich Geld in den Markt schaufelt, weil er denkt, er sei ein echter "Trader", und glaubt, dass er das Glück hat, eine fertig funktionierende Strategie zu haben - er braucht nur ein schlaues Lehrbuch und kann einmal in der Woche gut schlafen, weil er einen Expert Advisor mit einem Lehrbuch programmiert hat, dann ist das eine Illusion, die jeder schon einmal durchgemacht hat! Sie müssen es nur als einen bestimmten Schritt in der Entwicklung von MTS betrachten. Ich kann Ihnen versichern, dass der Algorithmus, den Sie verwendet haben, um 1-2 Monate lang erfolgreich auf dem Markt zu sein, Ihnen absolut nichts in der Zukunft garantieren kann, egal wie und von wem dieser EA implementiert wird - vom Autor oder von anderen gegen Geld.

Ich spreche nicht über den Erfolg der Strategie, sondern über den natürlichen Wunsch der Menschen, zu lernen, wie man Expert Advisors schreibt, ohne Lehrbücher über C++ und viele Artikel und Handbücher zu studieren.
 
Dmitrich:

Ich spreche nicht über den Erfolg der Strategie, sondern über den natürlichen Wunsch einer Person, zu lernen, wie man EAs schreibt, ohne Lehrbücher über C++ und viele Artikel und Handbücher zu studieren.

Meinem Verständnis nach muss ein normales MQL-Lehrbuch etwas Ähnliches sein wie das, was im Buchhandel für jede Programmiersprache erhältlich ist. Diese dicken Bücher haben jeweils eine halbe Million Seiten. Die Funktionen von MQL lassen sich kaum in einer Broschüre von 50-100 Seiten beschreiben, wovon die "Trader" träumen. Allein die Auflistung von Beispielen kann leicht 100 oder mehr Seiten umfassen, wenn man die Artikel auf dieser Website betrachtet. Und Sie brauchen auch Illustrationen und ausführliche Erklärungen. Es ist also unwahrscheinlich, dass ein seriöses MQL-Lehrbuch "Händler" zur EA-Programmierung ermutigen wird, wenn die Existenz dieser Website sie bisher nicht inspiriert hat. Ich spreche von der Notwendigkeit eines MQL-Tutorials, und ich meine die formale Seite des Themas - wenn es eine Programmiersprache gibt, dann muss es auch ein Tutorial (wenn auch hauptsächlich in elektronischer Form) für diejenigen geben, die darin programmieren lernen wollen.
Übrigens sind einige lokale Artikel fast schon Kapitel eines Lehrbuchs.
 
solandr:
Dmitrich:

Ich spreche nicht von einer erfolgreichen Strategie, sondern von dem natürlichen Wunsch zu lernen, wie man Expert Advisors schreibt, ohne C++ Lehrbücher und viele Artikel und Handbücher zu studieren.

Im Allgemeinen muss nach meinem Verständnis ein normales MQL-Lehrbuch etwas Ähnliches darstellen wie das, was im Buchhandel für jede Programmiersprache erhältlich ist. Diese dicken Bücher haben jeweils eine halbe Million Seiten. Die MMS-Besonderheiten lassen sich kaum in einem Büchlein von 50-100 Seiten beschreiben, wovon die "Trader" träumen. Allein die Auflistung von Beispielen kann leicht 100 oder mehr Seiten umfassen, wenn man die Artikel auf dieser Website betrachtet. Und Sie brauchen auch Illustrationen und ausführliche Erklärungen. Ein seriöses MQL-Tutorial wird also kaum "Trader" dazu inspirieren, Experten zu programmieren, wenn die Existenz dieser Website sie bisher nicht inspiriert hat. Ich spreche von der Notwendigkeit eines MQL-Tutorials, und ich meine die formale Seite des Themas - wenn es eine Programmiersprache gibt, dann muss es auch ein Tutorial (wenn auch hauptsächlich in elektronischer Form) für diejenigen geben, die darin programmieren lernen wollen.
Übrigens sind einige lokale Artikel fast alle gebrauchsfertige Kapitel eines Lehrbuchs.
Ich stimme zu, aber es wäre für Händler und Programmieranfänger einfacher, ein Lehrbuch zu verwenden, in dem alles systematisiert ist. Sie müssen nicht alle 500 Seiten studieren. Es würde genügen, den einführenden Teil, die Grundlagen der Programmierung, zu studieren und ihn dann als Nachschlagewerk zu verwenden, indem man nur die Operatoren (oder wie auch immer sie genannt werden) auswählt, die für die Umsetzung und Optimierung einer bestimmten Strategie notwendig sind. Und dementsprechend werden nicht mehr alle Beispiele mit Abbildungen benötigt. Ich weiß, es ist unmöglich, ein umfassendes Lehrbuch zu schreiben, aber gerade die Feinheiten können hier in Artikeln und im Forum geklärt werden.
 
Dmitrich:
Es reicht aus, die Einführung, die Grundlagen der Programmierung, zu lernen und sie dann als Referenz zu verwenden, indem man nur die Operatoren (oder wie auch immer sie genannt werden) auswählt, die für die Umsetzung und Optimierung einer bestimmten Strategie erforderlich sind. Dementsprechend sind Beispiele mit Illustrationen nicht mehr so notwendig.
Um diese Probleme zu lösen, hat Rosh mehrere grundlegende Artikel auf der Alpari-Website verfasst, die für diejenigen, die gerade erst anfangen, sehr hilfreich sind. Allerdings hat sich das Design geändert - ich kann diese Artikel nicht mehr auf Anhieb auf der Website finden. Sie können sie während einer Woche lesen und sich über die grundlegenden Trends in der Programmierung informieren. Und dann, je nach den Aufgaben, die der Fachautor zu erledigen hat.
 

Warum alles auf einen Haufen werfen?
Warum das Offensichtliche bestreiten - dass ein gutes (und kein gutes) MQL-Lehrbuch ein Muss ist?
Ich programmiere jetzt seit 2 Jahren in MQL, ich brauche keine Bücher. Heißt das aber, dass sie überhaupt nicht gebraucht werden?

In diesem Thread wurden an anderer Stelle bereits viele richtige Bemerkungen gemacht. Ich werde sie zusammen mit meinen eigenen wiederholen, um alles an einem Ort zusammenzufassen:

Es muss ein obligatorisches Kapitel geben, das (wie alex_ant geschrieben hat) den Mechanismus des MQL-Programmbetriebs beschreibt. Das ist etwas, das jeder Händler, der neu im Programmieren ist, schon vor dem Erlernen der Sprache verstehen kann. Diese Beschreibung muss sich auf den Handelsprozess beziehen und kann auch den Unterschied zwischen Indikatoren, Skripten und Expert Advisors erklären, wie sie sich in Bezug auf die Tick Queue, den Handelsserver, untereinander usw. verhalten.

Mehr Aufmerksamkeit sollte der Struktur des MQL-Programms gewidmet werden, seinen Hauptkomponenten - den init(), start() und deinit() Funktionen. Diese Funktionen sind der Hauptunterschied zwischen MQL und anderen Sprachen, und die Dokumentation räumt ihnen nur sehr wenig Platz ein, nur ein paar Zeilen.

Es wäre sehr schön, alle Artikel des Wörterbuchs durchzusehen und nicht nur die Fehler und Tippfehler zu beseitigen, sondern auch die Terminologie auf einen gemeinsamen Nenner zu bringen. Sehr oft werden gleiche oder ähnliche Parameter von Funktionen und Prozeduren mit ganz unterschiedlichen Begriffen beschrieben, deren Bedeutung nicht erklärt wird. Daher sind zwar Beschreibungen verfügbar, aber die Bedeutung und Verwendung einiger Parameter muss in einem Experiment untersucht werden.

Es ist sehr wichtig (ich stimme 4x4ever absolut zu), Beispiele in einer geraden Linie zu geben! Die große Mehrheit der Beispiele in den Wörterbuchartikeln erklärt nichts und lehrt nichts. Im Allgemeinen ist ein einzeiliges Beispiel kein Beispiel! In einem normalen Lehrbuch können Sie anhand des Beispiels sowohl die Bedeutung der Parameter als auch die Reihenfolge, in der die Prozedur/Funktion verwendet wird, und das Ergebnis, das sie erzeugt, verstehen. Und dafür ist es nicht notwendig, ein eigenes Programm zu schreiben. IMHO: Die Schwäche der MQL-Beispiele ist einer der Hauptnachteile der Dokumentation.

Und schließlich sollte es ein paar Artikel geben, die einem Anfänger erklären, wie man einen Indikator/Skript/Advisor Schritt für Schritt schreibt. Dieser Bedarf bezieht sich nicht auf den Algorithmus, sondern auf die Merkmale der Architektur des MQL-Programms. Dieser Artikel soll Anfängern helfen, die Struktur und den Code der Vorlage zu verstehen und damit den schwierigsten ersten Schritt zu machen. Anschließend kann diese Vorlage zur Erstellung aller anderen Programme dieses Typs verwendet werden. Und das ist kein Problem, denn Rosch ähnliche Artikel wurden bereits in großer Zahl verfasst. Sie müssen nur die passenden auswählen und sie deutlich vereinfachen.

Liebe Entwickler, die aufgeführten Verbesserungen an der Dokumentation sind viel weniger Arbeit als die Erstellung eines Tutorials. Für die Nutzer sind diese Dinge jedoch fast gleich. Sie bringen oft Ihren Unmut darüber zum Ausdruck, dass in beiden Foren oft die gleichen Fragen gestellt werden. Sich wiederholende Fragen können drastisch reduziert werden. Berücksichtigen Sie dazu einfach die wenigen Wünsche, die in diesem Thread geäußert wurden, zumindest in der Dokumentation.

 
Yurixx:

Warum alles auf einen Haufen werfen?
Warum das Offensichtliche bestreiten - dass ein richtiges (nicht gutes) MMS-Lehrbuch ein Muss ist?

Das mag richtig sein, aber eine Frage bleibt: Wer schreibt und veröffentlicht eigentlich Lehrbücher über das Programmieren in der Welt? Tun dies die Entwickler oder die Autoren und Verleger von Drittanbietern? Die Entwickler stellen das Programm und die Sprache her, das Schreiben und Veröffentlichen eines Lehrbuchs ist eine andere Sache.

Und wie kommen Sie darauf, dass ein Lehrbuch notwendig ist? Wenn Sie persönlich und die drei anderen in diesem Thread es brauchen, hat das keine Bedeutung. Wenn es eine tatsächliche Nachfrage gäbe, würde es bereits ein Angebot geben - das ist der Markt.

Ein normales Lehrbuch kostet 50-100 Dollar. Ich schlage vor, dass diejenigen, die ein hochwertiges Lehrbuch erwerben wollen, fünfzig Dollar beisteuern. Und wenn diese fünfzig Dollar ausreichen, wird es möglich sein, einen anständigen Autor zu engagieren, der für normales Geld hauptberuflich an dem Lehrbuch arbeitet und nicht zwischendurch für das tägliche Brot. Es wird ein normaler Lektor eingestellt, normale Gutachter werden bezahlt, und dann wird das Buch in normaler Qualität veröffentlicht.

Und wenn es nicht genug Nachfrage gibt, dann gibt es auch nichts zu reden - leeres Forengeschwätz - gib mir alles mehr und umsonst.
 
timbo писал (а):


Das mag richtig sein, aber eine Frage bleibt: Wer schreibt und veröffentlicht eigentlich Programmierlehrbücher in der Welt? Machen das die Entwickler oder sind es Drittautoren und -verlage? Die Entwickler stellen die Software und die Sprache her, das Schreiben und Veröffentlichen eines Lehrbuchs ist eine andere Sache.

Man muss den Verlegern eine Idee vorlegen, denn es ist ein sehr spezielles Thema, zu dem sie noch nicht gekommen sind. Stimmt, wenn sie (die Verleger) zur Sache kommen, werden sie es verdrehen und so viele Fehler machen, dass ein eingebautes Handbuch im Vergleich dazu wie die Bibel aussehen wird :-)
 
Yurixx:


Es ist zwingend erforderlich, Kapitel zu haben, die (wie alex_ant geschrieben hat) den Mechanismus des MQL-Programmbetriebs beschreiben. Das ist etwas, das jeder Händler, der neu im Programmieren ist, schon vor dem Erlernen der Sprache verstehen kann. Diese Beschreibung muss sich auf den Handelsprozess beziehen und kann auch den Unterschied zwischen Indikatoren, Skripten und Expert Advisors erklären, wie sie sich in Bezug auf die Tick Queue, den Handelsserver, untereinander usw. verhalten.

Mehr Aufmerksamkeit sollte der Struktur des MQL-Programms gewidmet werden, seinen Hauptkomponenten - den init(), start() und deinit() Funktionen. Diese Funktionen sind der wesentliche Unterschied zwischen MQL und anderen Sprachen...

Ganz genau!

"- Haben Sie bemerkt, wie das Wetter ist?
- Vorhersehbar.
- Exakt vorausgesagt, Sir Oira-Oira, exakt vorausgesagt!"
(Strugatsky, Der Montag beginnt am Samstag)
Grund der Beschwerde: