Меню

SymbolsLib

  •    Автор:  TTraders
Среди стандартных функций 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

Перейти вверх

Добавить комментарий


Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

C чего начать

Типы

Анализ

Обучение

Инвестиции

«Поделиться»

18+

обновить