Ich unterrichte von Grund auf und helfe auch Neueinsteigern, sich in die Reihen der MQL4-Profis einzureihen. - Seite 7

 
Dmitry Sumsky:

Haben Sie nichts Besseres zu tun, als stundenlang nach Fehlern in meinem Code zu suchen, oder bin ich eine Nervensäge und Sie wollen es mir heimzahlen?

Du bist ein seltsamer Mann, Andrew...

Wofür ist das Forum da? -- Zum Spaß.

ich trinke meinen tee aus einer untertasse und ein paar kuchen -- ich schaue mich im forum um und vielleicht finde ich etwas, das mir spaß macht -- dein thema ist lustig (ich mochte es schon immer).

p.s. Warum brauchen Sie Rache, und aus welchem Grund? -- P.S.2 Seien Sie mir nicht böse - es ist lustig, Ihr Thema war für mich immer ein Lernprozess.


p.s.2 Seien Sie nicht böse, ich habe meinen Beitrag gelöscht - vielleicht war er wirklich stachelig - er sollte Sie in keiner Weise beleidigen

 
Andrey F. Zelinsky:

Wofür ist das Forum da? -- zum Spaß.

ich trinke gerade eine Tasse Tee mit Gebäck - ich stöbere im Forum, vielleicht finde ich etwas, das mir Spaß macht - Ihr Thema ist lustig (ich mochte schon immer das Thema Lernen).

p.s. Warum brauchen Sie Rache und wofür? - Ich verstehe das nicht.

Außerdem, Dimochka, hast du mich zuerst angegriffen - ich bin nur der Geschädigte.

Du bist so ein unschuldiges Mädchen. Du bist in meine Wiege eingebrochen und hast mir gesagt, wie ich mein Leben leben soll. Ich habe nur die ganze Wahrheit gesagt. Offenbar ist dir die Wahrheit im Hals stecken geblieben und du hast beschlossen, irgendeinen Hinweis zu finden, um mich irgendwie zu ärgern. Aber je mehr Sie schimpfen, desto mehr erniedrigen Sie sich selbst. Sie können mich weiterhin provozieren, indem Sie sich vor anderen erniedrigen. Dies ist ein Forum, ein Forum für Heiterkeit. Außerdem sind es nicht nur Sie und ich, die sie lesen... )))
 
Dmitry Sumsky:
Du bist so ein unschuldiges Mädchen. Sie brechen in meine Wiege ein und sagen mir, wie ich mein Leben leben soll. Alles, was ich gesagt habe, war die ganze Wahrheit. Offensichtlich ist dir die Wahrheit im Hals stecken geblieben und du hast beschlossen, irgendeinen Hinweis zu finden, um mich irgendwie zu ärgern. Aber je mehr Sie schimpfen, desto mehr erniedrigen Sie sich selbst. Sie können mich weiterhin provozieren, indem Sie sich vor anderen erniedrigen. Dies ist ein Forum, ein Forum für Heiterkeit. Außerdem sind es nicht nur Sie und ich, die sie lesen... )))

Ich habe Ihnen geschrieben:

Andrey F. Zelinsky:

p.s.2 Sei mir nicht böse, ich habe meinen Beitrag gelöscht - vielleicht war er etwas stachelig - ich wollte dich in keiner Weise beleidigen

-- und Sie greifen weiter an -- Ich hätte meinen Beitrag wahrscheinlich nicht löschen sollen.

 
Andrey F. Zelinsky:

Du - ich habe dir geschrieben:

-- und Sie greifen weiter an -- ich muss meinen Beitrag umsonst gelöscht haben.

Sie müssen es gelöscht haben, während ich schrieb. Nun, es tut mir leid... )))
 
Dmitry Sumsky:

Dieser Thread soll denjenigen helfen, die versuchen zu lernen, aber es als langwierig und mühsam empfinden. Ich habe nur meine Hilfe angeboten, um die Sprache schneller zu lernen und zu verstehen, wie sie im Computerspeicher funktioniert, damit ich den besten Code auf einmal programmieren kann, anstatt ihn "irgendwie" zu machen und dann zu versuchen, ihn zu optimieren... )))

Ich denke, dass solche Konstruktionen nicht sehr optimal sind:

for(int i=0; i+1<iBars(NULL,Sarpperiod); i++)

Es wäre besser, das Ergebnis der Funktion iBars() vor dem for-Operator einer Variablen zuzuweisen, da "Ausdruck2" nach jeder Iteration auf seinen Wahrheitsgehalt überprüft wird und bei jedem Aufruf der Funktion mehr Zeit in Anspruch nimmt als beim Vergleich mit einer Variablen.

 
Vasiliy Pushkaryov:

Meiner Meinung nach sind solche Entwürfe nicht sehr optimal:

for(int i=0; i+1<iBars(NULL,Sarpperiod); i++)

Es wäre besser, das Ergebnis der Funktion iBars() vor der for-Anweisung einer Variablen zuzuweisen, da "Ausdruck2" nach jeder Iteration auf seinen Wahrheitsgehalt überprüft wird und jeder Aufruf der Funktion mehr Zeit in Anspruch nimmt als der Vergleich mit der Variablen.

Ich stimme zu, das ist im Grunde das, was ich tue. Und wenn es keinen Unterschied macht, wo man den Durchlauf beginnt, dann schreibe ich for(int i=iBars(NULL,SarPeriod)-1; i>=0; i--). Dies ist optimal für den Prozess und weniger Zeichen in der Zeichenkette. Bei diesem Code habe ich nicht auf eine 100%ige Optimierung abgezielt - ich musste weniger Strings erstellen, also habe ich ihn so geschrieben... )))

Das, was den Prozess am meisten "auffrisst", ist iCustom usw., und davon habe ich eine Menge. Ich sollte die Algorithmen aller Indikatoren, die ich verwende, in den Expert Advisor selbst schreiben, damit er "fliegt", aber ich hatte keine solche Aufgabe...

 
Dmitry Sumsky:
Ich stimme zu, das ist im Grunde das, was ich tue. Und wenn es keinen Unterschied macht, wo man mit dem Durchlauf beginnt, dann schreibe ich for(int i=iBars(NULL,SarPeriod)-1; i>=0; i--). Dies ist optimal für den Prozess und weniger Zeichen in einer Zeichenkette. Bei diesem Code habe ich nicht auf eine 100%ige Optimierung abgezielt - ich musste weniger Strings erstellen, also habe ich ihn so geschrieben... )))
Ich verstehe. Dann bin ich für Ihre Schüler zufrieden)
 
Vasiliy Pushkaryov:

Meiner Meinung nach sind solche Entwürfe nicht sehr optimal:

for(int i=0; i+1<iBars(NULL,Sarpperiod); i++)

Es wäre besser, das Ergebnis von iBars() vor der for-Anweisung einer Variablen zuzuweisen, da "Expression2" nach jeder Iteration auf Wahrheit getestet wird und bei jedem Aufruf der Funktion mehr Zeit benötigt als beim Vergleich mit der Variablen.

Das ist eigentlich nicht so wichtig. Ich erinnere mich, dass Knuths "The Art of Programming" so etwas sagt - ein guter Programmierer sollte:

1. in der Lage sein, jedes Programm zu reduzieren oder zu optimieren,

2. es niemals tun.

 
Yuriy Asaulenko:

Das ist eigentlich nicht so wichtig. Ich erinnere mich, dass in Knuths The Art of Programming etwas Ähnliches steht: Ein guter Programmierer sollte:

1. in der Lage sein, jedes Programm zu kürzen oder zu optimieren,

2. es niemals tun.

Mir gefällt dieser Ansatz besser.

Wenn ich meine Funktionen schreibe, sind sie lang und komplex. Sie enthalten mehrstufige Einzüge und verschachtelte Schleifen. Sie haben lange Argumentationslisten. Die Namen sind chaotisch gewählt und es gibt Doppelungen im Code. Aber ich habe auch eine Reihe von Unit-Tests für alle diese klobigen Zeilen bis zur letzten.

Ich fange also an, meinen Code zu "durchkämmen" und zu verfeinern, neue Funktionen hervorzuheben, Namen zu ändern und Duplikate zu beseitigen. Ich kürze Methoden und ordne sie neu an. Manchmal muss ich ganze Klassen unterbrechen, aber ich sorge dafür, dass alle Tests erfolgreich verlaufen.

Am Ende bleiben mir Funktionen, die nach den in dieser Kategorie beschriebenen Regeln aufgebaut sind. Ich schreibe sie nicht von Anfang an auf diese Weise auf. Und ich glaube nicht, dass irgendjemand das überhaupt kann.

Robert Martin, Sauberer Code. Erstellung, Analyse und Refaktorierung.

Manche Menschen sind dazu in der Lage und tun es, andere sind dazu in der Lage und tun es nicht, es ist eine Frage der Art und Weise, wie man es tut.

 
Vasiliy Pushkaryov:

Mir gefällt dieser Ansatz besser

Einige können es und tun es, andere können es und tun es nicht, es ist eine Frage der Art und Weise, wie man es macht.

Diese Ansätze schließen sich nicht gegenseitig aus. Es geht um unterschiedliche Dinge.
Grund der Beschwerde: