Diskussion zum Artikel "Verstehen von Funktionen in MQL5 mit Anwendungen"

 

Neuer Artikel Verstehen von Funktionen in MQL5 mit Anwendungen :

Funktionen sind in jeder Programmiersprache von entscheidender Bedeutung. Sie helfen Entwicklern, das DRY-Konzept anzuwenden, was bedeutet, sich nicht zu wiederholen, und bieten viele weitere Vorteile. In diesem Artikel finden Sie viele weitere Informationen über Funktionen und wie wir unsere eigenen Funktionen in MQL5 mit einfachen Anwendungen erstellen können, die in jedem System, das Sie haben, verwendet oder aufgerufen werden können, um Ihr Handelssystem zu bereichern, ohne die Dinge zu komplizieren.

Angenommen, die Software soll alle offenen Positionen schließen, wenn der Aktienkurs einen maximalen Drawdown erreicht hat, und wir müssen diese Aufgabe in vielen Teilen der Software ausführen. In diesem Fall wäre es besser, eine Funktion zu erstellen und den gesamten erforderlichen Code oder die Logik zur Ausführung dieser Aufgabe einzuschließen und diese Funktion dann in anderen Teilen aufzurufen. Aber es wäre nicht gut oder zu aufwändig, den gleichen Code in vielen Teilen zu schreiben und zu wiederholen, um die Aufgabe zu erfüllen.

Wenn Sie sich fragen, warum wir diese Art von Funktion verwenden müssen, wird die Antwort auf diese Frage dazu führen, dass wir die Merkmale der Verwendung von nutzerdefinierten Funktionen kennen lernen, und das Folgende ist dafür:

  • Es ist hilfreich, das DRY-Konzept (do not repeat yourself = keine Wiederholungen) anzuwenden: Die Verwendung von nutzerdefinierten Funktionen hilft uns, denselben Code nicht immer wieder zu wiederholen, sondern eine Funktion zu erstellen, die unsere Aufgabe einmal ausführen und dann an einer beliebigen Stelle in der Software aufrufen kann.
  • Wiederverwendbarkeit: Nachdem wir unsere Funktion erstellt haben, können wir sie jederzeit wieder verwenden.
  • Es ist hilfreich, das Konzept des „Teile und herrsche“ anzuwenden: Wenn wir Software erstellen, kann der Code komplex sein, um ein Problem zu lösen, aber wenn wir das große Problem in kleine Probleme unterteilen und jedes einzelne durch Funktionen lösen, kann dies sehr hilfreich sein, um unser Ziel bei der Lösung des großen Problems zu erreichen.
  • Dies trägt dazu bei, dass der Code besser lesbar und verständlich ist: Wenn wir Funktionen verwenden, hilft das, unsern Code lesbarer zu machen, da er durch die Funktionen übersichtlicher wird und jeder ein bestimmtes Problem behandelt und eine bestimmte Aufgabe hat.
  • Es ist hilfreich, das Konzept der Abstraktion anzuwenden: Die Verwendung von Funktionen bietet eine Methode zur Abstraktion unseres Codes, denn wenn wir sie nicht verwenden, müssen wir möglicherweise mehr Codezeilen schreiben als bei der Verwendung von Funktionen.
  • Es ist hilfreich, das Konzept der Kapselung anzuwenden: Wenn wir Funktionen verwenden, können wir unseren Code und unsere Daten besser sichern und verwalten, als wenn wir sie nicht verwenden würden.
  • Es verbessert den Debugging-Prozess: Wenn wir Funktionen verwenden, hilft das, Fehler besser zu erforschen und sie viel einfacher zu lösen.

Nach dem, was wir über die Merkmale der Verwendung von Funktionen erwähnt haben, können wir leicht herausfinden, wie viel vorteilhaft sein wird, wenn wir diese nutzerdefinierten Funktionen in unserer Software verwenden.

Autor: Mohamed Abdelmaaboud

 

hilfreich

vielen Dank

ich hoffe, dass ich dasselbe für Hinweise und verwandte Themen finden werde

 
Mohamed Hassan Mohamed Hassan Alsherbiny #:

hilfreich

vielen Dank

ich hoffe, dass ich dasselbe für Hinweise und verwandte Themen finden werde

Vielen Dank für Ihren freundlichen Kommentar.

Ich werde versuchen, das zu tun.

 

Vielen Dank an den Autor für diesen Artikel! Ich denke, es ist eine sehr nützliche Information für alle Anfänger, die die Programmiersprache MQL5 lernen wollen. Ich habe ihn zu meinen Favoriten hinzugefügt.

Mit freundlichen Grüßen, Vladimir.

Hinzugefügt: Mein einziger Wunsch bei der Veröffentlichung von Artikeln in einem russischsprachigen Forum ist, dass alle Kommentare auf Russisch sein sollten. So ist es viel einfacher, die Informationen zu verdauen. Hier ist ein Beispiel. Anstelle von:

//Zusatzfunktion
// der zurückgegebene Datentyp ist eine ganze Zahl - der Name der Funktion ist add - Parameter oder Argumente sind zwei int-Variablen val1 und val2
int add(int val1, int val2)
  {
   //Funktionskörper, den die Funktion beim Aufruf ausführen soll
   //eine neue Ergebnisvariable erstellen, die durch das Ergebnis der Addition von val1 und val2 zugewiesen wird
   int result = val1+val2;
   /Drucken Sie das Ergebnis auf der Registerkarte "Experten
   Print(result);
   //Rückgabewert
   return 0;
  }

wäre es toll, wenn man die Übersetzung sofort sehen könnte:

//Zusatzfunktion
//zurückgegebener Datentyp ist eine ganze Zahl. Der Name der Funktion ist add. Die Parameter oder Argumente sind zwei Variablen vom Typ int val1 und val2.
int add(int val1, int val2)
   {
    //der Körper der Funktion, die beim Aufruf der Funktion ausgeführt werden soll
    //Eine neue Ergebnisvariable erstellen, der das Ergebnis der Addition von val1 und val2 zugewiesen wird
    int result = val1+val2;
    //Drucken Sie das Ergebnis auf der Registerkarte Experten
    Print(result);
    //Wert zurückgeben
    return 0;
   }

Übrigens, als ich die Kommentare ins Russische übersetzte, hatte ich noch eine Ergänzung in Form einer Frage: Warum gibt return in dieser Funktion Null statt Ergebnis zurück?

Ist das nicht ein Fehler des Autors?

 
MrBrooklin #:

Übrigens, als ich die Kommentare ins Russische übersetzte, hatte ich noch einen Zusatz in Form einer Frage: Warum liefert return in dieser Funktion Null und nicht das Ergebnis?

Ist das nicht der Fehler des Autors?

Meine Herren Programmierer!!! Ist mein Hirn so ausgetrocknet, dass ich den Zweck des Return-Operators nicht verstehe , oder ist es immer noch ein Fehler des Autors?

Mit freundlichen Grüßen, Vladimir.

 
MrBrooklin #:

Meine Herren Programmierer!!! Ist mein Hirn so ausgetrocknet, dass ich den Zweck des Return-Operators nicht verstehe oder ist es ein Fehler des Autors?

Mit freundlichen Grüßen, Vladimir.

Hallo Vladimir. Ich denke, du bist bereits ein erfahrener Programmierer genug, um zu erraten, dass es sich um einen Fehler handelt...

 
Alexey Viktorov #:

Hallo Vladimir. Ich denke, dass Sie bereits ein erfahrener Programmierer genug geworden sind, um zu erraten, dass dies nur ein Fehler ist....

Guten Morgen, Alexey! Ich danke dir natürlich, aber ich bin von einem erfahrenen Programmierer noch genauso weit entfernt wie von Peking. )) Ich frage mich nur, wie sie Artikel mit solchen Fehlern ins Forum lassen?

Mit freundlichen Grüßen, Vladimir.

 
MrBrooklin #:

Guten Morgen, Alexey! Ich danke dir natürlich, aber ich bin von einem ausreichend erfahrenen Programmierer noch genauso weit entfernt wie von Peking. )) Ich frage mich nur, wie sie Artikel mit solchen Fehlern ins Forum lassen?

Mit freundlichen Grüßen, Vladimir.

Vladimir, "erfahren genug" bedeutet nicht "Guru". Das ist keine Schmeichelei.

Die Funktion wurde geschrieben und nicht getestet, daher sind solche Fehler aufgrund von Unachtsamkeit möglich. Und was sie vermissen......... Wie viel Personal brauchen Sie, um alle Artikel sorgfältig zu lesen und solche Fehler zu korrigieren? Das ist nicht realistisch... Wenn man einen Fehler bemerkt, meldet man ihn, er wird korrigiert und alle sind zufrieden.

 
Alexey Viktorov #:

Vladimir, "erfahren genug" bedeutet nicht "Guru". Es ist keine Schmeichelei.

Die Funktion wird geschrieben und nicht getestet, so dass solche Fehler aufgrund von Unaufmerksamkeit möglich sind. Und was sie vermissen......... Wie viel Personal brauchen Sie, um alle Artikel sorgfältig zu lesen und solche Fehler zu korrigieren? Das ist nicht realistisch... Wenn man einen Fehler bemerkt, meldet man ihn, er wird korrigiert und alle sind zufrieden.

Der Punkt ist, dass Anfänger aus diesen Artikeln lernen, auch solche mit Nullkenntnissen, und sie haben keine Möglichkeit zu beurteilen, ob der Code korrekt ist oder nicht, sondern müssen ihn einfach glauben. ))

Mit freundlichen Grüßen, Vladimir.

 
MrBrooklin Programmiersprache MQL5 lernen wollen. Ich habe ihn zu meinen Favoriten hinzugefügt.

Mit freundlichen Grüßen, Vladimir.

Hinzugefügt: mein einziger Wunsch bei der Veröffentlichung von Artikeln in einem russischsprachigen Forum ist, dass alle Kommentare auf Russisch sein sollten. So ist es viel einfacher, die Informationen zu verdauen. Hier ist ein Beispiel. Anstelle von:

wäre es toll, gleich eine Übersetzung zu sehen:

Übrigens, als ich die Kommentare ins Russische übersetzte, hatte ich noch eine Ergänzung in Form einer Frage: Warum liefert return in dieser Funktion Null und nicht das Ergebnis?

Ist das nicht ein Fehler des Autors?

Hallo, Herr Brooklyn!

Vielen Dank für Ihren Kommentar und Ihren Hinweis. Dieser Fehler wurde korrigiert und zur Veröffentlichung weitergeleitet.


Vielen Dank für den Hinweis

 
Mohamed Abdelmaaboud #:

Hallo, Herr Brooklyn!

Vielen Dank für Ihren Kommentar und Ihre Benachrichtigung. Dieser Fehler wurde bearbeitet und gesendet, um die richtige zu veröffentlichen.

Ich danke Ihnen sehr

Guten Tag, vielen Dank für Ihre Antwort.

Mit freundlichen Grüßen, Vladimir.