Diskussion zum Artikel "Das MQL5-Kochbuch: Steuerelemente des Indikatorunterfensters - Die Schaltflächen" - Seite 3

 
DC2008:

Oh, gut. Es ist also für einen Anfänger klar, warum Sie eine Zeitschaltuhr verwenden?

Es sollte klar sein, denn es gibt eine Erklärung im Artikel und einen Vorschlag für eine Alternative als Hausaufgabe. )
 
tol64:
Das sollte klar sein, denn der Artikel enthält eine Erklärung und bietet eine Alternative als Hausaufgabe. )

Gut! Erklären Sie mir persönlich: Warum brauche ich eine Zeitschaltuhr?

 
DC2008:

Also gut. Erklären Sie mir persönlich: Warum brauche ich einen Timer?

Das steht fast am Ende des Artikels. Vor dem Video.
 
tol64:
Es wird fast am Ende des Artikels beschrieben. Vor dem Video.

Was denken Sie, ich habe den Artikel nicht gelesen und nicht gesehen, wo Sie über den Timer geschrieben haben? Beweisen Sie, dass Ihre "Rezepte" essbar sind. "Erklären Sie es mir: Wozu brauche ich einen Timer?

 
DC2008:

Was meinen Sie, ich habe den Artikel nicht gelesen und habe nicht gesehen, wo Sie über den Timer geschrieben haben? Beweisen Sie, dass Ihre "Rezepte" genießbar sind. "Erklären Sie es mir: Warum brauche ich einen Timer?

Ich zitiere aus dem Artikel:

Endlich eine Erklärung, warum wir einen Timer in dieses Programm einbauen müssen. Wenn zum Beispiel mehr als ein Programm auf dem Diagramm läuft und jedes Programm Mausereignisse verfolgen muss, dann wird die Verfolgung in der Funktion OnDeinit() für alle Programme deaktiviert, wenn eines von ihnen aus dem Diagramm entfernt wird. Deshalb ist es optional möglich, jede Sekunde zu überprüfen, ob die Mausverfolgung aktiviert ist.

...

Manchmal reicht es schon aus, diese Prüfung durch das Ereignis mit der Kennung CHARTEVENT_CHART_CHANGE zu setzen.

Die rote Markierung ist ein Hinweis für den Leser (Anfänger), dass es auch anders gehen kann. Ich habe es absichtlich auf einen Timer gesetzt, damit der Lernende wenigstens den geringsten Versuch unternehmen kann, selbst etwas herauszufinden und selbst zu entscheiden, welcher Weg für ihn besser funktioniert.

 

Mit anderen Worten: Sie können nicht erklären, warum Sie eine Zeitschaltuhr brauchen. Nun, lesen wir weiter:

tol64:

Wenn zum Beispiel mehr als ein Programm auf dem Diagramm läuft und jedes von ihnen Mausereignisse verfolgen muss, dann wird die Verfolgung in der Funktion OnDeinit() für alle Programme deaktiviert, wenn eines von ihnen aus dem Diagramm entfernt wird.

Können Sie diese Aussage beweisen?

 

Und wenn es Ihnen nichts ausmacht, zeigen Sie den "Anfängern" gleichzeitig, wo und wie sie die Tastenfunktionen platzieren können.

 
DC2008:

Mit anderen Worten: Sie können nicht erklären, warum Sie eine Zeitschaltuhr brauchen. Okay, lesen Sie weiter:

Das wird langsam lächerlich. Hier ist die Antwort (Duplikat):

Und schließlich eine Erklärung, warum wir den Timer in diesem Programm aktivieren müssen. Wenn zum Beispiel mehr als ein Programm auf dem Diagramm läuft und jedes Programm Mausereignisse verfolgen muss, dann wird die Verfolgung in der Funktion OnDeinit() für alle Programme deaktiviert, wenn eines von ihnen aus dem Diagramm entfernt wird. Deshalb können Sie optional jede Sekunde überprüfen, ob die Verfolgung von Mausereignissen aktiviert ist.

Können Sie diese Aussage beweisen?

Ja, natürlich! Ich kann für jedes Wort eine Antwort geben. )) Aber um ehrlich zu sein, wenn Sie eine Diskrepanz gefunden haben, sollten Sie Beweise liefern. Der Artikel wurde übrigens vor einem halben Jahr geschrieben und erst jetzt auf diese Seite übertragen. Es ist nicht ausgeschlossen, dass sich in dieser Zeit irgendwo ein Fehler eingeschlichen hat.

Das ist wie beim Service Desk. Wenn Sie einen Fehler im Terminal oder in der MQL-Sprache gefunden haben, sind Sie es, der ein Beispiel und eine Abfolge von Aktionen angeben sollte, um den Fehler/die Fehlanpassung zu reproduzieren.

Sie haben sogar so sehr darauf bestanden, dass alles so ist, wie es geschrieben steht, dass ich es selbst schon (wieder) überprüft habe. Dabei habe ich etwas Interessantes entdeckt. Es wurde nicht in den Ankündigungen angekündigt, oder vielleicht war es das, aber ich kann es nicht finden. Das schmälert aber nicht den Wahrheitsgehalt der obigen doppelten Aussage. Es ist wirklich alles wahr. Aber ich wäre trotzdem daran interessiert, Beweise von Ihnen zu sehen. Und wenn Sie sie liefern, werde ich sie widerlegen. Das wäre noch interessanter.

Abgemacht? ))

 
DC2008:

Und wenn es Ihnen nichts ausmacht, zeigen Sie "Anfängern" gleichzeitig, wo und wie man Schaltflächenfunktionen platziert.

In diesem Beispiel werden die Schaltflächenfunktionen in der Funktion OnInit() platziert. Aber lassen Sie uns zuerst die obigen Beweise behandeln. ))
Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 
tol64:

Das wird langsam lächerlich...

Na gut, lasst uns lachen. Der Artikel wurde von Ihnen geschrieben, "niemand hat Ihnen die Sprache verschlagen".

Also, die Erklärung in Form von Zitaten für das Unerklärliche ist zumindest nicht respektvoll gegenüber Ihren Lesern. Fragen sollten mit Beispielen und Links zu Primärquellen beantwortet werden.

Verwirrender und überladener Code mit unnötigen Funktionen führt "Anfänger" nur in die Irre.

Und die Tatsache, dass "Schaltflächenfunktionen in der OnInit-Funktion platziert werden" ist sehr lustig!