Symbole

 

Hallo,


hat jemand eine Idee, warum hier nicht alle Symbole ausgegeben werden? Ja ich weis, der Code ist nicht sauber, den hab ich vor ewigen Zeiten mal schnell geschrieben

   double MaxButtonPerLine = (double)ChartGetInteger(0,CHART_WIDTH_IN_PIXELS)/ (ButtonWidth+InpXdistance);


   int k = 0;                                         // für das setzen der Button, da die Market Watch falsch ist^drxe
   for(int i = 0; i < SymbolsTotal(true); i++)
     {
      string symbol = SymbolName(i,true);

      int Stelle = StringFind(symbol,"_",0);

      if(SymbolInfoInteger(symbol,SYMBOL_VISIBLE)  && Stelle <0)
        {
         string sym = SymbolName(k,true);
         int LineNumber= 0;
         int j = k;
         if(k<MaxButtonPerLine*1-1)
           {
            LineNumber = 2;
            j = k;
           }
         if(k>MaxButtonPerLine*1-1 && k<MaxButtonPerLine*2)
           {
            LineNumber = 3;
            j = (int)(k-MaxButtonPerLine*1);
           }
         if(k>MaxButtonPerLine*2-1 && k<MaxButtonPerLine*3)
           {
            LineNumber = 4;
            j = (int)(i-MaxButtonPerLine*2);
           }
         if(k>MaxButtonPerLine*3-1 && k<MaxButtonPerLine*4)
           {
            LineNumber = 5;
            j = (int)(k-MaxButtonPerLine*3);
           }
         if(k>MaxButtonPerLine*4-1 && k<MaxButtonPerLine*5)
           {
            LineNumber = 6;
            j = (int)(k-MaxButtonPerLine*4);
           }
         if(k>MaxButtonPerLine*5-1 && k<MaxButtonPerLine*6)
           {
            LineNumber = 7;
            j = (int)(k-MaxButtonPerLine*5);
           }
         if(k>MaxButtonPerLine*6-1 && k<MaxButtonPerLine*7)
           {
            LineNumber = 8;
            j = (int)(k-MaxButtonPerLine*6);
           }
         if(k>MaxButtonPerLine*7-1 && k<MaxButtonPerLine*8)
           {
            LineNumber = 9;
            j = (int)(k-MaxButtonPerLine*7);
           }
         if(k>MaxButtonPerLine*8-1 && k<MaxButtonPerLine*9)
           {
            LineNumber = 10;
            j = (int)(k-MaxButtonPerLine*8);
           }

         button.Create(0,"Cross" + (string)k, SubWin, InpXdistance * (j + 1) + ButtonWidth * j, TopDistance * LineNumber + ButtonHigh * (LineNumber-1), ButtonWidth, ButtonHigh);
         button.Description(sym);//SymbolName(k, true));
         Print(sym);
         ButtonStyle();
         k++;

        }

     }

als Ergebnis bekomme ich



da ist AUDJPY immer der letzte, obwohl in der Marktübersicht noch viele andere sind



danke

 
Gibt es Fehlermeldungen? Hast Du SymbolTotal mit false versucht? Wähle doch jedes Symbol noch dediziert mit SymbolSelect(), ...
Dokumentation zu MQL5: Marktinformation erhalten / SymbolSelect
Dokumentation zu MQL5: Marktinformation erhalten / SymbolSelect
  • www.mql5.com
SymbolSelect - Marktinformation erhalten - Nachschlagewerk MQL5 - Nachschlagewerk über die Sprache des algothitmischen/automatischen Handels für MetaTrader 5
 
Carl Schreiber:
Gibt es Fehlermeldungen? Hast Du SymbolTotal mit false versucht? Wähle doch jedes Symbol noch dediziert mit SymbolSelect(), ...

Fehler gefunden, wenn man die Operatoren rausfiltert und die Aktien aber Seperatoren haben dann kannst nix anzeigen