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)
-   -   Indikator im Indikator aufrufen (http://www.expert-advisor.com/forum/showthread.php?t=6274)

AVT 03.12.18 18:40

Indikator im Indikator aufrufen
 
Ich habe folgendes vor: Ein Indikator soll nur aufgrund von Bedingungen Hinweistexte anzeigen; die Bedingungen kommen aus verschiedenen Quellen, z.B. MA cross, Macd ... usw.

Etliche Bedingungen lassen sich einfach einbinden, wenn es eine Funktion wie z.B. iMA(...) oder iMACD(...) gibt. Für eine dieser Bedingung gibt es so etwas aber nicht, sondern ich habe bisher iCustom(...extraIndikator...) benutzt. Das Problem dabei ist, daß der extraIndikator vorhanden sein muß, er wird also beim Komplieren nicht statisch eingebunden (und wenn ich den extraIndikator lösche, dann funktioniert die an ihn geknüpfte Bedingung nicht mehr).

Gibt es einen Weg, diesen extraIndikator statisch einzubinden? Wenn ich mir die Beschreibungen von #include und #import ansehe, habe ich meine Zweifel - mal ganz davon abgesehen, daß deren Erklärungen nicht gerade einfach sind.

Mein Grundgerüst sieht so aus:
Code:

// -- head extraIndikators
  double B0[];  // result
  double B0h[]; // helper buffer for iMAOnArray

// -- OnInit extraIndikators
  SetIndexBuffer(0,B0);  // result
  SetIndexBuffer(1,B0h); // helper buffer for B0

// -- OnCalculate extraIndikators
  for(i=limit; i>0; i--)
    { B0h[i]=iMA(....,i); }
  for(i=limit; i>0; i--)
    { B0[i]=iMAOnArray(B0h,...,i); result=B0[i]; }
 
// === OnCalculate Hauptindikator
  double CurVal=iCustom(..extraIndikator..,0);
  if    (CurVal>10)              HintTextChange(...);
  else if(CurVal<=10 && CurVal>=5) HintTextChange(...);
  else                            HintTextChange(...);

Wenn mir jemand da weiterhelfen könnte, wäre das nett :). AVT

MA-EA 05.12.18 10:15

Was ist denn das für ein ExtraIndi? :confused:


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