|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Datei per #include einbinden
Hallo Trader,
ich möchte eine Datei einbinden, deren Namen dynamisch mit Variable erstellt wird bzw. die MagicNr enthält. Wie kann ich das machen? Denn wenn ich die Doku richtig verstanden habe, wird ein bestehender, fester Name verlangt und Vars nicht akzeptiert... VG Andreas |
|
|||
Zitat:
Hi Andreas, also bei mir hats geklappt mit ner Variablen, probiers einfach mal mit Code:
extern int MagicNumber = 1111; wenn du deinen EA aufrufst, kannst du die MagicNumber beliebig festlegen und kannst so mehrere Werte mit dem gleichen EA handeln. Das is doch dein Anliegen oder?!Hatte das vor einiger Zeit probiert und hat auch geklappt, etwas tricky wirds nur wenn du dann die Posi´s via EA managen möchtest , da brauchst dann ne Variable , damit du auch die richtige Order erwischst. |
|
|||
vielen Dank für deine Antwort.
Aber wie leider so oft habe ich mich etwas missverständlich ausgedrückt. Mein Problem ist folgendes: meinen EA lasse ich über verschiedene Symbole mit jeweils verschieden Ein/Ausstiegsparametern laufen, die ich aktuell als externe Vars einbinde. Wenn ich nun den EA neu initalisiere, sind diese ja natürlich bei allen Symbolen weg. Nun muss überall wieder alle Werte eintragen, was sehr umständlich ist. Deshalb möchte ich die spezifischen Werte per Datei einbinden. Aber so wie ich es in der Doku gelesen (und auch ausprobiert) habe, kann man keine dynamischen Dateibezeichnungen bei #include verwenden. Deshalb meine Frage, wer hier eine Lösung kennt... |
|
|||
Zitat:
traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Hi Traderdoc,
vielen Dank für deine Antwort. Da du auf meine Frage nicht eingegangen bist, nehme ich an, die Einbindung von Dateien per #include kann nicht dynamisch erfolgen. Besten Dank für eure Bemühungen. VG Andreas |
|
|||
So, wie Du bisher Deine Herausforderung dargestellt hast, braucht man dazu weder den Preprozessor-Befehl #include noch sonst eine dynamische Variante der Variablenverwaltung.
Auf jedem Chart läuft eine separate Instanz Deines EAs. Und jede einzelne Instanz hat Ihren spezifischen Variablensatz, speicherbar in eine Set-Datei und damit jederzeit wieder ladbar. Nur noch einmal, wenn ein EA neu initialisiert wird, dann gehen keine Variablen verloren, wenn sie über extern deklariert und initialisiert wurden. Ich verstehe demnach nicht, wie diese Werte der externen Varialblen plötzlich weg sein können! Evtl. solltest Du nochmals die Problematik eineindeutig schildern, denn nur wenn wir die Aufgabenstellung verstehen, kann man helfen. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Ok, das leuchtet ein.
Also: nehmen wir an, ich habe 2 externe Vars: extern int magicNr = 5000; extern int sl; Wenn ich jetzt verschiedene Sachen neu programmiere, dann steht nach einer erneuten Kompilierung magicnr nach wie vor bei 5000, sl aber auf 0. (zumindest hat er es bei mir manchmal so gemacht) Deswegen hört sich das für mich super mit der Set-Datei an... Wo finde ich die und wie wird sie eingebunden bzw. geladen? |
|
|||
Tja!, wenn sl extern deklariert, aber nicht initialisiert wird, dann steht diese Variable wieder auf 0, wenn der EA neu initialisiert wird. Nur, warum wird dieser Variablen kein Wert zugewiesen? Selbst wenn er sich im Programm ändern sollte, würde dann nach der Neuinitailisierung wenigsten dieser Wert lt. externer Variable wieder rekonstruiert werden.
Ansonsten nach Aufrufen der Eigenschaften des EA per Tatse F7 den Wert für sl vergeben und unten das Set der Variablen abspeichern bzw. wieder laden. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
vielen Dank für deine Antwort.
Manche Vars möchte ich mit keinem Wert vorbelegen, da dies u.U. zu unerwünschten Handlungen bei dem Symbol kommen kann. Akt. läuft der EA auf ca. 80 Symbolen und wenn ich dann am WE eine neue Version aufspiele, habe ich ganz schön mit eintippen zu tun. Deshalb möchte ich meine Symbol-spezifischen Werte zum EA gesondert speichern und beim initalisieren (oder man. Aufruf) neu laden lassen. Kannst du mir sagen, wo ich in der Doku dazu nachlesen kann? |
Lesezeichen |
Stichworte |
datei, datei einbinden, datei include, include, mql4, programmierung, programmierung metatrader |
|
|