iCustom(Indikator) werte vom Indikator richtig auslesen

Einloggen oder registrieren, um einen Kommentar zu schreiben
Joosy
119
Joosy  

Sehr geehrte Community,
ich frage mit iCustom individuell einen Fractalindikator ab. Das funktioniert auch soweit. Nun benötige ich die Werte des Indikators in einer von mir erstellen Klasse. Darin frage ich die Daten über die Instanz mit CopyBuffer ab. Die Daten bekomme ich auch. Jedoch auch die Daten zwischen den Fractals.
Das ganze sieht so aus:

void CIndicators::OnTick(){
   CIndicators::FractalsOnTick();
}

void CIndicators::FractalsOnTick(void){
   //bars = Bars(mySymbol, myPeriod)-1;
   bars = 30;
   
   if(CopyBuffer(FractalHandle,0,1,bars,FractalUp) <= 0 || CopyBuffer(FractalHandle,1,1,bars,FractalDown) <= 0){
      PrintFormat("%s. Failed to load FractalUp or FractalDown, Error code: %d", __FUNCTION__, GetLastError());
      return;
   }

   FractArraySizeUp     = ArraySize(FractalUp);
   FractArraySizeDown   = ArraySize(FractalDown);
   
   for(i=0; i<FractArraySizeUp; i++){
      if(FractalUp[i] > 0.0)
         LastFractUp = NormalizeDouble(FractalUp[i],_Digits); //FractalUp[i];
   }

   for(i=0; i<FractArraySizeDown; i++){
      if(FractalDown[i] > 0.0)
         LastFractDown = NormalizeDouble(FractalDown[i],_Digits); //FractalDown[i];
   }

   ArrayPrint(FractalUp);
} 
ArrayPrint liefert folgendes Ergebnis:
[ 0] 2E+308 2E+308 1.18296 2E+308 2E+308 2E+308 2E+308 2E+308 2E+308 2E+308 2E+308 2E+308 1.18428 2E+308 2E+308
[15] 2E+308 2E+308 2E+308 2E+308 2E+308 1.18739 2E+308 2E+308 2E+308 2E+308 2E+308 2E+308 2E+308 2E+308 1.18766

Ich brauche nur die fettmarkierten Werte. Wie kann ich alles andere in der Schleife Ausschließen?
Carl Schreiber
Moderator
10876
Carl Schreiber  

Ich denke Du darfst nicht nach > 0 abfragen sondern nach EMPTY_VALUE.

Aber Du kannst selber nachschauen in \Indicators\Examples\Fractals.mq5.

Documentation on MQL5: Constants, Enumerations and Structures / Named Constants / Other Constants
Documentation on MQL5: Constants, Enumerations and Structures / Named Constants / Other Constants
  • www.mql5.com
The CLR_NONE constant is used to outline the absence of color, it means that the graphical object or graphical series of an indicator will not be plotted. This constant was not included into the Web-color constants list, but it can be applied everywhere where the color arguments are required. The EMPTY_VALUE constant usually corresponds to the...
Joosy
119
Joosy  

Funktioniert leider nur eingeschränkt. Zunächst kommen die korrekten Werte, gehen aber dann auf 0 und werden dann auch nicht mehr aktualisiert. Ich weiß nicht an was es liegt?

Muss aber noch hinzufügen, dass ich grad ausschließlich mit dem Strategietester fahre. Keine Ahnung, was der für Macken hat?

Ich finde auch nirgends eine Anwendung, wie ich in MQL5, Datentypen bedingungsgemäß abfragen kann?

Trotzdem Danke für die Hilfe:-)

Wie teste ich einen Handelsroboter vor dem Kauf
Wie teste ich einen Handelsroboter vor dem Kauf
  • www.mql5.com
Der Kauf eines Handelsroboters am MQL5 Markt hat bestimmte Vorzüge gegenüber ähnlichen Möglichkeiten - ein automatisiertes System kann direkt im MetaTrader5-Terminal getestet werden. Vor dem Kauf kann und soll ein Expert Advisor sorgfältig in allen ungünstigen Modi im eingebauten Strategietester ausgeführt werden, um das System komplett zu...
Einloggen oder registrieren, um einen Kommentar zu schreiben