Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Только почему нельзя было ответить так сразу?
Так я сразу же ответил точно еще день назад:
Зрячие, покажите мне слепому ссылки на эти функции в отчете профилировщика.
Он пошел на цветущий луг, поймал самую красивую бабочку и посадил ее между ладоней. Бабочка цеплялась лапками за его руки, и Ученику было щекотно. Улыбка застыла на его губах, rогда он подошел к Учителю и спросил: «Скажи, Учитель, какая бабочка у меня в руках — живая или мертвая?» Он крепко держал бабочку в сомкнутых ладонях и был готов в любое мгновение сжать их ради своей истины.
Учитель не смотрел на руки любимого Ученика — он улыбнулся ему одними глазами и ответил: «Все в твоих руках...»
Пожелание:
На мой взгляд в профилировщике не хватает строчки с потреблением памяти, хотя бы в общем виде. Если есть такая возможность, добавьте пожалуйста.
Контроль за расходом памяти лучше сделать вручную, используя в "нужных" местах соответствующую функцию.
Если речь о валидаторе памяти (инструмент позволяющий отследить все операции по выделению и освобождению памяти), то он обсуждается у нас.
Не факт, что он появится на свет, т.к. уже сейчас пользователю сообщается об утечках с указанием количества объектов по каждому типу.
Очень медленная функция EventSetTimer(). Приходится вызывать каждый тик, поэтому актуально. Занимает более 99% времени в довольно тяжелом индикаторе. Возможно ли, что это просто ошибка профилировщика? Пробовал убирать обработчик OnTimer() - безрезультатно.
Очень медленная функция EventSetTimer(). Приходится вызывать каждый тик, поэтому актуально. Занимает более 99% времени в довольно тяжелом индикаторе. Возможно ли, что это просто ошибка профилировщика? Пробовал убирать обработчик OnTimer() - безрезультатно.
Для какой надобности вы создаёте новый таймер на каждом тике?
Может я чего не понимаю, но философия этой функции, создать таймер в ините и дальше пользовать его до самого деинита, где он собственно и киляется.
Так что в обычном советнике EventSetTimer() и EventKillTimer() вызываются единожды, а значит могут иметь очень долгий вызов, на производительности языка это ни как не сказывается.
Для какой надобности вы создаёте новый таймер на каждом тике?
Может я чего не понимаю, но философия этой функции, создать таймер в ините и дальше пользовать его до самого деинита, где он собственно и киляется.
Так что в обычном советнике EventSetTimer() и EventKillTimer() вызываются единожды, а значит могут иметь очень долгий вызов, на производительности языка это ни как не сказывается.
Мне нужно выполнять некоторое действие не реже, чем раз в 1 секунду, не пропуская тики. Поэтому в начале OnCalculate() таймер убивается, а конце - устанавливается заново.
Профилировщик запускался всего на несколько секунд или минуту, что дало картинку выше. Результаты странные, поэтому подозреваю, что это просто ошибка профилировщика.
Мне нужно выполнять некоторое действие не реже, чем раз в 1 секунду, не пропуская тики. Поэтому в начале OnTick() таймер убивается, а конце - устанавливается заново.
похоже это такое хобби - ходить на костылях.