Окно графика со своим таймфреймом

Страницы: 1
RSS
Окно графика со своим таймфреймом
 
Можно ли на луа создать окно графика в квике со своим таймфреймом, например 40 сек?
 
Цитата
Александр написал:
Можно ли на луа создать окно графика в квике со своим таймфреймом, например 40 сек?

создать такое же окно как в QUIK нельзя.
Можно заказать нужные данные через функцию CreateDataSource и далее что-то с ними делать.
 
Цитата
Sergey Gorokhov написал:
Цитата
Александр   написал:
Можно ли на луа создать окно графика в квике со своим таймфреймом, например 40 сек?
создать такое же окно как в QUIK нельзя.
Можно заказать нужные данные через функцию CreateDataSource и далее что-то с ними делать.
А можно рассмотреть такой вариант как пожелание к реализации: Создание графических окон QUIK со своим тайм-фреймом с помощью скрипта на луа.
 
Цитата
Александр написал:
Цитата
Sergey Gorokhov   написал:
Цитата
Александр   написал:
Можно ли на луа создать окно графика в квике со своим таймфреймом, например 40 сек?
создать такое же окно как в QUIK нельзя.
Можно заказать нужные данные через функцию CreateDataSource и далее что-то с ними делать.
А можно рассмотреть такой вариант как пожелание к реализации: Создание графических окон QUIK со своим тайм-фреймом с помощью скрипта на луа.
Надо смелее быть, раз уж желать, то и возможность рисования баров на графике с помощью скрипта на Lua. Т.к. это уже будет касаться не только таймфрейма.
 
Здравствуйте!

Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
 
   Люди уже 15 лет просят дать возможность простую линию на графике рисовать, а вы аж бары, да в отдельном окне...
  ...Хотя я тоже за эту возможность! Сам не просил ибо ...уже написал выше. Помечтаем однако о несбыточном...
 
Цитата
Андрей Пахомов написал:
Люди уже 15 лет просят дать возможность простую линию на графике рисовать, а вы аж бары, да в отдельном окне...
  ...Хотя я тоже за эту возможность! Сам не просил ибо ...уже написал выше. Помечтаем однако о несбыточном...
Простую линию на графике нарисовать легко, у меня несколько индикаторов на эту тему есть, а вот бары в принципе недоступны.
 
Цитата
Александр М написал:
Простую линию на графике нарисовать легко
Видимо я что-то пропустил, будьте добры покажите чайнику простой рабочий пример команды рисования простой линии в программе QLUA, от одного времени и цены до других времени и цены на графике, примерно в таком виде:
Рисование метки на графике:
local TLB={}

function main()
   TLB.IMAGE_PATH = "D:\\LUA\\gd1x100.bmp"
   TLB.ALIGNMENT = 'RIGHT'
   TLB.YVALUE = 7400
   TLB.DATE = 20150814
   TLB.TIME = 100000
   TLB.HINT = "Label !!!"
   AddLabel('SR', TLB)
end
 
Андрей Пахомов, легко, в программе индикатора. Идея - определим только начало и конец отрезка.
Пока еще работает, но разработчики, думаю, искоренят этот эффект.

Settings =
{
 Name = "!!!line",
 line =
 {
  {
   Name = "line1",
   Color = RGB(0,128,64),
   Type = TYPE_LINE,
   Width =3
  }
 }
}

Init = function()
 return 1
end

function OnCalculate(index)
 if index == 1917 then return 99 end
 if index == 2420 then return 121 end
 return nil
end
 
Цитата
Борис Гудылин написал:
Пока еще работает
Так это вроде не баг. Я так кривые P/L рисую прям на графике.

Цитата
Борис Гудылин написал:
но разработчики, думаю, искоренят этот эффект.
Или это ирония?
 
Imersio Arrigo, ... сквозь слезы.
Скорее всего, так у них получилось. Если бы это было осознанное действие, то и разбить одну линию индикатора на участки с разной раскраской/видимостью  тоже смогли бы (может, уже и сделали, давно не слежу).
 
По возможности стараюсь уйти от зависимости от многих возможностей QLUA, от особенностей и сроков их реализации. Иногда реализация пожеланий имеет характер какой-то шутки, пару-тройку раз на собственном опыте убеждался.

Отдал дань индикаторам на этапе исследования свойств рынка.
Доступ к данным есть (разные варианты), торговые приказы можно отдавать, миллисекундные штампы - есть, ордерлоги для анализа нюансов можно найти, асинхронные выходы - есть, DLL подключается, массивы передаются и обсчитываются, нарезать свечки по вкусу - можно, быстрая связь между потоками - есть, хорошие алгоритмы - есть.
Для полного счастья только времени не хватает.

Но есть и опасение, что QUIK могут перегрузить каким-нибудь бантиком, типа историей на 65000 свечек. Появляются тормоза. Хорошо еще, что пока можно обрезать историю до 3000 свечек.
 
Цитата
Борис Гудылин написал:
Андрей Пахомов  , легко, в программе индикатора. ...
  Для тех кто "в танке" уточню вопрос.

  Покажите пожалуйста чайнику простой рабочий пример команды рисования простой линии в программе QLUA (той что доступна в окне "доступные скрипты"), а не в индикаторе, от одного времени и цены до других времени и цены на графике.
  Либо покажите как можно использовать ваш код из программы QLUA.

  Сами по себе индикаторы технического анализа которые представляют собой отдельный  класс скриптов и не работают в программах QLUA мне известен со времени их введения в QUIK, и я уже умею им  пользоваться. Но с таким же успехом я могу рисовать линии на графиках и в фотошопе... Толку мне от этого?

Заранее спасибо.
 
Андрей Пахомов, заготавливайте данные для отрисовки в LUA-скрипте, а рисуйте в индикаторе ТА, который эти данных заметит при очередном вызове.
Можно? Да.
Плохо? Конечно.  
 
Цитата
Борис Гудылин написал:
Андрей Пахомов  , заготавливайте данные для отрисовки в LUA-скрипте, а рисуйте в индикаторе ТА, который эти данных заметит при очередном вызове.
Можно? Да.
Плохо? Конечно.
  В этом и вопрос. Раз можно, то как именно перезапускать индикатор из программы? Приведите рабочий пример пожалуйста. Вы же не предлагаете мне сидеть и выполнять работу робота - перезапускать индикатор по несколько тысяч раз в день? А программа тогда  зачем? Проще в ручную линии рисовать и перетаскивать.
 
Андрей Пахомов, Вы же писали индикаторы (с Ваших слов).
Они вызываются асинхронно, в рамках основного потока, обычно много-много раз для ликвидных инструментов при изменении текущей свечки, можете оценить - это не сложно, Возможно, Вас устроит частота вызовов и отрисовки линий (или еще чего) по тем данным, что насчитал Ваш LUA-скрипт. Да, будет асинхронность и некоторое отставание от момента выставления признаков и данных в Вашем LUA-скрипте для отрисовки индикатором, но Вы же не HFT решение хотите реализовать.

Ваш LUA-скрипт выполняется в другом потоке, Вам не надо вызывать индикатор (это делает QUIK), но Вам надо из LUA-скрипта передать ему данные. Найдите вариант передачи данных между потоками, который соответствует Вашей квалификации, например, через файлы, через MMF (Memory Mapped File), ...
Если обсчет для отрисовки не занимает много времени, то можно вынести его в индикатор, я так делал и много чего рисовал и перерисовывал.

В этом вопросе можно и дальше углубляться.

Imho, требовать и ждать чего-то от разработчиков - потеря времени.  
 
Цитата
Борис Гудылин написал:
Андрей Пахомов  , Вы же писали индикаторы (с Ваших слов).
  Что значит "писали индикаторы" и "с Ваших слов"? %-\ Где я просил показать индикаторы (полную ссылку пожалуйста, а не ЛОЖное голословное утверждение)? Не надо придумывать и писать то чего нету ("вам надо", "вы хотите/не хотите"). С такими заявлениями вам надо или продавать вещи которые никому не нужны даже бесплатно или в пирамидах учавствовать. Я всё время пытался узнать как рисовать ЛИНИИ В ПРОГРАММЕ QLUA. НЕ в индикаторе или фотошопе! В итоге похоже получил только перевирание моих же слов, и заумные речи вместо конкретного примера, которые никак не продвигают меня к решению конкретно указанной проблеме.
 Сначала писали мне про индикаторы, от которых мне толку никакого, теперь пишите:
Цитата
Борис Гудылин написал:
Найдите вариант передачи данных между потоками...
Так вы знаете как нарисовать простую линию из программы или такой возможности, как я писал ранее, нету и вы просто пытаетесь показать, что очень умный?

Извините если грубо, но мягче обрисовать ситуацию не смог.(
 
Андрей Пахомов, извините, обознался. Я думал Вам ехать надо, а Вам, оказывается, шашечки нужны.

Спасибо за внимание.
 
Цитата
Андрей Пахомов написал:
Цитата
Борис Гудылин   написал:
Найдите вариант передачи данных между потоками...
Так вы знаете как нарисовать простую линию из программы или такой возможности, как я писал ранее, нету и вы просто пытаетесь показать, что очень умный?
Человек вам помочь пытается, дело говорит, а вы не слушаете... Его идея состоит в том, что линии рисуются в «индикаторе Lua», а данные для этого идут из «программы Lua». Потому что по-другому не получится.

Возьмите к примеру драйвер в ОС. Который имеет доступ напрямую к портам, шинам, объектам ядра и т.д. Вы не можете написать обычную прикладную программу, которая напрямую работает в ядре. Поэтому разбиваете её на две части. На драйвер и на саму программу пользовательского режима. В программировании это обычное дело. То что может сделать программа она делает, а далее передаёт данные через файловый интерфейс IOCTL в драйвер, который уже к примеру рисует картинку на каком-нибудь устройстве.

В Quik тоже самое вам предлагает сделать Борис Гудылин, рисование вынести в индикатор, а логику в программу. И соединить их между собой. Индикатор Lua будет как бы вашим «драйвером» для рисования линии, а программа будет собственно программой. И они будут в связке между собой работать. Вы даже можете написать один раз специальный индикатор рисования линий с общим интерфейсом, и затем использовать его многократно во всех своих разных скриптах, чтобы не делать повторно его каждый раз.
 
Цитата
Борис Гудылин написал:
Андрей Пахомов  , извините, обознался. Я думал Вам ехать надо, а Вам, оказывается, шашечки нужны.

Спасибо за внимание.
  ДА! ДА! ДА! МНЕ ЕХАТЬ НАДО! И УЖЕ ДАВНО! А вы мне всё шашечки предлагаете... ;(

  Не за что, вы же его и хотели.

Цитата
Suntor написал:
Цитата
Андрей Пахомов   написал:
Цитата
Борис Гудылин   написал:
Найдите вариант передачи данных между потоками...
Так вы знаете как нарисовать простую линию из программы или такой возможности, как я писал ранее, нету и вы просто пытаетесь показать, что очень умный?
Человек вам помочь пытается, дело говорит, а вы не слушаете... Его идея состоит в том, что линии рисуются в «индикаторе Lua», а данные для этого идут из «программы Lua». Потому что по-другому не получится.

Возьмите к примеру драйвер в ОС. Который имеет доступ напрямую к портам, шинам, объектам ядра и т.д. Вы не можете написать обычную прикладную программу, которая напрямую работает в ядре. Поэтому разбиваете её на две части. На драйвер и на саму программу пользовательского режима. В программировании это обычное дело. То что может сделать программа она делает, а далее передаёт данные через файловый интерфейс IOCTL в драйвер, который уже к примеру рисует картинку на каком-нибудь устройстве.

В Quik тоже самое вам предлагает сделать  Борис Гудылин , рисование вынести в индикатор, а логику в программу. И соединить их между собой. Индикатор Lua будет как бы вашим «драйвером» для рисования линии, а программа будет собственно программой. И они будут в связке между собой работать. Вы даже можете написать один раз специальный индикатор рисования линий с общим интерфейсом, и затем использовать его многократно во всех своих разных скриптах, чтобы не делать повторно его каждый раз.
  Очень даже внимательно читаю. Но пока что ни он ни вы мне никак не помогли. Да, вы оба умно и верно всё пишите. И вы Борис написали более внятно и доходчиво, и даже предложили вариант с вынесенной процедурой. Но НИКАК не помогаете. Совсем. С этой идеей, что вы оба мне повторяете, я знаком на практике уже лет 30. Вот только в данном случае, это всего лишь идея. Теория. Другими словами "вымысел на основании опыта в других областях". Т.е. КАК именно это сделать, в данной ситуации, никто не пишет. Почему вы так уверены, что я раньше не искал как можно её реализовать через LUA-скрипты? Разработчики пишут, что это не возможно. Человек написал, что это возможно и он много раз это делал (см. сообщение #13 и 15), а значит либо знает КАК это делается, либо балаболит. Под конец начал, просто откровенно перевирать написанное мной, что я мол просил LUA-скрипты, а не программу. И в заключение вместо прямого ответа на многократно заданный и уточнённый вопрос, мягко послал... Какая интересная попытка помочь...
В итоге пока что с вами обоими получается диалог в одни ворота:
- Это можно сделать?
- Да.
- Как?
- Ну найди способ...
  Вам всегда так другие помогают? И как вам такая "помощь"? Помогает?

  Как наяву вижу, подходит ко мне студент и говорит: "Как мне решить эту задачу?", а я ему  вместо показа решения и объяснений нюансов: "Задачки выполняются графическим способом. Найди вариант решения задачки, который соответствует твоей квалификации. Например через эпюр Монжа конкурирующих точек и следов плоскостей во втором и третьем октанте. Возможно тебе помогут методы преобразования плоскостей. Спасибо за внимание.".
  Мда, жаль я раньше не знал, что это не откровенное издевательство, а попытка помочь. И надо не реально помогать дельными объяснениями и примерами, а вот так "пытаться помочь" красивыми подсказками, которые ничего не объясняют. Как было бы всё проще! Тогда бы все ученики быстрее и лучше изучали предмет!... Или пытались бы править мне морду лица?...

  "Делай или не делай. Пытаться не надо." Мастер Йода

 В общем если кто-то действительно знает решение и поделится им, то буду очень благодарен за помощь.

  P.S. Обычную прикладную программу на прямую работающую "в ядре" написать можно, но сейчас так  возни будет намного больше, чем оно того стоит. В подавляющем количестве случаев, ресурсов компьютера больше, чем  необходимость/стоимость/время написания такого кода. Под DOS-ом так часто делали. Иногда под  первыми ОС семейства Windows. На Spectrum-е вообще практически всё так писалось. Для моих задач, актуальность написания программ на ассемблере потеряла актуальность с появлением 386-х машин.

  P.S. 2 Прошу прощения за большое количество лирики. Просто балаболы на форумах достали. Вместо помощи ляпают не подумав, врут, перевирают, за "базар" не отвечают, а потом ещё и ты у них оказываешься в этом виноват...
 
Андрей Пахомов,

Из QLua-скрипта вы в терминале QUIK ничего нарисовать не сможете, если не считать неким рисунком наложение заранее заготовленных меток в виде графических рисунков. Если очень нужно иметь возможность рисования через скрипт, то только один вариант: пишете внешнюю DLL, рисующую в отдельном - вне терминала QUIK - окне, и вызываете ее функции. Громоздко и затратно получится, но получится. Правда, имеет смысл только в том случае, если у вас большой объем графического отображения. Иначе только головную боль приобретете и время потеряете.
 
Топикстартеру

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

шашечек в этом варианте нет, но едет сразу и быстро.
www.bot4sale.ru

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