Hallo, herzlich willkommen und schon einmal viel Glück und Ertfolg.
Daher zu Anfang einen Rat, die einem viel Zeit ersparen kann: Es gibt fast nichts, das nicht schon für MT4/5 programmiert wurde, man muss nur danach suchen!
Dafür gibt es oben rechts die Lupe und dann kann man in der linken Spalte der Suchmaske die Suche einschränken auf Dokumentation, Artikel oder Codebase!
Ein anderer Suchweg ist die Liste aller Funktionen: https://www.mql5.com/de/docs/function_indices.
Aufrufen und mit dem Browser und Ctrl+F nach Schlüsselworten suchen - ist toll bei Fragen wie: gibt's eigentlich eine Funktion, die ...?
Zu iCustom gibt es ein gutes Beispiel in der Doku.: https://www.mql5.com/de/docs/indicators/icustom.
Wenn Du Dir aus funktionierenden Lösungen Code-Snippets kopierst und verwendest ist das garantiert schneller, als in jedes Fehlernäpchen zu tappen - und lange nicht so frustrierend!
Viel Erfolg.

- www.mql5.com
Hey, danke für die schnelle Antwort.
Ich habe mir das iCustom Beispiel schon angesehen, werde aber nicht schlau daraus, wie er dort den Wert einer Variable ausliest/abfrägt...
Wenn ich nun also im Indikator eine Variable, z.B. Variable1=0, habe, was sage ich dem EA, damit er diese Variable1 abfrägt?
Das ist der Punkt, an dem ich hänge und bei dem es bei mir klick machen muss.
In dem von dir gezeigten beispiel, sieht es so aus, als wäre dieser Teil davür zuständig
//--- Werte des Indikators Custom Moving Average in den Indikator-Puffer kopieren
int copy=CopyBuffer(MA_handle,0,0,rates_total,Label1Buffer);
Print("copy = ",copy," rates_total = ",rates_total);
//--- beim erfolglosen Versuch geben wir das aus
if(copy<=0)
Print("Erfolgloser Versuch, Indikatorwerte Custom Moving Average zu erhalten");
//--- return value of prev_calculated for next call
return(rates_total);
}
Doch wo sage ich ihm hier, dass es sich um die Variable1 handelt?
- Bitte verwenden, um Code zu posten, Alt+S oder das CodeIcon aus der Editierzeile </>
- Die Indikatorwerte werden in einen Array kopiert, hier Label1Buffer - schau Dir an wie der deklariert wird.
- Die Werte eines Arrays werden über den Index ausgelesen, also zB. Label1Buffer[0], Label1Buffer[1], ...
- Da ist aber wichtig in welcher Richtung das Arrays organisiert ist, das leistet die Funktion ArraySetAsSeries().
Es gibt viel zu lesen, daher ist es meist schneller und einfache, wenn DS einen funktionierenden Code nimmst (s.o.).
Lies mal das hier: https://www.mql5.com/de/articles/496

- www.mql5.com

- www.mql5.com

- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Hallo Forum,
Ich bin noch ein blutiger Anfänger in der MQL5 Programmierung und scheitere gerade daran, dass mein EA die Variable eines Indikators auslesen kann.
Es ist mir bereits gelungen, die Indikatoren mit iCustom in den EA einzubinden, jedoch kann ich bis jetzt nur die Variablen in dem Indikator mit "handle_iCustom=iCustom(NULL,1,"Test",1,Price,period);" ändern.
Wie funktioniert das Spielchen andersherum?
Ich habe gesehen, es gibt die Funktion iCustomGet(), doch wie funktioniert die und ist das überhaupt die richtige Funktion, um eine Variable aus dem Indikator auszulesen?
Somit kann mein EA zwar schon Indikatoren ansteuern und auch grafisch in MT5 anzeigen, aber der EA bekommt keine Werte der Indikator-Variablen um Entscheidungen zu treffen.
Die Lösung ist sicher einfach, wenn man weiß wie ;-)
Danke im Voraus.