Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   include import (http://www.expert-advisor.com/forum/showthread.php?t=5851)

Lena 08.09.17 12:18

include import
 
Hallo zusammen,
da ich immer mehr Freude am programmieren finde sind inzwischen zahlreiche Funktionen zusammengekommen. Für die Übersicht bin ich jetzt auch dazu übergegangen diese in eine mph Datei auszulagern.
Dabei kam die Überlegung auf, ob es auch möglich ist komplexere Strukturen auf ähnliche Weise auszulagern und dann in den, ich nenne es mal Haupt-EA, einzubinden.
Also quasi einen EA zu schreiben, welcher das Ordermanagement und automatisierte Handeln steuert. Von dort einen EA einbinden, über den man z.B. das grafische Informationspanal und Buttons für manuelles eingreifen steuert.

Kronenchakra 09.09.17 00:12

Hi Lena,
deine Überlegungen gehen in die richtige Richtung.
Größere Projekte sind nur so in den Griff zu bekommen.
Die objektorientierte Programmierung ist dabei nicht zwingend notwendig, aber sehr hilfreich.
Ich empfehle dir aber auf Basis MQL5 weiterzumachen.
LG Otto

Lena 09.09.17 10:45

Ich hoffe zumindest dass ich auf dem richtigen Weg bin. Viele unpraktische Lösungen erkennt man leider erst wenn das Programm einen gewissen Umfang erreicht. Hätte ich das Ausmaß gleich zu Beginn erahnt hätte ich wohl sofort mit einer entsprechenden Auslagerung von Programmteilen angefangen. Auf der anderen Seite kann man wohl kaum erwarten gleich so Strukturiert zu arbeiten, wie es ein Profi würde.

Meine Frage hat sich insoweit auch erledigt. Ich habe einfach mal ausprobiert welche Teile ich auslagern kann und ob der EA dann weiterhin funktioniert.
Das puzzlen war zudem auch aufschlussreich.

Adlerauge 10.09.17 09:45

Zitat:

Zitat von Kronenchakra (Beitrag 39742)
Ich empfehle dir aber auf Basis MQL5 weiterzumachen.
LG Otto

Hallo Otto,
warum jetzt auf MQL5 weitermachen? MQL 4 ist doch nach wie vor der Standard (entgegen aller Ankündigungen).
Kann man denn in MQL5 jetzt hedgen?

Ca$hDigger 10.09.17 11:59

Zitat:

Zitat von Adlerauge (Beitrag 39747)
Kann man denn in MQL5 jetzt hedgen?

Ja .

Kronenchakra 10.09.17 14:25

Ist möglich, hängt vom Broker ab. Diesen fragen!
MQL5 ist besser, schneller, das neuere Produkt.

Adlerauge 10.09.17 15:36

Ich habe mal gelesen, dass MQL5 dem Computer deutlich mehr Rechenleistung abverlangt. Ist das noch so?

Lena 10.09.17 18:07

Bevor ich da jetzt großartig rumprobiere, ist es möglich die "OnInit", "DeInit" Funktion über include in eine .mqh Datei zu verschieben? Bzw dort eine zweite Funktion mit diesem Namen zu erzeugen, woraus dann der Inhalt in die Funktion des Haupt EA kopiert wird?

Kann ich mehrfache Verknüpfungen/Auslagerungen erzeugen. Das heißt ich lade in eine .mqh Datei mittels include eine weitere Datei?

Kronenchakra 10.09.17 19:33

Ja, nichts ist unmöööööglich. (nicht nur bei Toyota) ;)

Selbverständlich können MQHs weitere MQHs laden.
Die Haupt-MQL-Datei muss aber die OnInit-Funktion der geladenen MQHs aufrufen (sofern benötigt).
Bei der Programmierung von Panelen gibt es da Beispiele.
Auch OnChartevent() etc. müssen an die untergeordneten Programmteile weitergegeben werden.

Und ich verrate jetzt ein großes Geheimnis:
Sogar die input Anweisung funktioniert bei include Dateien.
Damit (und mit OOP) ist eine totale Kapselung der einzelnen Programmteile und auch der Logik möglich.

Ich poste da diesbezüglich ein Beispiel in den Codeschnipseln für MQL5.

LG Otto

Lena 11.09.17 11:03

Naja, ob wirklich nichts unmöglich ist... da habe ich momentan noch meine Zweifel. Es ist aber sicherlich viel mehr möglich als ich mir bis jetzt vorstellen kann.
Bezieht sich deine Antwort eigentlich speziell auf MQL 5 oder auch auf MQL 4?
Du schreibst dass selbst OnChartEvent() an untergeordnete Programmteile weitergegeben werden müssen? Die Ausssage verwirrt mich leider ein wenig. Ist es nicht eigentlich so, dass Informationen von den untergeordneten Programmteilen (include Dateien) an die übergeordneten weitergegeben werden?

Bei den "Verkapselungen" hätte ich auch noch eine Frage zum dem deklarieren von verwendeten Variablen. Es ist doch so, dass ich diese in der entsprechenden include Datei deklarieren muss, diese dann aber auch von dem eigentlichen EA ansprechen kann. Anders herum ist es hingegen nicht möglich. Damit meine ich dass ich die Variablen allgemein im EA deklariere und dann versuche mit Funktionen die ich in einer include Datei stehen habe, darauf zuzugreifen. Also quasi eine Einbahnstraße beim Zugriff besteht. Von Übergeordent zu Untergeordnet. Ich hoffe mich jetzt nicht zu unverständlich ausgedrückt zu haben.


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:06 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum