Die Sprache MQL5 von Grund auf selbst erlernen - Seite 49

 
MrBrooklin:

Peter, wir erstellen also den abschließenden Code im Skript? Großartig! Das, was Sie aufgelistet haben, nehme ich jetzt als grundlegende Abschnitte und fange an, sie in Worten zu beschreiben, so dass es klar ist, wie man später Funktionen, Schleifen usw. schreibt. Ist dies richtig?

Mit freundlichen Grüßen, Vladimir.

Sie können kein Skript für das Trailing verwenden. Dies untergräbt die Idee dessen, was ich Ihnen zu sagen versuche.
Ich werde später an meinem Computer schreiben.
Wir haben eine allgemeine Linie: Wir verwenden nur Funktionen. Ich werde später schreiben, wie.
 
Vasiliy Sokolov:
Sie können kein Skript für das Nachsetzen verwenden. Das untergräbt die Idee dessen, was ich Ihnen zu sagen versuche.
Ich werde später am Computer schreiben.
Die allgemeine Linie ist dieselbe: Wir verwenden nur Funktionen. Wie - das schreibe ich später.

Ich hab's, Vassili! Dann habe ich alles auf Eis gelegt.

Mit freundlichen Grüßen, Vladimir.

 
Vasiliy Sokolov:
Sie können kein Skript für das Trailing verwenden. Das untergräbt die Idee dessen, was ich Ihnen zu sagen versuche.
Ich werde später am Computer schreiben.
Die allgemeine Linie ist dieselbe: Wir verwenden nur Funktionen. Ich werde später schreiben, wie.
So verwenden wir auch die Funktionen im Skript, Vasiliy. Ja, es ist weniger bequem als beim Expert Advisor, aber Vladimir setzt den Plan des Selbstlernens um. Es ist nicht wünschenswert, davon abzuweichen, weil man dann die Ziele und den Stoff völlig durcheinander bringen könnte. Deshalb habe ich seinen Wunsch unterstützt, einen Zeilenumbruch im Skript vorzunehmen, auch wenn er nicht ganz korrekt ist.
 
MrBrooklin:

Ich hab's, Vassili! Dann werde ich alles auf Eis legen.

Hochachtungsvoll, Vladimir.

Es gibt keinen grundsätzlichen Unterschied, wo man nachgestellte Funktionen schreibt, die Hauptsache ist, dass man schreibt und lernt.
 
Реter Konow:
Es gibt keinen grundsätzlichen Unterschied, wo man nachgestellte Funktionen schreibt, die Hauptsache ist, dass man schreibt und lernt.

Sie können OnTick nicht im Skript aufrufen)

 
MrBrooklin:

Ich hab's, Vassili! Dann werde ich alles auf Eis legen.

Hochachtungsvoll, Vladimir.

Nähern wir uns dem Trailing Schritt für Schritt. Jetzt schlage ich Ihnen vor, den Trailing-Algorithmus auf Papier zu schreiben: d.h. schreiben Sie eine detaillierte ToR auf Punkte ohne einen Code, wie es Ihrer Meinung nach funktionieren sollte. Daran werden wir in Zukunft arbeiten.
 
Valeriy Yastremskiy:

Sie können OnTick nicht im Skript aufrufen)

Das hätte er nicht getan. Es hätte den Skript-Thread blockiert und wäre in einer Endlosschleife durch die Handelsumgebung gelaufen. Ich meine, es würde alles auf einmal und auf brutale Weise geschehen.
 
Vladimir Simakov:

Es gibt eine Beobachtung, die besagt, dass es schwer ist, aufzuhören, wenn man einmal angefangen hat, und als Folge davon wird der Projektcode zu dem, was als DC bekannt ist.

Lassen Sie mich das erklären:

  1. Sie haben ein Projekt mit einer funktionierenden Zwischenlösung und die Anzahl der implementierten Funktionen ist gleich 0.
  2. Unsere Aufgabe ist es, die Funktion ++count zu implementieren.
  3. Um die benötigten Funktionen hinzuzufügen:
    • Methoden des Objektbaums zu schreiben und all diese Dinge durch Logik in Event-Handlern zu verbinden (geschätzte Zeit 3 Stunden *count; count=0).
    • eine Krücke in Form einer globalen Variablen zu schreiben und sie in mehreren Methoden zu verwenden, wo wir sie brauchen (geschätzte Zeit 15 min *Zahl.).
  4. Autonummerierungsfehler (dies ist ein Fehlerbericht für Meta-Zitate).
  5. Natürlich wurde die Version mit den Krücken gewählt (es ist wirklich schwer, sich in diesem Fall zu helfen)
  6. if (wir haben es geschafft) goto 2
  7. sonst geht alles den Bach runter, ich rufe "Hilfe-mich" und lese lustige Kommentare, dass es falsch ist, das zu tun.

Ich hoffe, Sie haben darauf geachtet, dass der Zähler der implementierten Funktionen die Zeit für die Implementierung der nächsten Funktion erhöht, aber wenn sie korrekt implementiert wurde, wird er auf Null zurückgesetzt?

Das ist eine sehr übertriebene Vorstellung, aber so funktioniert es im wirklichen Leben.

Was ich meine, ist, wenn Sie das Projekt nicht neu schreiben, nachdem Sie alle Funktionen implementiert haben, wird es als unlesbarer Spoiler in die Produktion gehen. Und dann führt der Lebenszyklus eines jeden Projekts zu Kopfzerbrechen für das Management: entweder das gesamte Team auf ein globales Refactoring all der Dinge zu setzen, die sie gesponnen haben (und die Konkurrenten schlafen nicht, sie, die bösen Jungs, schreiben neue Features), oder weiterhin Krücken zu schreiben und Bugs zu patchen, die in Strömen durchsickern.

Regulierung und nochmals Regulierung. Und Exkommunikation bei Verstößen)))) und in einem monolithischen Verfahren kann alles auch umgesetzt werden.)

Obwohl, ok, ich stimme zu, alle ehemaligen kann immer noch sein, aber neue Arbeitnehmer in den Regeln ist ein zusätzlicher Kosten).

Und um ehrlich zu sein, wenn man mehr als 3-5 verschiedene Datenquellen und mehr als 3 verschiedene Verarbeitungsalgorithmen hat, sind globale Variablen ohne eine klare Regelung ihrer Deklaration natürlich ein Übel.

Zur Laufzeit werden alle Berechnungsvariablen global deklariert. Nach der Verarbeitung können Sie sie nach Belieben einwickeln)

 
Valeriy Yastremskiy:

Regulierung und nochmals Regulierung. Und bei Verstößen, Exkommunikation))))) und in einem monolithischen Verfahren kann auch alles umgesetzt)))) werden.

Ich stimme zwar zu, dass alle erstgenannten Maßnahmen noch durchgeführt werden können, aber es ist zu teuer, neue Mitarbeiter in das Verfahren einzubeziehen.)

Deshalb ist es einfacher / leichter / billiger, neu angekommenen Kämpfern das Kommando "Globals ist böse" beizubringen - Tränen, Selbstschüsse, Wut älterer Kameraden mindern sofort die Ordnung. Und komplexe Funktionen durch die Globals brauchen Anfänger noch nicht.
 
Vasiliy Sokolov:
Das hätte er nicht getan. Er hätte den Fluss des Drehbuchs blockiert und in einer Endlosschleife das Handelsumfeld durcheinander gebracht. Das heißt, es würde alles auf einmal und auf brutale Weise geschehen.

So habe ich mir das vorgestellt, aber nur mit der Sleep-Funktion im Skript und der Möglichkeit, die Schlafdauer von 1 bis 10 Sekunden einzustellen.

Hochachtungsvoll, Vladimir.

Grund der Beschwerde: