Полторы минуты разницы между локальным временем и временем свежего тика. Что делать. - страница 6
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вы посмотрите внимательно код!
TimeTradeServer() берётся толко для определения дня и ВСЁ (эта проверка сделана "на всякий случай")!
TimeTradeServer() можно вообще не делать!
Посмотрел. Согласен, написал я несколько не корректно, но функция, на мой взгляд, все равно не решает поставленной задачи. Если честно, не совсем понятно зачем она нужна. Похоже, что Вы:
1. Получаете количество миллисекунд из тика;
2. Разбиваете тик на составляющие;
3. Затем снова собираете тик!? Вот тут мне не ясно зачем это надо? Вы ведь всегда получите то же самое значение, что было изначально передано в функцию. Или я чего-то не вижу?
4. А дальше Вы сравниваете время тика с предыдущим;
Нам же обязательно нужно знать время сервера. Без времени сервера мы не можем определить запаздывает ли поток одного символа относительно потоков других символов.
Т.е. Ваш код не привязывается ко времени сервера и не сравнивает время сервера со временем потока, а это нужно сделать. Чтобы понять не отставание стакана от тиков одного символа (как я изначально подумал ввязавшись в это обсуждение), а задержку передачи данных по множеству символов от сервера в терминал.
Проверку, похоже, нужно через TimeGMTOffset делать. Позже набросаю пример.
Просто смешно, Вы опытный человек (не новичёк).
Вообще не нужно никакое время, кроме времени приходящих тиков!
Запомнили время (при инициализации) последнего тика, а потом все сравнения идут с этим временем!
Посмотрел. Согласен, написал я несколько не корректно, но функция, на мой взгляд, все равно не решает поставленной задачи. Если честно, не совсем понятно зачем она нужна. Похоже, что Вы:
3. Затем снова собираете тик!? Вот тут мне не ясно зачем это надо? Вы ведь всегда получите то же самое значение, что было изначально передано в функцию. Или я чего-то не вижу?
Этот код "выдернут" из моего советника, где я проверяю актуальность тика и время, что тик находится в рамках
торговых сессий
Добавлено
"Разбивка" тика нужна для определения точного (миллисекунды) времени (без даты), т.к в настройках сессий моего советника
я указываю только время
Просто смешно, Вы опытный человек (не новичёк).
Вообще не нужно никакое время, кроме времени приходящих тиков!
Запомнили время (при инициализации) последнего тика, а потом все сравнения идут с этим временем!
Позже напишу свой пример, вникну в вопрос подробнее. Не исключаю, что возможно я ошибаюсь (как и pivomoe) и Вы правы.
Этот код "выдернут" из моего советника, где я проверяю актуальность тика и время, что тик находится в рамках
торговых сессий
Добавлено
"Разбивка" тика нужна для определения точного времени (без даты), т.к в настройках сессий моего советника
я указываю только время
Точно, мой косяк, недосмотрел.
Точно, мой косяк, недосмотрел.
Да просто ТС изначально не определился что он хочет получить (а может не правильно поняли)
Вот, запустите и проверьте:
Да просто ТС изначально не определился что он хочет получить
Вот, запучтите и проверьте:
Михаил, к приходу нового тика/проверки на старый тик вопросов нет. К Вашему коду - тоже. Вопрос в другом. Нужно проверить вот такую ситуацию:
Михаил, к приходу нового тика/проверки на старый тик вопросов нет. К Вашему коду - тоже. Вопрос в другом. Нужно проверить вот такую ситуацию:
Я подправил код (см. выше) появилось (OLD_TICK).
А зная, что в новом пакете может быть "старый" тик, разработчик должен использовать это по своему усмоттрению.
Я подправил код (см. выше) появилось (OLD_TICK).
Это не важно... потоки РАЗНЫХ символов.
Это не важно... потоки РАЗНЫХ символов.
Тогда я вообще не понимаю ЧТО НУЖНО????
Если текущее время СЕРВЕРА - то про это забыть надо, пока не будут его транслировать!
или использовать то, что есть TimeTradeServer()