У меня сборщик тиков используется только по прямому назначению, а тики затем направляются "руками" в Excel, MathLab и проч. статобработку для поиска стратегий входа-выхода.
А вот в советнике у меня простой массив на 100 элементов с последними значениями Bid и никаких индикаторов, только модуль распознавания тиковых патернов.
А возиться с DDE нет ни времени, ни достаточной информации.
Тема тиков здесь не популярна...
Дык... Я ведь не об МТС. О коллекции тиковой истории в чистом виде. Без анализа, выводов и принятия решений. Голая статистика (которая знает все (с)).
От тиков-то можно и абстрагироваться. Как раз для программеров вопрос. Если обобщить, то он может звучать так: "Если 'энергоемкую' задачу решать упомянутыми тремя путями, то какой из них эффективнее?" Большим КПД обладает, более оптимальным соотношением цена-качество, что ли.
Ясен перец, что я эти тики дальше погоню для анализа. Мне главное собрать. Максимально достоверно и минимально затратно (по ресурсам компа) :)
Я расчитывал на ответ кодеров, тех, кто ручками делал схожие задачи. А по DDE, вероятно, разработчики должны бы что-то отписать. Может впрямую их спросить? Подожду еще...
Спасибо за ответ. А то уже больше суток тема в нулях висит. Странно, думаю...
А вот в советнике у меня простой массив на 100 элементов с последними значениями Bid и никаких индикаторов, только модуль распознавания тиковых патернов.
Паттерны в принципе уважаю, но на тиках смотреть не додумался?! Хм.. Пошел тики рисовать.
Chen По DDE я то же вопросы задавал - тишина. Авторитетно так никто и не ответил о надежности передачи тиковой информации по DDE.
Так это не затратно вроже.. вы можете простого советника прикрутить и пусть собирает каждый тик. в обычный текстовый файл с разделителями, который потом лекго откроется в экселе.
По DDE я то же вопросы задавал - тишина. Авторитетно так никто и не ответил о надежности передачи тиковой информации по DDE.
Грустно это... Я сравнивал короткие (до пары-другой тысяч тиков) интервалы, полученые по DDE и с графика. Поучились расхождения. Может я некорректно это делал, на коленке :), но в чан запала эта некорректность. После праздников сравню уже тщательнЕе. Если будет явно не бить - обращусь к разработчикам.
Только вопрос-то (b) открытым остается - как получить DDE данные не через таблицу, а через VB(VBA). А то громоздко получается через ловлю событий для листа, их декларацию etc. Вот напрямую бы в VBA. Инструментарий-то для этого есть, но не работает. Может это только в моих кривых ручонках :)
Это означает, что при правильной работе (подписка на изменения) через DDE получатель будет собирать 100% всех приходящих тиков. Этот вопрос обсуждался пару лет назад, где как раз говорили о гарантиях "не потери" тиков через DDE.
Так это не затратно вроже..
Как сказать... Если у меня в экстреммуме три МТ в реале (минимум
- один) и один для сбора тиков по ~20 инструментам с одного из реалов.
Процессор под завязку загружен. Ведь параллельно еще куча монстров
от MS плюс биржевой терминал на дотнете...
...вы можете простого советника прикрутить и пусть собирает каждый тик. в обычный текстовый файл с разделителями, который потом лекго откроется в экселе.
Дык метода-то у всех одинакова - собрать в .csv и проанализировать снаружи от МТ (я не говорю об МТС, танцующей от тиков)
DDE сервер в терминале МетаТрейдер имеет собственный накапливаемый буфер отсылки данных...
Спасибо за ответ, Ренат. Я, признаться, расчитывал на Вашу помощь.
...при правильной работе (подписка на изменения) ...
Поясните, плз, что есть "подписка на изменения"?
...Этот вопрос обсуждался пару лет назад...
Я искал (типа "Я учил" :)
И все таки, по вопросу b) - может Вы что-нибудь авторитетно подскажете?
- DdeConnect - подключаемся
- DdeEnableCallback - выставляем принимающую функцию
- DdeClientTransaction(..., XTYP_ADVSTART, ...) - запускаем процесс подписки на изменения
Подскажите, есть ли возможность собрать тики, как показано на рисунке ниже. Хотелось бы собрать тики с учетом времени, когда он (тик) был сгенерирован ДЦ, а не когда он пришел ко мне. Даже в Москве выделенка не идеальна, есть задержки и иногда большие. Иногда бывает, ждешь 2-3 минуты, а потом вываливается куча тиков. И не понятно это из-за того что нэт плохой или на самом деле ДЦ начал генерировать тики с такой скоростью.
Рисунок это содержание файла выложенного Вами в этой ветке. 'Стандартные заблуждения в попытках торговать в шуме (было "Кошмар на улице МТ4")'
Там есть Unix Time и очень бы хотелось получать помимо тика (цены) еще и время когда этот тик был сгенерирован ДЦ. Вот только как это сделать, не знаю. Очень бы хотелось расставлять тики правильно по временной оси.
Заранее спасибо. Всех с наступающим Новым Годом, Здоровья, Счастья, Успехов.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте.
В CodeBase предлагаются разные варианты сборщиков тиков, каждый со своими плюсами и минусами. Предполагаем, что для сборщика запускается собственный экземпляр МТ, для торговли - собственный. Т.е. две копии, как минимум. Количество коллекционируемых инструментов ~20 (под мои нужды).
1. Эксперт, прилепляемый на любой график. Опрашивает с заданой частотой (10 мсек к примеру) инструменты из задаваемого списка, заведомо присутствующие в "Обзор рынка". Я полагаю, что в МТ-сборщике достаточно держать открытым только один график любого инструмента. Можно даже какого-нибудь старого фьючерса, по которому не идет потока котировок, перерисовки etc. Тарахтит с заданной частотой, невзирая на отсутствие котировок, тупым перебором инструментов. Теоретически, может пропустить котировки, вновь поступившие внутри 10 мсек цикла. Сокращение времени цикла должно создать дополнительную нагрузку, увеличение - пропуск котировок. Оптимум где-то посередине. Я взял цифирь, зашитую по дефолту в одном из экспертов (TickSave by komposter 'Сборщик тиков')
2. Индикатор, прилепляемый на график интересующего инструмента. Коллекционирует тики по мере их поступления. Требует, чтобы по каждому интересующему инструменту был открыт график, с запущенным в нем индикаторе-сборщике. Зато отрабатывает только реально поступившие тикии без возможных пропусков.
3. DDE в Excel. Не требует открытых графиков, только наличие инструмента в "Обзор рынка". Корректность сборки тиков в такой связке (MT-->Excel-->csv) под вопросом. Теоретически, может быть реализован на VB (VBA)
В Справочник MQL4 - Выполнение программ говорится: "...Скрипты и эксперты работают в собственном потоке. Пользовательские индикаторы работают в интерфейсном потоке. .." Как это вляет на производительность и ресурсоемкость МТ?
Подскажите, плз, (с учетом того, что я только начинаю трогать MQL):
a) Какой из вариантов будет эффективнее с точки зрения быстродействия, рационального использования ресурсов компьютера, корректности и максимальной достоверности собираемых данных?
b) Какой код в VB (VBA) должен быть для получения даных по DDE? Я мучал DDEInitiate, DDERequest etc. Ничего не получилось :(( DDEInitiate срабатывает, номер канала получаю, дальше - банан...
.