Тестируем 'CopyTicks' - страница 16

 
fxsaber:

Правильно ли понимаю, что тиковый объем бара должен быть равен количеству тиков COPY_TICKS_ALL в этом баре?

Не стал писать на MQL, подумал, быстрее спросить. Какой инструмент на бирже традиционно обладает самым высоким торговым оборотом, а какой - тиковым оборотом?

Нет.

Тиковый объём отражает количество тиков, которые изменили бар. Если бар строится по ластам, то биды и аски не формируют бар и соответственно не учитываются в тиковом объёме

 
fxsaber:
Что будет со внутренними кэшами CopyTicks, памятью, производительностью, если буду докачивать через таймер (50мс) свежие тики по десятками инструментам?

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

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

Производительность сами отслеживайте. Следите за расходами ЦПУ

 
Slawa:

Тиковый объём отражает количество тиков, которые изменили бар. Если бар строится по ластам, то биды и аски не формируют бар и соответственно не учитываются в тиковом объёме

COPY_TICKS_TRADE тоже далеко не все тогда будут попадать в тиковый объем? Например, когда ласт-цены не меняются

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

Лента сделок в Метатрейдер 5

fxsaber, 2016.09.13 09:39

Это кусок из ленты. Скажите, правильно ли я понимаю ситуацию, выделенную в зеленую рамку на скрине?

Кто-то сделал маркет-запрос ровно на 10 лотов. В этот момент соответствующий лучший банд состоял из лимитных заявок, выставленных в хронологическом порядке с лотами 1, 1, 1, 1, 3, 2, 1. Возможно, были и другие заявки на этом банде (98340) в момент маркета, но они хронологически были выставлены позже упомянутых.

Все верно?


 
Slawa:

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

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

Производительность сами отслеживайте. Следите за расходами ЦПУ

Если ставлю From = 0, то идет копирование из кэша. А если From отличный, то как там реализовано?

В ближайших бета-билдах будут исправлены баги CopyTicks? 

 
Тиковый объем бара - это рудимент? Показатель, который, в принципе, ничего не значит на бирже. Воспользоваться им сознательно не получится. Мусор какой-то.
 
fxsaber:

Если ставлю From = 0, то идет копирование из кэша. А если From отличный, то как там реализовано?

В ближайших бета-билдах будут исправлены баги CopyTicks? 

Если from попадает в кеш, то все тики будут браться из кеша

Сейчас как раз занимаемся CopyTicks. Воспроизвели случай, когда количество тиков не соответствует количеству вызовов OnCalculate (один тик "гуляет" туда-сюда на границе бара)

 
Slawa:

Сейчас как раз занимаемся CopyTicks. Воспроизвели случай, когда количество тиков не соответствует количеству вызовов OnCalculate (один тик "гуляет" туда-сюда на границе бара)

У меня различия больше, чем на один тик. И еще это

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

Индикаторы пропускают тики на Бирже

fxsaber, 2016.09.16 16:31

Мне вот только положение, что индикаторы не должны пропускать тики, видится неоднозначным.

Например, тики игрут с огромной частотой. Допустим, каждые 10мс. А OnCalculate выполеняется за 15мс.

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


 
fxsaber:
У меня различия больше, чем на один тик. И еще это

Если есть один тик, то может быть и два, и больше. Мы нашли проблему, теперь её исследуем.

Если индикатор написан экономно, то никаких проблем с производительностью не будет

 
Slawa:

Если индикатор написан экономно, то никаких проблем с производительностью не будет

Так и привел пример экономного - 15ms.
 
fxsaber:
Так и привел пример экономного - 15ms.

15 ms - погрешность измерения GetTickCount

Сначала с CopyTicks до конца разберёмся, чтобы не оставалось вопросов. Без вызова OnCalculate на каждом тике не обойтись пока.

А там будем думать. Возможно вызывать OnCalculate только когда, что-то изменилось в MqlRates - цена, спред или объёмы. Если тик не вызвал изменений, то пересчёт и не вызывать. Думать надо.