Вопрос[ы]: 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
к тому же, в описании к индикаторам есть формулы по которым они рассчитываются в квике