Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
В библиотеке MQL5 уже больше 1500 программ. Поделись и ты своей!
Сергей
712
Сергей 2011.06.28 11:43 

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

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

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

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

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

Сергей
712
Сергей 2011.06.28 13:14  

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

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

Комбинатор
15649
Комбинатор 2011.06.28 13:18  

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

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

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

Сергей
712
Сергей 2011.06.28 13:30  
TheXpert:

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

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

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

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

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

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

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

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

/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий