Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1097
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
Als Parameter wird ein Zeiger auf eine Funktion übergeben. Wie ich sehe, hat noch niemand herausgefunden, wie man das mit Klassen machen kann. Es ist mir auch immer noch nicht klar, warum ein Zeiger auf eine Klasse zurückgegeben werden sollte.
Hier sind interessante Beispiele, die aber für meine Frage nicht relevant sind.
Ich habe auch etwas Ähnliches im Leitfaden gesehen, aber ich habe diese Seiten bereits geschlossen, weil mir die Hände weh tun und ich zu arbeiten habe.Warum sollte ich mit einer so einfachen Aufgabe auf so seltsame Art und Weise spielen? Sie können die benötigten Daten einfach über ein Klassenobjekt abrufen
Ich bin mit Referenzen, Zeigern und Funktionszeigern vertraut, aber ich verwende sie in der Praxis selten. Und im Allgemeinen denke ich, dass sie nur für die Speichereinsparung benötigt werden - und Expert Advisors mit Indikatoren sind keine Spiele, so können wir mit gemeinsamen Variablen und Klassenobjekte imglobalen Bereich verwalten
Warum sollte man sich bei einer so einfachen Aufgabe so viel Mühe geben? Sie können die erforderlichen Daten einfach über ein Klassenobjekt abrufen
Ich bin mit Referenzen, Zeigern und Zeigern auf Funktionen vertraut, verwende sie aber nur selten. Meiner Meinung nach sind sie nur für die Speichereinsparung notwendig, die Expert Advisors mit Indikatoren sind keine Spiele, daher können wir gewöhnliche Variablen und Klassenobjekte im globalen Bereich verwenden.
Ich möchte mich nicht mit einer einfachen Aufgabe aufhalten, und natürlich ändere ich meine Programme, in denen vorher eine Funktion aufgerufen wurde, ich schreibe einen arithmetischen Ausdruck, um Berechnungen zu vereinfachen, oder wechsle zu einer vereinfachten überladenen Funktion, also möchte ich das Programm in Klassen übersetzen. Aber wie Sie oben geschrieben und selten verwenden sie, und jetzt die Frage ist, Klassen sind da, aber die Erstellung von Zeigern auf Funktionen dieser Klasse ist unmöglich, warum diese Art der Programmierung benötigt wird, wenn Sie eine tun, können Sie nicht die andere tun, es ist nicht Programmierung, aber der Teufel weiß, was.
Ich möchte mich nicht mit einer einfachen Aufgabe aufhalten, und natürlich ändere ich meine Programme, in denen zuvor eine Funktion aufgerufen wurde, ich schreibe einen arithmetischen Ausdruck, um Berechnungen zu vereinfachen, oder ich wechsle zu einer vereinfachten überladenen Funktion, also möchte ich das Programm in Klassen übersetzen. Aber wie Sie oben geschrieben und selten verwenden sie, und jetzt ist die Frage, Klassen sind da, aber das Erstellen von Zeigern auf Funktionen dieser Klasse ist unmöglich, warum diese Art der Programmierung benötigt wird, wenn Sie eine tun, können Sie nicht die andere tun, ist es nicht die Programmierung, aber der Teufel weiß, was.
Eine Klasse ist eine Vorlage für ein Objekt, und um die in dieser Vorlage enthaltenen Funktionen nutzen zu können, müssen Sie zunächst ein Objekt erstellen.
Im Wesentlichen fungiert der Klassenname als Datentyp, wie int, double, string usw., jedoch mit erweiterten Funktionen. Sie können eine Variable nicht deklarieren, ohne ihren Typ anzugeben.
Darüber hinaus können Sie die Funktion einfach von der Klasse abkoppeln, so dass sie in der Klasse und unabhängig von der Klasse verwendet werden kann, ohne ein Objekt zu erstellen
Kann es einen anderen Grund geben, warum der Indikator nicht funktioniert, außer dass seine Datei aus dem entsprechenden Ordner gelöscht wurde? (der Indikator ist kompiliert und funktioniert in einem Terminal, aber nicht in einem anderen)
Eine Klasse ist eine Vorlage für ein Objekt, und um die in dieser Vorlage enthaltenen Funktionen nutzen zu können, müssen Sie zunächst ein Objekt erstellen.
Der Klassenname fungiert nämlich als Datentyp, wie int, double, string usw., jedoch mit erweiterter Funktionalität. Sie können eine Variable nicht deklarieren, ohne ihren Typ anzugeben.
Darüber hinaus können Sie die Funktion einfach von der Klasse abkoppeln, so dass sie in der Klasse und unabhängig von der Klasse verwendet werden kann, ohne ein Objekt zu erstellen
Es sei denn. Nun, es ist nur so, dass Klassen sind ein kompliziertes Thema, und es gibt Tonnen von Beispielen in der Referenz-Buch auf die Weitergabe, auf die Erstellung von Links und Zeiger, ich denke, es ist möglich (zumindest in C + + es ist möglich, aber mql4 hat nichts mit C + + zu tun), es ist notwendig, um zu verstehen, wie es funktioniert. Help hat diese Beispiele gezeigt, sie sind sehr kompliziert und überladen, anstatt eine Klasse zu nehmen und ein einfaches Beispiel zu zeigen, haben sie es mit zusätzlichen Berechnungen und Informationen überladen und ich kann nicht verstehen, was sie meinen, ich habe alle diese Links wegen Erschöpfung und Müdigkeit geschlossen. Ok, ich werde also einfach Funktionen aus der Klasse nehmen.
Kann es einen anderen Grund geben, warum der Indikator nicht funktioniert, außer dass seine Datei aus dem entsprechenden Ordner gelöscht wurde? (der Indikator ist kompiliert und funktioniert in einem Terminal, aber nicht in einem anderen)
Vom Markt?
Kann es einen anderen Grund geben, warum der Indikator nicht funktioniert, außer dass seine Datei aus dem entsprechenden Ordner gelöscht wurde? (der Indikator ist kompiliert und funktioniert in einem Terminal, aber nicht in einem anderen)
Meldungen in Terminal- und Expert Advisor-Protokollen sehen
Ihr Bildschirmfoto zeigt nur, dass dieser Indikator keinen Quellcode hat
Kann es einen anderen Grund geben, warum der Indikator nicht funktioniert, außer dass seine Datei aus dem entsprechenden Ordner gelöscht wurde? (der Indikator ist kompiliert und funktioniert in einem Terminal, aber nicht in einem anderen)
Vom Markt?
Nein
Meldungen im Terminal und in den Expert Advisor-Protokollen sehen
Ihr Bildschirmfoto zeigt nur, dass dieser Indikator keine Quelle hat
Dankeschön
Vielleicht braucht es zusätzliche Bibliotheken
Genau, nein, ich habe es geschrieben - ich würde es wissen
Bitte sagen Sie mir, warum der Compiler im folgenden MQL4-Testskriptcode eine Warnung erzeugt:
Eine Warnung in Zeile 27 über eine Fehlanpassung des Datentyps. Beide Variablen haben denselben int-Typ. Nachfolgend sehen Sie einen Screenshot der Skriptkompilierung.
Wenn ich die Zeile 27 durch
wird die Warnung nicht angezeigt.
Was ist der Trick?