Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Очень медленно. Возможно, в этом дело.
Я удалил `OrderSymbol() != _Symbol`, и обработка 10 миллионов тиков сократилась до 5 секунд.
Я удалил `OrderSymbol() != _Symbol`, и обработка 10 миллионов тиков сократилась до 5 секунд.
Желательно найти альтернативу любым string-операциям.
Желательно найти альтернативу любым string-операциям.
Разве неизбежно время выполнения `for (int i = OrdersTotal() - 1; i >= 0; --i)`? Я заметил, что большая часть времени уходит именно на это. Мне нужно обновлять самое раннее время открытия позиции, самое позднее время открытия позиции, прибыль, количество ордеров, общее количество лотов и т. д.
Мне нужно обновлять самое раннее время открытия позиции, самое позднее время открытия позиции, прибыль, количество ордеров, общее количество лотов и т. д.
Ну и зачем делать расчет этого на каждом тике? Можно же сохранить эти данные и делать перерасчеты только в случае, если что-то поменялось с ордерами.
Ну и зачем делать расчет этого на каждом тике? Можно же сохранить эти данные и делать перерасчеты только в случае, если что-то поменялось с ордерами.
Но прибыль нужно обновлять постоянно.
Но прибыль нужно обновлять постоянно.
Разве для обновления прибыли нужен OrdersTotal-цикл?
Разве для обновления прибыли нужен OrdersTotal-цикл?
Использовать массив для сохранения ticket, и проверять только заказы внутри массива, а затем выйти из цикла, верно?
SELECT_BY_TICKET всегда является дорогой операцией. Нечасто это оправдано.
Приведите здесь распечатку VIRTUAL::ToString стандартного состояния. И на этих данных покажите, какая нужна информация.
Ну и сам цикл OrdersTotal хорошо бы показать.
делать перерасчеты только в случае, если что-то поменялось с ордерами.
Похоже, забыл рассказать про древний функционал.
VIRTUAL::IsChanged(); // Возвращает true только в том случае, если что-то произошло с ордерами с предыдущего вызова этой функции в том же виртуальном окружении.Пример.
Результат.
SELECT_BY_TICKET всегда является дорогой операцией. Нечасто это оправдано.
Приведите здесь распечатку VIRTUAL::ToString стандартного состояния. И на этих данных покажите, какая нужна информация.
Ну и сам цикл OrdersTotal хорошо бы показать.
Я не понимаю, какое это имеет отношение к ToString(). Я редко использую его. Это контент UpdatePosi