Советником тики не собираются, т. к. он может их пропустить. Для этого используют индикатор. Например, такой. Полученный tks-файл можно конвертировать в три вида форматов при помощи скрипта.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
fxsaber, 2018.02.26 08:27
Верно ли, что SymbolInfoTick в MT4/5-индикаторах возвращает не тот тик, который вызвал Calculate-событие?
Если так, то не совсем понятно, на чем основаны сборщики тиков через индикаторы?
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
fxsaber, 2018.02.26 09:05
Если пришла пачка из трех тиков, то Calculate-событие вызовется три раза, но SymbolInfoTick будет возвращать самый поздний тик на каждом из этих трех вызовов. Т.е. так называемый сбор тиков без пропусков через индикаторы, мягко говоря, сомнительный.
Разговор об MT4, в котором невозможно штатно получить тиковую историю. То есть отсылка к SymbolInfoTick не совсем понятна.
Механизм получения тиков у индикатора и советника принципиально различный, т. к. индикаторы работают в интерфейсном потоке терминала, а советники - каждый в своем. Поэтому в момент прихода очередного тика советник получает информацию о нем только в результате получения сообщения. Когда он соизволит его обработать - большой вопрос. А вот индикатор не ждет никаких сообщений. Событие прихода тика обрабатывается интерфейсным потоком, путем последовательного вызова OnCalculate всех запущенных индикаторов, имеющих отношение к этому тику.
Ну а в МТ5 нет смысла собирать тиковую историю, она доступна штатно. Механизм работы индикаторов там тоже другой - они отделены от интерфейсного потока.
Разговор об MT4, в котором невозможно штатно получить тиковую историю. То есть отсылка к SymbolInfoTick не совсем понятна.
Это и MT4.
Механизм получения тиков у индикатора и советника принципиально различный, т. к. индикаторы работают в интерфейсном потоке терминала, а советники - каждый в своем. Поэтому в момент прихода очередного тика советник получает информацию о нем только в результате получения сообщения. Когда он соизволит его обработать - большой вопрос. А вот индикатор не ждет никаких сообщений. Событие прихода тика обрабатывается интерфейсным потоком, путем последовательного вызова OnCalculate всех запущенных индикаторов, имеющих отношение к этому тику.
Количество Calculate-событий и соответствующих вызовов OnCalculate будет, конечно, совпадать с количество тиков. Никаких пропусков в этом смысле нет. Но вот только данные этих тиков из примеры выше (пачка тиков) не всегда возможно получить. Единственное, откуда их можно вытащить - Bid/Ask-переменные и MarketInfo-обращения. Так вот они все будут соответствовать значению последнего тика в пачке.
Это и MT4.
Количество Calculate-событий и соответствующих вызовов OnCalculate будет, конечно, совпадать с количество тиков. Никаких пропусков в этом смысле нет. Но вот только данные этих тиков из примеры выше (пачка тиков) не всегда возможно получить. Единственное, откуда их можно вытащить - Bid/Ask-переменные и MarketInfo-обращения. Так вот они все будут соответствовать значению последнего тика в пачке.
Все верно. Только вот индикатор хотя бы получит количество пришедших тиков, а советник - только один тик из пачки. Не забывайте, что тиковый объем (не та, которую дает брокер, а именно - собранная величина) - это тоже очень полезная в анализе величина.
Я не понимаю, зачем собирать тики советником, если с его помощью не предполагается ведение торговли? Ведь гораздо логичнее и экономичнее по ресурсам использовать индикатор.
Ну а если советник, собирающий тики, должен торговать, то я вообще не понимаю, о чем мы тут спорим? Работа с торговыми приказами приведет к огромным дырам в его тиковой истории.
Все верно. Только вот индикатор хотя бы получит количество пришедших тиков, а советник - только один тик из пачки.
Зачем писать не валидные тики?
Зачем писать не валидные тики?
Ответ был дан выше.
Ответ был дан выше.
- Индикатором невозможно записать тики (цены) без пропусков.
- Пишите невалидные тики.
- Индикатором невозможно записать тики (цены) без пропусков.
- Пишите невалидные тики.
- Неправда.
- То, что от тика нет правильных Bid и Ask, еще не значит, что этот тик бесполезен для анализа.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования