Die Sprache MQL5 von Grund auf selbst erlernen - Seite 15

 
Vasiliy Sokolov:

Programmierer haben zwei Probleme: Compilerfehler und Architekturprobleme. Als Anfänger konzentrieren Sie sich darauf, den Compiler zu bekämpfen, und Ihr ultimatives Ziel ist ein Programm, das korrekt funktioniert. Allerdings verwandelt sich ein Anfängerprogramm sehr schnell in so genannten Spaghetti-Code, den der Autor selbst nicht schnell genug durchschauen kann. Deshalb schlage ich vor, dass Sie sich nicht auf den Compiler und die Korrektheit des endgültigen Skripts konzentrieren, sondern auf Fragen der Architektur. Es ist wie beim Erlernen des Klavierspiels: Zuerst lernt man, die Finger richtig zu halten und richtig am Instrument zu sitzen, niemand verlangt von einem Anfänger, Bach zu spielen.

Sie haben zwei Gruppen von Parametern, die das Verhalten Ihres Skripts bestimmen: Die erste Gruppe wird statisch, als Makro, festgelegt. Die zweite wird vom Benutzer beim Laden des Skripts im Diagramm festgelegt. Jetzt kann der Benutzer die Art der Bestellung nicht mehr auswählen, ohne dieses Skript neu zu kompilieren. Das ist nicht gut. Daher wäre es besser, auf diese Makros zu verzichten und stattdessen den zusätzlichen Parameter zu verwenden:

Entsprechend haben wir eine neue Aufzählung definiert, die wir als Auswahlparameter für den Benutzer implementiert haben.

Jetzt lachte ich, als ich Ihren Stil sah, auch mit bestimmten Fehlern, kritzeln Sie noch etwas.

 
MrBrooklin:

Hallo, Peter! Ich studiere das Lehrbuch nach Bedarf, d. h. wenn ich eine Wissenslücke sehe. Ich habe das Gefühl, dass ich jetzt eine kleine Pause einlegen und das Lehrbuch genauer studieren muss. Alle Empfehlungen von Forumsteilnehmern werden berücksichtigt, und ich versuche, mich an sie zu halten. Und jetzt bin ich erstaunt, dass ich es geschafft habe, in so kurzer Zeit etwas nur mit dem MQL5-Referenzbuch zu schreiben.

Mit freundlichen Grüßen, Vladimir.

Das MQL4-Referenzbuch von Kovalev ist das beste. Sie ist irgendwo auf dieser Website zu finden. Sie werden keine bessere finden.
 
Vasiliy Sokolov:

Das nächste Problem mit Ihrem Code ist, dass er sich zu einem langen verfahrenstechnischen Blatt ausweitet. Alle Anfänger schreiben auf diese Weise. Und das ist ein Problem, das sie über Jahre hinweg begleitet. Lernen Sie, Ihren Algorithmus in Teile zu zerlegen, angefangen bei den Grundlagen wie diesem Skript. Es gibt zwei Möglichkeiten, dies zu tun: durch Funktionen und Klassen. Das Konzept der Klassen ist anfangs zu schwer zu begreifen, daher schlage ich vor, dass Sie sich auf die Arbeit mit Funktionen konzentrieren... warum nicht selbst eine schreiben?

Das Wichtigste, was Ihnen eine Funktion bietet, ist die Fähigkeit, strukturell zu denken und einen Algorithmus schematisch zu skizzieren. Wenn es zum Beispiel einen speziellen Satz von Funktionen gibt, die Sie in MQL für Ihre Aufgabe benötigen, könnten Sie einen sehr einfachen Algorithmus schreiben:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()                                                    
  {
   if(orderType1=="BUY_STOP")
     SendBuyStop(Lots, Distance);     
   if(orderType2=="SELL_STOP")
     SendSellStop(Lots, Distance);
  }
  

Und das war's. Wir haben ein einfaches Algorithmus-Schema vor Augen, das auch funktioniert. Ein Traum in einem Wort.

 
Roman:

Jetzt habe ich gelacht, als ich Ihren Stil gesehen habe, und mit bestimmten Fehlern, kritzeln Sie noch etwas.

Was haben Sie mit Fehlern zu tun, Sie wissen nicht einmal, wie das funktioniert, aber Sie geben Ratschläge. Wurde tatsächlich auf den Punkt gebracht, nichts für ungut)

 
Реter Konow:
Beachten Sie, dass das MQL4-Tutorial von Kovalev das beste ist. Sie ist irgendwo auf dieser Website verfügbar. Sie werden keine bessere finden.

Das ist einfach nur altes Zeug, das heutzutage niemand mehr braucht. Es ist besser, Kafka vor dem Schlafengehen zu lesen. Es ist nützlicher.

 

Hier finden Sie den besten Weg, um eine angewandte Sprache für hochspezialisierte Aufgaben zu lernen, ohne sich von den Ratschlägen der Amateure verwirren zu lassen oder sich den Kopf über unpassende Aufgaben zu zerbrechen:

Sergei Kovalevs Lehrbuchhttps://book.mql4.com/ru

Учебник по MQL4
Учебник по MQL4
  • book.mql4.com
В настоящее время персональный компьютер стал незаменимым помощником в жизни каждого человека. Благодаря развитию Интернета и увеличению мощности современных компьютеров открылись новые возможности во многих областях деятельности. Ещё десять лет назад торговля на финансовых рынках была доступна только банкам и узкому кругу специалистов. Сегодня...
 
Vasiliy Sokolov:

Du weißt nicht einmal, wie es funktioniert, aber du gibst Ratschläge. (Sie wurden auf den Punkt gebracht, nicht böse gemeint)

Oh ho ho ho ))

Es gibt andere Leute, die hier Ratschläge erteilen.
Es wurde eine Aufgabe bezüglich der Bedingung für gestellt, niemand hat sie beantwortet, auch Sie nicht!
Von welchem Ort kann die Rede sein, wenn ich das umgekehrte Bild sehe))

 
Vasiliy Sokolov:

Das ist einfach nur altes Zeug, das heutzutage niemand mehr braucht. Es ist besser, Kafka vor dem Schlafengehen zu lesen. Es ist nützlicher.

Was meinen Sie mit "altes Zeug"? Ein Alphabet, ein ABC-Buch, könnte das Schrott sein? Vielleicht ist die Arithmetik alt?

Sie sind ein guter Programmierer, aber als Lehrer sehen Sie nicht die Informationen, die für Ihren Schüler relevant sind, und Sie schätzen sein Niveau falsch ein. Er muss die Grundlagen in der richtigen Reihenfolge beherrschen, und dabei hilft nur ein gutes Lehrbuch).

 
Реter Konow:
Vasily, der Mann beherrscht noch nicht einmal die Arrays. Es ist noch zu früh für ihn, sich solche Vorträge anzuhören).

Peter, lassen wir das. Erinnern wir uns daran, wie wir Ihnen vor ein paar Jahren im Forum OOP erklärt haben).

Nun, die Wahrheit ist, dass nicht einmal alle modernen Programmierer verstehen, was ein Array ist. Jeder arbeitet mit Listen, und nicht jede Sprache hat ein Array in sich. Irgendwo heißt es zum Beispiel Enumerator + Map, und die Öffentlichkeit beschwert sich nicht.

 
Vasiliy Sokolov:

Peter, lassen wir das. Erinnern wir uns daran, wie wir Ihnen vor ein paar Jahren im Forum OOP erklärt haben).

Nun, die Wahrheit ist, dass nicht einmal alle modernen Programmierer verstehen, was ein Array ist. Jeder arbeitet mit Listen, und nicht jede Sprache hat ein Array in sich. Irgendwo heißt es zum Beispiel Enumerator + Map, und die Öffentlichkeit beschwert sich nicht.

Nein, du bist zu viel.))) (Ich habe mich daran erinnert, dass wir uns mit Vornamen anreden. Es ist lange her, dass du hier warst:))

Jeder sollte Arrays kennen!))), aber OOP ist nicht erforderlich. Das ist natürlich gut, aber es ist noch zu früh, um darüber zu sprechen.