Автор |
Сообщение |
AntColonel
Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск
|
Имеется алгоритм. На нем построен робот.
В итоге в чекере имею такие данные - см. картинку.
Очевидно, что указанные в заголовке функции жрут очень и очень хорошо. В итоге просчет скрипта занимает 0,36 сек. Приходится увеличивать период расчета робота до 0,5 сек., чтобы не тормозил.
Возможна ли тут какая либо оптимизация?
Автор робота говорит, что необходимо оптимизировать. В частности в некоторых случаях возможна замена Foreign. Но к сожалению он отвечает лишь за фреймворк, а сам алгоритм - это моё.
Foreign используется следующим образом. Через экспорт в квике получаем оттуда данные по общему спросу/предложению. Получаем и пишем в отдельные тикеры. Потом в алгоритме эти тикеры вытягиваются через Foreign для дальнейшего расчета.
Что-то тут можно сделать?
С остальными функциями, видимо, ничего не сделаешь? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
HHV и LLV очень быстрые функции. Видимо они используются криво. Возможно в цикле миллион раз прогоняются... Надо смотреть код. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
AntColonel
Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск
|
000 писал(а): |
HHV и LLV очень быстрые функции. Видимо они используются криво. Возможно в цикле миллион раз прогоняются... Надо смотреть код. |
Олег, отправил код в ЛС
В принципе, все ХХВ и ЛЛВ такого плана:
Код: |
NH = Ref(HHV(H, DayBars), -1);
NL = Ref(LLV(L, DayBars), -1); |
|
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Странно. У меня твой код выдает вот такой чек. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
AntColonel
Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск
|
000 писал(а): |
Странно. У меня твой код выдает вот такой чек. |
Тогда я ничего не понимаю.
Я его на двух компах разных чекал. И оба раз завал.
Вот, специально взял из переписки нашей код и скопировал. Итог ниже.
Здесь время ниже - 0,28мс. На другом компе тестилось. Первый скрин на i3, этот на i5
Блин, в чем дело может быть? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
AntColonel
Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск
|
Всё, я понял.
Когда на фоне стоит график, где история с 2013 года на 5-ти минутках, то 0,28 и 0,36 мс.
Открываю позади вкладку с дневкой - 0,089 мс.
Посмотри - "25168 data bars used during this check".
Значит ли это, что для ускорения работы скрипта, мне следует на том инструменте, где он висит, уменьшить кол-во свечей?
Ами, видимо, пробегает по всей истории каждый раз? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Да, уменьшай историю. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
AntColonel
Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск
|
000 писал(а): |
Да, уменьшай историю. |
А вот теперь вопрос - как ее уменьшить?
В Database settings показатель Number of bars снизил со 135000 до 20000, но на глубине графика это не отразилось. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Открой квоте эдитор и удали. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
AntColonel
Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск
|
000 писал(а): |
Открой квоте эдитор и удали. |
Да, точно. Затупил.
Вот на рабочей машине подрезал историю. Вроде отлично, однако все равно непонятно. Вот, к примеру, мелкие операторы - Day - у меня отрабатывает один за 0,122мс, у тебя за 0,199.
А вот тот же HHV у меня - 3,236, у тебя 0,267.
Какая-то слишком большая разница. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
У тебя фрем какой? 5 мин? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
AntColonel
Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск
|
000 писал(а): |
У тебя фрем какой? 5 мин? |
Да, 5 мин. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Хм. Интересно. Никогда не обращал внимание. Чем меньше фрейм тем дольше обрабатываются функции HHV и LLV. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
AntColonel
Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск
|
000 писал(а): |
Хм. Интересно. Никогда не обращал внимание. Чем меньше фрейм тем дольше обрабатываются функции HHV и LLV. |
Ну я сейчас на дневках прочекал, ничего не изменилось. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Ты открыл другую базу (с дневками) или просто переключил фрейм 5ти минутной базы? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
|