Ich gehe also bis zu 100 Bars zurück. Sobald ein Tief gefunden ist, wird dieses Tief = lastlow gesetzt und eine LInie gezeichnet. Und die for-Schleife wird mittels break abgebrochen. (Die Multiplikation mit 1000000 dient mir nur zur besseren Lesbarkeit).
Soweit funktioniert es auch eigentlich, jedoch wenn das letzte Tief nicht das tiefste Tief der 100 bars ist, dann findet springt er beim nächsten Aufruf das nächsttiefere Tief an und soweiter, bis es kein Tief mehr in den 100 Bars mehr gibt.
Eigentlich erwarte ich, dass er bei jedem Aufruf der Funktion durch ein Tick wieder von vorne anfängt und somit nur das letzte Tief findet.
Was übersehe ich hier?
Oder wisst Ihr vielleicht eine elegantere Lösung (vielleicht wie ich nicht genau 100 Bars zurück gehe, sondern soviele, bis tatsächlich ein letztes Hoch/Tief kommt, auch wenn das mehr als 100 Bars entfernt sein sollte?
Schon mal wieder vielen Dank für Eure Hilfe und noch einen schönen Abend.
Hallo liebe Experten,
ich komme mal wieder nicht richtig weiter.
Ich möchte immer das letzte Hoch und Tief des MACD(12,26,9) markieren.
Bisher habe ich folgenden Code (für Low).
lastlow = 0; int iMACDLastLow1() { double value[100]; for(int ii = 1; ii < 100; ii++) { value[ii] = iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_MAIN,ii)*1000000; value[ii+1] = iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_MAIN,ii+1)*1000000; if((value[ii] < value[ii+1]) && (value[ii] < 0) && (value[ii] < lastlow)) { lastlow = value[ii]; vDrawHLineInIndicatorWindow("lastlow/1000000", "MACD(12,26,9)", lastlow/1000000, STYLE_DOT, Green); break; } } }Ich gehe also bis zu 100 Bars zurück. Sobald ein Tief gefunden ist, wird dieses Tief = lastlow gesetzt und eine LInie gezeichnet. Und die for-Schleife wird mittels break abgebrochen. (Die Multiplikation mit 1000000 dient mir nur zur besseren Lesbarkeit).
Soweit funktioniert es auch eigentlich, jedoch wenn das letzte Tief nicht das tiefste Tief der 100 bars ist, dann findet springt er beim nächsten Aufruf das nächsttiefere Tief an und soweiter, bis es kein Tief mehr in den 100 Bars mehr gibt.
Eigentlich erwarte ich, dass er bei jedem Aufruf der Funktion durch ein Tick wieder von vorne anfängt und somit nur das letzte Tief findet.
Was übersehe ich hier?
Oder wisst Ihr vielleicht eine elegantere Lösung (vielleicht wie ich nicht genau 100 Bars zurück gehe, sondern soviele, bis tatsächlich ein letztes Hoch/Tief kommt, auch wenn das mehr als 100 Bars entfernt sein sollte?
Schon mal wieder vielen Dank für Eure Hilfe und noch einen schönen Abend.