OrderBook Recorder
- Утилиты
- Stanislav Korotky
- Версия: 1.2
- Обновлено: 9 мая 2020
Order Book, известный также как Market Book, глубина рынка, стакан цен, Level 2, - это предоставляемая брокером динамически обновляемая таблица с данными по текущим объемам торговых заявок на покупку и продажу для различных уровней цен вблизи Bid и Ask конкретного финансового инструмента.
MetaTrader 5 предоставляет возможность трансляции стакана цен в реальном времени. Данный эксперт OrderBook Recorder позволяет записывать все события об изменении стакана и сохранять их в файлы для дальнейшего использования в индикаторах и экспертах, в том числе и в тестере.
Эксперт сохраняет стакан рабочего символа графика, на который он помещен.
Файлы создаются в папке MQL5/Files/Books терминала, причем "Books" - настраиваемое имя, задаваемое входным параметром (см. далее). Внутри для каждого символа создается собственная папка, а в ней каждый день сохраняется в отдельный файл с именем YYYYMMDD.hob, где YYYY, MM, DD - соответственно год, месяц и число. Расширение hob - History of Order Book. Например, для тикера GAZP получим файлы MQL5/Files/Books/GAZP/*.hob.
Для чтения данных стакана из файлов необходимо использовать библиотеку OrderBook History Library. Эта библиотека, в частности, используется для чтения стакана индикатором OrderBook Cumulative Indicator и демонстрационным экспертом OrderBook History Playback.
В процессе работы эксперт выводит комментарий вида:
YYYY.MM.DD HH:SS N [X]
где YYYY.MM.DD HH:SS - дата и время последнего обработанного события;
N - общее количество событий, записанных экспертом в текущий файл с момента его запуска;
X - размер стакана в последнем событии;
Параметры
- FileFolder - строка с именем корневой папки, где будут храниться все файлы стаканов для всех символов, по умолчанию - "Books";
Внимание! В файлах сохраняется текущее серверное время, с учетом смещения относительно GMT. Чтение архива для того же счета и других счетов того же сервера не требует дополнительных настроек. Однако если архив будет перенесен в терминал, подключенный к серверу с другим временным смещением относительно GMT, необходимо использовать параметр OrderBook_TimeZoneCorrection в библиотеке OrderBook History Library. Имейте в виду, что в тестере всегда эмулируется сервер с GMT+0, невзирая на настоящее время котировок!
Пользователь не оставил комментарий к оценке