Mt4 Ende der Unterstützung. - Seite 11

 

Vladimir:

Vielleicht, um die Schnittstelle mit dem Benutzer zu organisieren? Dies ist, wo eine Menge von Variationen auf der OOP sind konstruiert, eine visuelle Komponente Bibliothek in Delphi. Also, Expert Advisors und Skripte sind entworfen, um Menschen auf dem Computer zu ersetzen, diese Schnittstelle direkt widerspricht ihrem Zweck, ist es nicht erforderlich. Das heißt, sie ist im Weg. Genau wie unnötige Gegenstände in einem Taschenmesser. Oder ein Nagler am Ende des Stahlstiels eines Universalhammers - das kratzt nicht nur, sondern verlagert auch den Schwerpunkt vom Schlagbolzen zum Stiel.

In diesem Punkt stimme ich nicht mit Ihnen überein.

Eine grafische Schnittstelle kann für Algotrader notwendig sein, die verstehen, dass ein vollautomatischer EA bei weitem nicht so effektiv ist wie ein halbautomatischer. Die Kombination von automatisiertem und manuellem Handel kann aus Sicht des Handels professioneller und profitabler sein. Wenn die Menschen dies erkennen, werden ihre Roboter definitiv eine Schnittstelle benötigen.

 
Реter Konow:

1. graph_id kann von einer russischsprachigen Person schneller gelesen werden als m_chart_id.


2. Wenn ein Programm Hunderte von Variablen enthält, ist Russisch eine unverzichtbare Unterstützung.


All dies kann in einem Experiment getestet werden.


Die Geschwindigkeit des Lesens und Verstehens von Codes in der Muttersprache wird immer schneller sein und das Einprägen wird besser sein.


Sie müssen sich nur mit den Regeln für die Benennung von Variablen im Russischen vertraut machen. Anstelle von "variable_to_store_general_profit_position, einfach: general_profit.


Wenn es in einem Programm Hunderte von Variablen gibt, können die meisten davon wahrscheinlich durch Strukturen kombiniert werden. Vergessen Sie auch nicht, Funktionen zu verwenden.
Viele Variablen haben keine Bedeutung, denn sie sind Zähler, Zwischenspeicher für Daten und werden hinter einer Reihe von Klammern verwendet. Und das Beste ist, dass wir hinter allen Klammern wieder die gleichen Variablen verwenden können, aber wieder in Klammern {....}

Oder zunächst in OOP schreiben.

 
Artyom Trishkin:

Ich habe den Eindruck, dass die Essenz seiner Ablehnung von OOP darin liegt. Ich könnte mich natürlich irren, aber ich habe normalerweise ein Gefühl für Menschen.

Meiner Meinung nach besteht das Problem der meisten Nicht-OBOs in einem inneren Widerstand gegen die "Einschränkung von Rechtsansprüchen".

Ein Programmierer der alten Schule ist es gewohnt, jederzeit vollen Zugriff auf alle Daten, jeden Block, jede Programmentität zu haben. Und der OOP-Ansatz impliziert das Gegenteil - die maximale Einschränkung von Rechten, wenn man Zugriff auf einen sehr kleinen Teil von Daten und Programmaktionen hat.

Soweit ich mich erinnere, hat es mir nicht besonders gefallen. Ich erinnere mich, dass ich in den Anfängen von Windows sehr angewidert von geschütztem Speicherzugriff war - ich kann nicht auf die Adresse zugreifen, die ich möchte, und was ist, wenn sie sich im Systemkern befindet? Ich möchte es von einem Programm ablesen lassen oder es überhaupt ändern! Ich habe sogar einen Controller für den direkten Speicherzugriff programmiert, der die Daten aus dem "verbotenen" Bereich an den "erlaubten" Bereich sendet und so die Systembeschränkungen umgeht.

Aber mit der Zeit habe ich all diese Einschränkungen wirklich zu schätzen gelernt. Ein "unnötiger" Zugriff kann immer zu Fehlern führen. Es ist also sehr klug, die Arbeit der Zugangskontrolle in den Compiler zu verlagern.Die Zugangsbeschränkung erweist sich hier als "narrensicher" und nicht als "Verletzung Ihrer Rechte". Wenn Sie einen Zugang brauchen, den Sie nicht haben, bedeutet das nur, dass Sie das System falsch konzipiert haben - Sie hätten ihn vorsehen müssen, wenn Sie ihn brauchen.

Und jetzt - im Gegenteil - schränke ich den Zugang immer so weit wie möglich ein. Zu jedem Zeitpunkt sollte nur der Zugang zu denjenigen Stellen möglich sein, die notwendig sind. Alle anderen Einrichtungen müssen unzugänglich sein. Dies schützt Sie vor Fehlern beim Zugriff auf Stellen, auf die Sie nicht zugreifen sollten, und gewöhnt Sie auch an eine bestimmte Abfolge der Systementwicklung, bei der jede Operation an einer Stelle ausgeführt wird und keine anderen Stellen betroffen sind.

 
Mickey Moose:

Ich hasse z.B. Inludes in Form von Bibliotheken, nur weil ich nicht weiß, was sie dort hineinpacken und wie es mir helfen kann, ist es einfacher, ein Dutzend weitere Funktionen zu schreiben

ähnlich dem, was ich von Re-Tag Konow gewohnt bin.

Und warum?

Ein und dieselbe Funktion wird an vielen Stellen benötigt - warum Funktionen kopieren, wenn man alles in den Bibliotheken haben kann und den Hauptcode nicht mit unnötigen Blöcken überfrachtet?

 
George Merts:

Und warum?

Ein und dieselbe Funktion wird an vielen Stellen benötigt - warum also Funktionen kopieren, wenn man alles in Bibliotheken unterbringen kann und den Hauptcode nicht mit unnötigen Blöcken überfrachtet?

Ich habe mir für diesen Fall eine kleine Datenbank mit Funktionen angelegt, die ich bei Bedarf abrufe und hinzufüge.

Stellen Sie sich vor, was es bedeutet, eine 1 MB große DLL zu dekompilieren, zu lesen und zu verstehen, was darin enthalten ist. Warum so viel zusätzliche Arbeit?
 
Реter Konow:

Du bist gut darin, Argumente zu finden, Nikolai).

Auch die Großmutter hat kein Problem damit, alles aufzusaugen. Sie möchte nur unbewusst nicht, dass irgendein Schmuckstück ihren ruhigen Geist in einen Kreislauf unnötiger Informationen zieht. Sie hat Recht).

Peter, es hat sich herausgestellt, dass du eine Großmutter bist.

 

Hallo

Vielleicht kann ich hier etwas Hilfe bekommen. Ich habe eine Frage an die MT4-Entwickler. Wo kann sie geäußert werden. Wenn in diesem Forum, dann in welchem Thema? Oder irgendwo anders? Wenn Sie es wissen, sagen Sie es mir bitte.

 
Реter Konow:

In diesem Punkt stimme ich nicht mit Ihnen überein.

Eine grafische Schnittstelle kann für Algotrader notwendig sein, die erkennen, dass ein vollautomatischer EA bei weitem nicht so effektiv ist wie ein halbautomatischer. Die Kombination von automatisiertem und manuellem Handel kann aus Sicht des Handels professioneller und profitabler sein. Wenn die Menschen dies erkennen, werden ihre Roboter definitiv eine Schnittstelle benötigen.

Sie unterstützen voll und ganz die Person, die sagt, dass mql nur über Server-Zugriffsfunktionen verfügen sollte, und alles andere über Krücken von Entwicklungswerkzeugen Dritter programmiert werden sollte. Weichen Sie nicht von der Parteilinie ab. Seien Sie konsequent - laden Sie alle Ihre Entwicklungen auf mql ab und bauen Sie eine Brücke - zum Beispiel im Studio - oder wo immer Sie Ihre Leinwände schreiben werden... Berichten Sie dann über Ihren nächsten Sieg über die Mühle.

 
Mickey Moose:

Ich hasse z.B. Inludes in Form von Bibliotheken, nur weil ich nicht weiß, was sie dort hineinpacken und wie es mir helfen kann, ist es einfacher, ein Dutzend weitere Funktionen zu schreiben

ähnlich dem in Retrog Konow.

Nun, das Gesetz der Energieerhaltung: Warum sollte man die Bibliothek dekompilieren und verstehen, wenn alles ohne sie funktioniert?

P.S.

Haben Sie mein Top über Elche gesehen?

Wenn Ihre Codes anfangen zu überlaufen, 10, 20, 30, ... , 100 Tausend Zeilen, dann kommen Sie zurück und sagen mir, wie Sie Ihre Codes in einem solchen Umfang kopieren.

 
George Merts:

Meiner Meinung nach besteht das Problem der meisten Nicht-OBOs in einem inneren Widerstand gegen die "Einschränkung von Rechtsansprüchen".

Ein Programmierer der alten Schule ist es gewohnt, jederzeit vollen Zugriff auf alle Daten, jeden Block, jede Programmentität zu haben. Und der OOP-Ansatz impliziert das Gegenteil - die maximale Einschränkung von Rechten, wenn man Zugriff auf einen sehr kleinen Teil von Daten und Programmaktionen hat.

Soweit ich mich erinnere, hat es mir nicht besonders gefallen. Ich erinnere mich, dass ich in den Anfängen von Windows sehr angewidert von geschütztem Speicherzugriff war - ich kann nicht auf die Adresse zugreifen, die ich möchte, und was ist, wenn sie sich im Systemkern befindet? Ich könnte sie sogar aus einem Programm heraus lesen oder überhaupt verändern wollen! Ich habe sogar einen Controller für den direkten Speicherzugriff programmiert, der Daten aus dem "verbotenen Bereich" in den "erlaubten Bereich" sendet und so die Systembeschränkungen umgeht.

Aber mit der Zeit habe ich all diese Einschränkungen wirklich zu schätzen gelernt. Ein "unnötiger" Zugriff kann immer zu Fehlern führen. Es ist also sehr klug, die Arbeit der Zugangskontrolle in den Compiler zu verlagern.Die Zugangsbeschränkung erweist sich hier als "narrensicher" und nicht als "Verletzung Ihrer Rechte". Wenn Sie einen Zugang brauchen, den Sie nicht haben, bedeutet das nur, dass Sie das System falsch konzipiert haben - Sie hätten ihn vorsehen müssen, wenn Sie ihn brauchen.

Und jetzt - im Gegenteil - schränke ich den Zugang immer so weit wie möglich ein. Zu jedem Zeitpunkt sollten nur die Einheiten verfügbar sein, auf die zugegriffen werden muss. Alle anderen Objekte müssen unzugänglich sein. Dies schützt Sie vor Fehlern beim Zugriff auf Stellen, auf die Sie nicht zugreifen sollten, und gewöhnt Sie auch an eine bestimmte Abfolge der Systementwicklung, bei der jede Operation an einer Stelle ausgeführt wird und keine anderen Stellen betroffen sind.

Sie haben ein gutes Beispiel dafür gegeben, was OOP abstoßen kann.

In meinem Fall war es ein wenig anders. Ich war fest entschlossen, OOP zu lernen, aber irgendwann sah ich keinen praktischen Nutzen mehr darin. Daran hat sich bis heute nichts geändert. Und das alles nur, weil ich meinen Ansatz entwickelt habe, der OOP aus meiner Praxis verdrängt hat.

Diese Aussage, dass die Zugangsbeschränkung ein notwendiger Schutz ist, der vor Fehlern bewahrt, kann ich überhaupt nicht nachvollziehen. Wenn Variablennamen in verschiedenen Teilen des Programms übereinstimmen, natürlich ja. Wenn jedoch ein gemeinsamer globaler Speicher für alle globalen Hauptvariablen in einem Array vorhanden ist, sind keine Einschränkungen erforderlich, und es kommt nicht zu Verwechslungen.