|
Startseite | Registrieren | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Höchster Indikatorwert der letzten xPerioden???
Hallo zusammen,
ich suche schon seit Tagen nach einer Lösung konnte aber weder im Forum noch bei etlichen google-Suchen das richtige finden. Wie kann ich mir bei mql4 mir den höchsten wert eines Indikators (in meinem Fall des ATR) berechnen lassen. Beispielsweise soll der Höchste Wert der letzten 3 Perioden >= dem Höchsten Wert der letzten 28 Perioden sein. Mit dem iHighest() arbeite ich schon, allerdings funktioniert dieser leider nur auf Preisdaten. Wäre doch schön gewesen wenn man diesen auch für Indikatorenwerte benutzen könnte. Vielen Dank im voraus und ich bin sicher das die Antwort auch für andere Interessant ist. |
|
|||
Indikatoren schreiben ihre Werte in Buffer.
Buffer sind Arrays. Den höchsten Wert eines Arrays kann man so ermitteln: PHP-Code:
Geändert von Adlerauge (03.06.17 um 12:21 Uhr) |
|
|||
man sollte noch eine kleine Begrenzung einbauen, damit die Abfrage nicht über die Array-Länge hinausgehen kann:
PHP-Code:
|
|
|||
Mann könnte es auch ganz knapp halten:
int Beispiel_Array[10] = {7,3,11,17,2,7,11,40,41,42}; int maxID = ArrayMaximum(Beispiel_Array,WHOLE_ARRAY,0); int Max_Value = Beispiel_Array[maxID]; traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Oh vielen Dank für eure Antworten, wie man den größten Wert aus einer Zahlenreihe berechnen lässt habe ich kapiert.
Allerdings habe ich da noch eine eine Frage wie bekomme ich denn die Werte des Indikators z.B. des iATR in den array? Der array[123] kann ja schließlich nur mit Zahlen etwas anfangen. MfG bennibunny |
|
|||
nun, ich bin kein Spezialist für den ATR, da ich ihn nicht benutze, aber er gibt offensichtlich einen double-Wert zurück und der Array lässt sich über Shift in der ATR-Funktion ansprechen:
double iATR( string symbol, // symbol int timeframe, // timeframe int period, // averaging period int shift // shift ); Den höchsten Wert auslesen könntest Du demnach so: PHP-Code:
|
|
|||
Nun, in dem eben genannten Beispiel des iATR wurde ja kein Array benutzt.
Die Funktion ArrayMaximum() würde hier nur funktionieren, wenn vorher die x Werte des ATR in ein Array geschrieben werden und dann ArrayMaximum() daraufhin angewendet wird. Man könnte allerdings das ArrayMaximum in den Indicator integrieren, sofern man die mq4-Datei besitzt, denn dort werden die ATR-Werte in einem Array abgelegt. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
Lesezeichen |
Stichworte |
höchster, höchster indikatorwert, indikatorwert, mql4, perioden, programmierung, programmierung metatrader, programmierung mql4 |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|