Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1174
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
Die zweite und die folgenden Dimensionen eines Arrays können nicht dynamisch sein. Wenn also ein Array deklariert wird, z. B. int Mas[][7]; muss es von MyFun(int &Mas[][7]) übernommen werden
Danke. Ich hatte nicht den Verstand dafür.
Hallo Programmierer. Wieder einmal bitte ich Sie um Ihre Hilfe. Es gibt einen Standardindikator, von dem ich einen einzelnen Wert erhalten möchte. Ich habe den Indikator verbunden und kopiert ein Array seiner Werte in den Puffer double buf_atr[] Printed to the log ArrayPrint(buf_atr) zeigt diese Werte:
0.00032 0.00037 0.00039 0.00039 0.00041 0.00039 0.00037 0.00036 0.00034 0.00035 0.00035 0.00035 0.00034 0.00030
WIE WENDE ICH DEN MASSIVEN SCHLÜSSEL AN, DER DEN WERT 0,00030 HAT? Es stellt sich heraus, dass dieser Wert nicht auf der aktuellen Kerze 0 ist und die vorherige bereits gebildet wird 1
Es scheint zu funktionieren, aber wie man auf das Zell-Array zugreifen, um mit ihm weiter zu arbeiten, weiß ich nicht ;(
Hallo Programmierer. Wieder einmal bitte ich Sie um Ihre Hilfe. Ich habe einen Standardindikator, von dem ich einen einzelnen Wert erhalten möchte. Ich habe den Indikator verbunden und kopiert ein Array seiner Werte in den Puffer double buf_atr[] Printed to the log ArrayPrint(buf_atr) zeigt diese Werte:
0.00032 0.00037 0.00039 0.00039 0.00041 0.00039 0.00037 0.00036 0.00034 0.00035 0.00035 0.00035 0.00034 0.00030
WIE WENDE ICH DEN MASSIVEN SCHLÜSSEL AN, DER DEN WERT 0,00030 HAT? Es stellt sich heraus, dass dieser Wert nicht auf der aktuellen Kerze 0 ist und die vorherige bereits gebildet wird 1
Es scheint zu funktionieren, aber wie man auf das Zell-Array zugreifen, um mit ihm weiter zu arbeiten, weiß ich nicht ;(
ES FUNKTIONIERT, JUHU!!! Ich muss mich anbuf_atr[buf_size-1] wenden, ich habe ALLES versucht. Vielen Dank an Sie,Vitaly Muzichenko.
Ist mql styling obligatorisch, Array-Referenz?
Dialog.mqh.
ErstelltCAppDialogPTR Klasse - Nachkomme von CAppDialog - beraten, wie man richtig überschreiben m_background, m_caption ... von der Klasse CDialog, um sie von meiner Klasse aus zu erreichen?
Dialog.mqh.
Das können Sie nicht. Diese Objekte sind gegen direkte Änderungen in Ihrer Klasse gesperrt, was durch das Schlüsselwort private angezeigt wird. Sie können nicht direkt mit ihnen arbeiten. Verwenden Sie Methoden der Klasse CDialog, die mit diesen Feldern arbeiten.
Das können Sie nicht. Diese Objekte sind gegen direkte Änderungen in Ihrer Klasse gesperrt, was durch das Schlüsselwort private angezeigt wird. Sie können nicht direkt mit ihnen arbeiten. Verwenden Sie Methoden Ihrer CDialog-Klasse, die mit diesen Feldern arbeiten.
Nehmen wir an.
Eine erstellte Instanz derCAppDialogPTR-Klasse hat Steuerelemente (CWndContainer-Klasse-> CWnd* Control(const int ind) const { return(dynamic_cast<CWnd *>(m_controls.At(ind)); }) über die aufm_background, m_caption zugegriffen werden kann
1) Wie lautet die Syntax für den Zugriff auf das erstellte Objekt (Bezugnahme auf den Speicher)?
"CAppDialog::Create(chart,name,subwin,x1,y1,x2,y2);"
Angenommen.
Eine erstellte Instanz derCAppDialogPTR-Klasse hat Steuerelemente (CWndContainer-Klasse -> CWnd* Control(const int ind) const { return(dynamic_cast<CWnd *>(m_controls.At(ind)); } ), über die aufm_background, m_caption zugegriffen werden kann
1) Wie lautet die Syntax für den Zugriff auf das erstellte Objekt (Bezugnahme auf den Speicher)?
Auf die Kondensstreifen kann man immer noch nicht adressierbar über die m_controls-Sammlung zugreifen, da diese ebenfalls geschlossen ist, außerdem weiß man nicht, welcher Index welchem bestimmten Steuerelement entspricht. Die Idee ist, dass CDialog den Zugriff auf die Elemente, aus denen es besteht, sperrt, es Ihnen aber erlaubt, seine Haupteigenschaften konsistent zu verwalten. Zum Beispiel können wir nicht direkt auf m_caption zugreifen, aber wir können seinen Text mit der Methode Caption(const string text) ändern.
Was Sie wollen, ist im Grunde genommen ein Hack. Im Prinzip möchte man bei der Verwendung jedes MQ-Tools diesen oder jenen Hack machen, damit sind Sie nicht allein. Am einfachsten ist es wahrscheinlich, die Bibliothek in ein separates Verzeichnis zu kopieren und den privaten Bereich nach protected zu verschieben. Das ist grob und dumm, aber es wird funktionieren. Andere Optionen sind unwahrscheinlich - zu harter Code.
Über die m_controls-Sammlung können Sie ohnehin nicht auf die Gegenstücke zugreifen, da sie ebenfalls geschlossen ist. Außerdem wissen Sie nicht, welcher Index welchem Steuerelement entspricht. Die Idee ist, dass CDialog den Zugriff auf die Elemente, aus denen es besteht, sperrt, es Ihnen aber erlaubt, die wichtigsten Eigenschaften konsistent zu verwalten. Zum Beispiel können wir nicht direkt auf m_caption zugreifen, aber wir können seinen Text mit der Methode Caption(const string text) ändern.
Was Sie wollen, ist im Grunde genommen ein Hack. Im Prinzip möchte man bei der Verwendung jedes MQ-Tools diesen oder jenen Hack machen, damit sind Sie nicht allein. Am einfachsten ist es wahrscheinlich, die Bibliothek in ein separates Verzeichnis zu kopieren und den privaten Bereich nach protected zu verschieben. Das ist grob und dumm, aber es wird funktionieren. Die anderen Optionen werden wahrscheinlich nicht funktionieren, weil der Code zu schwierig ist.
Die Änderung des MQ-Quellcodes und die Freigabe von Methoden für die Öffentlichkeit ist eindeutig nicht unsere Methode :).
Aber ich kann nach der Deklaration der globalen Variablen panel auf die Eigenschaften von Caption verweisen:
Aber nicht nur das sieht unschön aus, sondern auch dieser Code hinter derCAppDialogPTR-Klasse. Wie kann ich dasselbe innerhalb der KlasseCAppDialogPTRtun?