![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
Nun, es gab ein halbes Beispiel. Es ist klar, dass es eine Datei als Teil einer Arbeitsfunktion gibt. Wo der Schalter (Knöpfe) generiert wird und wir die Möglichkeit haben, Reaktionen auf Knopfdruck zu schreiben.
Ja, dies ist ein halbes Beispiel. Ich habe es wegen des Fehlers mit den Positionen nicht bis zum Ende geschafft.
Err, welche anderen Funktionen zu wählen sind... Es besteht keine Notwendigkeit, irgendetwas davon zu tun. Erzeugen Sie eine Datei, in der, so wie ich es verstehe, dem Schalter gültige Schaltflächen zugewiesen werden, und das war's. Voller Stopp. Von nun an ist es jedem selbst überlassen, wie er auf diese Schaltfläche reagiert. Zum Beispiel, um zu speichern, dass sie gedrückt wurde oder so. Die Umgebung für die Rückmeldung des Pressens halte ich für unnötig.
Äh, welche anderen Merkmale sind zu wählen... Das ist alles nicht nötig. Erzeugen Sie eine Datei, in der Sie, so wie ich es verstehe, dem Schalter gültige Tasten zuweisen. Das ist alles. Voller Stopp. Von nun an ist es jedem selbst überlassen, wie er auf diese Schaltfläche reagiert. Zum Beispiel, um zu speichern, dass sie gedrückt wurde oder so. Die Umgebung für die Rückmeldung von Dringlichkeit halte ich für unnötig.
Es ist besser, an dem Entwurf zu arbeiten
Äh, welche anderen Merkmale sind zu wählen... Das ist alles nicht nötig. Erzeugen Sie eine Datei, in der Sie, so wie ich es verstehe, dem Schalter gültige Tasten zuweisen. Das ist alles. Voller Stopp. Von nun an ist es jedem selbst überlassen, wie er auf diese Schaltfläche reagiert. Zum Beispiel, um zu speichern, dass sie gedrückt wurde oder so. Die Umgebung für Klick-Feedback halte ich für unnötig.
Und hier sollten wir die Umgebung besser durch Klassen implementieren. Auch das Aufrufen des Registerkartenmenüs, usw. usw.
Äh, welche anderen Merkmale sind zu wählen... Das ist alles nicht nötig. Erzeugen Sie eine Datei, in der Sie, so wie ich es verstehe, dem Schalter gültige Tasten zuweisen. Das ist alles. Voller Stopp. Von nun an ist es jedem selbst überlassen, wie er auf diese Schaltfläche reagiert. Zum Beispiel, um zu speichern, dass sie gedrückt wurde oder so. Ich denke, dass das Umfeld für Feedback unnötig ist.
Und die Umwelt sollte durch Klassen umgesetzt werden. Auch Aufrufe des Registerkartenmenüs und so weiter und so fort.
Wir sollten Peter nicht mit dem Satz "Wir brauchen Unterricht" vor der Nase herumwedeln. Warten wir wenigstens auf das Video, dann können wir Fragen stellen.
Ich habe Peter bereits vorgeschlagen, seinen "Kernel" mit einer sehr einfachen Variante zu modifizieren: Verwenden Sie Strukturen. Zur Hölle mit diesen Klassen, wenn jemand nicht darin versinken will - das ist seine Sache.
Aber die Verwendung von Strukturen würde das Leben für Peter selbst einfacher machen.
Wie der "Kern", auch bekannt als globales Array, jetzt aussieht: ein mehrdimensionales Array, zumindest aber ein zweidimensionales. Die zweite Dimension enthält Eigenschaften eines bestimmten Kontrolltyps durch Indizes. Auf Eigenschaften kann auch über den Namen zugegriffen werden, da Indizes durch Defines ersetzt werden und wir eine "Pseudo-Referenz" über den Namen erhalten. In der Tat ist alles auf Definitionen aufgebaut, wie die "Auszeichnungssprache" in Peters Code.
Ich habe bereits vorgeschlagen, dass Peter eine Struktur implementieren sollte, damit das globale Array eindimensional wird und die Eigenschaften direkt über den Namen angesprochen werden können. Der Aufbau des "Kerns" würde ebenfalls vereinfacht, da es genügen würde, neue Requisiten in die ursprüngliche Struktur einzufügen und sie mit Namen zu versehen. Und der Code selbst könnte gekürzt werden, indem die Auflistung zahlreicher Defines und Methoden zu deren Verwendung entfernt wird.
Einerseits ist es keine Klasse, andererseits würde es Peter den Umgang mit dem globalen Array sehr erleichtern. Außerdem hat Peter bereits Erfahrung in der Arbeit mit einer ähnlichen Struktur: einer Gewerkschaft.
Aber Peter hat seine eigene Art von Sensei, und wir werden einfach das Ergebnis abwarten...
Ich möchte das folgende Schema als bereichsübergreifendes Beispiel vorschlagen: Erstellen Sie ein Formular mit drei Feldern: Handelsbetrag, Preis SL und Preis TP, zwei Schaltflächen: BUY und SELL
Expert Advisor erstellen, GUI als Inluder anschließen. Fügen Sie eine Variable für das Anfangsgebot hinzu. Bei der Initialisierung wird der anfängliche Gebotsbetrag an das entsprechende Feld in der GUI übergeben.
Erstellen Sie im Expert Advisor die Funktion "Open Deal". Diese Funktion sollte aufgerufen werden, sobald eine der Schaltflächen in der GUI angeklickt wird.
In der Funktion selbst "finden wir heraus", welcher Befehl gegeben wurde, und fragen auch die GUI, welcher Kurs jetzt eingestellt ist, und auf der Grundlage dieser Daten öffnen wir das entsprechende Geschäft.
Ich möchte das folgende Schema als übergreifendes Beispiel vorschlagen: Erstellen Sie ein Formular mit drei Feldern: Handelsbetrag, Preis SL und Preis TP, zwei Schaltflächen: BUY und SELL
Expert Advisor erstellen, GUI als Inluder anschließen. Fügen Sie eine Variable für das Anfangsgebot hinzu. Bei der Initialisierung wird der anfängliche Gebotsbetrag an das entsprechende Feld in der GUI übergeben.
Erstellen Sie im Expert Advisor die Funktion "Open Deal". Diese Funktion sollte aufgerufen werden, sobald eine der Schaltflächen in der GUI angeklickt wird.
In der Funktion selbst "finden wir heraus", welcher Befehl gegeben wurde, und fragen auch die GUI, welcher Kurs jetzt eingestellt ist, und auf der Grundlage dieser Daten öffnen wir das entsprechende Geschäft.
Du verstehst es nicht.
Das lässt sich doch auch über eine Funktion realisieren, die aufgerufen wird, wenn das Feld gefüllt ist und der Eingabewert vom Typ Template ist... alles. Auch wenn es wie ein String aussieht.... es wird weiterhin keine Hochgeschwindigkeitsbefüllung des Feldes geben