Я бы посоветовал использовать другой метод "вынимания" информации из терминала. Самый лучший это ваш собственный, личный, индивидуальный и неповторимый скрипт на языке lua или с++.
Как показывает практика, ODBC и DDE вряд ли получится заставить работать стабильно и надежно.
В любом случае мерами программного свойства эти проблемы не решаются. Их нужно решать другими способами - административными или какими-то еще.
Однако есть большие сомнения, что вы получаете от сервера валидную информацию во всем, кроме одного колбека. В этом случае проблема гарантированно не аппаратная или сетевая, а проблема вашего ПО.
Anton написал: Готового не покажу, но звучит странно, sqlite один из немногих пакетов, собирающихся на раз буквально чем угодно, надо только брать не подробный девелоперский исходник, а amalgamation.
Очень здорово.
А можно бестолковому (или невезучему) попользоваться любезностью и получить более развернутую последовательность действий (откель берем, куда засовываем, чем и как собираем)?
Или во избежание инсинуаций - просто готовое решение?
Что-то я сильно устал, пробуя пересобрать из исходников sqlite3.dll из пакета lua sql для работы с 8 квиком. Может, кто покажет указующим перстом, где это счастье можно взять в готовом виде?
Все правильно. Вы подписываетесь на тучу ТИКОВЫХ данных и и хотите чего то сверх_естественного.
конечно процессор трудится в потери лица - ему сервер отваливает лопатой работу. Это ж не скрипт сжирает процессорную мощность, а терминал, которому нужно всю эту помойку по полочкам разложить.
Можно убрать из вашей таблицы поле vol вообще и пересчитывать итоги каждый раз при попытке извлечь значение по ключ vol, которое пусто. Для этого есть мета метод __index.
Если пользовательская функция сравнения в search items возвращает nil, то поиск прерывается и текущий элемент в таблице результатов не попадает.
значит, необходимо перед вызовом searchitems создать флаг ин иницализировать его скажем в nil, при нахождении вашего единственного элемента таблицы изменить флаг на true.
при этом в самом начале пользовательский функции сравнения проверять этот флаг. Если он true, значит на пред итерации был найден ваш элемент и необходимо прервать поиск - вернуть nil из функции сравнения.
У меня тоже с переходом на x64 стали постоянно появляться сообщения о нехватке оперативной памяти и предложением закрыть эту программу к эдакой матери.
на квике 7 и ранее ни разу такого сообщения не видел.
нужно в самом индикатора, написанном на луа, сохранять некоторые данные между сеансах работы квика. И не сохранять данные, если индикатор был закрыт вручную.
Egor Zaytsev написал: Добрый день. Данная ошибка возвращается не системой сервера QUIK, а отвергается на стороне биржи. Если, как говорите один контракт уходит, а два нет и через стакан работает, то проблема скорее всего в коде, либо по какой то причине биржа действительно не пропускает транзакцию. Можно обратиться к специалистам биржи.
Скорее всего автор отсылает скриптом на биржу транзакцию "по рынку" на 2 контракта. Денег не хватает После чего он пробует отослать руками 2 контракта по цене рынка и денег хватает.
если все так. то загадки нет. По рынку и по текущей цене резервируется разное количество средств.
В индикаторе необходимо сохранять определённые данные между запусками терминала
соответственно:
1. как отличить ручное удаление индикатора (или закрытие окна/диаграммы) от закрытия терминала? 2. как идентифицировать данный экземпляр индикатора, чтобы сохранить данные для него?
ну и попутно.
Третий параметр setvalue() может быть nil. Всегда и всюду в lua правые параметры nil при вызове функций можно опускать, но не в случае этой функции. Я уже раз пятый наезжаю на эту граблю... Может, стоит привести в норму?
Я не могу гарантировать наличие или отсутствие каких то буковок в исходных текстах терминала, но то что возврат идет в тот же поток исполнения, подтверждается моим опытом.
s_mike@rambler.ru написал: У меня не получается собрать почему-тоСобираю VC Enterprise 2015библиотеку беру lua-5.1.5_Win64_vc15_lib.zipсобираю проект release x64 : dll с многобайтовой кодировкойпри сборке виду кучу неразрешенных внешних символов типа feof в функции getF или freopen в функции luaL_loadfile.как понимаю, это имена из lua5.1.lib и дело в разрядности сборки.
Добрый день. В итоге у Вас получилось собрать? Какую библиотеку собираете, собственную или общедоступную? Зачастую просто поменять Lua-шные исходники в проекте не достаточно, нужно проверить все линки в настройках проекта.
взял исходники Lua 5.1.5, собрал их в модели 64, проверил. Вроде нормально, работу работают.
после чего на основе получившейся .lib скомпоновал свою dll. Тоже на первый взгляд удачно. Время покажет насколько.
все остальные библиотеки и способы, в том числе те, на которые здесь были ссылки, не собрались нормально.
Павел написал: Благодарю за помощь. Все получилось.
Рад был помочь. Еще хотел бы поправить написанное мной выше, версия 5.1.4 это не последняя версия, есть еще патч 5.1.5 ( https://sourceforge.net/projects/luabinaries/files/5.1.5/Windows%20Libraries/Static/ ), правильнее будет использовать его. Проверял на Visual Studio 2015 пакет lua-5.1.5_Win64_dll15_lib.zip, все работает, библиотеки собираются.
У меня не получается собрать почему-то
Собираю VC Enterprise 2015
библиотеку беру lua-5.1.5_Win64_vc15_lib.zip
собираю проект release x64 : dll с многобайтовой кодировкой
при сборке виду кучу неразрешенных внешних символов типа feof в функции getF или freopen в функции luaL_loadfile. как понимаю, это имена из lua5.1.lib и дело в разрядности сборки.
Александр написал: Квик ни когда не поддерживал 64 битный режим, никто не планировал, что этот режим будет поддерживаться в будущем. А потом бац и весь написанный софт не работает под квик 8. По-моему просто не правильно так делать.
Компании, которые формируют вокруг себя сообщество
отличаются от компаний,
которые пишут какой-то софт и продают его десятку брокеров.
Предложение по трендовым линиям, уровням, и графическим элементам, Хочу предложить добавить возможность при начертании уровней и трендов писать в примечании там где выбираешь цвет какие нибудь коментарии
Прошу рассмотреть предложение по добавлению в Квик индикатора отсчета времени, оставшегося до закрытия бара/свечи. В настройках индикатора необходимо иметь возможность изменения цвета, шрифта, местоположения счетчика времени в окне графика. Такой индикатор позволит облегчить расчет времени на интервалах кроме часовика и дневки, и оптимизировать затраты времени на ожидание торговых ситуаций.
Ну а вдруг кто нибудь ответственный за "people relations" даст исчерпывающий ответ, что компания давно в коме и зарегистрирует пожелание найти новую работу?))
Let_it_go написал: Записываю лучшие биды и аски по акциям средней ликвидности, например Распадская RASP. Что лучше выбрать: OnParam или OnQuote? Сомнения связаны с тем, что текущая таблица транслируется срезами раз в 50 миллисекунда, то есть будут пропущенные данные. А стакан? Он транслируется срезами или безостановочно?
получать историю параметра 'лучший бид' через createdatasource
Артемий написал: Здравстуйте, хотел бы узнать кто нибудь занимается написанием расширений для торговой программы Quik; расширение должно быть интегрировано с интернетом
Николай Камынин написал: Добрый день, возможно проблема решена, тогда просьба дать ссылку. Писал об этой проблема лет надцать назад, но воз и ныне там. -------------- Прошу разработчиков решить следующую проблему. Если в скрипте индикатора есть сравнение с nil, то выводится окно ошибки , которое фактически блокирует возможность снять скрипт особенно в период сессии на боевом квике. если это не торговый режим, то хрен редьки не слаще. Приходится ждать всю историю данных.. -------------- Поэтому просьба сделать одно из двух 1) автоматическое снятие скрипта при возникновении подобной ошибки исполнения 2) возможность перехватить ошибку и сделать аварийный выход из скрипта -------------- Спасибо