![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я говорю не о пропущенных тиках в тестере стратегий, а о пропущенных тиках во время записи. Если вы считаете тики, которые вы видите во время записи данных, и вы пропускаете тики, то ваш счет будет ниже, чем должен быть. Очень просто определить, пропустили ли вы тик во время записи, мне просто интересно, делали ли вы это и что вы делали, когда обнаружили, что пропустили тик?
Как я уже писал, я доверяю тому, что мои данные, записанные в реальном времени, являются полными. Причины для этого:
1, Иногда регистрировалось около тысячи тиков в минуту (что равно более десяти тиков в секунду!). Это достаточно большое число, чтобы убедить меня, что нет никаких проблем с производительностью советника. (И из-за этой цифры я не думаю, что были неучтенные тики и советник не успевал за темпом).
2, Советник работает на выделенном VPS Metatrader, который обслуживается профессиональным поставщиком услуг, специально настроенным для торговли (т.е. минимальные перерывы в соединении).
Как я уже писал, я доверяю тому, что мои данные о реальном времени на VPS являются полными. Причины этого:
1, Иногда регистрировалось почти тысяча тиков в минуту (это более десяти тиков в секунду!). Этого количества достаточно, чтобы убедить меня в отсутствии проблем с производительностью советника.
2, Советник работает на выделенном VPS Metatrader, который обслуживается профессиональным провайдером специально для торговли.
Кстати, мне интересно, как вы можете определить, есть ли пропущенный тик при записи?
Хорошо, вы не проверяете, поэтому вы не знаете, правильно ли вы считаете или нет... Почему вы просто не сказали. Сколько времени занимает выполнение OnTick()? Если оно не закончилось до прихода следующего тика, не пропустите ли вы тик?
Как проверить? Ну... ведите счет тиков по ходу дела, обнуляйте этот счетчик, когда начинается новый бар, и увеличивайте его для каждого тика, сравнивайте свой счет с Volume для бара 0, если ваш счет отличается, вы пропустили по крайней мере один тик.
Хорошо, значит, вы не проверяете, поэтому вы не знаете, правильно ли вы посчитали или нет... Почему вы просто не сказали. Сколько времени требуется вашему OnTick() для выполнения? Если он не успеет завершиться до прихода следующего тика, не пропустите ли вы тик?
Как проверить? Ну... ведите счет тиков по ходу дела, обнуляйте этот счетчик, когда начинается новый бар, и увеличивайте его для каждого тика, сравнивайте свой счет с Volume для бара 0, если ваш счет отличается, вы пропустили по крайней мере тик.
Хорошо, значит, вы не проверяете, поэтому вы не знаете, правильно ли вы посчитали или нет... Почему вы просто не сказали. Сколько времени требуется вашему OnTick() для выполнения? Если он не успеет завершиться до прихода следующего тика, не пропустите ли вы тик?
Как проверить? Ну... ведите счет тиков по ходу дела, обнуляйте этот счетчик, когда начинается новый бар, и увеличивайте его для каждого тика, сравнивайте свой счет с Volume для бара 0, если ваш счет отличается, вы пропустили по крайней мере тик.
Почему вы настаиваете на этом?
Просто мне пришло в голову еще одно обстоятельство, показывающее, насколько нелепо его приклеивание. Чтобы получить тиковые данные тестера, я запустил советник без визуализации. Это намного быстрее, чем в реальной жизни, чтобы получить один день, требуется менее полуминуты. Даже в этом случае все тики были записаны.....
Только что мне пришло в голову еще одно обстоятельство, показывающее, насколько нелепо его втыкание. Чтобы получить тиковые данные тестера, я запустил советник без визуализации. Это намного быстрее, чем скорость реальной жизни, чтобы получить один день, требуется менее полуминуты. Даже в этом случае все тики были записаны.....
При форвард-тесте вы ВСЕГДА пропустите несколько тиков (в течение значительного времени тестирования). С этим ничего нельзя поделать, эти тики просто не попадают в ваш скрипт/EA. См. документацию:
СобытиеNewTick генерируется при появлении новых котировок, оно обрабатывается функцией OnTick() подключенных экспертов. В случае, когда при поступлении новой котировки обрабатывается функция OnTick для предыдущей котировки, новая котировка будет проигнорирована экспертом, так как соответствующее событие не будет зарегистровано.
При форвард-тесте вы ВСЕГДА пропускаете некоторые тики (на значительное время тестирования). С этим ничего нельзя поделать, эти тики просто не поступают в ваш скрипт/ЭА. См. документацию :
СобытиеNewTick генерируется при появлении новых котировок, оно обрабатывается функцией OnTick() подключенных экспертов. В случае, если при поступлении новой котировки обрабатывается функция OnTick для предыдущей котировки, то новая котировка будет проигнорирована экспертом, так как соответствующее событие не будет зарегистрировано.
Извините, angevoyageur:
Я не согласен ни с вами, ни с RaptorUK. Мне кажется, что вы игнорируете элементарную логику. Советник способен записать несколько сотен тысяч тиков в течение нескольких минут при запуске тестера. Это означает, что функция Ontick() была выполнена за доли миллисекунды.
Но вы продолжаете настаивать на том, что советник не может записать меньше тиков в реальном времени, имея гораздо больше времени на выполнение Ontick()?
Извините, но я думаю, что теперь это стало совершенно бессмысленным разговором, поэтому я удаляюсь.
@NyemaSanya: Вы, очевидно, не понимаете, что вы можете пропустить Галочку во время записи. RaptorUK уже рассказал вам об этом. Тики - это новые котировки, транслируемые с сервера брокера. Новые котировки могут быть проигнорированы mt5 при обработке вашего Tick_Recorder. angevoyageur уже говорил вам об этом. Тики - это пакеты данных, которые должны путешествовать в киберпространстве и попасть в ваш терминал, вы можете пропустить тики из-за потерянных пакетов данных. Теперь Ubzen рассказал вам об этом.
Все легендарные члены mql4, создатели mql4 | mql5 пришли к одному и тому же выводу. Подгонка кривых тиков приближается к Случайности.
- Если вы все еще думаете, что вы не можете пропустить тик в реальной жизни, тогда вам нужно исследовать свой материал, прежде чем спорить дальше.
- Если вы осознаете, что вы можете пропустить тик, тогда вам нужно ответить на вопрос, почему ваш метод лучше.
В любом случае, это просто один и тот же спор снова и снова. Прочитайте эту тему.
Извините, angevoyageur:
Я не согласен ни с Вами, ни с RaptorUK. Мне кажется, что вы игнорируете элементарную логику. Советник способен записать несколько сотен тысяч тиков в течение нескольких минут при запуске тестера. Это означает, что функция Ontick() завершилась за доли миллисекунд.
Но вы продолжаете настаивать на том, что советник может быть не в состоянии записать меньше тиков в реальном времени, имея гораздо больше времени на выполнение Ontick()?
Извините, но я думаю, что теперь это стало бессмысленным разговором, поэтому я ухожу.
Зачем так реагировать ? Здесь нет ничего личного.
Это не вопрос соглашаться или нет. Советник на форвард-тесте всегда пропускает тики, это факт. Я нахожу ваш первый комментарий очень интересным в том плане, что я никогда не обращал внимания на то, что тестеры стратегий не пропускают тики, поскольку они эмулируются на основе объема. Я спросил RaptorUk, почему он настаивает, потому что я считаю этот вопрос второстепенным,я не понимал, что вы не знаете, что такое тик .
Я провел тест вчера (9/4) на EURUSD, с советником, который только считает тики и сравнивает данные MqlTick: