Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 937

 

Ich möchte ein eindimensionales Array erstellen, in dem 0 bis 4 Elemente double, 5 bis 9 datetame und 10 bis 14 int speichern. Ist es möglich, es in mql4 zu organisieren? Wenn ja, könnten Sie mir zeigen, wie man es macht? Ich habe ein Beispiel mit Strukturen in C++ gesehen, aber ich habe den Link zu der Seite verloren?

 
Seric29:

Ich möchte ein eindimensionales Array erstellen, in dem 0 bis 4 Elemente double, 5 bis 9 datetame und 10 bis 14 int speichern. Ist es möglich, das in mql4 zu organisieren? Wenn ja, könnten Sie mir zeigen, wie man das macht? Ich habe ein Beispiel mit Strukturen in C++ gesehen, aber ich habe den Link zu der Seite verloren.

Ein Array kann nur einen Typ haben.

Aber wer verbietet es, einen Array-Typ mit einem maximalen Datentyp zu haben? In diesem Fall ist es das Doppelte.

 
Artyom Trishkin:

Ein Array kann nur einen Typ haben.

Aber wer verbietet es, einen Array-Typ mit einem maximalen Datentyp zu haben? In diesem Fall - doppelt.

Der Name muss derselbe sein, sonst muss ich Linkskontrollen durchführen. Kann ich nicht eine Struktur verwenden, um darin Variablen zu deklarieren und sie dann zu einem Array zu kombinieren? Können Sie nicht einen Gewerkschaftsfunktionär in den Mix stecken?

 
Seric29:

Der Name muss derselbe sein, sonst muss ich Linkskontrollen durchführen. Kann ich das nicht über eine Struktur machen, darin Variablen deklarieren und sie dann zu einem Array kombinieren? Kann man nicht einen Gewerkschaftsvertreter darauf kleben?

Der Name von was?

 
Artyom Trishkin:

Der Name von was?

Name des Arrays. So wie ich es verstehe, ist es unmöglich, auch wenn Sie eine Struktur zu machen, müssen Sie einen Punkt zu verwenden und kombinieren Sie die Informationen in einem Namen, vielleicht habe ich die falsche gesehen, ich habe den Link verloren.

 
Seric29:

Name des Arrays. Ich verstehe, dass, auch wenn Sie eine Struktur zu machen, müssen Sie einen Punkt verwenden und kombinieren Sie die Informationen in einem Namen, vielleicht habe ich die falsche gesehen, tut mir leid, ich habe den Link verloren.

Warum sollten wir verschiedene Namen für ein Feld vergeben? Wie können Sie sich das vorstellen?

Sie haben also ein Array, um verschiedene numerische Typen zu speichern (außer String natürlich). Das Array muss einen Typ haben, der dem maximalen Datentyp entspricht, der in das Array geschrieben wird. Füllen Sie sie also mit verschiedenen Arten. Und wenn Sie sie erhalten, achten Sie auf die Indizes, die Sie bereits kennen, damit die richtigen Variablen mit den richtigen Typen Werte aus verschiedenen Zellen des Arrays erhalten.

Von 0 bis 4 Elemente werden double gespeichert, von 5 bis 9 wird datetame gespeichert, von 10 bis 14 wird int gespeichert

double array[15];
array[0]=0.0; array[1]=0.1; array[2]=0.2; array[3]=0.3; array[4]=0.4;
array[5]=(datetime)5; array[6]=(datetime)6; array[7]=(datetime)7; array[8]=(datetime)8; array[9]=(datetime)9;
array[10]=(int)10; array[11]=(int)11; array[12]=(int)12; array[13]=(int)13; array[14]=(int)14;
Ein Name:array
 
Artyom Trishkin:

Warum gibt es verschiedene Namen für ein und dasselbe Feld? Wie kann man sich das überhaupt vorstellen?

Sie haben also ein Array, in dem Sie verschiedene numerische Typen speichern können (außer String natürlich). Das Array muss einen Typ haben, der dem maximalen Typ der in das Array geschriebenen Daten entspricht. Füllen Sie sie also mit verschiedenen Arten. Und wenn Sie sie erhalten, achten Sie auf die Indizes, die Sie bereits kennen, damit die richtigen Variablen mit den richtigen Typen Werte aus verschiedenen Zellen des Arrays erhalten.

Der Name ist derselbe: array

Sie werden also unterschiedliche Daten speichern.

 
Seric29:

Auf diese Weise werden die verschiedenen Daten in ihnen gespeichert.

Was ist "in ihnen"?

 
Seric29:

Ich habe ein Beispiel mit Strukturen gesehen, aber es war in C++, aber ich habe den Link zu der Seite verloren?

wenn Ihr Beispiel keine Zeiger hat, dann portieren es zu MQL wird kein Problem sein

Seric29:

Kann man den Gewerkschaftsvertreter nicht auf das Gehäuse kleben?

union ist kein operator! es ist ein typ! er wird als struktur beschrieben, aber er wird verwendet, um verschiedene datentypen in einem speicherbereich zu speichernhttps://www.mql5.com/ru/docs/basis/types/classes#union


Seric29:

Es scheint primitiv zu sein, aber wenn ich die überladene Funktion im Makro aufrufe, warnt es, dass es 3 Funktionen gibt, also muss ich im Makro ein Kriterium schreiben, das bestimmt, welche der überladenen Funktionen aufgerufen werden soll, aber dann muss ich fragen, wie ich das überprüfen kann, im Allgemeinen ist die Idee verloren.

fangen Sie an, mindestens ein Buch über C++ zu lesen, Ihre Fragen sind eine Explosion, Sie schreiben technische Begriffe, auf den ersten Blick scheint es, dass Sie eine spezifische Frage stellen, aber in Wirklichkeit operieren Sie nur in Begriffen, ohne das Wesentliche zu verstehen .... was wird das Makro zurückgeben? wo wird es zurückgeben? im Körper des Makros nachladbare Funktion.... Ich kann nicht einmal ansatzweise erklären, wie Ihre Frage aussieht.

Um zu verstehen, was ein Makro ist, buchstabieren Sie den Begriff richtig, macroSUMMARY, vielleicht fällt es Ihnen dann leichter zu verstehen, was es ist

 
Seric29:

Es sollte folgendermaßen funktionieren.

Im Allgemeinen möchte ich diesen Effekt erreichen, aber ich habe keine Erfahrung auf dem Gebiet der Klassen. Der Code lässt sich kompilieren und funktioniert.

Das ist cool.

Grund der Beschwerde: