Блог им. Xaba3abr

Рождественский подарок для Смартлаба: индикатор ОИ с СМЕ для МТ4

В свое время мне надоело каждый день лазить на всем известный сайт и щелкать даты, просматривая ОИ в отчетах. Я задался целью найти нормальный индикатор, который собирал бы информацию о них сразу в терминал, и обнаружилось… ничего :D Несколько абсолютно неработающих решений в свободном доступе и несколько продуктов на mql5.com, которые, во-первых, платные, а во-вторых, предлагают скачивать отчеты вручную каждый день (что??) для своей работы. Хотя данные, казалось бы, вот они, и задача вполне тривиальна. И я решил исправить это недоразумение (да-да, уже вангую, что сейчас появится как минимум один человек, который скажет, что такой индюк давно есть и вот он он, но мой поиск по гуглу, мкл5 и СЛ не дал вообще никакого результата, вполне возможно что плохо искал).

Выкладываю
в открытом доступе мой индикатор. Данный архив следует распаковать в папку C:\Program Files\MT4\MQL4\.

Он состоит из двух частей. Первая — советник OIcme_updater, его нужно повесить на график (собственно, без разницы на какой) и оставить там:

Рождественский подарок для Смартлаба: индикатор ОИ с СМЕ для МТ4

При запуске в него нужно вбить название интересующего вас фьюча в параметре InstrFromCSV так, как это прописано в файлах истории, расположенных здесь. Скачивать их не придется, потому что они все уже были мной скачаны, конвертированы в CSV и положены в папку с советником, которая после распаковки окажется по адресу \MT4\MQL4\Files\OIdata. Можете открыть любой из них и посмотреть, как называется нужный вам фьюч:

Рождественский подарок для Смартлаба: индикатор ОИ с СМЕ для МТ4

В параметре InstrFromXLS вбивается в точности то название, которое указано на этой странице. Просто переводить переменные в апперкейс нельзя, потому что некоторые названия разные. AssetClass нужен для запроса к СМЕ, для металлов это 8, для энергетики 7. Чтобы узнать ассеткласс актива, наведите мышкой на кнопку получения репорта и посмотрите, какая цифра будет в ссылке, которая появится внизу (или сохраните эту ссылку и скопируйте в адресную строку, если ваш браузер не показывает):

Рождественский подарок для Смартлаба: индикатор ОИ с СМЕ для МТ4

Days устанавливает глубину истории в днях. Архивы СМЕ, расположенные в разделе daily_volumes, начинаются с 2014 года, соответственно глубже взять будет неоткуда. Еще там есть архив за 2013, но я не смотрел в каком он формате. Если вы знаете более старые источники данных по ОИ, я буду благодарен, если вы дадите на них ссылку.

При запуске советник создаст файл с историей «OI hist GOLD FUTURES.csv» (по адресу \MT4\MQL4\Files\OIdata), в который сначала положит всю доступную историю из архива на нужную глубину, а затем вернется в начало и дополнит это данным из XLS отчетов с сервера. Отчеты хранятся приблизительно за последний месяц, поэтому актуальность архива из CSV файлов на момент первого запуска должна быть не старее месяца, иначе в данных будет разрыв. Я скачал архивы до первых чисел января 18го, если вы запускаете индикатор сильно позднее, вам надо будет зайти в папку сервера daily_volume, скачать недостающие XLS-файлы, поместить их по адресу C:\daily_volume и запустить макрос для Open Office Calc, написанный мной специально для этой цели (он тоже в архиве с индюком, папка Library1). Для этого в OpenOffice Calc открываете Сервис--Макросы--Управление макросами--OpenOffice Basic--Управление--Библиотеки--Добавить, и выбираете папку Library1, где бы она ни находилась. Затем Сервис--Макросы--Выполнить макрос--Мои макросы--Library1--Module1--convert:

Рождественский подарок для Смартлаба: индикатор ОИ с СМЕ для МТ4

У вас спросят, сколько файлов из папки C:\daily_volume сконвертировать. Указываете количество и отправляетесь гулять, если их больше 30: процесс небыстрый :)) Полученные CSV файлы затем следует перенести в архив индюка \MT4\MQL4\Files\OIdata.

Впрочем, если с последнего CSV-файла прошло не более месяца, все это не нужно. Теперь советник будет при каждом запуске терминала смотреть текущее время, оценивать, где кончается история, и, если есть новые репорты, самостоятельно скачивать их с сайта биржи и добавлять в файл истории. Сделать это через индикатор нельзя, потому что в индюках запрещены запросы на сервер. Никаких торговых функций у советника нет, можете сами убедиться в этом, посмотрев исходный код: методы OrderSend отсутствуют. Теперь вешаем на нужный график сам индикатор OIcme. В параметре Instrument забиваем имя фьюча так же, как написано в архиве (и как называется файл с историей), т.е. в нашем случае GOLD FUTURES. Параметр UTC можете изменить, если вы далеко от часового пояса +3: индикатор рисует каждое значение ОИ на середину сессии, чтобы было показано его изменение от одной сессии к другой. Вот что у нас выходит:

Рождественский подарок для Смартлаба: индикатор ОИ с СМЕ для МТ4

Индикатор будет самостоятельно апдейтиться, как только файл с историей OI hist GOLD FUTURES.csv изменится (т.е. когда советник его дополнит), о чем напишет в логах (там же можно прочесть и послания от эксперта: не удивляйтесь, что он отчитывается о невозможности загрузить данные в дни праздников). Советник проверяет актуальность данных только при запуске терминала: очевидно, что нет смысла ставить секундный таймер для отчетов, приходящих раз в день. Данные из отчетов Preliminary не меняются после выхода Final. Для серебра и нефти проверял — все работает. Если только формат отчетов в СМЕ не изменится, должно работать и дальше. Вот вроде и все. Пользуйтесь!

UPD: исправлена ошибка при чтении большого числа файлов CSV. Плюс в файл истории ОИ золота записана теперь почти вся история. Ссылка на архив обновлена.
  • Ключевые слова:
  • mql,
  • CME,
  • OI
★16
26 комментариев
както припозднился ты на 2 недели с подарком))
avatar
злой человек, а, точно, рождество же до НГ бывает. Не слежу за праздниками. Ну да пофиг.
avatar
злой человек, православное рождество в ночь с 6 на 7 января
avatar
Собака инвестяка, отличный индюк! стотыщ плюсов в карму!
спасибо, что делишься своими наработками!

Кстати, ты используешь какой-нибудь дополнительный коммерческий софт для объемного анализа?
avatar
avento, КластерДельту использую. И свои наработки на её основе. Все остальное из открытых источников.
avatar
Собака инвестяка, да мы тут с товарищами затеяли оптовую закупку лицензий на платформу sbpro v2 (бюджетная замена volfix, atas и пр).

При оптовой покупке они дают скидку в 30%, так что стоимость одной полноценной и неограниченной по времени лицензии получится в районе 4100 рублей (в то время как вышеупомянутые платформы хотят столько же за 1 месяц!)
Предложение считаю супер-выгодным для имеющегося там набора функциональных возможностей!

Но акция только до 15 января, так шо срочно нужно еще 2-3 человека для получения скидки. Если есть интерес — присоединяйся к нам!
avatar
avento, надо смотреть че за платформа и какой функционал. Ну и плюс нужны пруфы, что сборщик просто не исчезнет с деньгами :)))

А доступ к данным в цену входит?
avatar
краткий обзор по платформе можно глянуть например здесь.
датафиды включены. а оплату каждый сможет осуществить напрямую к производителю (участникам группы будет выслан предварительный инвойс со скидкой).
avatar
По неделям ОИ в СОТах есть. Если нужно какой-то алгоритм погонять, то велкам на недельки.
avatar
Zmey, ну ты сравнил: недельные данные с задержкой в 3 дня и ежедневные, с задержкой 1 :D Если бы разницы не было, то и на сайт биржи я бы не лазил за отчетами…
avatar
Собака инвестяка, я имел ввиду твой запрос на старые источники по ОИ. А так да, дневки в реальном времени интереснее.
avatar
Zmey, а, ну то да, я помню конечно. На моем индюке даже недельные данные будут выглядеть лучше, чем чудовище от МетаКОТа, но ради них не стану заморачиваться…
avatar
Bambino, это выпад по поводу платформ объемного анализа чтоли?
так в них есть не только западные инструменты, но и множество российских тикеров
avatar
Какая у вас ядовитая расцветка винды. Аж дрожь берет)))))
avatar
Storm Hold, да ну, разве? Напротив, успокаивающе-голубая :D Я считаю идеальной контрастную схему зеленое-на-черном, но МТ4 становится неудобоворимым с ней.
avatar
Собака инвестяка, спасибо, неплохая программа, может пригодиться в некоторых спорных случаях. Дело в том, что ОИ вовсе не всегда демонстрирует мнение ошибающейся толпы (кое-где — даже наоборот, преимущественно «нетолпу»), поэтому интереснее суперпозиция многих факторов. Например, падение ОИ на вашей картинке с золотом можно трактовать как сброс длинных позиций из-за неправоты лонгующих, а текущий рост — как набор. В последнем случае толпе должно повезти, мои опционные показометры, говорят, что золото полагается вытащить повыше максимума 4 января.
старый трейдер, ну естественно, ОИ есть смысл смотреть только в связке с СОТами. По последним, кстати, видно, что лонгов набрали в основном фонды, против них в шортах стоят своп дилеры, коммерсы и немного other rep'ы. Толпа тренднейтрально, но тоже набирает ОИ.

А что за методика анализа опционов?
avatar
Собака инвестяка, тоже объемы. Позиции открывают-закрывают-перестраивают, тоже арена конкуренции и тоже интерпретация зависит от кучки факторов. Жизнь бурлит повсюду, только успевай следить.
старый трейдер, а почему именно опционы? Вы считаете их ведущим фактором на фьючерсном рынке?
avatar
Собака инвестяка, фьючерсы и опционы — неразрывное целое  _срочного_ рынка.
Вот и вынесли шортивших золото. Желательно понимать, почему подобные прогнозы, с практически единичной вероятностью исполнения, приходится делать головой: нейронки (пока) не справляются. Поэтому роботу нужен еще больший объем информации, иначе ровненькой эквити не добиться.
старый трейдер, ну да, фонды зарядились в лонг, а во флете ОИ не падал, надо тащить наверх к экспирации.

А опционы что сказали по этому поводу?
avatar
Собака инвестяка, опционы впрямую ничего не сказали, опционные позиции = опционы+фьючерсы. Характерная активность, которая _сочеталась с проч. факторами, типа времени существования, вида локальных движений и объемов,  х  на эмпирические вес. коэфф.  Как говорит James Simons, — subtle anomalies. И кодить трудно, ибо простым текстом не объяснить, оно ведь в динамике. Самый трудный путь к легким деньгам — все сказано :)

и, разумеется, не факт, что такой подход лучший, знаю команды, например, копающие в сторону распознавания образов, там тоже есть надежды уйти от hft.


Выкладываю в открытом доступе мой индикатор. Данный архив следует распаковать в папку C:\Program Files\MT4\MQL4\.
здесь мрак на СмЛбе.в итоге 9 человек качнули и все.
avatar

теги блога Xaba3abr

....все тэги



UPDONW
Новый дизайн