Was ich mir als professioneller Programmierer vom "Terminal" wünschen würde. Ein weiterer Thread mit Wünschen für MQL5. - Seite 9

 
Mathemat писал(а) >>

Das sollte es auch sein - einfach um der Kunst willen. Es gibt Situationen, in denen goto die einzige Möglichkeit ist, kurz und elegant zu programmieren.

Ich stimme zu. Manchmal ist das sehr notwendig. Wenn Sie jedoch zur Ereignisbehandlung übergehen, kann diese Notwendigkeit entfallen.

 
Korey писал(а) >>

nach Deduschka

1. Wenn ich mir Ihren Avatar ansehe, sehe ich eine Brust wie die eines Seemanns, + Spitzname "Granddad", - ja, also ein Schiffsmechaniker, und zwar der Chefmechaniker ging zum Aktienhandel.
2. das Niveau des "Fluchens" im Forum ist akzeptabel, Handel ist Identität, und man kann nicht ohne Identität handeln)))
2) das Niveau des "Fluchens" im Forum ist akzeptabel. Handel ist eine Form der Selbstversorgung ohne Eigeninteresse, keine Möglichkeit, ohne Eigeninteresse zu handeln.
3. ob Sie persönlich fluchen wollen oder nicht, Sie haben bereits geflucht, zumal MQL4 als Sprache und als Umgebung schlecht ist = )))
Sie gehören zufällig zu den beschämenden "Vier-Buchstaben-Betreibern".
Sie schämen sich auch, dass Sie den tiefen Gedanken der MQL-Schöpfer nicht verstehen))))
- Wenn Sie sich an die Form der Stanzlöcher in den Stanzträgern erinnern, werden Sie bald den Preis von MQL und MT-4 verstehen.
4. goto wird wie eine Meise mit Paprika und in Form von Beschämung in Unintelligenz, d.h. angeblicher geistiger Erbärmlichkeit, und Schamhaftigkeit gezwickt.
zum Nachweis auch diesen Thread lesen))
= hat den Programmierern den goto-Operator weggenommen, angeblich sollen sie jetzt herumspringen.
5.
Wie auch immer, zum Thema:
das Schandwort goto darf nicht verwendet werden, aber SRAM selbst und sein Schandwort goto-Operator sind ein MUSS

Lieber,

1. mein Avatar ist alt, aus dem Alpari-Forum. Ich habe das Meer in der Nähe, man kann es von meinem Büro aus sehen. :-)

Ich habe dieses Thema gesehen, einige Leute mögen mit mir streiten, aber nicht auf der Basis von Brot und Butter.

3. Ich erinnere mich an Lochkarten und Tonbänder (sogar an einen funktionierenden Röhrencomputer). :-)

4,5. In der Tat ist GOTO (jump) die Grundlage jeder Software-Steuerung. Und das ganze Problem liegt in der willkürlichen Verwendung.

Ein guter Programmierer wird sich darauf nicht konzentrieren und den GOTO-Operator dort schreiben, wo er gebraucht wird. Und wenn es nicht in der Sprache enthalten ist, ist das auch in Ordnung.

Aber es ist besser, es zu haben, es wird nicht hungrig sein und manchmal kann man es brauchen. Und Desperados, ob mit oder ohne sie, können immer noch eine solche Sauerei anrichten, dass "Mama nicht trauert".

Wie auch immer, zum Thema:

Ich werde mich nicht mit den prozeduralen Möglichkeiten der Sprache befassen, aber wenn man mit vielen Aufträgen (Tabellen, in der Tat) arbeitet, wäre es interessant, so etwas eingebaut zu haben:

DELETE *
VOM Handel
WHERE (OrderType = OP_BUYLIMIT);

oder

SELECT *
VON Geschichte
WHERE ((OrderMagicNumber=2135) AND
(AuftragsOffenzeit > #1/1/2009#));

In Anbetracht der vielversprechenden Strukturen in MQL5 könnten wir die benötigte Teilmenge von Aufträgen in den Standardpuffer holen und sie prozedural verarbeiten.

Ich habe mich gerade daran erinnert, wie Matrizen in früheren Basen multipliziert wurden (die Schleife in der Schleife usw.), ich bin zu faul, die ganze Geschichte Zeile für Zeile durchzugehen.

 

Es ist mir eigentlich egal, ob es goto ist oder nicht, denn es ist irrelevant, und sie werden es wahrscheinlich nicht hinzufügen, oder das Forum wird stagnieren...

Der Rest ist klar: Diejenigen, die genug verdienen können für das, was sie haben, und diejenigen, die verkaufen wollen, wollen natürlich mehr Yuish-Sachen,

Die Analysten wünschen sich mehr Macht und die Möglichkeit, mit MT zu expandieren und mit allem zusammenzuarbeiten...

 

Berufliche Entwicklung sollte sich von studentischen Dingen unterscheiden, und das Folgende bringt MQL4 diesem Ziel näher:

1. Das Dokument "Technische Analyse in MQL4" enthält Beschreibungen von Indikatoren, die sich nicht im Abschnitt "Indikatoren" des Terminals befinden, z. B. ZZ.

2. Das Dokument Technische Analyse in MQL4 verweist bei der Beschreibung der Indikatoren auf die Code Base, die angeblich den Quellcode enthält - das stimmt nicht. Wenn Bolindger Bands in der Sektion "Indicators" ist, dann ist es auch in der Sektion "Custom Indicators" (nicht Bands) und die Parameter in ihnen müssen die gleichen sein, statt int statt double.

3) Die Code Base enthält eine Menge Code, der von halbgebildeten Leuten geschrieben wurde, und oft ohne jegliche Fehlersuche oder -behebung, aber gleichzeitig wird oft der Autor von MetaQuotes angegeben. Die Codebasis sollte in Teile unterteilt werden:

Code (kann von jemand anderem als MetaQuotes geschrieben werden), für den MetaQuotes verantwortlich ist (Beratung und Fehlerbehebung);

Code, der von Dritten geschrieben wurde, aber von MetaQuotes kommentiert wird (durch den Moderator);

alles andere.

Auf jeden Fall ist MetaQuotes empfindlicher gegenüber Artikeln als Code Base, das in seiner jetzigen Form ein Haufen Müll ist.

4. Alle Indikatoren im Abschnitt "Indikatoren" müssen die Algorithmen garantieren, die von den jeweiligen Autoren vorgeschlagen wurden. Wenn dieser Algorithmus anders ist, ist es notwendig, ihn zu erklären, und es ist unangebracht, den Indikator mit einem großen Namen zu benennen.

5. Es ist sehr wünschenswert, dass die Algorithmen der Indikatoren mit einem älteren und weiter verbreiteten System übereinstimmen. Metastock nimmt unter den Analysesystemen eine Sonderstellung ein, weil Entwickler entsprechender Indikatoren an seiner Entwicklung beteiligt waren.

6. Die Anzahl der von MetaQuotes entwickelten Indikatoren sollte auf ein angemessenes Niveau angehoben werden und unter Berücksichtigung des vorherigen Kommentars der Anzahl und der Liste von Metastock entsprechen.

7. Für jeden Indikator sollte eine entsprechende "Funktion" geschrieben werden, die nicht das ganze oder einen Teil des Diagramms neu berechnet, sondern nur den notwendigen Teil. Dies dürfte den Zeitaufwand für die Prüfung erheblich verringern.

8. Alle Indikatoren und Funktionen müssen einen offenen Quellcode haben.

9. Zusätzlich zu den Expert Advisors und Skripten wird ein Explorer benötigt (MetaStock analog), der es im Testmodus ermöglicht, eine Reihe von Währungspaaren und Zeitrahmen zu analysieren, um das Paar für die nächste Handelssitzung auszuwählen.

 

1. Es ist nun schwer zu sagen, warum ZigZag nicht in die Liste der in das Terminal integrierten technischen Standardindikatoren aufgenommen wurde. Wahrscheinlich wegen der Vielfalt der Interpretationen. Aber jetzt haben wir viele verschiedene Zickzacklinien, die Sie im Terminal verwenden oder Ihre eigenen in MQL4 schreiben können.

2. Der Abweichungsparameter in einem benutzerdefinierten Indikator und im Standard-Bollinger-Band-Indikator hat unterschiedliche Typen. Dies wurde in MetaTrader 5 behoben. Mit Ausnahme dieses Punktes haben alle Indikatoren ihre eigenen Quellen in MQL4.

3. die Indikatoren in der Code-Basis im Namen von MetaQuotes sollten fehlerfrei und debugged sein. Wenn Sie einen Fehler finden, melden Sie ihn bitte.

4 Es ist schwierig, die Einzigartigkeit des Algorithmus zu gewährleisten, da die meisten Indikatoren sehr ähnlich sind.

5. Algorithmen werden von Menschen geschrieben, nichts steht still, und die meisten Algorithmen wurden irgendwann einmal mit Metastock überprüft.

6. Es ist nicht die primäre Aufgabe, MetaQuotes Software corp. die Möglichkeit, ihre eigenen Indikatoren von fast jeder Komplexität in MQL4 zu schreiben. Unserer Meinung nach ist dies wichtiger als das Hinzufügen mehrerer hundert Indikatoren zum Terminal.

7. In MQL4 ist es so, dass Sie den Prozess der Berechnung eines Indikators selbst steuern.

8. Nur offene Codes werden in der Code Base veröffentlicht und können so direkt aus MetaEditor heruntergeladen werden. 9.

9 Dies ist nicht ganz klar.

 
Rosh писал(а) >>

1. Es ist nun schwer zu sagen, warum ZigZag nicht in die Liste der in das Terminal integrierten technischen Standardindikatoren aufgenommen wurde. Wahrscheinlich wegen der Vielfalt der Interpretationen. Aber jetzt haben wir viele verschiedene Zickzacklinien, die Sie im Terminal verwenden oder Ihre eigenen in MQL4 schreiben können.

2. Der Abweichungsparameter in einem benutzerdefinierten Indikator und im Standard-Bollinger-Band-Indikator hat unterschiedliche Typen. Dies wurde in MetaTrader 5 behoben. Mit Ausnahme dieses Punktes haben alle Indikatoren ihre eigenen Quellen in MQL4.

3. die Indikatoren in der Code-Basis im Namen von MetaQuotes sollten fehlerfrei und debugged sein. Wenn Sie einen Fehler finden, melden Sie ihn bitte.

4 Es ist schwierig, die Einzigartigkeit des Algorithmus zu gewährleisten, da die meisten Indikatoren sehr ähnlich sind.

5. Algorithmen werden von Menschen geschrieben, nichts steht still, und die meisten Algorithmen wurden irgendwann einmal mit Metastock überprüft.

6. Es ist nicht die primäre Aufgabe, MetaQuotes Software corp. die Möglichkeit, ihre eigenen Indikatoren von fast jeder Komplexität in MQL4 zu schreiben. Unserer Meinung nach ist dies wichtiger als das Hinzufügen mehrerer hundert Indikatoren zum Terminal.

7. In MQL4 ist es so, dass Sie den Prozess der Berechnung eines Indikators selbst steuern.

8. Nur offene Codes werden in der Code Base veröffentlicht und können so direkt aus MetaEditor heruntergeladen werden. 9.

9 Dies ist nicht ganz klar.

Ich kann Ihre Antwort nicht akzeptieren, denn sie sieht eher aus wie die Antwort eines hohen Beamten auf einen lästigen Bürger, obwohl ich nichts verlange oder fordere - ich arbeite nur für das Gemeinwohl. Auf den Punkt gebracht.

1. ZZ ist in Metastock verfügbar, und sein Algorithmus unterscheidet sich (meiner Meinung nach) zum Besseren. Der Rest der Vielfalt ist gut, wenn ein Benchmark verfügbar ist. Außer ZZ habe ich keinen ADX gefunden, und auch die verfügbare Variante ADX hat andere Algorithmen und entsprechend andere Graphen, z.B. ADX_Rosh.

2. Der angegebene Link ist nur ein Beispiel. Und dieser Unterschied ist nicht der einzige. Zum Beispiel haben alle benutzerdefinierten Indikatoren den Parameter "applied_price" nicht, obwohl er laut Beschreibung in diesen Indikatoren enthalten sein sollte .

Der Accelerator verfügt nicht über den Parameter Periode. Ich gehe davon aus, dass dies niemand überprüft hat, und meine These, dass MQ den Quellcode nicht zur Verfügung gestellt hat, wird dadurch bestätigt.

3 Ich habe Ihre Stellungnahme zu diesem Punkt nicht gesehen.

4. Die berufliche Entwicklung unterscheidet sich von der des Schülers, dass die Algorithmen des Autors von Weltruf garantiert sind - kann Ihre Erklärung nicht akzeptieren.

5. Wenn Metastock als Grundlage genommen wurde - von welchem Fortschritt sprechen wir dann? In Metastock werden die Algorithmen der Indikatoren nicht geändert.

6. Es tut mir sehr leid, vielleicht habe ich es nicht verstanden. Ich spreche nicht davon, ein paar hundert Indikatoren zu entwickeln. Metastock verfügt über etwa hundert Indikatoren, aber das Wichtigste ist etwas anderes - es handelt sich um einen funktionell vollständigen Satz von Indikatoren für den Aufbau von Handelssystemen. Es gibt eine vernünftigere Klassifizierung der Indikatoren, die sich aus den Marktmerkmalen ergibt. Volatilitätsindikatoren, zum Beispiel. Und was sagt ein Oszillator aus, was ist das Marktmerkmal? Das Williams-Handelssystem ist als Indikator angegeben. Das ist großartig, aber es ist ein separater Abschnitt und es sollte nicht die Indikatoren betreffen, denn dies ist ein Handelssystem (in Metastock ist es ein separater Unterabschnitt), von denen es viele geben kann.

7. Ich kontrolliere nichts im Code des Indikators. Um die Indikatorwerte 0, 1, 2 zu erhalten, müssen Sie die Funktion dreimal aufrufen, da mir der Indikatorpuffer nicht zur Verfügung steht. Diese Schwierigkeit reflektiert das Forum mit seinen Empfehlungen, Indikatorentext in den Text des Expert Advisors zu übertragen.

8. Der Code des Indikators kann nicht über .mqh eingebunden werden, er erfordert zusätzlichen Aufwand und vor allem Qualifizierung.

9. Wir sprechen hier von einem Tester-Modus, der die Ergebnisse des Testens mehrerer Währungspaare und/oder EAs kombiniert - dieser ist in Metastock verfügbar.

Hinter den neun Punkten geht wieder mein Hauptpunkt verloren: der Teil von Code Base, der den Stempel "Metacurrents" trägt, muss auf professionellem Niveau durchgeführt werden. Und wenn wir Code Base als "Open Source" bezeichnen, dann muss dieser Code von einem Profi geschrieben und professionell gestaltet sein.

Der Open-Source-Indikator muss eine Beschreibung in der Art von "Language Description" und "Technical Analysis" haben, die jedoch genau dem Code entsprechen muss, auf den verwiesen wird.

Darüber hinaus muss der Quellcode des Indikators selbst enthalten:

- Beschreibung der Eingabeparameter

- Beschreibung der Ausgabeparameter

- ausführliche Erläuterung des Algorithmus

- vielleicht ein Kommentar zu einigen anderen Teilen des Programms

- Die Gestaltung von Indikatorpuffern zu den maximalen Möglichkeiten von Mq4.

- obligatorische Überprüfung der Gültigkeit der Eingabeparameter eines Indikators (ich kann mich nicht mehr erinnern)

- das Problem des Genauigkeitsverlusts beim Vergleich nahe beieinander liegender Werte beheben

Abgesehen von dem Wunsch, den Metatrader zu verbessern, steckt kein Sinn hinter diesem Text.

 

Wenn möglich, fügen Sie zur Vereinfachung der Entwicklung von EAs und zum Zählen von Klammern in ihnen eine Funktion in ME-5 hinzu, mit der Sie verschiedenfarbige Beschriftungen, wie in der Abbildung, anbringen können.

Ich verwende dies manuell, indem ich den Screenshot von EA in Paint kopiere und farbige und unterschiedlich geformte Markierungen anbringe, wie im Bild zu sehen ist:

 
Night_Sun писал(а) >>

Wenn möglich, fügen Sie zur Vereinfachung der Entwicklung von EAs und zum Zählen von Klammern in ihnen eine Funktion in ME-5 hinzu, mit der Sie verschiedenfarbige Beschriftungen, wie in der Abbildung, anbringen können.

Ich verwende es manuell, indem ich den Screenshot von EA in Paint kopiere und farbige und unterschiedlich geformte Markierungen anbringe, wie im Bild zu sehen ist:

Dann wird NotePad++ Ihnen helfen. Und Sie brauchen es nicht zu kopieren. Und die verlinkten Klammern sind hervorgehoben http://notepad-plus.sourceforge.net/ru/site.htm

Grund der Beschwerde: