Marktübersicht/Market Watch - Symbole im Indikator begrenzen

Einloggen oder registrieren, um einen Kommentar zu schreiben
blautanne
11
blautanne  

Hallo,

ich bin kein Programmierer, aber mein Problem sollte sich eigentlich unkompliziert lösen lassen.

Die zwei Indikatoren, welche ich anpassen will, verarbeiten alle Symbole in der Marktübersicht.

Dort befinden sich ca. 100 Werte. Nun möchte ich aber nur die 28 Hauptwährungspaare verarbeiten lassen und

diese einmal per Hand in den mq5 - Code einfügen. An welcher Stelle müsste ich was tun?

Dateien:
Carl Schreiber
Moderator
7230
Carl Schreiber  

Und was hältst Du von der Lösung alle Symbole bis auf deine 28 im MatketWatch zu löschen?

Alternativ kannst Du für die 28 jeweils ein Chart öffnen und dann im MarketWatch alles löschen, dann bleiben die 28 übrig.

Otto Pauser
972
Otto Pauser  
blautanne:

Hallo,

ich bin kein Programmierer, aber mein Problem sollte sich eigentlich unkompliziert lösen lassen.

Die zwei Indikatoren, welche ich anpassen will, verarbeiten alle Symbole in der Marktübersicht.

Dort befinden sich ca. 100 Werte. Nun möchte ich aber nur die 28 Hauptwährungspaare verarbeiten lassen und

diese einmal per Hand in den mq5 - Code einfügen. An welcher Stelle müsste ich was tun?

Suche in beiden Indis nach 'SymbolsTotal(true)' und du wirst fündig.

Da könntest du die Symbole 'hardcoden' oder aus einer Textdatei die du erstellst einlesen (elegatere Variante).

Anderenfalls mach es wie Carl vorgeschlagen hat, das ist sicher das einfachste.

blautanne
11
blautanne  

Methode Carl Schreiber geht nicht, da ich etliche andere Symbole auch verwende. Die Einschränkung soll ja nur für die zwei genannten Indik. gelten.

Methode Otto Pauser: Bei dieser Zeile war ich "recherchemäßig" auch schon gelandet, fehlt nur noch die genaue Eingabemethode und -stelle...


   //resize the arrays to match the symbol count

   symbolCount=SymbolsTotal(true);

   ArrayResize(symbolList,symbolCount,0);

   ArrayResize(hMA,symbolCount,0);

   

   //get the symbol names and ma handles for all symbols

   for(int i=0;i<symbolCount;i++)

     {

      symbolList[i]=SymbolName(i,true);

      

      hMA[i]=iMA(symbolList[i],inTimePeriod,inMAPeriod,0,inMAMethod,PRICE_CLOSE);

     }

   

Otto Pauser
972
Otto Pauser  

Du musst dir die gewünschten Ssymbole herausfiltern. etwa so:

int OnInit()
  {
   symbolCount=SymbolsTotal(true);

   int count=0;
   string sym;
   for(int i=0;i<symbolCount;i++)
     {
      sym=SymbolName(i,true);
      if(sym=="EURUSD")
         {
            ArrayResize(symbolList,count+1,10);
            symbolList[count]=sym;
            ArrayResize(hMA,count+1,10);
            hMA[count]=iMA(symbolList[i],inTimePeriod,inMAPeriod,0,inMAMethod,PRICE_CLOSE);
            count++;
         }
     }

der Rest gehört natürlich auch adaptiert.

Einloggen oder registrieren, um einen Kommentar zu schreiben