Ну, дело в том что это протестировано в тестере стратегий на исторических данных.
Например вот сейчас запустил сову на 2014.07.15 00:00 и наблюдаю пропуск на втором минутном баре. Захожу в архив котировок и вижу что бар есть: H,L,O,С есть, объем указан 8. Значит тестер должен сгенерировать 8 тиков на этом баре, но по факту журнал пишет объемы 1,2,3,5,6,7,8 и далее следующий бар. Тестер генерирует не весь объем?
Ну, дело в том что это протестировано в тестере стратегий на исторических данных.
Например вот сейчас запустил сову на 2014.07.15 00:00 и наблюдаю пропуск на втором минутном баре. Захожу в архив котировок и вижу что бар есть: H,L,O,С есть, объем указан 8. Значит тестер должен сгенерировать 8 тиков на этом баре, но по факту журнал пишет объемы 1,2,3,5,6,7,8 и далее следующий бар. Тестер генерирует не весь объем?
Да, подобные штуки есть в тестере. Со своей стороны замечал еще один интересный случай:
1. Свеча c Open == High == Low == Close.
2. Volume = 3.
В итоге тестер генерирует свечу с Volume 1 и, соответственно, только одним тиком. Со стороны разработчиков был получен ответ, что такое поведение меняться не будет, т. к. неизвестно, каким образом моделировать еще 2 тика. Хотя понять, что этому мешает (почему нельзя генерировать три тика с одинаковой ценой?), не могу.
В Вашем случае, возможно, проблема в том, что при моделировании возникает необходимость генерации двух тиков с одинаковой ценой, что по каким-то причинам невозможно в тестере.
Интересно как дела обстоят с тестированием на реальных тиках.
Кстати, интересный вопрос.
Проверил при помощи следующего кода (FXT-файл сгенерирован при помощи скрипта FXTFileMaker, реальные тики собраны с 01.06.2014):
static double lastBid = 0; static datetime lastTime = 0; if (Bid == lastBid && lastTime >= Time[0]) Print("Повторный тик!!! Новый тик (", Bid, "): ", TimeToString(TimeCurrent(), TIME_SECONDS), ", предыдущий тик (", lastBid, "): ", TimeToString(lastTime, TIME_SECONDS)); lastBid = Bid; lastTime = TimeCurrent();
В журнале видим:
15:48:10 2014.06.02 00:59 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3632): 00:59:35, предыдущий тик (1.3632): 00:59:34 15:48:10 2014.06.02 03:23 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3622): 03:23:35, предыдущий тик (1.3622): 03:23:34 15:48:10 2014.06.02 04:31 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3621): 04:31:56, предыдущий тик (1.3621): 04:31:54 15:48:10 2014.06.02 04:32 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3622): 04:32:01, предыдущий тик (1.3622): 04:32:01 15:48:10 2014.06.02 04:32 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3622): 04:32:03, предыдущий тик (1.3622): 04:32:01 15:48:10 2014.06.02 04:32 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3622): 04:32:03, предыдущий тик (1.3622): 04:32:03 15:48:10 2014.06.02 04:32 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3622): 04:32:14, предыдущий тик (1.3622): 04:32:03 15:48:10 2014.06.02 04:32 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3621): 04:32:27, предыдущий тик (1.3621): 04:32:27 15:48:10 2014.06.02 04:32 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3621): 04:32:27, предыдущий тик (1.3621): 04:32:27 15:48:10 2014.06.02 04:32 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3621): 04:32:27, предыдущий тик (1.3621): 04:32:27 15:48:10 2014.06.02 04:32 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3621): 04:32:27, предыдущий тик (1.3621): 04:32:27 15:48:10 2014.06.02 04:32 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3621): 04:32:27, предыдущий тик (1.3621): 04:32:27 15:48:10 2014.06.02 04:32 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3621): 04:32:34, предыдущий тик (1.3621): 04:32:27 15:48:10 2014.06.02 04:32 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3621): 04:32:41, предыдущий тик (1.3621): 04:32:34 15:48:10 2014.06.02 04:32 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3621): 04:32:44, предыдущий тик (1.3621): 04:32:41 15:48:10 2014.06.02 04:32 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3621): 04:32:46, предыдущий тик (1.3621): 04:32:44 15:48:10 2014.06.02 04:32 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3621): 04:32:49, предыдущий тик (1.3621): 04:32:46 15:48:10 2014.06.02 04:32 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3621): 04:32:53, предыдущий тик (1.3621): 04:32:49 15:48:10 2014.06.02 04:32 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3621): 04:32:56, предыдущий тик (1.3621): 04:32:53 15:48:10 2014.06.02 04:32 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3621): 04:32:59, предыдущий тик (1.3621): 04:32:56 15:48:10 2014.06.02 04:33 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3621): 04:33:10, предыдущий тик (1.3621): 04:33:04 15:48:10 2014.06.02 04:33 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3621): 04:33:12, предыдущий тик (1.3621): 04:33:10 15:48:10 2014.06.02 04:33 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3621): 04:33:16, предыдущий тик (1.3621): 04:33:12 15:48:10 2014.06.02 04:33 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3621): 04:33:18, предыдущий тик (1.3621): 04:33:16 15:48:10 2014.06.02 04:33 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3621): 04:33:25, предыдущий тик (1.3621): 04:33:18 15:48:10 2014.06.02 04:33 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3621): 04:33:35, предыдущий тик (1.3621): 04:33:25 15:48:10 2014.06.02 04:33 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3621): 04:33:38, предыдущий тик (1.3621): 04:33:35 15:48:10 2014.06.02 04:33 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3621): 04:33:40, предыдущий тик (1.3621): 04:33:38 15:48:10 2014.06.02 04:33 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3621): 04:33:47, предыдущий тик (1.3621): 04:33:40 15:48:10 2014.06.02 08:40 Blank EURUSD,M1: Повторный тик!!! Новый тик (1.3628): 08:40:56, предыдущий тик (1.3628): 08:40:53
И таких записей довольно много. То есть тестер без проблем справляется с обработкой одинаковых тиков, идущих подряд. Так что мое предположение (о том, что тестер пропускает два одинаковых тика), видимо, неверно. Хотя дело может быть и в алгоритме моделирования тиков. И именно там возникает проблема, при которой не пишется два одинаковых тика подряд.
Ну а может быть тестер пропускает повторные тики только если они генерируются самим тестером? А с реальными тиками все ок.
До кучи было бы интересно узнать реакцию терминала на повторные тики от брокера если они приходят в режиме онлайн (на демо и на реале).
Ну а может быть тестер пропускает повторные тики только если они генерируются самим тестером? А с реальными тиками все ок.
До кучи было бы интересно узнать реакцию терминала на повторные тики от брокера если они приходят в режиме онлайн (на демо и на реале).
На повторные тики терминал нормально реагирует: индикатор обрабатывает все тики (история тиков собирается при помощи индикатора), а советник все, которые успевает. То есть у советника как раз возможны пропуски тиков, но не по вине терминала.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Правильные ли Volume[0] возвращает значения?
Вот небольшой советник для проверки
Вот результаты при тесте на минутках:
Как можно заметить, Volume текущего бара возвращает не совсем корректные значения, например на предыдущем тике объем бара 225, а на следующем тике 227.
Пробовал на разных таймфреймах и валютных парах, везде пропуски.
В чём причина?