Diskussion zum Artikel "Der Einsatz von MQL5 Standard Library Handelsklassen beim Schreiben eines Expert Advisors" - Seite 3
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
Es gibt auch Zeilen in der Klasse COrderInfo
return(FormatType(str,Type())); ... FormatType(type,Type()) ... if(m_type==Type() && m_state==State() &&Aber die Funktion Type() fehlt in der Klasse.
In Abschnitt 1.4 des Artikels werden die Eigenschaften der Klasse COrderInfo beschrieben, die, der Beschreibung nach zu urteilen, für die Arbeit mit aktiven schwebenden Aufträgen konzipiert ist. Es wird vorgeschlagen, Folgendes zu tun:"Um mit dieser Klasse die Eigenschaften von ausstehenden Aufträgen zu erhalten, fragen wir zunächst die Gesamtzahl der Aufträge ab und wählen sie nach Auftragsticket aus".
Aber wenn die Funktion HistorySelect() für die Abfrage der"Historie von Transaktionen und Aufträgen" gedacht ist, d. h. für die Abfrage historischer Aufträge, warum wird diese Funktion dann für die Abfrage der Gesamtzahl aktiver, schwebender Aufträge verwendet?In der Klasse COrderInfo ...
Aber die Funktion Type() ist in der Klasse nicht vorhanden.
Kann mir das bitte jemand erklären? Hier ist ein Stück Code aus der CDealInfo-Klasse:
Hier enthält die Funktion CDealInfo::FormatDeal(string& str) diese Zeile:
symbol.Name(Symbol());Die Funktion Symbol() wiederum ist sowohl in der CDealInfo-Klasse selbst als auch in den Standardfunktionen des Client-Terminals definiert. Welche Funktion wird als Argument an die Funktion Symbol.Name() übergeben? Nach welcher Regel?Kann mir das bitte jemand erklären? Hier ist ein Stück Code aus der CDealInfo-Klasse:
Hier enthält die Funktion CDealInfo::FormatDeal(string& str) diese Zeile:
Die Funktion Symbol() wiederum ist sowohl in der CDealInfo-Klasse selbst als auch in den Standardfunktionen des Client-Terminals definiert. Welche Funktion wird als Argument an die Funktion Symbol.Name() übergeben? Nach welcher Regel?Hier gilt die gleiche Regel wie beim Geltungsbereich von Variablen. Wenn eine Variable auf globaler und lokaler Ebene unter demselben Namen deklariert ist, dann verweist der Name innerhalb des lokalen Geltungsbereichs auf die lokale Variable und außerhalb auf die globale Variable.
Wenn eine Standardfunktion innerhalb einer Klasse überladen wird, wird der Überladungskörper in der Klasse selbst aufgerufen und der Körper der Standardfunktion wird auf globaler Ebene aufgerufen. Der Körper der überladenen Funktion kann auf globaler Ebene über den Klassenzeiger aufgerufen werden.
Hier gilt die gleiche Regel wie für den Geltungsbereich von Variablen. Wenn eine Variable auf globaler und lokaler Ebene unter demselben Namen deklariert wird, dann verweist der Name innerhalb des lokalen Geltungsbereichs auf die lokale Variable und außerhalb auf die globale Variable.
Wenn eine Standardfunktion innerhalb einer Klasse überladen wird, wird der Überladungskörper in der Klasse selbst aufgerufen und der Körper der Standardfunktion wird auf globaler Ebene aufgerufen. Der Körper der überladenen Funktion kann auf globaler Ebene über den Klassenzeiger aufgerufen werden.