Тиковая история - страница 11

 
Maxim Dmitrievsky:
Поясните, пожалуйста, еще раз. Какая глубина тиковой истории сейчас доступна? История  закачавается с сервера, т.е. ее не нужно копить? ...

Скрипт прикрепил. Позапускайте его несколько раз. Истрия потихоньку закачается с сервера. И таки да -  историю теперь копить не нужно.


Maxim Dmitrievsky:
 ... Как работает тестер, он использует моделирование тиков или тиковую историю?
В 1190 вроде тики в тестере ещё не качаются, но скоро, очень скоро будет.
Файлы:
CopyTicks.mq5  2 kb
 
Karputov Vladimir:

Скрипт прикрепил. Позапускайте его несколько раз. Истрия потихоньку закачается с сервера. И таки да -  историю теперь копить не нужно.


В 1190 вроде тики в тестере ещё не качаются, но скоро, очень скоро будет.
Спасибо. То есть тестер будет опираться на доступную тиковую историю, а если она недоступна то будет моделировать, по типу наименьших таймфреймов?
 
Maxim Dmitrievsky:
Спасибо. То есть тестер будет опираться на доступную тиковую историю, а если она недоступна то будет моделировать, по типу наименьших таймфреймов?
В билде 1190 ещё нет. Но всё идёт к тому, что тестер будет скоро тестировать на реальной тиковой истории.
 
Maxim Dmitrievsky:
Спасибо. То есть тестер будет опираться на доступную тиковую историю, а если она недоступна то будет моделировать, по типу наименьших таймфреймов?

Насколько я понял со слов Рената, то в следующем билде будет полноценно доступна тиковая история. Сейчас тиковая история доступна только в терминале (что, кстати, странно, т.к. вначале анонсировали тиковую историю для тестера, а для терминала сказали, что ее не будет).

По поводу того сколько доступно. Я закачивал более 20 млн. тиков. Это не предел.

 

Обновитесь на 1191 билд, пожалуйста.

Вот результаты простого скрипта в 1191:

MqlTick ExTicks[];
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- запросим тики
   int copied=CopyTicks(_Symbol,ExTicks,COPY_TICKS_ALL,0,200000000);
//--- если тики получены, то выведем на график значения Bid и Ask  
   Print("Получено тиков: ",copied," код ошибки: ",GetLastError());
   if(copied>1)
     {
      Print("Тик: ",ExTicks[0].time," bid: ",ExTicks[0].bid," ask: ",ExTicks[0].ask," last: ",ExTicks[0].last," [0]");
      Print("Тик: ",ExTicks[copied-1].time," bid: ",ExTicks[copied-1].bid," ask: ",ExTicks[copied-1].ask," last: ",ExTicks[copied-1].last," [",copied-1,"]");
     }
   Print("Size ",((long)copied*sizeof(MqlTick))>>20, " Mb");
  }

запрос на 200 000 000 тиков:

2015.10.17 16:09:50.982 CheckTicks (EURUSD,H1)  Size 2876 Mb
2015.10.17 16:09:50.982 CheckTicks (EURUSD,H1)  Тик: 2015.10.16 23:59:10 bid: 0.0 ask: 0.0 last: 0.0 [75392920]
2015.10.17 16:09:50.982 CheckTicks (EURUSD,H1)  Тик: 2011.12.19 00:00:08 bid: 1.30328 ask: 1.30342 last: 0.0 [0]
2015.10.17 16:09:50.982 CheckTicks (EURUSD,H1)  Получено тиков: 75392921 код ошибки: 0

Размер выданных данных почти 3 гб на 75 миллионов тиков. Причем на последней котировке с bid=0/ask=0/last=0 видно, как закрывается торговая сессия ценового стакана.


В релизе 22 октября в MqlTick будет добавлено поле времени в миллисекундах.

ps: запасайтесь оперативкой

 
Tapochun:

Сейчас тиковая история доступна только в терминале (что, кстати, странно, т.к. вначале анонсировали тиковую историю для тестера, а для терминала сказали, что ее не будет).

Ничего странного.

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

 
Renat Fatkhullin:

Обновитесь на 1191 билд, пожалуйста.

Вот результаты простого скрипта:

запрос на 200 000 000 тиков:

размер выданных данных почти 3 гб. Причем на последней котировке с bid=0/ask=0/last=0 видно, как закрывается торговая сессия ценового стакана.


В релизе 22 октября в MqlTick будет добавлено поле времени в миллисекундах.

Я правильно понимаю, что сейчас и в режиме ALL тики чередуются, т.е. №1 - бид != 0, аск != 0, ласт = 0, №2 - бид = 0, аск = 0 и ласт != 0 и т.д. А в режиме INFO у каждого тика бид и аск != 0?
 
Renat Fatkhullin:

Ничего странного.

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

Спасибо за разъяснения, просто помню разговор (я в нем участвовал), в котором Вы сказали, что будет только тиковая история в тестере. Но, так бесспорно лучше!

Дабы не быть голословным:

Прочтите всю ветку вдумчиво, пожалуйста.

Про тиковые данные в чартах никто не говорил и это не планируется. Только в тестере есть планы дать автоматическое формирование тикового потока, если он присутствует на сервере.


 
Tapochun:
Я правильно понимаю, что сейчас и в режиме ALL тики чередуются, т.е. №1 - бид != 0, аск != 0, ласт = 0, №2 - бид = 0, аск = 0 и ласт != 0 и т.д. А в режиме INFO у каждого тика бид и аск != 0?
Правил чередования или заполнения нет - тики приходят хаотически.
 
В первый пост добавил скрипт. У кого закончится оперативка, никто не виноват :) .
Причина обращения: