Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1566
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Wenn Sie einen EA mit drei Zeilen haben, dann brauchen Sie natürlich kein OOP).
Aber wenn ich einen Goblin mit einem Arm und drei Beinen und dann mit einem Bein und drei Armen erstellen müsste - dann, ja, dann würde mir OOP wirklich helfen. Obwohl... Ich weiß es auch nicht.
Was ist der Sinn, dass es hier steht?
Und es spielt überhaupt keine Rolle, wie viele "Linien" Sie haben. ;)Nur int oder double?
Was ist, wenn die Variable ein Objekt einer Klasse ist?
Und wenn die Anzahl dieser Objekte vorher nicht bekannt ist [vor der Ausführung von OnInit()]?
Und wenn die Parameter der Konstruktoren im Voraus [vor OnInit()] unbekannt sind?
Sie haben einen guten Link und ein Beispiel für die Deklaration von Klassen angegeben.
In jedem Fall werden die globalen vor OnInit() deklariert; die anderen werden jedes Mal deklariert, wenn sie benötigt werden
In jedem Fall werden die Globalen vor OnInit() deklariert, die anderen werden jedes Mal deklariert, wenn sie benötigt werden
In der Theorie ist das klar.
In der Praxis, nach :
Deklaration von 'NB_M1' versteckt globale Variable -> pro Zeile in OnInit()
siehe vorherige Erklärung von 'NB_M1'
arbeitet der Experte so, als wäre NB_M1 global (und korrekt initialisiert), obwohl er durch eine lokale Deklaration verborgen und in OnInit() als lokal initialisiert ist.
Von der Idee her sollte es gar nicht funktionieren.
Theoretisch ist das sinnvoll.
In der Praxis, nach :
Deklaration von 'NB_M1' versteckt globale Variable -> pro Zeile in OnInit()
siehe vorherige Erklärung von 'NB_M1'
arbeitet der Experte so, als wäre NB_M1 global (und korrekt initialisiert), obwohl er durch die lokale Deklaration in OnInit() verborgen ist.
Von der Idee her sollte es gar nicht funktionieren.
Und es spielt keine Rolle, wie viele "Strings" Sie haben. ;)Wenn man hundert oder zwei Zeilen Code hat, weil man mit diesem anfangen will, dann vergisst, wofür das da ist, dann dieses hinzufügt, dann kommt natürlich (?) der Gedanke auf: "Wie soll man das organisieren?" Oder nicht).
Was ist NB_M1? Vielleicht ist sie bereits in der Bibliothek deklariert? Und ohne jeglichen Code ist es wie taub und blind)
NB_M1 ist ein Objekt der Klasse CIsNewBar, das den Beginn eines neuen Balkens für jedes Zeichen definiert. Nein, sie ist nicht in der Bibliothek deklariert.
Code im ersten Beitrag: https://www.mql5.com/ru/forum/160683/page1547#comment_23712294
NB_M1 ist ein Objekt der Klasse CIsNewBar, das den Beginn eines neuen Balkens für jedes Zeichen definiert. Nein, sie ist nicht in der Bibliothek deklariert.
Der Code im ersten Beitrag: https://www.mql5.com/ru/forum/160683/page1547#comment_23712294
NB_M1 wird also innerhalb der Klasse deklariert und kann dort aufgerufen werden
Können wir einen Blick auf den Code dieser Klasse werfen?
NB_M1 ist ein Objekt dieser Klasse. Wie kann man sie einbauen?
NB_M1 ist ein Objekt dieser Klasse. Wie kann man sie einbauen?
Ich denke, so sollte es sein.