Отметки на графике QUIK средствами QLUA

Страницы: 1
RSS
Отметки на графике QUIK средствами QLUA
 
Подскажите пожалуйста, возможно ли средствами языка QLUA делать какие-либо графические отметки на графике инструмента в QUIK? Например, если алгоритм находит удачный момент для сделки - ставить графическую отметку на графике и т.п.

Заранее благодарен.
 
Цитата
Ivanco написал:
Подскажите пожалуйста, возможно ли средствами языка QLUA делать какие-либо графические отметки на графике инструмента в QUIK? Например, если алгоритм находит удачный момент для сделки - ставить графическую отметку на графике и т.п.

Заранее благодарен.
Функции для работы с метками

Предназначены для построения меток и установки их на графике.  

  • AddLabel - добавляет метку с заданными параметрами
  • DelLabel - удаляет метку с заданными параметрами
  • DelAllLabels - удаляет все метки на диаграмме с  указанным графиком
  • GetLabelParams - позволяет получить параметры метки
  • SetLabelParams - задает параметры для метки с  указанным идентификатором
Руководство пользователя QUIK © ARQA Technologies / www.arqatech.com/ru/products/quik/
 
Николай Камынин, спасибо!
Судя по документации, это то что нужно.
 
Подниму тему.

А такое банальное действо как вывод текста в рамках индикатора недоступно?
Простой пример - текущий ATR. Я не хочу выводить линию или что-то еще. Нужно вывести просто текст.

Добавление меткаи есть в скрипте, а в индикаторе? Так много информации надо выводить в рамках индикаора, где нет проблемы идентификации окна.
Я в WLab писал индиктор зиг-заг с выводом процентов каждого движения и поиска моделей. Пости все было текстом в виде меток над свечками. Линий минимум.

Неужели нет этого?  
 
Здравствуйте,
Вы можете выводить текст через механизм меток.
По другому возможности нет.
 
Цитата
Sergey Gorokhov написал:
Здравствуйте,
Вы можете выводить текст через механизм меток.
По другому возможности нет.

Хорошо. Вывел метки индикатором.

Но у меня падает Квик при изменении настроек индикатора. При смене инструмента в привязанном окне падения не происходит, а при нажатии ОК в окне редактрирования, да.


Возникает вопрос - какой метод удаления меток правильный.


У меня падение происходит после добавления такого кода в OnCalculate:

Код
if index == 1 and Settings.ChartId ~= '' then
      DelAllLabels(Settings.ChartId)
      AddedLabels = {}
   end
Также добавлена процедура:
Код
function OnDestroy()
   if Settings.ChartId ~= '' then
      DelAllLabels(Settings.ChartId)
      AddedLabels = {}
   end
end
 
Nikolay,

Падения не должно происходить.
приведите полный код скрипта индикатора и сообщите версию терминала QUIK
 
Цитата
Sergey Gorokhov написал:
Nikolay  ,

Падения не должно происходить.
приведите полный код скрипта индикатора и сообщите версию терминала QUIK
Версия 7.6.1.1 (Сбербанк выше не дает).

Собственно весь код работы с метками такой и есть
Код
function OnCalculate(index)

   if index == 1 and Settings.ChartId ~= '' then
      DelAllLabels(Settings.ChartId)
      AddedLabels = {}
   end
    
   if index == 1 then
      DSInfo = getDataSourceInfo()        
      min_price_step = getParamEx(DSInfo.class_code, DSInfo.sec_code, "SEC_PRICE_STEP").param_value
   end
   
   return myFunc(index, Settings, 37)
end
Внутри функции расчета данных выводится (обновляется) метка
Код
if AddedLabels[1] ~= nil then
   SetLabelParams(Settings.ChartId, AddedLabels[1], label)
else
   local LabelID = AddLabel(Settings.ChartId, label)
               
   if LabelID ~=nil and LabelID ~= -1 then
      AddedLabels[1] = LabelID
   end   
end
Код
if AddedLabels[2] ~= nil then
   SetLabelParams(Settings.ChartId, AddedLabels[2], label)
else
   local LabelID = AddLabel(Settings.ChartId, label)
               
   if LabelID ~=nil and LabelID ~= -1 then
      AddedLabels[2] = LabelID
   end   
end

Падение происходит не каждый раз. Иногда на третий раз применения параметров. Иногда на первый.
 
Nikolay,

Нам нужна полная версия кода, а не только часть функций.
Хотя бы для того чтобы мы могли попробовать воспроизвести.

сейчас же Ваш код вызывает массу вопросов.
 
Подниму тему еще раз.
Те функции, что вы написали наверху устанавливают текстовую метку.
Лазаю уже неколько часов по всем форумам и не могу найти информацию.

Как поставить скриптом трендовую линию??     у нее больше параметров чем у простой метки.

В Квике есть еще много других графических объектов, а как их устанавливать? В описании я не нашел на это ответа.

Попутный вопрос про метки .
Как получить список вкладок и всех графиков на вкладке?? Видимо там и будет хранится тег графика, к которому привязывается метка

Если Вас не затруднит примеры кода, пожалуйста.
 
Цитата
Владимир Павлов написал:
Как поставить скриптом трендовую линию??     у нее больше параметров чем у простой метки.

Через SetLabelParams можно устанавливать на график произвольную bmp картинку, через параметр IMAGE_PATH
Ничего не мешает в bmp файле нарисовать нужную линию.

Цитата
Владимир Павлов написал:
В Квике есть еще много других графических объектов, а как их устанавливать? В описании я не нашел на это ответа.
В описании нет ответа т.к. в текущей реализации через QLUA нет такой возможности
Цитата
Владимир Павлов написал:
Как получить список вкладок и всех графиков на вкладке?? Видимо там и будет хранится тег графика, к которому привязывается метка

Тег графика Вы указываете самостоятельно вручную, в поле Идентификатор, в свойствах графика на вкладке Дополнительно
 
Спасибо за ответ,
Очень жаль что QLua не дает доступа к графическим объектам Квика, тем более, что они существуют.
А в  QPILE есть такие функции??
 
Владимир Павлов,
В QPILE тоже нет таких функций.
Можем предложить зарегистрировать от Вас пожелание на доработку.
 
Цитата
Sergey Gorokhov написал:
В QPILE тоже нет таких функций.
Можем предложить зарегистрировать от Вас пожелание на доработку.
Зарегистрируйте пожалуйста, неизвесно, сколько еще с Квиком придется работать.
А ка долго вы реализуете такие пожелания??
 
Владимир Павлов,
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.

Цитата
Владимир Павлов написал:
А ка долго вы реализуете такие пожелания??
Рекомендуем ознакомиться с регламентом
https://forum.quik.ru/forum8/topic13/
 
Если следовать вашему Регламенту то задача "выделения библиотеки графических символов"  может получить высший приоритет.
- не влияет ни на какую функциональность
- заинтересованность всеми слоями трейдеров
- улучшает пользовательские свойства терминала.

Я бы сам занялся под вашим руководством, да кто-же мне даст...........
 
Цитата
Владимир Павлов написал:
Если следовать вашему Регламенту то задача "выделения библиотеки графических символов"  может получить высший приоритет.
- не влияет ни на какую функциональность
- заинтересованность всеми слоями трейдеров
- улучшает пользовательские свойства терминала.

Я бы сам занялся под вашим руководством, да кто-же мне даст...........
пожелания об этом регулярно возникают уже в течение десятка лет или даже больше. Видимо, разработчикам недосуг этим заниматься.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
Владимир Павлов, Добрый день,
      Мы рассмотрели Ваше пожелание. По итогам его анализа сообщаем Вам,       что реализация пожелания признана потенциально целесообразной.       Если по результатам дальнейшего анализа, включающего юридические       аспекты, анализ на непротиворечивость с общей политикой компании,       никаких возражений не возникнет, мы постараемся включить Ваше       пожелание в план доработок при выпуске одной из следующих версий       нашего ПО.
 
Подскажите. Нужно в собственном Индикаторе на lua вывести несколько меток на график, примерно в левый верхний угол и в правый нижний угол. Как получить параметры окна графика?
 
Цитата
Goodchild написал:
Подскажите. Нужно в собственном Индикаторе на lua вывести несколько меток на график, примерно в левый верхний угол и в правый нижний угол. Как получить параметры окна графика?
Здравствуйте,
К сожалению такой возможности не предусмотрено.
И свечки устанавливаются на координаты дата/цена, а не X,Y окна
 
Цитата
Sergey Gorokhov написал:
И свечки устанавливаются на координаты дата/цена, а не X,Y окна

Речь конечно же про метки, а не свечки)
 
Здравствуйте!

Столкнулся с проблемой вывода меток в разных областях одного окна. Это возможно?
В одной области метки выводятся. При попутке вывести метки во второй области того же окна  метки из первой области пропадают.
Версия 8.3.2.4

Спасибо
 
Mikhail Ran, добрый день!

У себя подобного поведения не наблюдаем.

Рекомендуем выполнить обновление терминала до последней версии (8.11). Сделать это можно одним из следующих способов.
 - включить настройку Система/Настройки/Основные настройки/Программа - "Проверять наличие обновлений"
 - запросить новую версию у Вашего брокера если программа не обновится самостоятельно
 - если брокер не сможет предоставить нужную версию, скачать ее с нашего ftp:
      ftp://ftp.quik.ru/public/updates/8.11/quik_8.11.0_upd.zip
В последнем случае, необходимо будет закрыть QUIK, сделать резервную копию папки, где он находится и скопировать все содержимое архива в первоначальную папку с подтверждением замены всех файлов.

Если проблема сохранится, просим прислать снимки экрана, на которых она наблюдается, и скрипт, выводящий метки.
 
Здравствуйте!

Перешёл на версию 8.8.4.3., проблема осталась.
Поясню подробнее.
Я использую свой скрипт индикатора, он отображается в отдельной области, перерисовывается на каждом новом баре, метки на индикаторе тоже меняются на каждом новом баре.
Чтобы при наступлении нового бара отобразить новый график индикатора с новыми метками мне нужно стереть старые метки, для этого использую в начале скрипта оператор DelAllLabels(labelGrafName1) и затем рисуются новые метки.
Если я создам в этом окне ещё одну область с таким же индикатором, он появиться пока без меток, с первым тоже пока всё нормально.
Но как только я укажу имя графика для второго индикатора и нажму кнопку Применить, то сразу метки первого индикатора исчезают, а у второго появляются.
Получается, что оператор DelAllLabels(labelGrafName2) из скрипта второго индикатора удалил метки с именем labelGrafName1 из другого окна.

А в доках указано, что Команда удаляет все метки на диаграмме с указанным графиком!?
 
А зачем стирать уже поставленные метки?
Можно ведь просто обновить параметры уже установленных.
 
Mikhail Ran, добрый день!

Не совсем понимаем, в чем заключается проблема.
Функция выполняет ровно то, что описано в документации, а именно - удаляет все метки на диаграмме с указанным графиком.
 
А что понимается под словам Диаграмма? В доках это слова появляется только для этого оператора.
В самой программе используются понятия окно и область окна.
Так как в данном операторе указывается имя графика, то я решил, что удалятся будут метки, привязанные к графику с этим именем.
 
Mikhail Ran,

Цитата
Mikhail Ran написал:
А что понимается под словам Диаграмма? В доках это слова появляется только для этого оператора.
"Окно программы, в котором рисуются графики, называется диаграммой" (Руководство пользователя QUIK. 4 Графики)
Полное руководство можно скачать с нашего сайта по следующей ссылке - https://arqatech.com/upload/iblock/ce0/Doc812.zip

Цитата
Mikhail Ran написал:
В самой программе используются понятия окно и область окна.


Набор параметров, принимаемый той или иной функцией, не описывает ее работу и результат, для этого существует описание.
Описание функции DelAllLabels() однозначным образом говорит о том, что будут удалены все метки на диаграмме, на которой находится указанный график.  
 
Кто-нибудь встречал типа архива графических файлов .bmp меток для Quik ?
Нужны стандартные треугольники куплено-продано.
 
Цитата
Kolossi написал:
Кто-нибудь встречал типа архива графических файлов .bmp меток для Quik ?
Нужны стандартные треугольники куплено-продано.
iconizer.net
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
К разработчикам:

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

PS Знаю, сейчас мне покажут ссылку, где такое предложение одобрено разработчиками много лет назад и однажды будет реализовано. )) Но все же
 
Kolossi, здравствуйте.

Предлагаем в настройках графика в левом выпадающем списке в пункте "Диаграмма" убрать галочку напротив пункта "Оставлять трендовые линии, фигуры и метки при смене инструмента" и нажать "Применить".
 
Цитата
Daniil Pozdnyakov написал:
Kolossi, здравствуйте.

Предлагаем в настройках графика в левом выпадающем списке в пункте "Диаграмма" убрать галочку напротив пункта "Оставлять трендовые линии, фигуры и метки при смене инструмента" и нажать "Применить".
Ага, заработало, спасибо.
Тогда подскажите еще галочку что бы из меню правой клавиши при наведении на метку созданную средствами qlua при выборе "удалить" удалялачь одна метка а не все.
 
Kolossi, здравствуйте.

Правильно понимаем, что Вы добавляете метки на график при помощи Qlua, потом наводите мышкой на метки, вызываете контекстное меню, нажимаете "удалить", и удаляются абсолютно все метки на графике ?

Если так, то просьба создать архив директории терминала без *.txk ключей, выложить его на какой-либо файлообменный сервер и на адрес quiksupport@arqatech.com прислать ссылку для скачивания.    

Дополнительная просьба в письме укажите, пожалуйста, ссылку на данную ветвь форума.
 
Цитата
Daniil Pozdnyakov написал:
Kolossi, здравствуйте.

Предлагаем в настройках графика в левом выпадающем списке в пункте "Диаграмма" убрать галочку напротив пункта "Оставлять трендовые линии, фигуры и метки при смене инструмента" и нажать "Применить".
Даниил, все таки  помогите пожалуйста разобраться убогому чем это
Вот убрал я эту галочку. График привязан якорем к таблице текущих торгов, стоит идентификатор "RZ".
В таблице текущих торгов выбран Газпром. В это время в скрипте срабатывает заявка по инструменту Сбербанк и скрипт выставляет метку с ценой и временем в график с идентификатором "RZ".  Куда она выставляется? При переключении графика на Сбербанк метки нет.  На графике Газпрома ее тоже нет. Но в системе по uid она находится.
 
Цитата
Kolossi написал:
В таблице текущих торгов выбран Газпром.
Цитата
Kolossi написал:
Куда она выставляется?
Скорее всего, на график Газпрома.

Цитата
Kolossi написал:
скрипт выставляет метку с ценой и временем
Ищите метку на этом уровне цены.
Надо делать так, как надо. А как не надо - делать не надо.
 
Старатель, это я к тому, что в ответ на предложение сделать привязку метки к тикеру мне саппорт посоветовал  убрать галочку напротив пункта "Оставлять трендовые линии, фигуры и метки при смене инструмента".  После чего бардак с метками на графике успешно превращается в полный бардак.
Страницы: 1
Читают тему
Наверх