Дайте советник для сбора тиковой истории

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
igrok333
2034
igrok333  
Дайте готовый советник для записи тиков в csv файл.
Ihor Herasko
21869
Ihor Herasko  
Советником тики не собираются, т. к. он может их пропустить. Для этого используют индикатор. Например, такой. Полученный tks-файл можно конвертировать в три вида форматов при помощи скрипта.
fxsaber
17549
fxsaber  
Ihor Herasko:
Советником тики не собираются, т. к. он может их пропустить. Для этого используют индикатор. Например, такой. Полученный tks-файл можно конвертировать в три вида форматов при помощи скрипта.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

fxsaber, 2018.02.26 08:27

Верно ли, что SymbolInfoTick в MT4/5-индикаторах возвращает не тот тик, который вызвал Calculate-событие?

Если так, то не совсем понятно, на чем основаны сборщики тиков через индикаторы?

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

fxsaber, 2018.02.26 09:05

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

Ihor Herasko
21869
Ihor Herasko  
fxsaber:

Разговор об MT4, в котором невозможно штатно получить тиковую историю. То есть отсылка к SymbolInfoTick не совсем понятна.

Механизм получения тиков у индикатора и советника принципиально различный, т. к. индикаторы работают в интерфейсном потоке терминала, а советники - каждый в своем. Поэтому в момент прихода очередного тика советник получает информацию о нем только в результате получения сообщения. Когда он соизволит его обработать - большой вопрос. А вот индикатор не ждет никаких сообщений. Событие прихода тика обрабатывается интерфейсным потоком, путем последовательного вызова OnCalculate всех запущенных индикаторов, имеющих отношение к этому тику.

Ну а в МТ5 нет смысла собирать тиковую историю, она доступна штатно. Механизм работы индикаторов там тоже другой - они отделены от интерфейсного потока.

fxsaber
17549
fxsaber  
Ihor Herasko:

Разговор об MT4, в котором невозможно штатно получить тиковую историю. То есть отсылка к SymbolInfoTick не совсем понятна.

Это и MT4.

Механизм получения тиков у индикатора и советника принципиально различный, т. к. индикаторы работают в интерфейсном потоке терминала, а советники - каждый в своем. Поэтому в момент прихода очередного тика советник получает информацию о нем только в результате получения сообщения. Когда он соизволит его обработать - большой вопрос. А вот индикатор не ждет никаких сообщений. Событие прихода тика обрабатывается интерфейсным потоком, путем последовательного вызова OnCalculate всех запущенных индикаторов, имеющих отношение к этому тику.

Количество Calculate-событий и соответствующих вызовов OnCalculate будет, конечно, совпадать с количество тиков. Никаких пропусков в этом смысле нет. Но вот только данные этих тиков из примеры выше (пачка тиков) не всегда возможно получить. Единственное, откуда их можно вытащить - Bid/Ask-переменные и MarketInfo-обращения. Так вот они все будут соответствовать значению последнего тика в пачке.

Ihor Herasko
21869
Ihor Herasko  
fxsaber:

Это и MT4.

Количество Calculate-событий и соответствующих вызовов OnCalculate будет, конечно, совпадать с количество тиков. Никаких пропусков в этом смысле нет. Но вот только данные этих тиков из примеры выше (пачка тиков) не всегда возможно получить. Единственное, откуда их можно вытащить - Bid/Ask-переменные и MarketInfo-обращения. Так вот они все будут соответствовать значению последнего тика в пачке.

Все верно. Только вот индикатор хотя бы получит количество пришедших тиков, а советник - только один тик из пачки. Не забывайте, что тиковый объем (не та, которую дает брокер, а именно - собранная величина) - это тоже очень полезная в анализе величина. 

Я не понимаю, зачем собирать тики советником, если с его помощью не предполагается ведение торговли? Ведь гораздо логичнее и экономичнее по ресурсам использовать индикатор. 

Ну а если советник, собирающий тики, должен торговать, то я вообще не понимаю, о чем мы тут спорим? Работа с торговыми приказами приведет к огромным дырам в его тиковой истории.

igrok333
2034
igrok333  
Ihor Herasko:
Советником тики не собираются, т. к. он может их пропустить. Для этого используют индикатор. Например, такой. Полученный tks-файл можно конвертировать в три вида форматов при помощи скрипта.
спасибо
fxsaber
17549
fxsaber  
Ihor Herasko:

Все верно. Только вот индикатор хотя бы получит количество пришедших тиков, а советник - только один тик из пачки.

Зачем писать не валидные тики?

Ihor Herasko
21869
Ihor Herasko  
fxsaber:

Зачем писать не валидные тики?

Ответ был дан выше.

fxsaber
17549
fxsaber  
Ihor Herasko:

Ответ был дан выше.

  1. Индикатором невозможно записать тики (цены) без пропусков.
  2. Пишите невалидные тики.

Ihor Herasko
21869
Ihor Herasko  
fxsaber:

  1. Индикатором невозможно записать тики (цены) без пропусков.
  2. Пишите невалидные тики.

  1. Неправда.
  2. То, что от тика нет правильных Bid  и Ask, еще не значит, что этот тик бесполезен для анализа.

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