Simples Anfängerproblem

 

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.

 

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.

Dokumentation zu MQL5: MQL5 Funktionenliste
Dokumentation zu MQL5: MQL5 Funktionenliste
  • www.mql5.com
Fügt Daten aus einem Array vom Typ MqlTick in die Preishistorie eines benutzerdefinierten Symbols hinzu. Das benutzerdefinierte Symbol muss im Fenster MarketWatch (Marktübersicht) ausgewählt werden Liest aus der Datei des Typs CSV die Zeile eines der Formate: "YYYY.MM.DD HH:MI:SS", "YYYY.MM.DD" oder "HH:MI:SS" - und wandelt sie...
 

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?

 
  1. Bitte verwenden, um Code zu posten, Alt+S oder das CodeIcon aus der Editierzeile </>
  2. Die Indikatorwerte werden in einen Array kopiert, hier Label1Buffer - schau Dir an wie der deklariert wird.
  3. Die Werte eines Arrays werden über den Index ausgelesen, also zB. Label1Buffer[0], Label1Buffer[1], ...
  4. 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

Schnelleinstieg oder Kurzanleitung für Anfänger
Schnelleinstieg oder Kurzanleitung für Anfänger
  • www.mql5.com
Liebe Leser, in diesem Artikel möchte ich Ihnen vermitteln und zeigen, wie man sich möglichst schnell und einfach die Grundlagen der Erstellung automatischer Handelssysteme, wie die Arbeit mit Indikatoren u. a., erschließt. Der Beitrag richtet sich an Neueinsteiger, in ihm kommen weder komplizierte noch schwer zu verstehende Beispiele zur...
 
https://www.mql5.com/de/articles/100 ist auch sehr hilfreich!
Schrittweiser Leitfaden für Anfänger zum Schreiben eines Expert Advisors in MQL5
Schrittweiser Leitfaden für Anfänger zum Schreiben eines Expert Advisors in MQL5
  • www.mql5.com
Dieser Beitrag richtet sich an Anfänger, die wissen möchten, wie man einen einfachen Expert Advisor (EA) in der neuen MQL5-Sprache schreibt. Beginnen wir also zunächst mit der Festlegung dessen, was unser Expert Advisor können, und sehen uns dann an, wie wir festlegen können, wie er dies ausführen soll. 1. Handels-Strategie Er überprüft einen...
Grund der Beschwerde: