Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Естественно, что никаких экспертов\индикаторов\скриптов не запущено - только ручные построения. Указанная задержка воспроизводится на любом среднестатистическом современном 64-битном планшете. Если у Вас комп на i7, то допускаю что не сталкивалисть с такой задержкой
апк или екзешник тормозит?
На другом Терминале параллельно идет Оптимизация на шести локальных Агентах из восьми возможных.
Если это сетевые обрывы, то почему влияет на получение последнего тика из Обзора рынка и на получение последнего тика из истории тиков?
ЗЫ Лог Терминала на этом же отрезке.
Если это сетевые обрывы, то почему влияет на получение последнего тика из Обзора рынка и на получение последнего тика из истории тиков?
Тщательный анализ показал, что CopyTicks тормозит при сетевых обрывах.
Ну во-первых, FYI
"В случае успешной базовой проверки структур (проверка указателей) возвращается true - это не свидетельствует об успешном выполнении торговой операции. Для получения более подробного описания результата выполнения функции следует анализировать поля структуры result."
Во-вторых, по вашей логике если ордер открылся, вы не добавляете его в список ордеров, а целиком инвалидируете кэш?)
Тут можно ТАААК оптимизировать весь код, что у вас HistorySelect будет последним местом для вопросов по времени выполнения) Используйте кэширование. Можете инвалидировать его, например, раз в сутки, но это существенно ускорит вашего советника.
Ну во-первых
для правильного понимания кода нужно либо его запустить, либо очень хорошо читать с листа.
Во-вторых, по вашей логике если ордер открылся, вы не добавляете его в список ордеров, а целиком инвалидируете кэш?)
Список ордеров не изменяется. Читайте код.
для правильного понимания кода нужно либо его запустить, либо очень хорошо читать с листа.
Список ордеров не изменяется. Читайте код.
Вот тут
вижу такую логику:
Но может быть так, что запрос отклонён уже на сервере - на это ничего в этом коде не указывает, так как нет проверки. Какой смысл выбирать историю? Что мы там хотим увидеть?
Тут, в этих двух строчках кода, я лично не вижу смысла. Я б его видел, если бы перед выбором истории была проверка на её изменение. Может быть, конечно, эти две строчки не дают осознания полной картины задачи. Но связь между успешной отправкой запроса на сервер и выборкой всей истории мне не ясна. Даже успешное выставление ордера сервером после отправки запроса приводит к изменению списка рыночных ордеров и позиций. А исторический список тут при чём?
Вот тут
вижу такую логику:
Но может быть так, что запрос отклонён уже на сервере - на это ничего в этом коде не указывает, так как нет проверки. Какой смысл выбирать историю? Что мы там хотим увидеть?
Тут, в этих двух строчках кода, я лично не вижу смысла. Я б его видел, если бы перед выбором истории была проверка на её изменение. Может быть, конечно, эти две строчки не дают осознания полной картины задачи. Но связь между успешной отправкой запроса на сервер и выборкой всей истории мне не ясна. Даже успешное выставление ордера сервером после отправки запроса приводит к изменению списка рыночных ордеров и позиций. А исторический список тут при чём?
if - чтобы избавиться от предупреждения компилятора. И больше ни для чего.
Эта же ветка не для обучения, как надо писать советники. А для устранения слабых сторон Терминала. Чтобы разработчики разобрались, им нужен простой лаконичный и воспроизводимый код. Ничего подобного для себя, конечно, не пишу. Факт, боевой советник логирует тормоза. Начинаю копать, понимаю, что тормоза происходят, когда кто-нибудь (хоть руками) модифицирует позицию. Это сбрасывает исторический кеш, хотя история не меняется, конечно.
Код отлично демонстрирует проблему. Никогда не нужно засорять код-воспроизведение какими-либо лишними проверками. Его задача - ясно показать проблему. И когда исправят - доказать, что все работает теперь правильно.
для правильного понимания кода нужно либо его запустить, либо очень хорошо читать с листа.
Список ордеров не изменяется. Читайте код.
Считайте, что я очень хорошо читаю с листа :)
Этот код вы взяли откудато и у вас там есть по else создание новой позиции, который все-таки выполняется ведь?
Иначе весь смысл вашего кода сводится к обновлению TP текущей позиции и инвалидации кэша ради этого, что тоже очень странно.
В любом из этих двух случаев никакой логики не используется по оптимизации работы с кэшированием. Кроме того, ваше решение не масштабируемо, т.к. при росте истории ведет к увеличению тормозов.
Код отлично демонстрирует проблему. Никогда не нужно засорять код-воспроизведение какими-либо лишними проверками. Его задача - ясно показать проблему. И когда исправят - доказать, что все работает теперь правильно.
То есть, по вашей логике вот этот код
демонстрирует тормоза процессора?
Этот код вы взяли откудато и у вас там есть по else создание новой позиции, который все-таки выполняется ведь?
То есть, по вашей логике вот этот код
демонстрирует тормоза процессора?