|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
letzten RSI werten überprüfen
Hallo, da ich mir jetzt schon eine Weile meinen Kopfzerbreche und keine Lösung finde und auf dem Holzweg bin und anscheinend niemand ein ähnliches Problem hatte, bin ich nun hier.
Mein Problem ist, ich möchte wissen war der RSI in der 5Minuten Periode in den letzten 120, 5minuten Kerzen, über 70 oder unter 30. Ich dachte das geht über den shift wert der mir ja diese Info gibt aber Folgendes. void OnTick() { double RSI0 = iRSI(_Symbol,PERIOD_M5,14,PRICE_CLOSE,0); double RSI1 = iRSI(_Symbol,PERIOD_M5,14,PRICE_CLOSE,1); double RSI2 = iRSI(_Symbol,PERIOD_M5,14,PRICE_CLOSE,2); double RSI3 = iRSI(_Symbol,PERIOD_M5,14,PRICE_CLOSE,3); double RSI4 = iRSI(_Symbol,PERIOD_M5,14,PRICE_CLOSE,4); double RSI5 = iRSI(_Symbol,PERIOD_M5,14,PRICE_CLOSE,5); Comment("RSI 0=",RSI0, "\n", "RSI 1=",RSI1, "\n", "RSI 2=",RSI2, "\n", "RSI 3=",RSI3, "\n", "RSI 4=",RSI4, "\n", "RSI 5=",RSI5); } so habe ich mir das gedacht aber das muss doch auch einfacher gehen und nicht das ich 120 abfragen dieser Art mache.? Ich dachte es würde mit einem Array gehen aber das habe ich nicht hinbekommen. Vielen Dank für eure Hilfe |
|
|||
Code:
bool flag = false; for (int i = 1; i <= 120; i++) { if (iRSI(_Symbol,PERIOD_M5,14,PRICE_CLOSE,i) > 70 || iRSI(_Symbol,PERIOD_M5,14,PRICE_CLOSE,i) < 30)) { flag = true; break; } } if (flag) { //action! }
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Ohh, mein Gott wie einfach, vielen Dank für die Antwort.
Ich hatte mich total daran fest gemacht, dass ich mir auch den Passenden Shiftwert anzeigen lassen wollte, obwohl das ich überhaupt nicht nötig ist. vielen Dank. |
|
|||
Kannst du mir auch Sagen warum das im Testmodus einzeln funktioniert aber so zusammen eben nicht?
void OnTick() { for (int i5=0; i5 <= 36; i5++) for (int i1=0; i1 <=180; i1++) { if (iRSI(_Symbol,PERIOD_M5,14,PRICE_CLOSE,i5)>=70&&iR SI(_Symbol,PERIOD_M1,14,PRICE_CLOSE,i1)>=70) Comment("RSI ist größer 70"); } |
|
|||
Zitat:
Das ist einfach dann viel übersichtlicher. Also Code:
for (int i5=0; i5 <= 36; i5++) { for (int i1=0; i1 <=180; i1++) { if (iRSI(_Symbol,PERIOD_M5,14,PRICE_CLOSE,i5)>=70 && iRSI(_Symbol,PERIOD_M1,14,PRICE_CLOSE,i1)>=70) Comment("RSI ist größer 70"); } } Wichtig ist immer nur, dass in den jeweiligen TimeFrames auch, wie in dem Fall, 36 bzw. 180 Kerzen-Werte in der Historie vorhanden sind. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
Lesezeichen |
Stichworte |
rsi, shift, zeitraum |
|
|