Re: Визуальный интерфейс VCLua в QUIK
Синее выделение - не убирается. И заменить цвет этого выделения в текущей версии - никак.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
QUIK -> DDE → Lua: визуальные библиотеки → Визуальный интерфейс VCLua в QUIK
Страницы Назад 1 2 3 4 5 6 7 … 11 Далее
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Синее выделение - не убирается. И заменить цвет этого выделения в текущей версии - никак.
1) А возможно lua скрипт в dll закотать?
2) Как программно выставить заявку на покупку, продажу (по определенной цене или по рыночной) или выставить стоп? Посмотрев [url=https://quik2dde.ru/viewtopic.php?id=39]этот пример[/url] я так и не смог понять как …? И где можно почитать про такие функции как SendLimitOrder (в QLUA.chm я не нашел)?
1) А возможно lua скрипт в dll закотать?
Здесь я бы попросил поподробнее задачу описать.
Буквально напрямую - нет (ну в реалиях QUIK), во всяком случае мне не удалось придумать; но можно весь функционал Lua-скрипта реализовать полностью в виде dll, правда "стартовый" скрипт, подгружающий эту dll всё же - понадобится.
Если кто-то придумает трюк как обойтись без этого стартового скрипта - было бы здорово.
Еще вариант - "закриптовать" Lua-скрипт - это если надо скрыть его текст. Ну если про это речь.
2) Как программно выставить заявку на покупку, продажу (по определенной цене или по рыночной) или выставить стоп?
Любые заявки - это отправка транзакций через вызов sendTransaction().
[url=http://forum.qlua.org/forum4.html?sid=794b314dee97e5266c98aac372659b46]Вот здесь[/url] парни делают толковую библиотеку именно про трейдинг; в ней есть готовый удобный код отправки разных транзакций.
Здесь я бы попросил поподробнее задачу описать.
Я хотел выложить программу, но без возможности её редактировать
Любые заявки - это отправка транзакций через вызов sendTransaction().
[url=http://forum.qlua.org/forum4.html?sid=794b314dee97e5266c98aac372659b46]Вот здесь[/url] парни делают толковую библиотеку именно про трейдинг; в ней есть готовый удобный код отправки разных транзакций.
Спасибо
Сделал разряженный стакан и никак не могу сделать так чтобы лучшая покупка/продажа были всегда видны ? У меня если цена уходит вверх/вниз, то цена заходит за видимую часть таблицы.
Подскажите пожалуйста, как сделать так чтобы таблица (всегда или по клику мышки) показывала определенную строку(и)? Может для стакана используется другой элемент?
Спасибо.
Помогите с ListView. Ни как не могу понять как этот элемент использовать. Выходит сообщение "...attempt to call field 'ListView' (a nil value)".
ну или помогите прикрутить [url=http://sourceforge.net/projects/vclua/files/latest/download?source=navbar]эту dll-ку[/url]
При использовании vcl.dll в терминале QUIK могут возникать ошибки, приводящие к падению терминала с созданием дампа. Код исключения при этом может быть c0000090. Ошибка носит "плавающий" характер, может где угодно при операциях с плавающей точкой и довольно трудно локализуется.
Причины и способы лечения подробно разобраны по следующим ссылкам:
[url]http://stackoverflow.com/questions/20521608/floating-point-number-conversion-horror-is-there-a-way-out[/url]
[url]http://blogs.msdn.com/b/dougste/archive/2008/11/12/random-and-unexpected-exception-flt-divide-by-zero-and-exception-flt-invalid-operation.aspx[/url]
[url]http://digital.ni.com/public.nsf/allkb/E6A73825E57FCD9F862570DD005E594F[/url]
admin: Михаил, спасибо за сообщение.
Будем посмотреть )
Научите, пожалуйста, как подключить [url=http://sourceforge.net/projects/vclua/files/vclua-v0.5.0/]новою dll-ку[/url] к Quik?
Arhn,
в самом первом сообщении в этой теме написано как устанавливать. Думаю, что ничего измениться не должно было.
Или что-то не получается?
Кстати, чего там нового в новой версии?
Хочу использовать ListView
День добрый, отличный ресурс, много полезного и помощи, спасибо!!!
И мне вот подскажите плз, можно циклом задать столбцы в Grid? Типа такого, но так не работает.
grid = VCL.StringGrid(form)
grid._ = { width=300, height=300, RowCount = 40, AutoEdit = False, FixedCols = 0, FixedRows = 1, Flat = True }
gridtab={
["Первый"]="0xFF0000",
["Второй"]="0x00FF00"
}
grid:SetColParams({
for i, v in pairs(gridtab) do
{Width=50, Alignment="taRightJustify", Color=v, Title={Color=v, Caption=i, Alignment="taCenter"}};
end
})
И ещё просьба , в Вашей кавер-версии VCLua не срабатывает
width, height = VCL.GetScreenSize()
Не могли бы Вы её добавить или подсказать правильный синтаксис для Вашей версии?
Спасибо.
Есть ведь Grid, вроде суть та же
А возможно сделать так чтобы лучшая цена продажи и покупки была видна всегда (не уходила за пределы видимой части стакана и при приближении к краю стакана централизовался)?
И ещё просьба , в Вашей кавер-версии VCLua не срабатывает
width, height = VCL.GetScreenSize()
Похоже на сайте давно не обновлял и все еще на основе 0.3.3 версии выложена библиотека.
Непременно обновлю!
А возможно сделать так чтобы лучшая цена продажи и покупки была видна всегда (не уходила за пределы видимой части стакана и при приближении к краю стакана централизовался)?
С позиционирование грида в нужную точку - не просто это. Но надо подумать, наверное надо на Panel его положить а там уже перемещать...
Подумал: по-моему, неправильный взгляд на всё это. Собственно почему лучшая цена уходит на видимую границу? потому что программист её рисует за видимой границей.
Может есть смысл просто изменить алгоритм заполнения строк Grid данными стакана?
Например, пусть видно 20 строк. Тогда от середины вверх откладываем 10 покупок, от середины вниз откладываем 10 продаж, вот и все. Остальное отбрасываем. Если покупок или продаж меньше 10 - очищаем оставшиеся ячейки.
Вот и получится, что лучшая покупка/продажа всегда видны.
Arhn пишет:А возможно сделать так чтобы лучшая цена продажи и покупки была видна всегда (не уходила за пределы видимой части стакана и при приближении к краю стакана централизовался)?
С позиционирование грида в нужную точку - не просто это. Но надо подумать, наверное надо на Panel его положить а там уже перемещать...
Подумал: по-моему, неправильный взгляд на всё это. Собственно почему лучшая цена уходит на видимую границу? потому что программист её рисует за видимой границей.
Может есть смысл просто изменить алгоритм заполнения строк Grid данными стакана?
Например, пусть видно 20 строк. Тогда от середины вверх откладываем 10 покупок, от середины вниз откладываем 10 продаж, вот и все. Остальное отбрасываем. Если покупок или продаж меньше 10 - очищаем оставшиеся ячейки.
Вот и получится, что лучшая покупка/продажа всегда видны.
Приходится иногда ползунок двигать чтобы посмотреть заявки ушедшие за видимую часть в разряженном стакане. Думал ListView решит проблему.
GREEN_X5 пишет:И ещё просьба , в Вашей кавер-версии VCLua не срабатывает
width, height = VCL.GetScreenSize()Похоже на сайте давно не обновлял и все еще на основе 0.3.3 версии выложена библиотека.
Непременно обновлю!
Спасибо за новую библиотеку! Но к сожалению в ней тоже GetScreenSize() не работает. Выслал ответным письмом версию с работающей функцией, посмотрите на досуге?
Еще вопросы.
2. На vclua.99k.org лежит luaversion 5.2, но QLUA не может прочитать этот модуль, ругается, не посмотрите в чем там проблема?
3. Можно передать аргумент при обращению к обработчику формы?
mainMenu = VCL.MainMenu(mainForm,"mainMenu")
mainMenu:LoadFromTable({
{caption="Пауза", onclick="Pause"}, -- здесь аргумент прикрепить можно?
})
Кстати, у кого форма закрывается с последующей неизвестной ошибкой, посоветую вот сюда слип приткнуть. Мне реально помогает.
function OnFormClose(Sender, CloseAction)
OnClose()
end
function OnClose()
is_run = false
sleep(500)
mainForm:Release()
end
2. На vclua.99k.org лежит luaversion 5.2, но QLUA не может прочитать этот модуль, ругается, не посмотрите в чем там проблема?
В QUIK, в QLua вшита версия Lua 5.1
Версия 5.2 это не просто обновление, а капитально несовместимая версия.
Соответственно все библиотеки для Lua надо брать предназначенные для 5.1 версии.
3. Можно передать аргумент при обращению к обработчику формы?
Нет, это же просто объявление, что такая-то функция будет обработчиком, а не срабатывание этого обработчика; формат обработчиков - строго фиксированный.
Понял по совместимости версий, спасибо!
Помогите пожалуйста по обработчику для VCL.ToggleBox. Со всеми формами разобрался, с этой встрял, вынос мозга! Синтаксис тут - [url]http://vclua.luaforge.net/vclua-0.3.2.html#ToggleBox[/url]
Вот так только первый раз отрабатывает нажатие, а отжатие и далее - банан африканский! (((
ActivedButton = VCL.ToggleBox(mainForm,"Переключатель чтоб он сдох")
ActivedButton._={Caption="Включить", OnEnter="ToggleON", OnExit="ToggleOFF" }
function ToggleON(Sender)
ActivedButton.Enabled=true
ActivedButton.Caption ="РАБОТАЕТ"
end
function ToggleOFF(Sender)
ActivedButton.Enabled=false
ActivedButton.Caption ="Отключено"
end
или подскажите как увидеть что передается через Sender? OnChange() вроде отрабатывает, но как понять в отработчике в какое положение сейчас кнопка пошла?
require "vcl"
mainForm = VCL.Form("mainForm")
mainForm._= { position="podesktopcenter", height=200, width=300, Caption="test" }
ActivedButton = VCL.ToggleBox(mainForm,"ActivedButton")
ActivedButton._={Caption="Init", OnChange="ActivedButton_OnChange", Top=10, Left=10}
mainForm:Show()
function ActivedButton_OnChange(Sender)
if ActivedButton.Checked then
ActivedButton.Caption = "Check"
else
ActivedButton.Caption = "Un Check"
end
end
is_run = true
function main()
while is_run do
sleep(50)
end
end
function OnStop()
is_run = false
mainForm:Release()
end
А вы использовали какие-то не для той задачи свойства:
OnEnter - событие получения фокуса ввода
OnExit - событие потери фокуса ввода
Enabled - запрет/разрешение менять состояние контрола
Вопрос про динамическое добавление столбцов в грид. Это вот так делается:
grid = VCL.StringGrid(form)
grid._ = { width=300, height=300, RowCount = 40, AutoEdit = False, FixedCols = 0, FixedRows = 1, Flat = True }
gridtab={
["Первый"]="0xFF0000",
["Второй"]="0x00FF00"
}
for i, v in pairs(gridtab) do
grid:AddCol(
{ Width=50, Alignment="taRightJustify", Color=v,
Title={Color=v, Caption=i, Alignment="taCenter"} }
)
end
А вы использовали какие-то не для той задачи свойства:
OnEnter - событие получения фокуса ввода
OnExit - событие потери фокуса ввода
Enabled - запрет/разрешение менять состояние контрола
Не подскажете как правильно обрабатывать переключатель? Или где найти такое как у Вас развернутое описание свойств?
Можно конечно в обработчике вести свой параллельный ключ-переключатель, но он будет фактически не связан с формой, не правильно это как-то... Или забить на этот переключатель?
За динамический ввод столбцов спасибо!
Насчет GetScreenSize - он был ещё в третьей оригинальной версии, у Вас наверное где-то утерялся при пересборке..
Страницы Назад 1 2 3 4 5 6 7 … 11 Далее
Чтобы отправить ответ, вы должны войти или зарегистрироваться
QUIK -> DDE → Lua: визуальные библиотеки → Визуальный интерфейс VCLua в QUIK
Форум работает на PunBB, при поддержке Informer Technologies, Inc