Полторы минуты разницы между локальным временем и временем свежего тика. Что делать. - страница 5
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Знаю. К чему вы это ?
К тому, что:
В обзоре рынке ещё есть столбцы "Объем" "Последняя сделка " Есть подозрения, что эта функция просто возвращает .time последнего тика.
Функция SymbolInfoInteger(_Symbol,SYMBOL_TIME) возвращает как раз время последнего тика. Потому что изменение котировки влечет за собой появление нового информационного тика.
Вы хотите замерить время между приходом последней котировки и временем последнего тика. В секундах, похоже, это всегда будет 0. Следовательно, терминал все возвращает оперативно.
К тому, что:
Функция SymbolInfoInteger(_Symbol,SYMBOL_TIME) возвращает как раз время последнего тика. Потому что изменение котировки влечет за собой появление нового информационного тика.
Вы хотите замерить время между приходом последней котировки и временем последнего тика. В секундах, похоже, это всегда будет 0. Следовательно, терминал все возвращает оперативно.
Еще раз в чем я вижу проблему.
Дано:
Локальное время и время сервера более менее синхронизированы т.е разница между .time_msc новых тиков и локальным временем несколько секунд.
В 18:00:00 по времени компа пытаемся получить новый тик по символу SBER с помощью SymbolInfoTick, нам отдают тик со временем 17:57:00
В 18:00:01 по времени компа опять пытаемся получить новый тик по символу SBER с помощью SymbolInfoTick, нам отдают тик со временем 17:58:30
Мне кажется это нельзя назвать оперативным.
Сейчас я ушел от локального времени компьютера и использую вместо него максимальное время последнего тика среди всех символов из обзора рынка.
Еще раз в чем я вижу проблему.
Дано:
Локальное время и время сервера более менее синхронизированы т.е разница между .time_msc новых тиков и локальным временем несколько секунд.
В 18:00:00 по времени компа пытаемся получить новый тик по символу SBER с помощью SymbolInfoTick, нам отдают тик со временем 17:57:00
В 18:00:01 по времени компа опять пытаемся получить новый тик по символу SBER с помощью SymbolInfoTick, нам отдают тик со временем 17:58:30
Мне кажется это нельзя назвать оперативным.
Сейчас я ушел от локального времени компьютера и использую вместо него максимальное время последнего тика среди всех символов из обзора рынка.
Вы понимаете, что время компа можно выставить любым? К нему нельзя привязываться. Это Вам уже говорили. Это во-первых.
Во-вторых, максимальное время последнего тика среди всех символов из обзора рынка тоже нельзя использовать. Вы хотите найти отставание времени последнего тика символа SBER (SymbolInfoTick) от времени последней котировки символа SBER (SymbolInfoInteger). Т.е. делать нужно примерно так, как написал я (примерно потому, что для большей точности нужно использовать стакан, как Вам и советовали).
В-третьих, вот это:
заявляется без доказательств. Если Вы считаете Ваш код доказательством - смотрите "во-вторых".
Вы понимаете, что время компа можно выставить любым? К нему нельзя привязываться. Это Вам уже говорили. Это во-первых.
К нему нельзя привязывать если вести разговоры о миллисекундах или даже секундах. Говоря о задержках в минуты вполне возможно. Я сейчас замеряю разницу не с ним, а с максимальным временем .time_msc последнего тика по всем символам из обзора рынка.
Вы хотите найти отставание времени последнего тика символа SBER (SymbolInfoTick) от времени последней котировки символа SBER (SymbolInfoInteger).
Не хочу.
Во-вторых, максимальное время последнего тика среди всех символов из обзора рынка тоже нельзя использовать.
Почему ? Я же не время ПОЛУчения последнего тик ( по компьютера ) , а именно .time_msc сравниваю.
заявляется без доказательств. Если Вы считаете Ваш код доказательством - смотрите "во-вторых".
Обычно разработчики просят код для воспроизведения проблемы. Вот недавно пойманная задержка в 2 секунды.
(примерно потому, что для большей точности нужно использовать стакан, как Вам и советовали).
pivomoe:
Вот только по этим строчкам, кажется, понятно, что Вы хотите. Вас интересует что-то типа межсимвольной синхронизации. Т.е. общая актуальность данных по нужным Вам инструментам.
Тут ни чем не помогу на данный момент, вопросом не занимался. Обратитесь к разработчикам.
Вот только по этим строчкам, кажется, понятно, что Вы хотите. Вас интересует что-то типа межсимвольной синхронизации. Т.е. общая актуальность данных по нужным Вам инструментам.
Тут ни чем не помогу на данный момент, вопросом не занимался. Обратитесь к разработчикам.
Алексей (не хотел участвовать, но...).
А разве это не "актуальность" (NEW_TICK) код со 2 страницы этого топика?
Добавлено
При CUR_TICK можно еще сделать проверки, что это тот же тик, что и был или
в новом пакете тиков оказался не переданный в предыдущем пакете тик.
Алексей (не хотел участвовать, но...).
А разве это не "актуальность" (NEW_TICK) код со 2 страницы этого топика?
Похоже, что нет. Т.к.:
TimeTradeServer
Возвращает расчетное текущее время торгового сервера. В отличие от функции TimeCurrent(), расчет значения времени производится в клиентском терминале и зависит от настроек времени на компьютере пользователя.
Т.е. опять таки зависит от времени компьютера (чего для точности замера быть не должно).
Тут, по хорошему, конечно нужно проверить код pivomoe на корректность, и, если действительно есть косяк - обратиться к разработчикам.
Проверку, похоже, нужно через TimeGMTOffset делать. Позже набросаю пример.
Похоже, что нет. Т.к.:
Вы посмотрите внимательно код!
TimeTradeServer() берётся только для определения дня и ВСЁ (эта проверка сделана "на всякий случай")!
TimeTradeServer() можно вообще не делать!
Добавлено
Повторюсь
"При CUR_TICK можно еще сделать проверки, что это тот же тик, что и был или
в новом пакете тиков оказался не переданный в предыдущем пакете тик, и пакет состоит из 1 тика("старого")"
Тут, по хорошему, конечно нужно проверить код pivomoe на корректность, и, если действительно есть косяк - обратиться к разработчикам.
Косяк появляется либо если в обзоре рынка десятки символов либо, если открыто несколько символов в обзоре, но есть несколько десятков вкладов в браузере opera. Разработчикам написал через личное сообщение.
Как я писал ранее проблема лечиться, достаточно большим Sleep между вызовами , для 40 символов хватает sleep(10) . Правда с ростом количества символов перекур требуется все больший.