Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Единицами.
Вероятно так и есть, но это все таки базовая функция и если сам терминал ее использует, как минимум для экспорта данных, то это подрывает доверие и к терминалу
Обещанные примеры ошибок во вложенном файле. Что удивительно, Err_SymbolInfoTick2() некоторое время работала правильно, но потом стала также возвращать нулевую дату. В коде есть поясняющие комменты.
Журнал:
Веселое на закуску: если смотреть тики средствами терминала, то можно получить тиков больше, чем было записано. (см.картинку ). А если дату "до" уменьшить до 2021.09.18 то их станет меньше записанного.
Обещанные примеры ошибок
К сожалению, нет доступа к этим символам, чтобы воспроизвести.
К сожалению, нет доступа к этим символам, чтобы воспроизвести.
это ММВБ. Ок, попробую на форексе найти
это ММВБ. Ок, попробую на форексе найти
1. Нет таого символа "@BR" на ММВБ
Видимо Вы используете кастомный символ.
И при его создании может быть ошибка.
Я много использую функции CopyTicks и CopyTicksRange на оригинальных символах ММВБ - ошибок не замечал.
2. В терминале хранится не вся история по тикам и первый вызов функции может вернуть тики не за весь запрашиваемый период.
Добавлено
Вот пример индикатора, где я загружаю тики с помощью функции CopyTicksRange
И все прекрасно загружается, но не всегда с первого раза.1. Нет таого символа "@BR" на ММВБ
Вот пример индикатора, где я загружаю тики с помощью функции CopyTicksRange
И все прекрасно загружается, но не всегда с первого раза.Это склейка фьючерса на нефть. Брокер БКС. У разных брокеров она может называться по разному. Но точно такие же проблемы будут и на других символах.
В вашем примере работает, потому, что условия вызова другие - стартовое время всегда равно началу существующего бара (т.е. тики заведомо есть) и вы читаете всю историю тиков последнего бара разом.
Кстати один из моих костылей работает примерно как у вас. Я тоже получаю сначала время существующих баров , а потом разбиваю их на максимальные непрерывные участки и получаю тики. Но возникает другая проблема - если не хватило принимающего массива для данных, то докачка остального - это пляски с бубнами (о которых и была речь выше).
А работа с динамическими массивами гораздо медленнее и приходится учитывать возможную фрагментацию памяти.
2. В терминале хранится не вся история по тикам и первый вызов функции может вернуть тики не за весь запрашиваемый период.
Проблем в том, что вернется не весь период нет никаких, проблема когда вернется другой период, вместо запрашиваемого. Или, что еще хуже, если вернется и запрашиваемый и еще пришлепка других тиков, не входящих в диапазон
Я заменил в своем примере символ на "SILV-12.21" , получил туже ошибку, причем что любопытно, SymbolInfoTick вернул в последнем тесте правильный ответ :) вот как угадать, когда она врет, а когда нет?
К сожалению, нет доступа к этим символам, чтобы воспроизвести.
На форексе те же ошибки. Брокер Альпари, тестовый счет. Символ EURUSD
Кастомный символ сделан на базе EURUSD, просто название оставил тоже