Нужна тиковая история из работающего терминала по всем парам

 

Вопрос много раз подымался, но нормального решения нет в силу ограничений архитектуры торговогой платформы. А задачу все таки хочется хоть както решить ;)

Мне нужно собирать тиковую историю с момента старта терминала по всем валютным парам из окна обзора рынка. Нужно чтобы в одном окне висел один единственный скрипт/индикатор/эксперт который может узнать о приходе тика на чужой символ и записать его в файл.

Решения влоб: открыть все пары и на все графики повесить писалку тиков по каждому графику и зацикленный скрипт/эксперт проверяющий все котировки и пишущий измененения по всем парам - не устраивают впринципе. Во-первых можно пропустить тик когда они очень быстро сыпятся, во-вторых сильно будет загружен процессор на эту ерунду и на содержательные расчеты времени не останется.

Возможно оптимальным будет вычитывание файла ticks.raw и запись данных из него. Эксперт/индикатор может отрабатывать по тику своего символа, но поскольку в ticks.raw терминал сам пишет тики и их там не один десяток штук последних то и пропусков быть не должно, и проц не сильно будет грузится, т.к. будет отрабатывать не очень часто. Но к сожалению формат файла ticks.raw еще не раскопали (по крайней мере я его не нашел) а разработчики играют в любимую свою игру "собака на сене" и описывать форматы своих служебных файлов не собираются по "принципиальным" соображениям.

Итого: буду очень признателен коллегам по цеху за любые конструктивные подсказки/идеи по решению задачи записи истории всех тиков работающего терминала по всем инструментам.

 

Спасибо. Но это не совсем то. Там зацикленный скрипт который раз в 0.1 секунды сравнивает прошлые котировки с текущим и если они поменялась - пишет в файл новые тики.

Это я себе оставил на самый крайний случай если больше ничего не придумается.

 

Ну если доставать из файла отпадает, остается заоптимизировать все до максимального уровня.

Можно попробовать. Например, собираем на тиках (без цикла), в массив фиксированной длины, например 100, при наполнении передаем в дллку для асинхронного сохранения.

Естественно в советнике.

 
TheXpert:

Ну если доставать из файла отпадает

я еще не теряю надежду раскодить их структуру ticks.raw - там вроде все хорошо структурировано, нужно только выяснить что где лежит.
 
Да напиши ты в личку Ренату и неофициально получишь ответ. Давно заметил, что недокументированные функции разработчики не выкладывают, но в их частных обсуждениях участвуют. То есть, работает принцип: многое секретом не является, но ответственности за это официально на себя не принимается.
 
granit77:
Да напиши ты в личку Ренату и неофициально получишь...
я уже один раз "получил" по этой теме :( второй раз на теже грабли наступать совсем неохота
 
f.t.:
я уже один раз "получил" по этой теме :( второй раз на теже грабли наступать совсем неохота

Одно дело размахивать флагом на площади, другое - приватно ознакомиться с недокументированной структурой, в которой нет никакого секрета. Не буду говорить за Рената, но уж по голове за спрос ты точно не получишь :))
 
f.t.:
я еще не теряю надежду раскодить их структуру ticks.raw - там вроде все хорошо структурировано, нужно только выяснить что где лежит.
Так сложность еще в том, что тики там для всех инструментов. Т.е. надо еще идентификаторы инструментов доставать.
 
f.t.:
я еще не теряю надежду раскодить их структуру ticks.raw - там вроде все хорошо структурировано, нужно только выяснить что где лежит.
Не уверен что вы найдете там свежие данные, я вот прямо сейчас поигрался графиками, и вижу что обновления в этот файл не приходят, как и в файл с новостями, данные в него сбрасываются только по закрытию терминала. Наиболее перспективное направление по моему мнению - это сканировать окно Мarket wash ну и ессно не средствами МКуЛя
 
xrust:

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

Да. вы правы. с этим вариантом ничего не выйдет :((((

Наиболее перспективное направление по моему мнению - это сканировать окно Мarket wash ну и ессно не средствами МКуЛя

увы, не стоят эти муки того, что хотелось сделать удобным. придется ждать пока тики накопятся с текущей сессии. а жаль....

чтож так все через "универсальный интерфейс" сделано?!