полагаю, разработчики решили оставить эту тему на усмотрение пользователей...
Ошибка при запуске Луа-скрипта
Пользователь
Сообщений: Регистрация: 01.02.2015
05.03.2015 15:26:57
Цитата
Sergey Gorokhov пишет: Но как только путь где-либо поменять (например открыть другой скрипт из другой папки), то первый теряет свою папку и после перезапуска уже не запускается.
включаю квик, никаких других путей/открытых файлов/скриптов - НЕТ. возникает ошибка. алгоритм действий - отправить файл для анализа в арку->получить ответ, что у них это не воспроизводится->технично похерить тему.
по-видимому, надо понимать, что: найти - легко? найти-то легко но, там у вас ещё идёт возможность переключения отображения между вкладками. насчёт лишнее - оно было бы лишним, если бы вы сделали для нас свой аналог VCL. Но мне катастрофически непонятно почему Вы до си пор этого не делаете? Ведь всё для этого у вас в коде уже есть - надо просто дать пользователям пользоваться наконец. Или, оставьте квик и клуа для себя и молитесь на него/неё. и никто у вас её не украдёт и пользоваться не будет. прям, как детский сад. или делайте до конца или не выходите вовсе с сырым продуктом на рынок.
куда уж явней - когда в элементе диалогбокса - мы явно указываем строчку запускаемого скрипта? это Ваш косяк - признайте и исправьте это.
Вопрос по ЛУА (округление)
Пользователь
Сообщений: Регистрация: 01.02.2015
05.03.2015 14:59:34
самое простое - убрать нули справа
SetTableNotificationCallback
Пользователь
Сообщений: Регистрация: 01.02.2015
05.03.2015 13:44:17
между нами говоря - мы оба прекрасно знаем чем является t_id и что никакой это не HWND, что сильно усложняет задачу. t_id - это всего лишь некий индекс в QLUA и не более. поэтому нет возможности сказать windows, что это "папа" контрола. грешным делом была задумка одно время сделать невидимую таблицу нулевого размера, чтоб состряпать из неё базовый класс для контролов но и эту затею можно спустить в унитаз.
Насчёт интерфейсов классов - я просто начинаю отчаиваться в затее прямого диалога с разработчиками. Михаил, если вы по-прежнему в этом заинтересованы - то я буду продолжать.
SetTableNotificationCallback
Пользователь
Сообщений: Регистрация: 01.02.2015
05.03.2015 13:24:15
Извините, что несовсем в тему:
я думаю, лучше было бы, если разработчики определили бы так называемый класс QScript, имеющий одним из родителей класс CWnd, либо, обладающий возможностью создавать окна, который мы потом назовём главным и который будет владельцем всех окон порождённых от него. это значительно упростит написание/управление контролами.
, прошу зарегистрировать пожелание.
SetTableNotificationCallback
Пользователь
Сообщений: Регистрация: 01.02.2015
05.03.2015 13:14:48
Цитата
Серж пишет: Скрипт, например, может выполнять разовую (т.е., без цикла в main)
как вы себе это представляете? При условии нормальной работы qlua и отсутствии майна - скрипт полностью завершает свою работу. соответственно, и прошлый мой пример по идее не должен был работать:
Приоритет получения данных выглядит следующим образом:
- таблица котировок, - далее таблица текущих параметров - таблица всех сделок, - графики.
в связи с чем - вопросы: 1. значит ли то, что закрывая графики - мы ускоряем работу терминала? 2. значит ли то, что обращаясь к ТТП мы быстрей получим данные чем по коллбекам OnParam, OnTrade?
SetTableNotificationCallback
Пользователь
Сообщений: Регистрация: 01.02.2015
05.03.2015 10:43:41
Цитата
Michael Bulychev пишет: она закрывалась и раньше, просто в другой момент времени.
это уже звучит, как оправдания. ладно, больше нет вопросов.
имеется ввиду контекст созданный lua_newthread. просто по Вашим словам можно именно так понять, что закрывая скрипт - мы на самом деле не уничтожаем его VM.
вопрос разработчикам, структура файлов с графиками
Пользователь
Сообщений: Регистрация: 01.02.2015
05.03.2015 10:11:26
Цитата
Michael Bulychev пишет: Мы настоятельно не рекомендуем заниматься подобными вещами.
why not?
Вы не даёте пользователям самим решать на чём программировать роботов, привязывая их то к тупайлу то qlua, при этом, так и не сделав нормального описания. В то время - когда пользователи могли сами заняться улучшением квика и сделать своих роботов более гибкими, имея доступ к PluginAPI - Вы тем временем - сами зарабатываете на этом деньги, а им - оставляете лишь жалкое подобие фреймворка и километры бесчисленных пожеланий. Ведь Вы же понимаете, что на самом деле, любой закрытый формат - не вечен и что им просто серьёзно не занимались? Как Вы можете запретить в личных целях пользователям использовать части Вашего софта? Весь мир это делает и в целях изучения в частности. А потом, просто, навсегда забывает о квике и qlua (которую Вы упорно не хотите дорабатывать). На все пожелания - Вы отвечаете сотнями, "а почему", "а зачем". Взять хотя бы доступ к визуальному интерфейсу - неужели нельзя было перестать издеваться над своими пользователями и дать наконец им возможность использовать qlist.dll и qcontrols.dll на полную катушку? Почему мы все должны страдать из-за Вашей лени и пользоваться какими-то сторонними поделками (vclua, qclua)? Почему мы САМИ не можем писать плагины экспорта в СВОИ и другие системы теханализа? Вам самим не надоело выслушать все эти несбыточные пожелания от пользователей по квику и Вашей системе?
SetTableNotificationCallback
Пользователь
Сообщений: Регистрация: 01.02.2015
05.03.2015 09:51:01
Цитата
Michael Bulychev пишет: Вся штука в том, что окно привязано не к текущему инстансу VM Lua, а к загруженному скрипту.
а разве для каждого загруженного скрипта не создаётся виртуальная машина? т.е. получается, остановив скрипт - мы на самом деле ничего не останавливаем, а закрываем дочерний стейт?
Индикатор по двум инструментам., Возможность создания индикатора в расчете которого используются значение цены с двух инструментов.
Пользователь
Сообщений: Регистрация: 01.02.2015
05.03.2015 02:42:42
например, так: но, не без глюков
Как убрать T0 позицию с графика?
Пользователь
Сообщений: Регистрация: 01.02.2015
04.03.2015 22:54:32
Набирать вид лимита - лучше латинскими буквами - очевидно в понимании квика "Т"-русская и "Т"-латинская = разные вещи.
Как убрать T0 позицию с графика?
Пользователь
Сообщений: Регистрация: 01.02.2015
04.03.2015 22:49:32
специально для Вас:
Ontrade
Пользователь
Сообщений: Регистрация: 01.02.2015
04.03.2015 22:10:36
раз разработчики не хотят идти навстречу пользователям - то, самый простой способ получить ВСЕ ответы по QLUA - IDA Pro
Ontrade
Пользователь
Сообщений: Регистрация: 01.02.2015
04.03.2015 22:05:04
забавно наблюдать, как люди измеряют у кого QLUA-skill круче - при том, что сама qlua ещё в достаточно сыром состоянии, равно как и документация по ней:))) разработчики, наверно там со стороны хихикают уже давно:)) если бы арке не было нас..рать на свой биндинг-проект - они бы уже давно бы всё причесали.
нужно ли использовать Clear() при завершении скрипта
Пользователь
Сообщений: Регистрация: 01.02.2015
04.03.2015 18:25:01
возьму и этот слоган себе на вооружение:)))
вопрос разработчикам, структура файлов с графиками
Пользователь
Сообщений: Регистрация: 01.02.2015
04.03.2015 18:21:46
тут несколько вариантов:
либо написать скрипт на qlua в котором вести истории своих сделок, а потом метками размечивать их в графике
либо анализировать и изменять файл trades.dat - но этот формат закрытый и поэтому, законных методов не существует с ним работать.
либо ждать/молиться, что разработчики зарегистрируют такую фичу в своём м-м э.. так называемом, чудо-квике.
либо воспользоваться полулегальными поделками независимых разработчиков, благо таких тут навалом.
вопрос разработчикам, структура файлов с графиками
Пользователь
Сообщений: Регистрация: 01.02.2015
04.03.2015 17:18:51
Еще интересный материал, найденный на просторах интернета: честно сказать, товарищ SGN меня просто шокировал. Ищу с ним контактов.
нужно ли использовать Clear() при завершении скрипта
Пользователь
Сообщений: Регистрация: 01.02.2015
04.03.2015 17:11:46
Цитата
Николай Камынин пишет: QLUA это не способ достижения результата, асредство для увлекательного процесса угадывания.
пожалуй, это надо сделать названием форума :)))))
Стоп-заявки. Работа при отключённом QUIK.
Пользователь
Сообщений: Регистрация: 01.02.2015
04.03.2015 17:06:06
раз она зарегистрирована на сервере - то и отслеживается она не клиентским терминалом, а сервером.
нужно ли использовать Clear() при завершении скрипта
Пользователь
Сообщений: Регистрация: 01.02.2015
04.03.2015 16:11:53
самый простой способ получить ВСЕ ответы по QLUA - IDA Pro
Новый индикатор
Пользователь
Сообщений: Регистрация: 01.02.2015
04.03.2015 11:41:47
такой Вы можете сделать и на QLUA, была бы формула этого "Экстремум"-а
нужно ли использовать Clear() при завершении скрипта
Пользователь
Сообщений: Регистрация: 01.02.2015
03.03.2015 22:56:52
они сами не в курсе. Булычев ещё мог бы что-то сказать, остальные - вряд ли.
Закрытие позиции во внеторговое время
Пользователь
Сообщений: Регистрация: 01.02.2015
03.03.2015 10:28:04
также есть некоторая категория людей которых даже делистинг не останавливает - эти акции, будучи правильно подобранными - просто превращаются в дивитикеры. И брокер - вне зависимости от того есть ли листинг или нет - перечисляет по ним дивиденды. Это, как крайний случай. Разумеется доводить до делистинга позу не есть гуд. Но и тут, как видим - всё ещё есть возможность, что-то вернуть (засчёт дивидендов).
Закрытие позиции во внеторговое время
Пользователь
Сообщений: Регистрация: 01.02.2015
03.03.2015 10:24:17
QUIK не располагает и не может по определению располагать информацией о будущем той или иной акции (бумаги) - т.к. это зависит от многих сторонних факторов: биржа, эмитент, уровень Ваших рисков у брокера. Если на бирже решат, что конкретная акция снимается из котировального списка - то,как правило это не происходит внезапно, а даётся время на выход из позиций - это согласно уставу биржи и правил включения/исключения из котировальных списков (правил листинга). Не буду утверждать но, попадалось, что-то про месячный срок. Об этом, - Вы можете почитать сами поискав в документах биржи.
Закрытие позиции во внеторговое время
Пользователь
Сообщений: Регистрация: 01.02.2015
02.03.2015 17:25:49
думаю, Вам надо начать с прочтения документации по QUIK, потом зарегистрировать демо-счёт, потом поторговать на нём с полгодика - глядишь, и половина вопросов исчезнет.
:))))))) да, присоединяюсь к вышесказанному:))))))) очевидно программисты в арке за 15 лет так и не смогли настолько изучить собственный продукт, что просто не в состоянии написать к нему нормальный "хелп".
Отображение прибыли и убытка по конкретной сделке (и не только), доход, расход, статистика, интерфейс
Пользователь
Сообщений: Регистрация: 01.02.2015
02.03.2015 12:31:37
по-видимому, автор имеет ввиду такой watchlist, как в wealth-lab.
сделать автоматическое выставление стоп и профит при срабатывание заявки, Перенесено из архива форума
Пользователь
Сообщений: Регистрация: 01.02.2015
02.03.2015 12:29:49
в общем, как говорится, это бизнес, детка. или, зачем делать по-настоящему хороший продукт для всех, когда можно "всем" впарить квик с сырой qlua и тупайлом, а те кто не согласен - пусть платят деньги за плагины (в данном случае, покупая их у брокеров).
info.exe
Пользователь
Сообщений: Регистрация: 01.02.2015
01.03.2015 18:43:32
мда уж... из-за флуда тему можно считать похеренной...
Синхронизация потоков в своей dll на с++
Пользователь
Сообщений: Регистрация: 01.02.2015
01.03.2015 10:25:54
Цитата
lergen пишет: Похоже что реально многопоточность можно получить только разделив функции между разными скриптами.
в самом простом случае - Да.
И даже это нельзя будет назвать истинной многопоточностью - потому что квик работает с одним потоком данных и остальные скрипты просто будут ждать своей очереди для доступа к нему.
DestroyTable подвешивает терминал.
Пользователь
Сообщений: Регистрация: 01.02.2015
01.03.2015 09:57:34
для начала, что значит "зависание"? если это зависание проходит через 5 сек то, - это одно, а если нет - то ответы будут совсем другими. QLUA VM ждёт окончания работы колбека OnStop. после окончания его работы берёт из него возвращаемое в качестве результата время, которое Вы в нём укажете и только после этого принудительно останавливает поток майна, если время не указать - то время остановки майна по умолчанию - 5 сек. настройка времени остановки:
Код
function OnStop()
...
return 3000
В данном случае, скрипт остановится через 3 сек.
Синхронизация потоков в своей dll на с++
Пользователь
Сообщений: Регистрация: 01.02.2015
27.02.2015 22:25:52
имеется ввиду не потоки операционной сисиемы, а псевдомногопочность на основе LUA. Почитайте здесь:
Загрузка кода из строки
Пользователь
Сообщений: Регистрация: 01.02.2015
27.02.2015 19:13:38
таким образом, можно задавать условия/уровни работы роботов прямо из визуальной таблицы. Весь пример приводить не буду - логика и так понятна.
Загрузка кода из строки
Пользователь
Сообщений: Регистрация: 01.02.2015
27.02.2015 19:08:16
хорошая тема. вот, для начала (давно не проверял - может, что-то не хватать):
Код
n = 9
mm = 2
function main()
loadstring("if n >= mm then message('n >= mm') else message('n < mm') end")()
end
возможные грабли: надо/лучше как-то задействовать через pcall и функцию обработки ошибок.
если Вам не нравится этот форум то, Вы всегда можете уйти с него/не писать и не засорять его.
info.exe
Пользователь
Сообщений: Регистрация: 01.02.2015
27.02.2015 18:56:37
если Вы приняли меня за Nicols, как Вы написали в личке, или кого-то ещё - то Вы явно ошибаетесь. До этого я не был зарегистрирован и не участвовал на форуме квика. Так что, либо, как говорится, извинитесь/либо заткнитесь.
info.exe
Пользователь
Сообщений: Регистрация: 01.02.2015
27.02.2015 18:41:32
да уж... тяжёлый случай. остаётся только догадываться кто этот, так называемый Александрович. Идите лечитесь.
info.exe
Пользователь
Сообщений: Регистрация: 01.02.2015
27.02.2015 17:41:44
1. какая замена ника, какие комплексы? Вы о чём вообще??? Вы явно меня с кем-то путаете или у Вас стойкое психическое расстройство. 2. обязаловка - не обязаловка но, как говорится, за спрос не бьют в нос. захотят - ответят. нет - так у меня на это свой ответ имеется. просто меня это заинтересовало и всё. 3. какими и главное, перед кем я тут знаниями сверкаю? Вам бы к дохтуру, батенька... ------------------------ если Вы не разработчик - то, будьте добры, свалите из этой темы. или, быть может Вам стало просто скучно и Вы (о боже!) подумали: пойду-ка в комменты насру?
Не показывает смайлы
Пользователь
Сообщений: Регистрация: 01.02.2015
27.02.2015 17:28:26
Цитата
sam063rus пишет: Софья, покажи мне смайлик. м-м? ну паззялуйста.
ну что те стоит? м-м?
Не показывает смайлы
Пользователь
Сообщений: Регистрация: 01.02.2015
27.02.2015 15:01:19
Цитата
sam063rus пишет: Софья, покажи мне смайлик. м-м? ну паззялуйста.
Цитата
Sofia Fedurina пишет: спасибо, убрала сочетание « :\ » из смайлов.
У одного, значит, убрала - другому добавила. Так значит, да?:
Софья, я тебя просто просил смайлик показать, а не добавлять его (шутка)
------------- А если серьёзно, то: придётся тогда убирать и это сочетание: ") (двойная кавычка+закрывающая скобка)
С какого момента происходит изменение параметра количества открытых позиций?, С какого момента происходит изменение параметра количества открытых позиций?
Пользователь
Сообщений: Регистрация: 01.02.2015
27.02.2015 10:34:01
попробуй задать их бирже. уже было сказано, что именно она считает ОИ, а не квик.
это некрасиво. ответьте уж и нам тогда. или это не форум, а так, междусобойчик?
С какого момента происходит изменение параметра количества открытых позиций?, С какого момента происходит изменение параметра количества открытых позиций?
Пользователь
Сообщений: Регистрация: 01.02.2015
27.02.2015 10:16:20
Цитата
Андрей Белоусов пишет: в 10:05:00 была совершена сделка 10 лотов кто то купил (новая заявка) и 10 лотов кто то продал(новая заявка). Когда появится увеличение количества открытых позиций на 10 единиц?
может и не появиться - всё зависит от того открывается ли новая позиция у продавца или закрывается старая. это как минимум. А вообще, Вам нужно в корне пересмотреть подход к анализу ОИ. Было время когда это работало, потом стало работать попытка связать его (ОИ во фьючерсах) с опционами. Потом и это перестало работать, т.к. отношение объёма внебиржевого рынка деривативов к биржевому, судя по информации "из интернетов" составляет около 10.
С какого момента происходит изменение параметра количества открытых позиций?, С какого момента происходит изменение параметра количества открытых позиций?
Пользователь
Сообщений: Регистрация: 01.02.2015
27.02.2015 10:08:59
Цитата
Андрей Белоусов пишет: 1 как происходит увеличение кол-ва открытых позиций,
квик не считает открытый интерес, а транслирует с биржи. Поэтому, не в том месте и не у тех спрашиваете.
info.exe
Пользователь
Сообщений: Регистрация: 01.02.2015
27.02.2015 10:03:21
Вопрос[ы]: 1. Для чего в главном файле квика info.exe секция экспорта? 2. значит ли это, что это сделано для того, что часть кода/плагинов писалась независимыми разработчиками и, соответственно, компания просто не стала раскрывать все исходники, а ограничилась лишь интерфейсом взаимодействия лишь с самыми необходимыми функциями? 3. значит ли это, что так сказать, IPluginContext - не совершенен?
Синхронизация потоков в своей dll на с++
Пользователь
Сообщений: Регистрация: 01.02.2015
27.02.2015 09:05:06
Цитата
Michael Bulychev пишет: Можно считать, что "обычная" C-функция является частным случаем C closure, у которой нет upvalues.
да. уже прочитал:
Синхронизация потоков в своей dll на с++
Пользователь
Сообщений: Регистрация: 01.02.2015
27.02.2015 08:32:26
просто для меня понятия: просто функция и closure - несколько различаются.
получается, если верить Вашим словам - то у Вас должно быть так: #define lua_register(L,n,f) (lua_pushcfunction(L, (getNumberOf)), lua_setglobal(L, ("getNumberOf" ;) ))
вот про это я и спрашиваю. Почему именно lua_pushcclosure?
Синхронизация потоков в своей dll на с++
Пользователь
Сообщений: Регистрация: 01.02.2015
27.02.2015 07:53:14
получается, если верить Вашим словам - то у Вас должно быть так: #define lua_register(L,n,f) (lua_pushcfunction(L, (getNumberOf)), lua_setglobal(L, ("getNumberOf")))
Синхронизация потоков в своей dll на с++
Пользователь
Сообщений: Регистрация: 01.02.2015
27.02.2015 07:46:33
ладно. не хотите говорить - не надо.
Синхронизация потоков в своей dll на с++
Пользователь
Сообщений: Регистрация: 01.02.2015
27.02.2015 07:43:08
)))тогда другой вопрос: а как?)))
Синхронизация потоков в своей dll на с++
Пользователь
Сообщений: Регистрация: 01.02.2015
27.02.2015 07:36:04
но ведь именно так вы регистрируете в qlua свои функции?
Синхронизация потоков в своей dll на с++
Пользователь
Сообщений: Регистрация: 01.02.2015
27.02.2015 07:29:54
К Вам предложение, дополнить на форуме соответствующие темы, а также написать больше примеров того, как добавлять из C++ новые функции через closure.
Синхронизация потоков в своей dll на с++
Пользователь
Сообщений: Регистрация: 01.02.2015
26.02.2015 20:37:02
тема многопоточности, а тем более многопоточности в QLUA - тянет на целую книгу. в одном топике - вам тут никто не ответит на весь список ваших вопросов. Для начала, почитайте вот этот форум: quik2dde.ru. После того, как ВЕСЬ! его прочитаете - прочитайте ещё раза 2.
Цитата
Дмитрий пишет: Перечитал старый форум, но внятного ответа так и не нашёл.
а потому что его и нет))) внятный ответ должны дать Вы сами, бо как изначально, LUA задумывалась, как однопоточная, потом к ней добавили корутины, дочерние состояния (child lua_State) и пр.
Цитата
Дмитрий пишет: Наверняка уже многие делали то же, что и я, и многие ещё будут делать.
увы, таких единицы, если считать, чтоб всё ещё СТАБИЛЬНО работало. Дело в том, что сама QLUA постоянно меняется и постоянно допиливается. поэтому, пока не будет нормальной/стабильной "базы" - все наши "устремления" - лишь жалкие поделки, особенно, принимая во внимание изначальную полную "сопливость" штатной дкументации по QLUA.
Поиск элемента в таблице
Пользователь
Сообщений: Регистрация: 01.02.2015
26.02.2015 09:10:37
а то Вы не понимаете?... )))
показания на основе os.clock - каждый раз, разные и сильно варьируются.
насколько корректны показания этого os.clock? Михаил, уж Вы-то, постеснялись бы по нему показания сверять))))
Поиск элемента в таблице
Пользователь
Сообщений: Регистрация: 01.02.2015
25.02.2015 19:34:33
во всех алгоритмах идёт сравнение побайтно, в более современных - сравнение с хешем, есть реализации с C++ STL, правда в силу своей специфичности и того, что его "ляпают" все и везде где не попало - в большинстве своём, невсегда удачные.
Поиск элемента в таблице
Пользователь
Сообщений: Регистрация: 01.02.2015
25.02.2015 19:30:31
даже если не использовать циклы в самом скрипте - это не значит, что они (циклы) не будут использованы в движке LUA. Так что тут гадать и выдумывать не стоит. Для начала, вот ссылка на работу со строками в LUA:
StratVolat.dll и ещё...
Пользователь
Сообщений: Регистрация: 01.02.2015
25.02.2015 17:00:01
Цитата
Egor Zaytsev пишет: подпрограмму экспорта данных - процесс «winros.exe».
чтоб не плодить новую тему: разработчикам на заметку: при аварийном завершении/зависании работы квика (неважно с созданием дампа или без) - не выгружается из диспетчера процессов Windows - процесс winros. Если его вручную не "прибить" - то в следующий раз невозможно подключиться к серверу: пишет, что Вы, мол де, уже работаете в системе.
Нестандартный таймфрейм
Пользователь
Сообщений: Регистрация: 01.02.2015
25.02.2015 16:54:22
нет, и врядли предвидется.
Не показывает смайлы
Пользователь
Сообщений: Регистрация: 01.02.2015
25.02.2015 13:07:01
Софья, покажи мне смайлик. м-м? ну паззялуйста.
вопрос по коллбекам, к разработчикам (ONLY)
Пользователь
Сообщений: Регистрация: 01.02.2015
24.02.2015 21:28:21
Михаил, у меня к Вам нет больше никаких вопросов. всё, что я хотел - я уже узнал.
sam063rus , как по-вашему, как должен повести себя скрипт, что должно произойти с формой в ?
Несовсем понял общую мысль да и нет особого желания вникать, т.к. уже всё выяснили с разработчиками.
вопрос по коллбекам, к разработчикам (ONLY)
Пользователь
Сообщений: Регистрация: 01.02.2015
24.02.2015 17:29:26
Цитата
Michael Bulychev пишет: Никакого потока в Вашем коде не создается.
он создаётся не у меня, а у Вас в Вашей qlua.
вопрос по коллбекам, к разработчикам (ONLY)
Пользователь
Сообщений: Регистрация: 01.02.2015
24.02.2015 17:18:14
Цитата
Sergey Gorokhov пишет: из материалов с других форумов - мы знаем, что "main" запускается (а вместе с ней и создаётся отдельный поток) после колбека "OnInit" - значит ли это , что, если в скрипте не будет прописан колбек OnInit - то и для функции "main" не будет создан отдельный поток???
------------------------- Нет не значит.
Правильный ответ: проверяем есть ли в скрипте OnInit - если есть и он завершился без ошибки то, можно смело запускать поток и вызывать в нём "де-факто"-колбек "main". Если же OnInit нет то, просто пытаемся создать поток и запустить в нём "main" ----------------------- А вообще-то, с проверок и надо было начинать: если нет "майна", то и не должно быть создания потока. Это одна из Ваших ошибок.
вопрос по коллбекам, к разработчикам (ONLY)
Пользователь
Сообщений: Регистрация: 01.02.2015
24.02.2015 17:03:09
Цитата
Michael Bulychev пишет: при завершении скрипта с ошибкой не освобождаются ресурсы Lua.
дело в том, что ошибки в приведённом скрипте, как таковой и нет.
вопрос по коллбекам, к разработчикам (ONLY)
Пользователь
Сообщений: Регистрация: 01.02.2015
24.02.2015 17:01:17
осталось только спросить: от "main" в перспективе - нет планов отказываться?
вопрос по коллбекам, к разработчикам (ONLY)
Пользователь
Сообщений: Регистрация: 01.02.2015
24.02.2015 16:56:30
а я уж думал, что Вы мне не ответите. Рад, что наконец удалось "достучаться".
вопрос по коллбекам, к разработчикам (ONLY)
Пользователь
Сообщений: Регистрация: 01.02.2015
24.02.2015 15:14:54
Для всех заинтересованных лиц: взято из "их" м-м, э... "документации":
Цитата
main
Функция, реализующая основной поток выполнения в скрипте. Для ее выполнения терминал QUIK создает отдельный поток. Скрипт считается работающим, пока работает функция main(). При завершении работы функции main() скрипт переходит в состояние «остановлен». Если скрипт находится в состоянии «остановлен», то не происходит вызовов функций обработки событий терминала QUIK, содержащихся в этом скрипте.
порвите её и выкиньте.
вопрос по коллбекам, к разработчикам (ONLY)
Пользователь
Сообщений: Регистрация: 01.02.2015
24.02.2015 14:52:05
to разработчикам,
вместо того, чтоб выпускать "сырой" продукт на рынок и за столь долгое время так и не сумев не то, чтоб "допилить" его до товарного вида но, хотя бы даже самим изучить/быть в курсе, как это "чудо" работает, предлагаю отдать qlua в опенсорс. Один хрен, пользователи за вас делают Вашу работу. Так хоть не надо будет им более, что-то объяснять/оправдывать и постоянно допиливать/регистрировать не сбыточные пожелания.
вопрос по коллбекам, к разработчикам (ONLY)
Пользователь
Сообщений: Регистрация: 01.02.2015
24.02.2015 14:46:43
Цитата
Серж пишет: Перепишите вот так функцию asd() из первого кода, будет интересней
Код
function asd()
message('Close', 2)
main_window:Free()
end
ну и?
тут разговор о том, что заявленные "тезисы" разработчиков - не работают.
вопрос по коллбекам, к разработчикам (ONLY)
Пользователь
Сообщений: Регистрация: 01.02.2015
24.02.2015 14:14:49
Цитата
sam063rus пишет: задам другой вопрос: значит ли, что: когда основное тело скрипта выполнится и при условии отсутствия каких-либо колбеков в скрипте (за исключением OnStop), а также при отсутствии в скрипте функции main - скрипт полностью закончит свою работу, а вместе с ним и его виртуальная машина полностью закончит работу/будет разрушена?
package.cpath=getScriptPath().."\\?.dll"
package.path=getScriptPath().."\\?.lua"
require("vcl")
main_window = VCL.Form("mainForm")
main_window._ = {Caption = "simple bot", Height = 150, Width = 150, On Close = "asd"}
main_window:Show()
function asd()
main_window:Free()
end
Не трудно заметить, что окно вполне себе нормально живёт и реагирует на внешние события, несмотря на то, что кнопка "Остановить", нам "каГбэ" намекает, что останавливать-то по сути и нечего - всё уже как бы и так стоит.
Если Вы на это мне скажете, что вот мол, у меня тут есть свой OnClose - я могу привести другую картинку без него - просто окно закрываться перестанет, а все свои стандартные функции, такие как: обновление, обработка других оконных сообщений - оно продолжает исправно выполнять.
данный пример скрипта - закрывает окно только при закрытии квика, что немудренно - т.к. OnStop и OnClose (vcl-овский) - отсутствуют.
StratVolat.dll и ещё...
Пользователь
Сообщений: Регистрация: 01.02.2015
23.02.2015 19:04:56
StratVolat.dll - платный. он подключается/отключается у брокера.
Формула MACD и MACD гист., Подскажите формулы
Пользователь
Сообщений: Регистрация: 01.02.2015
22.02.2015 06:38:18
см. файл справки QUIK: ...info.chm::/ch4_4_14.html ...info.chm::/ch4_4_15.html (info.chm->Раздел 4. Работа с графиками ->Методы технического анализа)
тема новый ФОРУМ - где темы старого форума...
Пользователь
Сообщений: Регистрация: 01.02.2015
21.02.2015 09:48:13
Цитата
Sofia Fedurina пишет: Рекомендую пользоваться поиском архивного форума — , а не внешними поисковыми системами.
А вообще, - Вы не имеете ни морального, ни законного права навязывать пользователям свой "поиск" по форуму.
p.s. Слава богу гугл, наконец научился/добрался до старого форума.
вопрос по коллбекам, к разработчикам (ONLY)
Пользователь
Сообщений: Регистрация: 01.02.2015
21.02.2015 08:22:05
и последний вопрос: из материалов с других форумов - мы знаем, что "main" запускается (а вместе с ней и создаётся отдельный поток) после колбека "OnInit" - значит ли это, что, если в скрипте не будет прописан колбек OnInit - то и для функции "main" не будет создан отдельный поток???
-------------------- этот, как и предыдущий вопрос относится не только к Михаилу, но и к другим разработчикам.
работа с фьючерсами
Пользователь
Сообщений: Регистрация: 01.02.2015
21.02.2015 06:36:44
там есть все формулы.
работа с фьючерсами
Пользователь
Сообщений: Регистрация: 01.02.2015
21.02.2015 06:36:06
Цитата
sam063rus пишет: О порядке фьючерсных расчётов вам надо не здесь у разработчиков спрашивать, а на сайте ммвб читать: Спецификацию на фьючерсный контракт на "такой-то актив" Методику расчёта вариационной маржи по фьючерсному контракту "такого-то" актива Правила клиринга на Срочном Рынке
Как определить будет ли торговаться акция
Пользователь
Сообщений: Регистрация: 01.02.2015
20.02.2015 19:45:25
дни до погашения (дни до экспирации) только у срочных контрактов и, если память не изменяет ещё у облигаций - только называется по-другому: до оферты. что-то вроде этого: Дюрация (к погашению/оферте) – это численность дней, оставшееся до ближайшего события погашения или оферты.
насчёт первого пункта: не надо впадать в крайность: если память не изменет то даже если объявят делистинг - у вас ещё будет минимум месяц, если не ошибаюсь, чтоб избавиться от своих бумаг. вы это можете и сами почитать, а не тут спрашивать. зайдите на ммвб и для начала почитайте: Правила листинга.
Как определить будет ли торговаться акция
Пользователь
Сообщений: Регистрация: 01.02.2015
20.02.2015 17:54:17
Цитата
Андрей пишет: завтра и далее акция не будет торговаться на рынке.
самое правильное - смотреть ежедневно анонс новостей на сайте биржи - там постоянно пишут какие бумаги вводятся и выводятся из списка (листинг/делистинг).
Как определить будет ли торговаться акция
Пользователь
Сообщений: Регистрация: 01.02.2015
20.02.2015 17:52:19
такого нет и не предвидеться. т.к. будет ли торговаться бумага или НЕ будет - зависит не от квика, не от брокера и даже в меньшей степени не от биржи, а от ситуации на рынке/в стране, а также от воли эмитента. в квике можно лишь посмотреть по срочным контрактам срок экспирации и то, биржа имеет право его менять/продлять.
вопрос по коллбекам, к разработчикам (ONLY)
Пользователь
Сообщений: Регистрация: 01.02.2015
20.02.2015 10:15:48
задам другой вопрос: значит ли, что:
когда основное тело скрипта выполнится
и при условии отсутствия каких-либо колбеков в скрипте (за исключением OnStop),
а также при отсутствии в скрипте функции main -
скрипт полностью закончит свою работу, а вместе с ним и его виртуальная машина полностью закончит работу/будет разрушена?
sam063rus значит ли это, что Вы в qlua переопределили стандартные макросы lua_lock/lua_unlock с пустышек на критические секции или, что/то в этом духе? и если да - то и нам можно теперь ими пользоваться?
Слава небесам! Неужто таки догадался?
я создал эту тему не "догадываться", а постараться получить чёткий ответ от разработчиков законными методами. поэтому многие многие вопросы для кого-то кажутся глупыми, о чём я заранее предупредил вначале топика:
Цитата
-------------- вопросы на самом деле - не глупые, но просто требуют окончательного уточнения
вопрос по коллбекам, к разработчикам (ONLY)
Пользователь
Сообщений: Регистрация: 01.02.2015
20.02.2015 00:33:17
Цитата
swerg пишет: Важный момент: vclua - это dll-ка, а для нее все не так.
знаю, что не так. уже написал выше, что в vclua не задействован метод Application.Run.
вопрос по коллбекам, к разработчикам (ONLY)
Пользователь
Сообщений: Регистрация: 01.02.2015
19.02.2015 19:24:18
Цитата
Николай Камынин пишет: попробую ответить, чтобы ускорить обсуждение.
есть предложение: ускоряй любые обсуждения на своём сайте.
Николай, так объяснять - надо в первоклассникам, а лучше - не объяснять вовсе. Меня такие объяснения не устроят.
p.s. насчёт своего вопроса - разобрался. Описанный мной пример - оказался несовсем точным. В vclua - идёт неполная инициализация объекта Application. Так что, вопрос снимается.
Как с помощью кода открыть график и отформатировать его по шаблону?, Как с помощью кода открыть график и отформатировать его по шаблону?
Пользователь
Сообщений: Регистрация: 01.02.2015
19.02.2015 15:45:50
она НЕ работает по принципу CreateDataSource
Как с помощью кода открыть график и отформатировать его по шаблону?, Как с помощью кода открыть график и отформатировать его по шаблону?
Пользователь
Сообщений: Регистрация: 01.02.2015
19.02.2015 14:04:30
на qlua - не видел. стандартные индикаторы - жёстко прописаны в qchart.dll (он как-раз по ним графики строит)
вопрос по коллбекам, к разработчикам (ONLY)
Пользователь
Сообщений: Регистрация: 01.02.2015
19.02.2015 14:01:17
тело скрипта:
Код
require("vclua")
OnAllTrades()
--взяли сделку
end
OnStop()
mainwindow:free()
end
vclua:
Код
Application.Run
repeat
case message of
wm_1:
....
wm_2:
показали сделку
...
wm_3:
...
until message == wm_quit
Application.Terminate
вопрос по коллбекам, к разработчикам (ONLY)
Пользователь
Сообщений: Регистрация: 01.02.2015
19.02.2015 13:50:37
получается, если рассуждать по вашей логике, то имеем:
Код
код состороны квика:
исполняем тело скрипта клиента
запускаем майн-тред
уходим в цикл ожидания событий по колбекам
если есть колбек - выполняем
если есть OnStop - прибиваем майн
майн сдох - прибиваем объект "скрипт"
вопрос по коллбекам, к разработчикам (ONLY)
Пользователь
Сообщений: Регистрация: 01.02.2015
19.02.2015 13:45:06
но ведь колбеки не последовательно выполняются с телом скрипта, а в нужный момент. а если в этот момент пользователь выполнял какой-то свой код?
Как с помощью кода открыть график и отформатировать его по шаблону?, Как с помощью кода открыть график и отформатировать его по шаблону?
Пользователь
Сообщений: Регистрация: 01.02.2015
19.02.2015 13:41:46
к тому же, в описании к индикаторам есть формулы по которым они рассчитываются в квике