Блог им. Smoker_Joker

Прошу помощи: скрипт lua

Собственно нигде не нашел, но очень нужен скрипт луа к квику, который записывает цены спреда (лучшего бид и аск) и выводит в виде графика (при тиковом графике), а лучше в таблицу эксель.
Тоесть это не запись спреда с интервалом 1сек или 1 мин, а как тиковый график — изменился — запись обоих параметров (бид и аск)
Если никто не поможет придется lua изучать и делать самому, не доводите до греха!)))
★1
8 комментариев
Для одного инструмента?
Вообще предвижу здесь проблемы производительности. Луа пишет в файл. Эксель читает из файла. Все это несколько 10 раз в секунду. 
avatar
Dmitryy, порядка 10 инструментов одновременно…
avatar
Dmitryy, эта проблема решается разделением труда. Функция обратного вызова в главном потоке Quik'а (в данном случае OnParam или OnQuote) накапливает параметры отслеживаемого события в глобальной таблице-очереди. Для этого используется потокобезопасная функция table.sinsert().
А функция скрипта main() из вспомогательного потока для периодической разгрузки очереди использует потокобезопасную функцию table.sremove(). И делает это тогда, когда ей удобно, например каждые 0.01 сек. За это время очередь событий не должна слишком разрастись.
PS Для лучшей производительности, наверно следует использовать не очередь FIFO, а стек LIFO. А для упорядочения выводимых вовне событий использовать локальные средства внутри main().
Rostislav Kudryashov, плюс не стоит забывать о внутреннем ограничении квика на прослушку событий стакана. Их там около 200 кажется. 
В C# это легко обходится реализацией очередей, подобно тому как вы описали. Циклично вешаются и удаляются хендлеры и вуаля, слушай сколько угодно интсрументов :) У меня работает.
avatar
Так нужен график в Квике или файл с цифрами?
Если график, то в Квике он и так строится на раз. 
А график можно сохранить в файл, нажав на нем правую кнопку.
avatar
А ведь из «Таблицы параметров» и вообще из любой в Quik'е есть экспорт в Excel через сервер DDE без использования QLua.
Зачем вообще какой то скрипт мудрить, кроме дде еще можно стаканы выгружать по одбс в базу данных mysql например.
Я выгружал одновременно и си и брент и ри, вообще ничего не тормозит на дохлом старом сервере.
Нстройка одбс и mysql легко гуглится.
В отличии от дде не нужно открытые стаканы для этого иметь все в фоновом режиме происходит

теги блога Smoker_Joker

....все тэги



UPDONW
Новый дизайн