Einzelnen Beitrag anzeigen
  #5 (permalink)  
Alt 25.06.16
traderdoc traderdoc ist offline
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Da nur der Buffer 0 ausgelesen wird, ist u.a. die for-Schleife im ersten Code völlig überflüssig, zumal richtigerweise festgestellt wurde, dass es keinen Buffer mit -1 gibt.

Der Code von @yytrader ist aber leider auch nicht ganz zielführend, weil erstens der Index count nicht incrementiert wird und zweitens das Shift i nur von 0 bis 9 läuft. Shift i muß allerdings solange incrementiert werden, bis count auf den Wert 9 incrementiert wurde. Erst dann darf die gesamte while-Schleife verlassen werden. Anzumerken sei hier, dass es auch das Feld ZIGZAG[0] mit einem Wert gibt, welches aber nicht im Chart abgebildet wird.

Daher:

Code:
double ZIGZAG[9];
int start() 
{  
   int  i = 0;
   double value = 0;
   int count = 0;

      while (count < 9)
      {
         value = iCustom(Symbol(),0,"ZigZag",5,5,3,0,i);
         if (value > 0) 
         {
            ZIGZAG[count] = value; 
            count++;
         }
         i++;
     }    
  }
traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.