![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Hallo! Wie finde ich einen Wert in einem zweidimensionalen Array? Sie müssen in der ersten Dimension suchen. Es scheint kein Standardmittel zu geben. Ich danke Ihnen!
Hallo! Wie finde ich einen Wert in einem zweidimensionalen Array? Sie müssen in der ersten Dimension suchen. Es scheint kein Standardmittel zu geben. Ich danke Ihnen!
Ich habe begonnen, OOP zu studieren.
Ich hatte ein Problem beim Schreiben eines Nachkommens einer Basisklasse, der Compiler schreibt - "'ХХХХХХХ' - wrong parameters count".
Ich habe lange nach dem Grund gesucht, Artikel und Fachbücher gelesen,
aber ich habe es gefunden - die Basisklasse hat einen Konstruktor, es ist einer und parametrisch.
Ich habe auch eine Lösung gefunden - Überladung der Konstruktorfunktion mit dem Standardkonstruktor,
aber dann muss ich alle Parameter des parametrischen Konstruktors der Basisklasse in den Konstruktor des Nachfolgers ziehen, damit die Logik stimmt.
Gibt es noch andere Möglichkeiten?
Gibt es eine Möglichkeit, bei der Deklaration einer Nachfolgeklasse, an wen was zu verteilen? Zum Beispiel: diese Parameter für den Konstruktor der Basisklasse und diese Parameter, damit der Nachkomme sich nicht langweilt...
Wenn eine Basisklasse einen einzigen parametrischen Konstruktor hat, kommt die Nachfolgeklasse nicht umhin, ihn aufzurufen. Die untergeordnete Klasse kann jedoch eine beliebige Anzahl von Parametern haben, auch ganz ohne Parameter. Das Wichtigste ist, dass der Konstruktor der Basisklasse mit allen ihm zugewiesenen Parametern aufgerufen wird. Beispiel:
Es gab eine Diskussion in dem Thread über
ENUM_POSITION_TYPE
zwei Werte. Und was wird zurückgegeben, wenn es keine offenen Stellen gibt?
Ich verwende die Methode PositionType() aus der Standardbibliothek.
Ok, ich habe es, PositionSelect() gibt false zurück, und PositionType() gibt den Typ der zuletzt ausgewählten Position zurück.
es stellt sich heraus, dass, wenn keine Position eröffnet ist, immer 0 zurückgegeben wird, d.h. als ob eine Kaufposition eröffnet wäre?
Wie kann ich das umgehen?
Es gab eine Diskussion in dem Thread über
ENUM_POSITION_TYPE
zwei Werte. Und was wird zurückgegeben, wenn es keine offenen Stellen gibt?
Ich verwende die Methode PositionType() aus der Standardbibliothek.
Ok, ich habe es, PositionSelect() gibt false zurück, und PositionType() gibt den Typ der zuletzt ausgewählten Position zurück.
es stellt sich heraus, dass, wenn keine Position eröffnet ist, immer 0 zurückgegeben wird, d.h. als ob eine Kaufposition eröffnet wäre?
Wie kann ich das umgehen?
Es gibt zwei Varianten derOnCalculate-Funktionsdefinition:
1)int OnCalculate (const int rates_total, // size of array price[]
const int prev_calculated, // verarbeitete Balken beim vorherigen Aufruf
const int begin, // ab dem signifikante Daten beginnen
const double& Preis[] // Array für die Berechnung
);
2)int OnCalculate (const int rates_total, // Größe der Eingabezeitreihe
const int prev_calculated, // beim vorherigen Aufruf verarbeitete Balken
const datetime& time[], // Zeit
const double& open[], // Öffnen
const double& high[], // Hoch
const double& low[], // Niedrig
const double& close[], // Schließen
const long& tick_volume[], // Tick-Volumen
const long& volume[], // Real Volume
const int& spread[] // Spread
);
Rufen Sie die Funktion 1)OnCalculate()auf und füllen Sie alle Parameter vor - OnCalculate(rates_total,0,0,_price);
FRAGE: Können Sie bitte die Parameter für den zweiten Aufruf vonOnCalculate() in diesem Fall angeben?
Es gibt zwei Varianten derOnCalculate-Funktionsdefinition:
1)int OnCalculate (const int rates_total, // size of array price[]
const int prev_calculated, // verarbeitete Balken beim vorherigen Aufruf
const int begin, // ab dem signifikante Daten beginnen
const double& Preis[] // Array für die Berechnung
);
2)int OnCalculate (const int rates_total, // Größe der Eingabezeitreihe
const int prev_calculated, // beim vorherigen Aufruf verarbeitete Balken
const datetime& time[], // Zeit
const double& open[], // Öffnen
const double& high[], // Hoch
const double& low[], // Niedrig
const double& close[], // Schließen
const long& tick_volume[], // Tick-Volumen
const long& volume[], // Real Volume
const int& spread[] // Spread
);
Rufen Sie die Funktion 1)OnCalculate()auf und füllen Sie alle Parameter vor - OnCalculate(rates_total,0,0,_price);
FRAGE: Können Sie bitte die Parameter für den zweiten Aufruf vonOnCalculate() in diesem Fall angeben?
und im ersten oder zweiten Fall muss nichts ausgefüllt werden.
Ich muss diese Funktion zwangsweise aufrufen - wie gebe ich in diesem Fall die Parameter ein?
Sie können keine eigene erstellen.