Hallo geschätzte Community,
Wie kann man von dem zuletzt erstellten Fractal das letzte Hoch eines UP-Fractals oder das letzte Tief eines Low-Fractals ermitteln?
Vielen Dank!
Mit freundlichen Grüßen
Johann Kern
Falls du den Indicator Examples\Fractals meinst, folgendermaßen:
handle in der OnInit mit iCustom(...) erstellen, buffer definieren
int handleFract = iCustom(......); if(handleFract == INVALID_HANDLE) { Alert("Da ging was schief"); return(INIT_FAILED); } double bufferFractUP[], bufferFractDN[]; ArraySetAsSeries(bufferFractUP,true); ArraySetAsSeries(bufferFractUP,true);
Im Datawindow siehst du daß, 2 Buffer vorhanden sind. Auf diese greifst du in der OnTick mittels CopyBuffer zu.
Dann die Arrays untersuchen. ArrayMinimum, ArrayMaximum bieten sich hier an.
Du wirst das hinkriegen. F1 nicht vergessen.
Welchen Indikator verwendest Du?
ich verwende iFractals().
Hallo Otto Pauser,
wäre den iCustom von Vorteil?
Ich mache das mit iFractals, ähnlich. Zuletzt ist aber das Array, dass ich wie von Dir beschrieben untersuche. Von daher meine ich in ArrayMinimum und ArrayMaximum die Lösung zu erkennen.
Wenn Du den Kursor auf iFractals stellt und F1 drückst (ist ja eine integrierte Funktion) kommst Du gleich zur Beschreibung und
da sieht man dann sogleich ein Beispiel und dass es für die Fractals oben und unten die definierten Werte
(MQL5: 0 - UPPER_LINE, 1 - LOWER_LINE, MQL4: MODE_UPPER=1, MODE_LOWER=2)
Ist meist viel, viel schneller als hier auf Antworten warten.
ich hab‘s raus, dank euch beiden:-)
zunächst einmal iCustom(……..) NUR NOCH! Da ich damit meine individuellen Indikatoren erstellen kann. Hier großen Dank für den Hinweis!
Ich habe es dann so gelöst:
//+------------------------------------------------------------------+ //| Accelerator/Decelerator Oscillator | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]){ int i,limit; //--- if(rates_total<5) return(0); //--- if(prev_calculated<7){ limit=2; //--- clean up arrays ArrayInitialize(ExtUpperBuffer,EMPTY_VALUE); ArrayInitialize(ExtLowerBuffer,EMPTY_VALUE); } else { limit=rates_total-5; } for(i=limit;i<rates_total-3 && !IsStopped();i++){ //---- Upper Fractal if(high[i]>high[i+1] && high[i]>high[i+2] && high[i]>=high[i-1] && high[i]>=high[i-2]){ ExtUpperBuffer[i]=high[i]; dblHigh = NormalizeDouble(high[i],_Digits); } else ExtUpperBuffer[i]=EMPTY_VALUE; //---- Lower Fractal if(low[i]<low[i+1] && low[i]<low[i+2] && low[i]<=low[i-1] && low[i]<=low[i-2]){ ExtLowerBuffer[i]=low[i]; dblLow = NormalizeDouble(low[i],_Digits); } else ExtLowerBuffer[i]=EMPTY_VALUE; } PrintFormat("Fractal Up:= %f :: Fractal Down:= %f",dblHigh, dblLow); //--- OnCalculate done. Return new prev_calculated. return(rates_total); }
Jedenfalls Danke für eure Unterstützung.
Mit freundlichen Gruß
Joosy
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wie kann man von dem zuletzt erstellten Fractal das letzte Hoch eines UP-Fractals oder das letzte Tief eines Low-Fractals ermitteln?
Vielen Dank!
Mit freundlichen Grüßen
Johann Kern