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)
-   -   #define Zeile zu lang (http://www.expert-advisor.com/forum/showthread.php?t=6997)

AVT 22.05.21 20:19

#define Zeile zu lang
 
Ich habe ein Problem mit einer #define Zeile. Sie wird einfach viel zu lang, um noch lesbar zu sein. Normalen Code kann man ja einrücken, das klappt aber nicht, sobald ich das mit einer #define Zeile versuche.

Die Originalzeile lautet abgekürzt:
#define _iCall(BufferNo,IndexNo) iCustom(NULL,TF,MyName,0,...,BuffNo,IndexNo)

Was die Sache so verdammt lang macht, sind die ganzen .... Variablen, die im iCustom angefügt werden müssen.

Hat jemand einen Vorschlag, wie ich das lösen kann?
Danke. AVT

Indikator-Trading 22.05.21 22:43

was spricht gegen eine Funktion, welche du dann z.B. in einer mqh Datei definierst? Ich mache das so in meinen Projekten und es funktioniert ohne Probleme.

AVT 22.05.21 23:22

Zitat:

Zitat von Indikator-Trading (Beitrag 45376)
was spricht gegen eine Funktion, welche du dann z.B. in einer mqh Datei definierst? Ich mache das so in meinen Projekten und es funktioniert ohne Probleme.

Ich benutze das Ding, um in OnCalculate() bei bestimmten Bedingungen mich selber (also den Indikator) mit anderen Werten aufzurufen, z.B. ich bin im 5m-Chart, will aber hier die Werte vom h1 haben (und der hat leider andere Variablenwerte).

Ich weiß nicht, wie ich das in einen Funktionsaufruf umbauen soll.
AVT

Indikator-Trading 23.05.21 14:29

Einen rekursiven Call eines Indikators habe ich jetzt auch noch nicht gemacht, daher weiß ich nicht was dann passieren würde oder warum es mit einem
#define geht, aber nicht über einen Aufruf von iCustom innerhalb einer Funktion, oder eben direkt in OnCalculate().

Was du allerdings machen könntest, wäre den Aufruf mit einer Struct durchzuführen, also alle benötigten Variablen in der Struct zusammen zu fassen und diese weiter zu leiten. In einfachen Funktionen geht das und funktioniert auch wunderbar. Ob das mit Indikatoren anders ist, kann ich dir leider wiederum nicht sagen, da ich eher Versuche die Anzahl an Übergabeparameter klein zu halten, als das Gegenteil zu machen.


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:01 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