Случайно выяснилось что при установке "сделки" в разделе настроек индикатора, квик тормозит при совершении сделок. Все графики останавливаются. При установке "сделки" на график цены такого не наблюдается
Правильно понимаем, что эффект проявляется на индикаторе, написанном на языке LUA? Просьба проверить проявляется ли данный эффект на Вашем рабочем месте QUIK с использованием стандартных индикаторов, т.к мы не смогли воспроизвести у себя в терминале описанную Вами ситуацию. Если ситуация повторится, просьба прислать нам видео на почту: quiksupport@arqatech.com со ссылкой на данную ветку форума.
Правильно понимаем, что эффект проявляется на индикаторе, написанном на языке LUA? Просьба проверить проявляется ли данный эффект на Вашем рабочем месте QUIK с использованием стандартных индикаторов, т.к мы не смогли воспроизвести у себя в терминале описанную Вами ситуацию. Если ситуация повторится, просьба прислать нам видео на почту: quiksupport@arqatech.com со ссылкой на данную ветку форума.
Но какая связь с индикатором и отметками сделок ??
Проблема явно в коде этой функции которая отвечает за установку меток, а не в индикаторе, это в принципе никак не должно быть связано с ним, да и вобще зачем эта функция привязки меток к индикатору непонятно, что к цене не достаточно ?
На актуальной версии терминала (9.7.0) с индикаторами, которые есть у нас данное поведение не проявляется. Предлагаем попробовать Вам воспроизвести описанный эффект на наших индикаторах, доступных по ссылке https://arqatech.com/upload/iblock/398/INDICATORS.zip и сообщить результат. Если для наших индикаторов эффект не воспроизведётся - то наиболее вероятно, причина в особенностях написания Вашего индикатора. Предлагаем в этом случае самостоятельно изучить возможные причины такого поведения в Вашем индикаторе. Если установить причины будет затруднительно - просьба подготовить и прислать минимальный и достаточный пример скрипта индикатора, на котором эффект гарантировано воспроизводится, для дальнейшего разбора. Для большей наглядности можно попробовать модифицировать скрипты наших индикаторов для воспроизведения эффекта.
на ваших индикаторах нет (все не проверял), на моем есть. Все равно это не должно быть связано с индикатором. Скорее всего в квике стоит цикл который сканирует таблицу сделок, и если например много графиков с одним и тем же индикатором, например 20 , то пока все эти 20 раз этот цикл не отсканирует таблицу сделок графики дальше не поедут. Это у вас как то по особенному эта функция запрограммирована. Так как мой индикатор, совершенно нормальный.
И вобще предлагаю удалить эту привязку к индикаторам, так как может быть включена случайно к двум и более.
Например и к цене и к индикатору. Или сделать блокировку на другие привязки если уже где то стоит. Вот реально не понятно зачем эта функция. Если бы была привязка к разным счетам еще можно понять, но к индикаторам то зачем ?
Евгений написал: на ваших индикаторах нет (все не проверял), на моем есть. Все равно это не должно быть связано с индикатором. Скорее всего в квике стоит цикл который сканирует таблицу сделок, и если например много графиков с одним и тем же индикатором, например 20 , то пока все эти 20 раз этот цикл не отсканирует таблицу сделок графики дальше не поедут. Это у вас как то по особенному эта функция запрограммирована. Так как мой индикатор, совершенно нормальный.
И вобще предлагаю удалить эту привязку к индикаторам, так как может быть включена случайно к двум и более.
Например и к цене и к индикатору. Или сделать блокировку на другие привязки если уже где то стоит. Вот реально не понятно зачем эта функция. Если бы была привязка к разным счетам еще можно понять, но к индикаторам то зачем ?
Предположу, что с индикатором это может быть связано с вызовом функции OnCalculate(i) Это примерно так же как вызов колбеков в скриптах. Вы тормозите в скрипте индикатора, а он тормозит основной поток терминала. ----------------- проверить это очень просто. Закомментируйте все в индикаторе от OnCalculate(i) до оператора return и будет Вам счастье.
Все равно не пойму как индикатор связан с этими метками. Надо копать в функции квика а не в индикаторе, так как индикатор работает прекрасно и нигде ничего не тормозит. Ну и не вижу смысла в привязке к индикаторам этих меток, она просто не нужна
Евгений написал: Все равно не пойму как индикатор связан с этими метками. Надо копать в функции квика а не в индикаторе, так как индикатор работает прекрасно и нигде ничего не тормозит. Ну и не вижу смысла в привязке к индикаторам этих меток, она просто не нужна
Если выставление меток и работа индикатора производится в одном потоке, то эти действия будут выполняться последовательно. Т е пока индикатор не закончит свои вычисления, метки выставляться не будут. Один поток -одно ядро - все исполняется последовательно.
Просьба подготовить и прислать нам на почту quiksupport@arqatech.com минимальный и достаточный пример скрипта индикатора, на котором эффект гарантировано воспроизводится, для дальнейшего разбора.
К сожалению, Вы не предоставили возможности разобраться почему при работе Вашего скрипта возникает описанный эффект. Если Вы повторите эффект на наших скриптах (ссылка https://arqatech.com/upload/iblock/398/INDICATORS.zip), мы готовы вернуться к анализу этой проблемы.
Вы можете объяснит мен зачем привяка сделок к индикаторам ? Вот сейчас прямо сделал сделки с привязкой к индикатору, потом удалил этот индикатор, но сделки остались )).
Вот серьезно, зачем эта привязка ? Совершенно не понятно. Проверил индикатор, закомментировал все в OnCalc но квик притормаживает. Уже меньше но всеравно зависает на 2 сек
Хочу знать для чего эта привязка объясните пожалуста
Евгений написал: Вы можете объяснит мен зачем привяка сделок к индикаторам ? Вот сейчас прямо сделал сделки с привязкой к индикатору, потом удалил этот индикатор, но сделки остались )).
Сделки привязаны не конкретно к индикатору, а там, где устанавливается настройка показывать сделки и это можно проверить. По Вашему описанию они привязаны не к индикатору, а к чему-то другому, раз они остались, т.е если бы привязка была к индикатору, то с удалением индикатора сделки бы тоже удалились на графике. Проверка: 1. Добавить график цены и объема 2. Добавить индикатор 3. Поставить настройку в индикаторе показывать сделки, по Price не ставить такую настройку (См. рис.1) 4. Выставить заявки по инструменту, по которому построен график, чтобы они исполнились и появились сделки на графике (См. рис.2) 5. Удалить график по Price и увидеть, что сделки остались. (См. рис.3) 6. Поставить настройку в Price показывать сделки, по индикатору не ставить такую настройку, удалить индикатор и увидеть, что сделки остались (См. рис.4)
nikolz написал: чтобы сделки удалились с удалением индикатора написанного на луа надо в индикаторе написать так:
Код
function OnDestroy () DelAllLabels(tag); end
nikolz
формулировать нужно правильно, а не как попало.
delAllLabel удаляет ВСЕ метки на графике tag, установленные всеми способами, а не "метки удалились с удалением индикатора написанного на луа". Будет удалены все метки без разбора, в том числе не относящиеся с индикатору, из которого вызвана DelAllLabels.
Использовать эту функцию где либо - признак плохого тона. Удалять при завершении индикатора нужно только свои метки, по одной, в соответствии со списком.