Wie kann das Skript programmatisch alle Instrumente durchgehen, die im Fenster Market Watch ausgewählt sind?

 
Liebe Kolleginnen und Kollegen, ich bitte Sie, mich in einer Sache zu beraten.

Wie kann ich programmatisch alle Instrumente durchgehen, die im Fenster "Market Watch" im Skript ausgewählt sind?

Vielen Dank im Voraus.
 

Suchen Sie unter https://www.mql5.com/en/code/mt4 nach einem solchen Skript, an das ich mich erinnere.

 
Außerdem sollten Sie zumindest einige Schlüsselwörter kennen, nach denen Sie suchen können.
 
Ich habe dieses Problem vor kurzem für mich selbst gelöst. Ich weiß nicht mehr, von wem ich die Idee der rohen Gewalt übernommen habe.
//+------------------------------------------------------------------+  
//----
string Currencies[] = {"AED", "AUD", "BHD", "BRL", "CAD", "CHF", "CNY", 
                       "CYP", "CZK", "DKK", "DZD", "EEK", "EGP", "EUR",
                       "GBP", "HKD", "HRK", "HUF", "IDR", "ILS", "INR",
                       "IQD", "IRR", "ISK", "JOD", "JPY", "KRW", "KWD",
                       "LBP", "LTL", "LVL", "LYD", "MAD", "MXN", "MYR",
                       "NOK", "NZD", "OMR", "PHP", "PLN", "QAR", "RON",
                       "RUB", "SAR", "SEK", "SGD", "SKK", "SYP", "THB",
                       "TND", "TRY", "TWD", "USD", "VEB", "XAG", "XAU",
                       "YER", "ZAR"}; 
string Symbols[];
int    SymbolCount = 0; 
//+------------------------------------------------------------------+
//| СОЗДАЁТ СПИСОК ДОСТУПНЫХ ВАЛЮТНЫХ СИМВОЛОВ                       |
//+------------------------------------------------------------------+
int CreateSymbolList()
  {
   int CurrencyCount = ArrayRange(Currencies, 0);
   int Loop, SubLoop;
   string TempSymbol;
   for(Loop = 0; Loop < CurrencyCount; Loop++)
       for(SubLoop = 0; SubLoop < CurrencyCount; SubLoop++)
         {
           TempSymbol = Currencies[Loop] + Currencies[SubLoop];
           if(MarketInfo(TempSymbol, MODE_BID) > 0)
             {
               ArrayResize(Symbols, SymbolCount + 1);
               Symbols[SymbolCount] = TempSymbol;
               SymbolCount++;
             }
         }
   return(0);
  }
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
//---------------------
int deinit()
  {
  Comment("");
  return(0);
  }
//---------------------
//---------------------
int init()
  {
  return(0);
  }
//---------------------
int start()
  {
  int handle,i,s;
 
  s=CreateSymbolList();
  string n= "currency.txt";
  handle=FileOpen(n, FILE_CSV|FILE_WRITE,'.');
  if(handle>0)
    {
      for(i=0;i<=SymbolCount-1;i++)
      {
      FileWrite(handle,i+1,Symbols[i]);
      }
     FileClose(handle);
    }   
//----
   return(0);
 
  }
 
VBAG:
Ich habe dieses Problem vor kurzem für mich selbst gelöst. Ich weiß nicht mehr, von wem ich die Idee der rohen Gewalt übernommen habe.
Wahrscheinlich von mir.
ZZ_Alle Notierungen 0-0080'.
 
Vielen Dank für die Antwort. Aber ich habe nicht nur Währungspaare (Instrumente) gemeint. Ich kann diese Instrumente auch manuell eingeben. Ich meinte damit eine große Auswahl an verschiedenen Futures, Indizes, US-Aktien usw.
 

Leider gibt es keine einfachen Lösungen...
Die interessanteste Variante war hier:
SymbolList fromSet'.
Ich bitte die Entwickler, eine Funktion einzuführen, die in Zukunft die Liste der Werkzeuge zurückgibt.
Zum Beispiel:
- INSTR (1, D) alles, was im Handel ist
- INSTR (2, D) alles, was im Marktplatzfenster steht
D sind Gruppen, d.h. was sich im Ordner "Symbole" befindet.

Das ist schon eine Bitte, das ist ein Schrei des Herzens!!!
Hunderte von Instrumenten zu haben, ist keine Spielerei mehr,
aber sie von Hand durchgehen zu müssen... ist in unserem Zeitalter der Nanotechnologien ein bisschen wild... ;)))

 
mricos:
Vielen Dank für die Antwort. Aber ich habe nicht nur Währungspaare (Instrumente) gemeint. Ich kann diese Instrumente auch manuell eingeben. Ich meinte damit eine große Auswahl an verschiedenen Futures, Indizes, US-Aktien usw.
Sie finden alles unter diesem Link.
Es handelt sich um eine einfache Aufzählung von allem, was derzeit verfügbar ist. Keine Namenssynthese.
Währungspaare werden synthetisiert.
 
kombat:

Leider gibt es keine einfachen Lösungen...
Die interessanteste Variante war hier:
SymbolList fromSet'.

Diese Methode ist nicht für einen universellen Indikator oder ein Skript geeignet.
 

Ja, und das hat das Interesse daran abgekühlt...
Auch schrieb an die Entwickler in den Anfragen für MKL5.

Übrigens bereits am Terminal beantragt.
Um dem Symbolsatz auch Gruppen von Instrumenten hinzuzufügen.
Jetzt scheint es, dass forex und forexall standardmäßig vorhanden sind,
und wir wissen, dass MT nicht nur Forex ist... ;)

 
VBAG:
Ich habe dieses Problem vor kurzem für mich gelöst.
Das funktioniert nicht, wenn die DCs dem Namen des Paares etwas Eigenes hinzufügen. Zum Beispiel "m", "!", "." oder "_".