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

Страницы: 1
RSS
Тормозит квик при установке сделок на графике индикатора (случайно)
 
Взято из

https://forum.quik.ru/forum1/topic7302/

Случайно выяснилось что при установке "сделки" в разделе настроек индикатора, квик тормозит при совершении сделок. Все графики останавливаются. При установке "сделки" на график цены такого не наблюдается
                       
 
Евгений, Добрый день,

Изучили всю историю ветки https://forum.quik.ru/forum1/topic7302/

Правильно понимаем, что эффект проявляется на индикаторе, написанном на языке LUA?
Просьба проверить проявляется ли данный эффект на Вашем рабочем месте QUIK с использованием стандартных индикаторов, т.к мы не смогли воспроизвести у себя в терминале описанную Вами  ситуацию. Если ситуация повторится, просьба прислать нам видео на почту: quiksupport@arqatech.com со ссылкой на данную ветку форума.  
 
Цитата
Anzhelika Belokur написал:
Евгений, Добрый день,

Изучили всю историю ветки  https://forum.quik.ru/forum1/topic7302/

Правильно понимаем, что эффект проявляется на индикаторе, написанном на языке LUA?
Просьба проверить проявляется ли данный эффект на Вашем рабочем месте QUIK с использованием стандартных индикаторов, т.к мы не смогли воспроизвести у себя в терминале описанную Вами  ситуацию. Если ситуация повторится, просьба прислать нам видео на почту:  quiksupport@arqatech.com  со ссылкой на данную ветку форума.  
Да на Lua, мой индикатор
                       
 
Но какая связь с индикатором и отметками сделок ??

Проблема явно в коде этой функции которая отвечает за установку меток, а не в индикаторе, это в принципе никак не должно быть связано с ним, да и вобще зачем эта функция привязки меток к индикатору непонятно, что к цене не достаточно ?
                       
 
Евгений, Добрый день,

На актуальной версии терминала (9.7.0) с индикаторами, которые есть у нас данное поведение не проявляется.
Предлагаем попробовать Вам воспроизвести описанный эффект на наших индикаторах, доступных по ссылке https://arqatech.com/upload/iblock/398/INDICATORS.zip и сообщить результат.
Если для наших индикаторов эффект не воспроизведётся - то наиболее вероятно, причина в особенностях написания Вашего индикатора.
Предлагаем в этом случае самостоятельно изучить возможные причины такого поведения в Вашем индикаторе.
Если установить причины будет затруднительно - просьба подготовить и прислать минимальный и достаточный пример скрипта индикатора, на котором эффект гарантировано воспроизводится, для дальнейшего разбора.
Для большей наглядности можно попробовать модифицировать скрипты наших индикаторов для воспроизведения эффекта.
 
на ваших индикаторах нет (все не проверял), на моем есть. Все равно это не должно быть связано с индикатором. Скорее всего в квике стоит цикл который сканирует таблицу сделок, и если например много графиков с одним и тем же индикатором, например 20 , то пока все эти 20 раз этот цикл не отсканирует таблицу сделок графики дальше не поедут. Это у вас как то по особенному эта функция запрограммирована. Так как мой индикатор, совершенно нормальный.

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

Например и к цене и к индикатору.
Или сделать блокировку на другие привязки если уже где то стоит.
Вот реально не понятно зачем эта функция. Если бы была привязка к разным счетам еще можно понять, но к индикаторам то зачем ?
                       
 
Скорее всего это ошибка в квике очередная, которую трудно найти не тестируя программу
                       
 
Цитата
Евгений написал:
на ваших индикаторах нет (все не проверял), на моем есть. Все равно это не должно быть связано с индикатором. Скорее всего в квике стоит цикл который сканирует таблицу сделок, и если например много графиков с одним и тем же индикатором, например 20 , то пока все эти 20 раз этот цикл не отсканирует таблицу сделок графики дальше не поедут. Это у вас как то по особенному эта функция запрограммирована. Так как мой индикатор, совершенно нормальный.

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

Например и к цене и к индикатору.
Или сделать блокировку на другие привязки если уже где то стоит.
Вот реально не понятно зачем эта функция. Если бы была привязка к разным счетам еще можно понять, но к индикаторам то зачем ?
Предположу, что с  индикатором  это может быть связано с вызовом функции  OnCalculate(i)
Это примерно так же как вызов колбеков в скриптах.
Вы тормозите в скрипте индикатора, а он тормозит основной поток терминала.
-----------------
проверить это очень просто.
Закомментируйте все в индикаторе от OnCalculate(i) до оператора return  и будет Вам счастье.
 
Все равно не пойму как индикатор связан с этими метками. Надо копать в функции квика а не в индикаторе, так как индикатор работает прекрасно и нигде ничего не тормозит. Ну и не вижу смысла в привязке к индикаторам этих меток, она просто не нужна
                       
 
Цитата
Евгений написал:
Все равно не пойму как индикатор связан с этими метками. Надо копать в функции квика а не в индикаторе, так как индикатор работает прекрасно и нигде ничего не тормозит. Ну и не вижу смысла в привязке к индикаторам этих меток, она просто не нужна
Если выставление меток и работа индикатора производится в одном потоке, то эти действия будут выполняться последовательно.
Т е пока индикатор не закончит свои вычисления, метки выставляться не будут.
Один поток -одно ядро - все исполняется последовательно.
 
Евгений, Добрый день,

Просьба подготовить и прислать нам на почту quiksupport@arqatech.com минимальный и достаточный пример скрипта индикатора, на котором эффект гарантировано воспроизводится, для дальнейшего разбора.
 
Со ссылкой на данную ветку форума.
 
я не могу сделать минимальный код из индикатора в 40 000 строк
                       
 
в любом случае это не правильно делать привязку сделок к индикаторам, надо ее убрать и оставить только к цене
                       
 
Цитата
Евгений написал:
в любом случае это не правильно делать привязку сделок к индикаторам, надо ее убрать и оставить только к цене
Вы просто измерьте время выполнения вашего скрипта, либо поставьте блоковый комментарий на весь код скрипта и будет понятно, влияет ли он.
 
Евгений, Добрый день,

К сожалению, Вы не предоставили возможности разобраться почему при работе Вашего скрипта возникает описанный эффект.
Если Вы повторите эффект на наших скриптах (ссылка https://arqatech.com/upload/iblock/398/INDICATORS.zip), мы готовы вернуться к анализу этой проблемы.
 
Вы можете объяснит мен зачем привяка сделок к индикаторам ? Вот сейчас прямо сделал сделки с привязкой к индикатору, потом удалил этот индикатор, но сделки остались )).

Вот серьезно, зачем эта привязка ? Совершенно не понятно. Проверил индикатор, закомментировал все в OnCalc  но квик  притормаживает. Уже меньше но всеравно зависает на 2 сек

Хочу знать для чего эта привязка объясните пожалуста
                       
 
Цитата
Евгений написал:
Вы можете объяснит мен зачем привяка сделок к индикаторам ? Вот сейчас прямо сделал сделки с привязкой к индикатору, потом удалил этот индикатор, но сделки остались )).
Сделки привязаны не конкретно к индикатору, а там, где устанавливается настройка показывать сделки и это можно проверить. По Вашему описанию они привязаны не к индикатору, а к чему-то другому, раз они остались, т.е если бы привязка была к индикатору, то с удалением индикатора сделки бы тоже удалились на графике.
Проверка:
1. Добавить график цены и объема
2. Добавить индикатор
3. Поставить настройку в индикаторе показывать сделки, по Price не ставить такую настройку (См. рис.1)
4. Выставить заявки по инструменту, по которому построен график, чтобы они исполнились и появились сделки на графике (См. рис.2)
5. Удалить график по Price и увидеть, что сделки остались. (См. рис.3)
6. Поставить настройку в Price показывать сделки, по индикатору не ставить такую настройку, удалить индикатор и увидеть, что сделки остались (См. рис.4)
 
чтобы сделки удалились с удалением индикатора написанного на луа надо
в индикаторе написать так:
Код
function OnDestroy ()
DelAllLabels(tag);
end
 
пардон, опечатка, не сделки, а метки
 
Цитата
nikolz написал:
чтобы сделки удалились с удалением индикатора написанного на луа надо
в индикаторе написать так:
Код
function OnDestroy ()
DelAllLabels(tag);
end
nikolz

формулировать нужно правильно, а не как попало.

delAllLabel удаляет ВСЕ метки на графике tag, установленные всеми способами, а не "метки удалились с удалением индикатора написанного на луа". Будет удалены все метки без разбора, в том числе не относящиеся с индикатору, из которого вызвана DelAllLabels.

Использовать эту функцию где либо - признак плохого тона. Удалять при завершении индикатора нужно только свои метки, по одной, в соответствии со списком.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
Цитата
nikolz написал:
пардон, опечатка, не сделки, а метки
тема не об  этом
                       
Страницы: 1
Читают тему
Наверх