Смотри, как бесплатно скачать роботов
Ищи нас в Telegram!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Скрипты

SymbolsLib - скрипт для MetaTrader 4

Просмотров:
6629
Рейтинг:
(24)
Опубликован:
2009.08.09 21:15
Обновлен:
2014.04.21 14:54
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Среди стандартных функций 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.

s-ReConnect.mq4 s-ReConnect.mq4

Скрипт следит за соединением с сервером ДЦ и если оно пропало, то пытается пересканировать серверы, если связь не восстановилась, то переподключает аккаунт.

s-Downloader.mq4 s-Downloader.mq4

Данный скрипт закачивает историю по всем символам, которые находятся в "Обзоре рынка" и таймфреймам.

KRI Метод Каири (Kairi) KRI Метод Каири (Kairi)

По способу применения ближе к Momentum

SLAndLots SLAndLots

Индикатор добавляет на график линии для SL и цены открытия. При изменении положения линий показывает рекомендуемый лот для открытия позиции, в зависимости от размера SL.