SymbolsLib

Среди стандартных функций MQL4 имеется весьма полезная функция MarketInfo(), которая возвращает разную данные о денежных инструментах, перечисленных в окне "Обзор рынка". Но, во многих случаях, может потребоваться дополнительная информация о загруженных в терминал инструментах. К примеру, перечень знаков, перечисленных в окне "Обзор рынка", порядок их чередования, расшифровка названий денежного инструмента либо полный перечень знаков, предоставляемых ДЦ.
При изучении оконных операций терминала было найдено, что при любых трансформациях в окне "Обзор рынка", терминал открывает и модифицирует двоичный файл symbols.sel в папке истории. Анализ структуры этого файла говорит о том, что терминал записывает любой инструмент из окна "Обзор рынка" в виде 128 байтовой структуры. Первые 12 байт отводится под наименование инструмента, другая часть заполняется служебной информацией: Bid, Ask, High, Low и т.д.

При чем структуры записываются в файл в том же порядке, как перечислены инструменты в окне "Обзор рынка". И в случае если пользователь изменяет порядок чередования знаков, то трансформации тут же отражаются в файле.
Примечание: нужно подчернуть, что первые 4 байта в файле зарезирвированы под версию MQL и остаются постоянными.
Но информация, которая содержится в файле symbols.sel возможно не полной. Особенно, в случае если в окне "Обзор рынка" перечислены не все денежные инструменты. Исходя из этого, в случае если потребуется полный перечень знаков предоставляемых ДЦ, то этот метод не сработает.

Хорошую идею на базе анализа файла symbols.raw внес предложение kaisa. Но его еализация с применением API функций на наилучшее ответ.
Эту задачу возможно решить и на "чистом" MQL. Анализ структуры этого файла говорит о том, что любой инструмент записывается в файл в виде двоичной структуры размером 1936 байт. Причем первые 12 байт отводится под наименование знака, а следующий блок размером 64 байт содержит расшифрованное наименование денежного инструмента.
На базе совершённых анализов была реализована предлагаемая тут библиотека, которая содержит последовательность функций для получения дополнительной информации о денежных инструментах, загруженных в торговый терминал. Вот перечень экспортируемых функций:
SymbolsList — функция возвращает перечень (перечисленных в окне "Обзор рынка" либо всех) денежных инструментов.
SymbolDescription — функция возвращает расшифрованное наименование указанного денежного инструмента.
SymbolType — функция возвращает тип денежного инструмента.
Пример работы с библиотекой показан в скрипте SymbolsSample.mq4.

SymbolsLib.mq4 SymbolsLib.mqh SymbolsSample.mq4