Ich werde versuchen, einen Rahmen für EAs zu schaffen (oder zu versuchen, falls Interesse besteht). Möglichst nur für einfache Dinge geeignet und ohne große Anforderungen an die Kenntnisse des angewandten Programmierers.
Im Gegensatz zu der lokal üblichen Praxiswird der Entwurfvon oben nach untendurchgeführt. Ausgehend vom gewünschten Anwendungsfall des Benutzers, nicht von den technischen Grundlagen des Terminals.
Das heißt, Sie erklären das Design nicht aus der technischen Basis des Terminals heraus, und mit der ersten Auflistung sind Sie tief an die technische Basis der Terminals gebunden. Sie sind so gefesselt, dass Sie sogar Makros für die bedingte Kompilierung verwenden, weil Sie ohne sie nicht auskommen, selbst auf höchster Benutzerebene.
Im Prinzip können Sie einen Eintrag wie diesen innerhalb von GetData OnCrossSignal verwenden. Möglicherweise können Sie sogar Skripte schreiben :-) Aber alles zu seiner Zeit... Die Datenverarbeitung ist wie eine elektronische Tabelle aufgebaut.
So ist es besser, Sie beginnen zu verstehen, was ich Ihnen sagen will. Wenn Sie einen Ansatz von oben nach unten deklarieren, beginnen Sie von oben. Deshalb funktioniert "alles zu seiner Zeit" nicht mehr. Dies ist die wichtigste Aufgabe.
Wird EasyLanguage gerade erfunden? Wie viele MT4-Advisors, die ich gesehen habe, sind alle über MT4-API geschrieben, ohne komplexe Wrapper. Offenbar ist es einfacher und zuverlässiger, da der Code sehr übersichtlich ist.
Wenn wir zum Beispiel einen solchen MT5-Wrapper für den Handel oder einen solchen für MAX verwenden, dann wäre es nur für den Autor dieser Wrapper einfach.
Wird EasyLanguage gerade erfunden? Wie viele MT4-Advisors, die ich gesehen habe, sind alle über MT4-API geschrieben, ohne komplexe Wrapper. Offenbar ist es einfacher und zuverlässiger, da der Code sehr übersichtlich ist.
Wenn wir zum Beispiel einen solchen MT5-Wrapper für den Handel oder einen solchen für MAX verwenden, dann wäre es nur für den Autor dieser Wrapper einfach.
Ich stimme zu, und die Entwicklung und Unterstützung in der Zukunft ist wichtig, um etwas zu benutzen und zu lernen. Dummes Beispiel, aber trotzdem, mql6 oder eine neue Art von Aufträgen wird herauskommen, der Punkt war, sich mit diesen Wrappern zu beschäftigen, wenn man immer noch Mana auf dieser Seite lesen muss.
Aleksei Beliakov: Ich stimme zu, und die Entwicklung und Unterstützung in der Zukunft ist wichtig, um etwas zu benutzen und zu lernen. Dummes Beispiel, aber immer noch, mql6 wird herauskommen oder neue Art von Aufträgen, war der Sinn, mit diesen Wrappern zu beschäftigen, wenn Sie noch zu lesen Mana auf dieser Website.
Du liest Mana, du trinkst Pita, du isst Essen...
Es ist sehr einfach, neue Objekte zu einer gut organisierten Struktur hinzuzufügen, während man Hühner raucht und Gerüchten zuhört :)
Nun, Sie schreiben es richtig. Aber der Benutzer versteht einen solchen Pseudocode viel besser:
Eine andere Sache ist, dass es viel schwieriger ist, es in dieser speziellen Form (verfahrensorientiert, wie ich feststelle) zu realisieren, aber es ist trotzdem möglich. Das ist es, was man erreichen sollte - Anweisungen auf Benutzerebene so einfach und abstrakt wie möglich zu gestalten. In Ihrem Fall muss der Benutzer bedingte Kompilierungsmakros, spezifische Funktionen für die Berechnung von Durchschnittswerten und andere technische Details angeben, die er einfach nicht bewältigen kann.
Man schreibt eine universelle Klasse, wie sie von TC entworfen wurde, und fügt sie mit einem Inluder und darunter einem weiteren Inluder mit Defines ein, in denen wir Methodenaufrufe verpacken:
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Jetzt geht's los:
Ich werde versuchen, einen Rahmen für EAs zu schaffen (oder zu versuchen, falls Interesse besteht). Möglichst nur für einfache Dinge geeignet und ohne große Anforderungen an die Kenntnisse des angewandten Programmierers.
Im Gegensatz zu der lokal üblichen Praxiswird der Entwurf von oben nach untendurchgeführt. Ausgehend vom gewünschten Anwendungsfall des Benutzers, nicht von den technischen Grundlagen des Terminals.
Im Prinzip können Sie einen Eintrag wie diesen innerhalb von GetData OnCrossSignal verwenden. Möglicherweise können Sie sogar Skripte schreiben :-) Aber alles zu seiner Zeit... Die Datenverarbeitung ist wie eine elektronische Tabelle aufgebaut.
So ist es besser, Sie beginnen zu verstehen, was ich Ihnen sagen will. Wenn Sie einen Ansatz von oben nach unten deklarieren, beginnen Sie von oben. Deshalb funktioniert "alles zu seiner Zeit" nicht mehr. Dies ist die wichtigste Aufgabe.
Wird EasyLanguage gerade erfunden? Wie viele MT4-Advisors, die ich gesehen habe, sind alle über MT4-API geschrieben, ohne komplexe Wrapper. Offenbar ist es einfacher und zuverlässiger, da der Code sehr übersichtlich ist.
Wenn wir zum Beispiel einen solchen MT5-Wrapper für den Handel oder einen solchen für MAX verwenden, dann wäre es nur für den Autor dieser Wrapper einfach.
Wird EasyLanguage gerade erfunden? Wie viele MT4-Advisors, die ich gesehen habe, sind alle über MT4-API geschrieben, ohne komplexe Wrapper. Offenbar ist es einfacher und zuverlässiger, da der Code sehr übersichtlich ist.
Wenn wir zum Beispiel einen solchen MT5-Wrapper für den Handel oder einen solchen für MAX verwenden, dann wäre es nur für den Autor dieser Wrapper einfach.
Ich stimme zu, und die Entwicklung und Unterstützung in der Zukunft ist wichtig, um etwas zu benutzen und zu lernen. Dummes Beispiel, aber immer noch, mql6 wird herauskommen oder neue Art von Aufträgen, war der Sinn, mit diesen Wrappern zu beschäftigen, wenn Sie noch zu lesen Mana auf dieser Website.
Nun, Sie schreiben es richtig. Aber der Benutzer versteht einen solchen Pseudocode viel besser:
Eine andere Sache ist, dass es viel schwieriger ist, es in dieser speziellen Form (verfahrensorientiert, wie ich feststelle) zu realisieren, aber es ist trotzdem möglich. Das ist es, was man erreichen sollte - Anweisungen auf Benutzerebene so einfach und abstrakt wie möglich zu gestalten. In Ihrem Fall muss der Benutzer bedingte Kompilierungsmakros, spezifische Funktionen für die Berechnung von Durchschnittswerten und andere technische Details angeben, die er einfach nicht bewältigen kann.
Man schreibt eine universelle Klasse, wie sie von TC entworfen wurde, und fügt sie mit einem Inluder und darunter einem weiteren Inluder mit Defines ein, in denen wir Methodenaufrufe verpacken:
die Implementierung ist für den Benutzer nicht sichtbar, aber die Benutzerfreundlichkeit wird benötigt
also
Bitte keinen Kommerz.