Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я выделил ключевые слова.
НЕ запрашивайте тики которых ещё нет по определению. Если запросить тики хоть на одну миллисекунду дальше текущего времени в миллисекундах, то получите тот самый г………й в виде вами перечисленных проблем.
Т.е. в вашем понимании, я сначала должен проверить, а есть ли эти тики? каким образом например? может мне еще проверять, а ни попадает ли запрашиваемый диапазон на выходной день? это должна делать функция CopyTicksRange() . Мое дело - дать ей входные параметры согласно документации. А она уже пусть их проверит, и если что вернет ошибку, но не всякий мусор в виде ответа.
Придумайте мне способ проверки а были ли в существующем баре тики с второй секудны до третьей, чтоб эта функция не сглючила
Выше я написал пример кода, где все есть, но ответ все равно неправильный.
Т.е. в вашем понимании, я сначала должен проверить, а есть ли эти тики? каким образом например? может мне еще проверять, а ни попадает ли запрашиваемый диапазон на выходной день? это должна делать функция CopyTicksRange() . Мое дело - дать ей входные параметры согласно документации. А она уже пусть их проверит, и если что вернет ошибку, но не всякий мусор в виде ответа.
Выше я написал пример кода, где все есть, но ответ все равно неправильный.
SymbolInfoTick
Возвращает текущие цены для указанного символа в переменной типа MqlTick.
Не надо запрашивать тики дальше time_msc
1)В моем примере выше запрашиваемый диапазон существует.
2) а что мешает в самой CopyTicksRange сделать эту проверку? а заодно и отразить это в документации? прочему разработчики предлагают мне делать костыли, вместо простейших исправлений своих ошибок?
кстати о SymbolInfoTick - она тоже неправильно работает, как минимум на синтетических символах :)
На сколько я помню она всегда возвращает время самого первого тика, вместо последнего
1)В моем примере выше запрашиваемый диапазон существует.
2) а что мешает в самой CopyTicksRange сделать эту проверку? а заодно и отразить это в документации? прочему разработчики предлагают мне делать костыли, вместо простейших исправлений своих ошибок?
кстати о SymbolInfoTick - она тоже неправильно работает, как минимум на синтетических символах :)
На сколько я помню она всегда возвращает время самого первого тика, вместо последнего
Я больше в этом диалоге не участвую.
Я больше в этом диалоге не участвую.
Да Вы и не разработчик Метатрейдера, зачем вы взяли на себя роль их адвоката?
На одну реплику возвращаюсь к диалогу:
Функция должна работать так как задумали разработчики, а не так как хотят пользователи. Один хочет одно, другой другое, а третий хочет ахинею.
Вот по этой причине вам разработчики не отвечают. А я не адвокатом выступаю, а вам пытаюсь донести простую истину, не грузи других если не можешь сделать сам. Вы-же в ответ включили «ус………ться не поддаться…» и сочиняете мифы о костылях.
На этом действительно ВСЁ¡¡¡ Разработчики вам не ответят… не надейтесь.
А вот косяк:
т.е. используемая тысячами программистов функция, лично мне возвернула все тики с начала текущего бара, но не входящие в запрашиваемый диапазон
Это, действительно, ошибка. Предоставьте полные данные для воспроизведения. Если подтвердится, разработчики внесут исправление в ближайших билдах.
Возможно, проблема в статическом массиве MqlTick.Alexey Viktorov #:
Не надо запрашивать тики дальше time_msc
Последний исторический тик может быть более свежим, чем SymbolInfoTick (вызванный после CopyTicks). Сталкиваюсь с этим ежедневно.
Встречается и обратная ситуация. Не синхронизированные потоки.Это, действительно, ошибка. Предоставьте полные данные для воспроизведения. Если подтвердится, разработчики внесут исправление в ближайших билдах.
Возможно, проблема в статическом массиве MqlTick.Ок, я постараюсь уменьшить код до минимального и выложу. CopyTicks также содержит подобные глюки, причем там они вылазят менее прогнозируемым способом и по этому костыли я делал только для CopyTicksRange. Вероятно это ошибка какой-то общей внутренней функции.
По поводу SymbolInfoTick тоже пример нарисую.
используемая тысячами программистов функция
Единицами.