Market Watchウィンドウで選択されているすべての金融商品をスクリプトでプログラム的に確認するにはどうしたらよいでしょうか。

 
同僚たちよ、ひとつだけアドバイスをください。

スクリプトで、"Market Watch "ウィンドウで選択されているすべての商品をプログラム的に確認するにはどうすればよいですか?

ありがとうございました。
 

検索https://www.mql5.com/en/code/mt4 そのようなスクリプトがあったのを覚えています。

 
また、検索するためのキーワードも最低限知っておいてください。
 
最近、自分自身でこの問題を解決しました。 ブルートフォースのアイデアは、誰から借りたのか覚えていません。
//+------------------------------------------------------------------+  
//----
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:
最近、自分自身でこの問題を解決しました。 ブルートフォースのアイデアは、誰から借りたのか覚えていません。
おそらく私から。
'ZZ_All Quotings 0-0080'です。
 
返信ありがとうございました。でも、通貨ペア(商品)だけのことではないんです。これらの機器を手動で入力することもできるんだ。先物、指数、米国株など、多種多様なという意味です。
 

残念ながら、簡単な解決策はないのですが...。
一番面白かったのは、こちらのバリエーションです。
'SymbolList fromSet'.
今後、ツールの一覧を返す機能の導入をお願いします。
例えば、こんな感じです。
- INSTR (1, D) ディーリングにあるものすべて
- INSTR(2、D)マーケットプレイスウィンドウにあるすべてのもの
Dはグループ、つまり「Symbols」フォルダの中にあるものです。

これはもう、要望です!!心の叫びです!!(笑
何百という数の楽器を持つことは、もはやギミックではないのだから。
でも、手作業で見ていくのは......。は、ナノテクノロジーの時代にはちょっと乱暴かな...。;)))

 
mricos:
返信ありがとうございました。でも、通貨ペア(商品)だけのことではないんです。これらの機器を手動で入力することもできるんだ。先物、指数、米国株など、多種多様なという意味です。
リンク先に全てあります。
現在利用可能なすべてのものを単純に列挙したものです。名前合成はしない。
通貨ペアは合成されます。
 
kombat:

残念ながら、簡単な解決策はないのですが...。
一番面白かったのは、こちらのバリエーションです。
'SymbolList fromSet'.

この方法は、ユニバーサルなインジケーターやスクリプトには適しません。
 

そうですね、それに興味が冷めたというか...。
また、MKL5への要望で開発者に手紙を書きました。

ちなみに端末にはすでに申し込んでいます。
楽器のグループもシンボルセットに追加する場合。
今は、forexとforexallがデフォルトで入っているようです。
と、MTがFXだけでないことは分かっているのですが...。;)

 
VBAG:
最近、自分自身でこの問題を解決しました。
DCがペアの名前に独自のものを追加した場合は機能しません。例えば、"m"、"!"、"."、"_"などです。
理由: