Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Foreign, HHV, LLV, Sum - оптимизируемо? Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
AntColonel



Зарегистрирован: 03.05.2011
Сообщения: 212
Откуда: Новосибирск

СообщениеДобавлено: Сб Апр 01, 2017 1:31 pm Ответить с цитатой Вернуться к началу

Имеется алгоритм. На нем построен робот.

В итоге в чекере имею такие данные - см. картинку.

Очевидно, что указанные в заголовке функции жрут очень и очень хорошо. В итоге просчет скрипта занимает 0,36 сек. Приходится увеличивать период расчета робота до 0,5 сек., чтобы не тормозил.

Возможна ли тут какая либо оптимизация?

Автор робота говорит, что необходимо оптимизировать. В частности в некоторых случаях возможна замена Foreign. Но к сожалению он отвечает лишь за фреймворк, а сам алгоритм - это моё.

Foreign используется следующим образом. Через экспорт в квике получаем оттуда данные по общему спросу/предложению. Получаем и пишем в отдельные тикеры. Потом в алгоритме эти тикеры вытягиваются через Foreign для дальнейшего расчета.

Что-то тут можно сделать?

С остальными функциями, видимо, ничего не сделаешь?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 8507

СообщениеДобавлено: Сб Апр 01, 2017 3:17 pm Ответить с цитатой Вернуться к началу

HHV и LLV очень быстрые функции. Видимо они используются криво. Возможно в цикле миллион раз прогоняются... Надо смотреть код.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
AntColonel



Зарегистрирован: 03.05.2011
Сообщения: 212
Откуда: Новосибирск

СообщениеДобавлено: Сб Апр 01, 2017 3:49 pm Ответить с цитатой Вернуться к началу

000 писал(а):
HHV и LLV очень быстрые функции. Видимо они используются криво. Возможно в цикле миллион раз прогоняются... Надо смотреть код.


Олег, отправил код в ЛС

В принципе, все ХХВ и ЛЛВ такого плана:

Код:
NH = Ref(HHV(H, DayBars), -1); 
NL = Ref(LLV(L, DayBars), -1); 
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 8507

СообщениеДобавлено: Вс Апр 02, 2017 1:43 pm Ответить с цитатой Вернуться к началу

Странно. У меня твой код выдает вот такой чек.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
AntColonel



Зарегистрирован: 03.05.2011
Сообщения: 212
Откуда: Новосибирск

СообщениеДобавлено: Вс Апр 02, 2017 7:12 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Странно. У меня твой код выдает вот такой чек.


Тогда я ничего не понимаю.
Я его на двух компах разных чекал. И оба раз завал.

Вот, специально взял из переписки нашей код и скопировал. Итог ниже.
Здесь время ниже - 0,28мс. На другом компе тестилось. Первый скрин на i3, этот на i5

Блин, в чем дело может быть?
Посмотреть профиль Отправить личное сообщение
AntColonel



Зарегистрирован: 03.05.2011
Сообщения: 212
Откуда: Новосибирск

СообщениеДобавлено: Вс Апр 02, 2017 7:24 pm Ответить с цитатой Вернуться к началу

Всё, я понял.

Когда на фоне стоит график, где история с 2013 года на 5-ти минутках, то 0,28 и 0,36 мс.

Открываю позади вкладку с дневкой - 0,089 мс.

Посмотри - "25168 data bars used during this check".

Значит ли это, что для ускорения работы скрипта, мне следует на том инструменте, где он висит, уменьшить кол-во свечей?
Ами, видимо, пробегает по всей истории каждый раз?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 8507

СообщениеДобавлено: Вс Апр 02, 2017 10:13 pm Ответить с цитатой Вернуться к началу

Да, уменьшай историю.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
AntColonel



Зарегистрирован: 03.05.2011
Сообщения: 212
Откуда: Новосибирск

СообщениеДобавлено: Пн Апр 03, 2017 6:36 am Ответить с цитатой Вернуться к началу

000 писал(а):
Да, уменьшай историю.


А вот теперь вопрос - как ее уменьшить?
В Database settings показатель Number of bars снизил со 135000 до 20000, но на глубине графика это не отразилось.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 8507

СообщениеДобавлено: Пн Апр 03, 2017 6:48 am Ответить с цитатой Вернуться к началу

Открой квоте эдитор и удали.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
AntColonel



Зарегистрирован: 03.05.2011
Сообщения: 212
Откуда: Новосибирск

СообщениеДобавлено: Пн Апр 03, 2017 6:51 am Ответить с цитатой Вернуться к началу

000 писал(а):
Открой квоте эдитор и удали.


Да, точно. Затупил.

Вот на рабочей машине подрезал историю. Вроде отлично, однако все равно непонятно. Вот, к примеру, мелкие операторы - Day - у меня отрабатывает один за 0,122мс, у тебя за 0,199.

А вот тот же HHV у меня - 3,236, у тебя 0,267.

Какая-то слишком большая разница.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 8507

СообщениеДобавлено: Пн Апр 03, 2017 7:32 am Ответить с цитатой Вернуться к началу

У тебя фрем какой? 5 мин?

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
AntColonel



Зарегистрирован: 03.05.2011
Сообщения: 212
Откуда: Новосибирск

СообщениеДобавлено: Пн Апр 03, 2017 9:30 am Ответить с цитатой Вернуться к началу

000 писал(а):
У тебя фрем какой? 5 мин?


Да, 5 мин.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 8507

СообщениеДобавлено: Пн Апр 03, 2017 11:50 am Ответить с цитатой Вернуться к началу

Хм. Интересно. Никогда не обращал внимание. Чем меньше фрейм тем дольше обрабатываются функции HHV и LLV.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
AntColonel



Зарегистрирован: 03.05.2011
Сообщения: 212
Откуда: Новосибирск

СообщениеДобавлено: Пн Апр 03, 2017 11:56 am Ответить с цитатой Вернуться к началу

000 писал(а):
Хм. Интересно. Никогда не обращал внимание. Чем меньше фрейм тем дольше обрабатываются функции HHV и LLV.


Ну я сейчас на дневках прочекал, ничего не изменилось.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 8507

СообщениеДобавлено: Пн Апр 03, 2017 12:45 pm Ответить с цитатой Вернуться к началу

Ты открыл другую базу (с дневками) или просто переключил фрейм 5ти минутной базы?

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen