В поле flags структуры MqlTicks часто идут значения "24" (режим отображения "все тики"):
- что означает это значение?
У каждого тика всегда заполняются все параметры, независимо от того, изменились ли данные по сравнению с предыдущим тиком. Это позволяет всегда иметь актуальное состояние цен на любой момент времени без поиска предыдущих значений по тиковой истории. Например, с тиком могла измениться только цена бид, но в структуре помимо новой цены будут указаны и остальные параметры: предыдущая цена аск, объем и т.д. Чтобы узнать, какие именно данные изменились с текущим тиком, анализируйте его флаги:
TICK_FLAG_BID - тик изменил цену бид
TICK_FLAG_ASK - тик изменил цену аск
TICK_FLAG_LAST - тик изменил цену последней сделки
TICK_FLAG_VOLUME - тик изменил объем
TICK_FLAG_BUY - тик возник в результате сделки на покупку
TICK_FLAG_SELL - тик возник в результате сделки на продажу
Я советника приложил, который в OnInit() распечатывает эти коды:
Print(TICK_FLAG_BID," - тик изменил цену бид");
Print(TICK_FLAG_ASK," - тик изменил цену аск");
Print(TICK_FLAG_LAST," - тик изменил цену последней сделки");
Print(TICK_FLAG_VOLUME," - тик изменил объем");
Print(TICK_FLAG_BUY," - тик возник в результате сделки на покупку");
Print(TICK_FLAG_SELL," - тик возник в результате сделки на продажу")
и результат:
2015.10.2315:12:33.274 CopyTicks_1_5_0 (USDCAD,M5) 2 - тик изменил цену бид
2015.10.2315:12:33.274 CopyTicks_1_5_0 (USDCAD,M5) 4 - тик изменил цену аск
2015.10.2315:12:33.274 CopyTicks_1_5_0 (USDCAD,M5) 8 - тик изменил цену последней сделки
2015.10.2315:12:33.274 CopyTicks_1_5_0 (USDCAD,M5) 16 - тик изменил объем
2015.10.2315:12:33.274 CopyTicks_1_5_0 (USDCAD,M5) 32 - тик возник в результате сделки на покупку
2015.10.2315:12:33.274 CopyTicks_1_5_0 (USDCAD,M5) 64 - тик возник в результате сделки на продажу
Это понятно. Но сколько нужно времени для подкачки? В примере выше запрос на 50 тиков и если сразу не подгрузились тики, то времени это занимает секунд 30.
Дальше хуже. Даю запрос на 500 тиков - подгружаются тики почти мгновенно (думаю только благодаря тому, что я раньше запрашивал такое количество), а затем даю запрос на 5000 - уже четыре минуты прошло, а из 5000 загружено чуть меньше 2000 и это число не растёт.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
В поле flags структуры MqlTicks часто идут значения "24" (режим отображения "все тики"):
- что означает это значение?
Я советника приложил, который в OnInit() распечатывает эти коды:
и результат:
Среди результатов нет значения "24".
Среди результатов нет значения "24".
8 || 16 = 24
Я советника приложил, который в OnInit() распечатывает эти коды:
и результат:
Среди результатов нет значения "24".
Побитовая операция ИЛИ
Может ещё, кто-либо потестировать индикатор из сообщения по методике:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Тиковая история
Karputov Vladimir, 2015.10.22 15:07
Это понятно. Но сколько нужно времени для подкачки? В примере выше запрос на 50 тиков и если сразу не подгрузились тики, то времени это занимает секунд 30.
Дальше хуже. Даю запрос на 500 тиков - подгружаются тики почти мгновенно (думаю только благодаря тому, что я раньше запрашивал такое количество), а затем даю запрос на 5000 - уже четыре минуты прошло, а из 5000 загружено чуть меньше 2000 и это число не растёт.
...
В тестере тики не отдаются, пока не завершим в следующем релизе полную интеграцию тиков в тестер торговых стратегий.
Вышел билд 1200. В тестере тики не скачиваются, но зато в тестере в "Обзоре рынка" тики похожи на настоящие:
Разобрался, как получать тики с определённой даты. Всё просто: время нужно указывать в миллисекундах.
Билд 1200. На графике прикреплён индикатор, который вызывает CopyTicks. Всё работает. Но после разрыва соединения:
а затем при восстановлении соединения, CopyTicks упорно не желает отдавать тики. Причём хоть 50 тиков запрашивать, хоть 500.
Билд 1200. На графике прикреплён индикатор, который вызывает CopyTicks. Всё работает. Но после разрыва соединения:
а затем при восстановлении соединения, CopyTicks упорно не желает отдавать тики. Причём хоть 50 тиков запрашивать, хоть 500.