MQL5 - Indikatoren

 

Hallo Zusammen,

ich hoffe so eine dumme Frage wird mir hier auch beantwortet.

Ich tüftle gerade ein wenig in MQL5 rum und wollte z.B. diverse Indikatoren in Variablen schreiben.

Wenn ich folgende Code Zeile auf dem EURUSD Chart anwende, bekomme ich als Ergebnis derzeit nur 10.

int test = iRSI(_Symbol,PERIOD_H1,14,PRICE_CLOSE);

Verstehe ich an dieser Stelle etwas falsch? Eigentlich sollte ich aktuell einen Wert von 62 zurück bekommen. Selbst wenn ich PERIOD_H1 auf 0 ändere und manuell im Chart die Zeiträume (H1, D1 ..) ändere, bekomme ich keine realistischen Ergebnisse. 

Falls die Frage zu verwirrend war, stelle ich sie noch einmal anders:

Wie bekomme ich in die Variable "test" den RSI(14) für EURUSD im Zeitraum H1?

Danke und Gruß

Diego

 
Diego Cochiloco:

Hallo Zusammen,

ich hoffe so eine dumme Frage wird mir hier auch beantwortet.

Ich tüftle gerade ein wenig in MQL5 rum und wollte z.B. diverse Indikatoren in Variablen schreiben.

Wenn ich folgende Code Zeile auf dem EURUSD Chart anwende, bekomme ich als Ergebnis derzeit nur 10.

int test = iRSI(_Symbol,PERIOD_H1,14,PRICE_CLOSE);

Verstehe ich an dieser Stelle etwas falsch? Eigentlich sollte ich aktuell einen Wert von 62 zurück bekommen. Selbst wenn ich PERIOD_H1 auf 0 ändere und manuell im Chart die Zeiträume (H1, D1 ..) ändere, bekomme ich keine realistischen Ergebnisse. 

Falls die Frage zu verwirrend war, stelle ich sie noch einmal anders:

Wie bekomme ich in die Variable "test" den RSI(14) für EURUSD im Zeitraum H1?

Danke und Gruß

Diego

Du fügst auch nur das handle ein, und dem wird der Wert 10 zugewiesen.

schau dir mal die beispiele in der doku an

 
Stell den Kursor auf iRSI (die Systemfunktion) und drück F1 - studier das Beispiel, wie Amando sagt.
 

Die Hilfe zu iRSI habe ich studiert und verstehe den Sourcecode nicht. Ich habe eigentlich Programmiererfahrungen in PHP, SQL, ... aber MQL5 bringt mich zum verzweifeln.

Vor vielen Jahren habe ich mal in MQL4 programmiert. Ich hab mir meinen Sourcecode angeschaut. Da konnte ich auch mit einer Zeile Code den Wert eines Indikators in eine Variable bringen.
Ich verstehe einfach nicht an welcher Stelle dieses Handle in den RSI Wert umgewandelt wird. Bzw. ich über dieses Handle den RSI ermittelt wird.

Ich versuche meine Frage nochmal neu zu stellen und hoffe ihr helft mir weiter.

int handle = iRSI(_Symbol,PERIOD_H1,14,PRICE_CLOSE);

Wie bekomme ich nach dieser Code Zeile den RSI Wert in eine Variable. Ist das überhaupt mit einer einzigen Codezeile möglich oder sind diese unterschiedlichen Ereignisse / Funktionen wirklich nötig?


Vielen Dank

Diego

 
Lies und studiere das Beispiel in der Referenz, da steht alles, was Du brauchst!
 

Das Beispiel aus der Referenz ist als MQL5 Anfänger etwas wirr. Dank eines EA aus der Codebase ist dann letztendlich der Groschen gefallen

double RSI[1];

handle_rsi = iRSI(_Symbol,PERIOD_H1,14,PRICE_CLOSE);   

CopyBuffer(handle_rsi,0,0,1,RSI);

// RSI > in RSI[0] und RSI[1]


Die Lösung war der Befehl CopyBuffer bzw. wird dieser in allen Beispielen aus einer Funktion aufgerufen. Dieser Befehl erstellt ein Array mit den Werten der gewünschten Indikators.

Oft findet man in Foren nette Leute die sich nicht zu schade sind 10 Sekunden Zeit zu investieren um einem verzweifelten Anfänger weiterzuhelfen. Hauptsache ihr habt Spass. 

Ich hätte mir ein paar Stunden Zeit und viel Frust sparen können, gäbe es noch Leute die nicht einfach nur schreiben RTFM. Aber gut das ich noch Englisch und Spanisch spreche. Vielleicht bin dann bei meinem nächsten Problem erfolgreicher. 


Danke trotzdem.


Grund der Beschwerde: