res send_take_order=" Неправильно указано количество: "1.0" Сообщение об ошибке: Число не может содержать знак разделителя дробной части"
Ранее такой проблемы не было, и уже видел на форуме, что теперь зачем-то целые числа стали присылаться в ответ как дробные (зачем очередной гимор не понятно), но и не понятно, как решить данную проблему. Число целое, округлять его бесполезно, но tostring упорно дает на выходе "1.0".
Как разработчики квика предлагают решить эту проблему, созданную ими?
Максим написал: ну так и так можно снимать будет в Квике 7, если номер заявки получать из ответа на транзакцию.
А как понять, какой номер какой стоп-заявке принадлежит?
Хотя........... это отличная идея! полный номер прилетает из ответа на транзакцию, а через getItem("orders",i) мы получим все его параметры, только номер там будет немного отличаться, но по части номера их можно сопоставить ) Бинго! Спасибо за идею
Что касается трудозатрат программистов, мне думается гораздо проще в квике 7й версии при получении номера транзакции в 19 символов выдавать его в макрос луа в виде текстовой переменной - уж не думаю, что одно преобразование с цифры на текст займет много часов программирования.
TGB написал: Похоже, поддержка QUIK в данной теме не появится. Но я на это особо и не рассчитывал. Имэто все по барабану. Надо понимать, что музыку заказывает тот, кто платит, а деньгиАРКА за QUIK, как правило, получает непосредственно от наших брокеров (у которыхнаша плата за QUIК входит в оплату за предоставляемые ими услуги). Поэтому, есликому-то хочется быть услышанным АРКОй, это надо делать, скорее всего, черезсвоего брокера. Так будет для АРКИ доходчивее.
Тоже посетила данная мысль - нужно писать своим брокерским конторам, и требовать поддержку 7й версии под угрозой того, что работать на 8й версии невозможно, и что в этом случае будем искать другого брокера
Egor Zaytsev написал: Заставку можно сейчас убрать. Пункт меню Система - Настройки - Основные - Программа - Отображать заставку
Речь не про заставку. Данной галочки у меня уже давно не стоит.
Ситуация такая - я запускаю квик, и пока он грузится переключаюсь на другое окно ( редактор, браузер или что угодно, т.к. грузится квик не быстро, и наблюдать там незачем). Но в процессе загрузки квика он выскакивает поверх всех окон,когда появляется окно ввода пароля. При том, что запущен макрос автоматического ввода пароля, данный выход на передний план совсем не нужен, и мешает работе.
Просьба отключить всплывание окна квика в момент загрузки и появления окна с логином. Это очень неудобно, когда занимаешься своими делами, а у тебя всплывает это окно, при том, что настроен автологин и абсолютно не нужно видеть это окно. Для тех, кому это окно нужно - сделайте настройку этого параметра в насройках - всплывать или не всплывать Спасибо
сделал определение, какая версия квика, так что работает как на 7й версии (32х, использует старую библиотеку w32) так и на 8й (х64, использует новую библиотеку bot4sale64.dll)
1) прежде чем нажать на "ОК" он делает небольшую паузу, чтобы можно было выбрать другой сервер 2) после подключения, выдает сообщение, к какому серверу подключился (к сожалению, работает только на версии 7 с библиотекой w32, т.к. в новой библиотеке bot4sale64.dll не нашел функции w32.GetWindowTe xt, буду признателен, если добавите такую функцию в Вашу библиотеку) 3) выдает сообщения, если связь потеряна 4) в папке квика создает текстовый файл _time_when_conn ect в который записывает время подключения (у меня это используется для других макросов)
сделал определение, какая версия квика, так что работает как на 7й версии (32х, использует старую библиотеку w32) так и на 8й (х64, использует новую библиотеку bot4sale64.dll)
1) прежде чем нажать на "ОК" он делает небольшую паузу, чтобы можно было выбрать другой сервер 2) после подключения, выдает сообщение, к какому серверу подключился (к сожалению, работает только на версии 7 с библиотекой w32, т.к. в новой библиотеке bot4sale64.dll не нашел функции w32.GetWindowTe xt, буду признателен, если добавите такую функцию в Вашу библиотеку) 3) выдает сообщения, если связь потеряна 4) в папке квика создает текстовый файл _time_when_conn ect в который записывает время подключения (у меня это используется для других макросов)
swerg написал: Давно есть метатрейдер с выходом на биржу. С крутым встроенным языком и всё такое.Предлагаю бить не словом, а делом, т.е. ногами )После расскажете как оно.
Я бы с радостью, но мой робот написан на lua и переписывать его на другую платформу - это крайне трудозатратно. Но если так дело и дальше пойдет с квиком, то видимо так и придется делать
Максим написал: но это видимо так сложно, что лучше перейти на Квик 8 и Луа новый, где ещё больше косяков ))) абсурдно, как и многое в стране )))
Пишем письма руководству компании, что программерские ресурсы, расходуются на ухудшение программы, и от версии к версии она становится менее стабильной и тормозной. Им то поди докладывают - "выпущена новая версия, дайте нам новых денег", и на форумах они не бывают.
Как только программеры квика сами не могут понять, что когда они окончательно достанут своими новыми виснущими версиями пользователей, все откажутся от квика, и и брокерские конторы перестанут платить, и будут они искать новую работу. Рубят сук на котором сидят
Есть ощущение, что они не в курсе, что от версии к версии программа становится только хуже и менее надежная. И рано или поздно, от нее все откажутся, а это их прямая прибыль.
Sergey Gorokhov написал: Большинство почтовиков предлагают выложить большой файл на облако и в письме приходит ссылка вместо вложения.
Я пользуюсь почтовой программой с отправкой через SMTP.
Цитата
Sergey Gorokhov написал: Правой кнопкой мыши по процессу и нажать "Создать файл дампа"
Благодарю!
Цитата
Sergey Gorokhov написал: Или Вы привыкли парсить текст ответа на транзакцию для получения номера?
Я использую функцию getItem("orders",N) и эта функция, насколько я понимаю, встроена в QUIK и разработана вашими программистами. Почему нельзя сделать так, чтобы получая от сервера биржи значение в виде числа, терминал преобразовывал значение в текст, и в функцию getItem передавал уже текстовое значение? Доработка обойдется в одну строку в коде терминала, и не потребуется всем переходить на версию 8.5 и луа 5.3
Sergey Gorokhov написал: В документации сказано что поле не текстовое, и Вы можете самостоятельно это легко проверить.
Очень странно, т.к. при отправке заявки отправляется текстовое поле. Кроме того, луа взаимодействует с терминалом, и ничего не мешает внутри терминала преобразовать переменную в текстовый тип, и для луа скрипта предоставить уже текстовое значение. Не думаю, что одно преобразование было бы сложнее, чем замена целой библиотеки luacom, из-за которой у многих возникают куча проблем.
Вы в курсе, что почтовые сервера давно не разрешают отправлять большие файлы? Вчера пробовал отправить 40 мегабайтный архив с двух платных почтовых серверов, ни один не дал такую возможность, говорит "слишком большой объем". Придумайте другой способ. Например через телеграм.
Sergey Gorokhov написал: Переход на LUA 5.3 был вынужденным, в связи с планируемым введением 19-значных номеров заявок и сделок на срочном рынке Московской Биржи.
Смешно звучит, не позорились бы, ей богу! Из-за увеличения длины текстового поля, пытаетесь убедить нас, что нужно было переходить на новую версию луа. А у всех из-за этого проблемы с перекомпиляцией, да еще и терминал начал виснуть по непонятным причинам, просто виснет и все, без каких либо причин, хотя на версии 7.2 мог проработать целый день без зависания.
Максим написал: ну так видимо они сами не знают, что означает данная ошибка, так как видимо она общего плана и означать может что угодно и у всех могут быть разные причины ее появления.
что может быть проще, чем создать протоколирование ошибки. Большие задержки - выдай об этом сообщение. Не пингуется сервер - выдай такое сообщение. и т.д. и т.п.
У меня еще вопрос - куда можно обратиться в службу по контролю за качеством обслуживания пользователей квика? У вас есть такой отдел, которые следит за профессионализмом сотрудников тех.поддержки, который собирает обратную связь от пользователей?
Особо возмущает, что ни на один вопрос из области "что вообще означает данный разрыв и что на него может влиять" ответа не было дано. Складывается стойкое ощущение, что они сами не понимают, что у них творится в программе. Нормальные разработчики уже давно сделали бы диагностику ошибку в лог файл и просили бы высылать только лог файл, а не весь квик в сборке.
Я вижу такой способ решения проблемы - чтобы каждый, кого эта проблема достала, выслал разработчикам свои копии квика (из которых можно удалить все секретное, потому что никак это на работу не влияет, он тормозит как со скриптами и индикаторами, так и без них. ) И пусть они захлебнутся разборками с каждым лично, и придут наконец к выводу, что надо что-то глобально менять, а не каждому пользователю колупать мозги своим требованием по каждой проблеме высылать полугигабайтный архив. Пошел архивировать, ловите техподдержка! ЗАДОЛБАЛО! Друзья присоединяйтесь к флешмобу!
Константин Рейм написал: Нет не сразу. Пытаюсь подключаться по порядку 1,2,3... сервер. Сколько на это времени уходит не обращал внимания, но точно не быстро.
Таже самая картина у меня, переключения между серверами никак не помогает. У вас какой брокер? У меня финам.
Последний раз при возникновении проблемы даже отключение индикаторов не помогало. Просто обрывалось соединение сразу как только подключалось. а потом ни с того ни с сего начало работать. Более того есть еще более парадоксальная ситуация: у меня два терминала для разных счетов с абсолютно одинаковыми настройками и подключаются к одному и тому же серверу с одного и того же компьютера. Так вот может быть такое. что один терминал к серверу подключен и работает, а другой не может никак подключиться. Как это можно объяснить? Интернет у них одинаковый, на пинг пинять бесполезно, производительность компьютера одна и таже.
Почему бы вам не признать, что в квике есть какая-то ошибка, которая запускает подключение по кругу, а не мучать пользователей просьбами присалть конфигурацию, которая вам ничего не покажет
Сергей, Максим с каждым случаем нужно разбираться отдельно, поэтому просьба нам на quiksupport@arqatech.com прислать:
- ваши архивы рабочих мест после возникновения ошибки (без ключей) дополнительно можно снять дамп процесса через диспетчер задач. - сообщить в письме брокера, ваш UID.
Спасибо.
Что толку присылать архив, если ситуация нестабильная? Весь день может нормально работать, с одной и той же конфигурацией, а потом бац - и 30 минут не может подключиться, а потом бац, и без каких либо манипуляций все начинает работать? Чтобы разобраться с ситуацией в квике нужно сделать толковую диагностику ошибки в момент соединения, т.к. одной фразы "удаленный хост разорвал соединение" никак не достаточно. Добавьте расшифровку, что именно произошло, каких ресурсов не хватает, и тогда пользователи перестанут каждую неделю задавать этот вопрос
К тому же не понятно, каким образом, отключение индикаторов, и подключение к серверу может повлиять на то, что потом я их подключаю, перегружаю квик полностью и все начинает работать. Это какая-то мистика, или глюк квика
У меня всего 13 графиков но одного инструмента, просто периоды разные. И да танцы с бубнами приходится делать, отключать индикаторый написанные на луа, а потом почему-то все начинает работать. Хотелось бы получить от разработчиков понятный ответ - кто разрывает соединение и зачем?
У меня вчера такая же ситуация была - весь день все работало, а вечером после перезагрузки квика началась карусель пытается соединиться, соединяется, видимо начинает грузить графики, и спустя пару минут пишет "Удалённый хост принудительно разорвал существующее подключение"
Поясните, что означает эта фраза? С чьей стороны происходит разрыв связи? Зачем он его рвет, если соединение установлено и идет загрузка графиков и как это можно остановить? Такая колбасня происходила минут 30, потом каким-то чедесным образом соединился.
Действительно, ошибся. но можно кликнуть на шапку мышкой и установить фильтр. Добавить туда сортировку, и этого будет более чем достаточно, чем то что сделано сейчас - сортировка при нажатии на любую ячейку
Sergey Gorokhov написал: Sergey Denegin, Из описания не совсем понятно где происходит клик. По ячейке таблицы или по заголовку столбца. Просьба уточнить момент.
На любой ячейке. раньше такое было только при клике на заголовке таблицы.
Sergey Denegin написал: Куда надо написать. чтобы данное "нововведение" устранили?
Вам достаточно только попросить зарегистрировать пожелание на доработку.
Я предпочитаю устранять причину "косяков". а не их следствие.
Т.к.пока, очередность и нужность доработок выглядит крайне странно с точки зрения пользователя, то прошу зарегистрируйте глобальное пожелание: 1) наладить рабочий диалог между потребителем и разработчиком. Для чего создать механизм оценки важности доработок программы, основанный на реальных пожеланиях пользователей, для чего устраивать регулярные опросы, и оценивать реальную востребованность тех или иных пожеланий. И в первую очередь направлять ресурсы разработчиков на то, что просят пользователи. 2) Вместо стандартных фраз типа "будет реализовано" с непонятными сроками, создать доступный пользователям список доработок, над которыми идет работа, где будет видно, в какие сроки данная доработка будет реализована, чтобы дать пользователю возможность оценить, ждать ему её, или искать другие решения. Очередность задач в данном списке легко корректировать используя "рейтинг" из первого пункта.
И вообще очень интересно, прежде чем что-то "модернизировать" у вас проводится какое-то исследование потребительского спроса? Вам 10и летиями пишут просьбы на каждом углу, у вас десятилетиями отписки "рассмотрим целесообразность", а потом встречаешь среди "доработок" такое. что хоть стой хоть падай
Складывается ощущение. что разработчики изо дня в день планомерно делают так, чтобы становилось все более неудобно. Куда надо написать. чтобы данное "нововведение" устранили?
В своем скрипте LUA я использую таблицу для изменения параметров. Например размер стопа. Для изменения параметра используется левая и правая кнопка мышки, левая уменьшает значение, правая увеличивает. До сих пор все было замечательно. Но при переходе на квик 8.5 и как следствие переходе на луа 5.3 возникло непредвиденное - теперь при нажатии правой кнопки мышки постоянно стало появляться меню с предложением сортировки. которое мало того, что почти полностью закрывает нужное мне поле, так еще и блокирует следующее нажатие правой кнопки мышки на моем поле, и дальше параметр не меняется.
С точки зрения пользователя, это полнейшее издевательство! Уж если я хочу включить сортировку, то не поленюсь, и нажму на заголовок этого столбца. Подскажите, как можно отключить это ужасное выпадающее меню?
Николай Камынин написал: if text~=nil and string.len(text)>0 and vObj:Speak~=nil then vObj:Speak (text) end
Данная функция запускается всего из нескольких мест, и там по определению не может содержание текст быть пустым или нулевым. И не совсем понятно, как объяснить, что при одних и тех же условиях, при запуске из одних и тех же процедур, все работает хорошо, до тех пор, пока что-то не произойдет, после чего начинает выдавать ошибку. Т.е. условия запуска одинаковые, а результат иногда происходит ошибочный. Что конкретно лечит ситуацию, перезагрузка компа или достаточно перегрузить терминал, не выяснял.
Возможно ситуация уже решилась за счет функции pcall, во всяком случае уже теперь весь скрипт не виснет, так что ситуация перестала напрягать
Николай Камынин написал: напишите строку 31 так:if text~=nil and string.len(text)>0 then vObj:Speak (text) end-------------------------------и будет Вам счастье.
Николай Камынин написал: и еще что у вас в 31 строке library.lua ?
Вот полная функция function speak_only (text) w32.CoInitialize() local vObj = luacom.CreateObject("Sapi.SpVoice") vObj:Speak (text) w32.CoUninitialize() end --speak_only
строка 31 содержит оператор vObj:Speak (text)
А каким образом остальной код может влиять на абсолютно независимую от остального кода функцию? тут все переменные локальны. Текст всегда передается строковой переменной из одной и той же другой функции, в которой физически не может быть не строковой переменной. И главная проблема в том. что бОльшую часть времени все работает.
В общем на данный момент пока вопрос закрыл с помощью оператора pcall, если будут снова проблемы, опишу ситуацию.
Николай Камынин написал: это ошибка в вашей library.lua строка 31
в этой строке оператор vObj:Speak (text)
Цитата
Николай Камынин написал: оператор 386 выдает сообщение об ошибке, если она есть
так ведь ситуация в том. что бОльшинство раз все работает нормально, а потом что-то происходит, и начинает выдаваться ошибку. Возможно память не очищается и забивается. посмотрим что будет с добавленной командой CoUninitialize() и использованием pcall
В макросе использую произнесение голосом разных событий.
Функция чтения голосом выглядит вот так:
text = "тест"
w32.CoInitialize()
local vObj = luacom.CreateObject("Sapi.SpVoice")vObj:Speak (text)
Как правило все работает без проблем. Но иногда, почему-то данная функция выдает ошибку ...\Program\QuikRobots\автостоп\. .\автостоп\library.lua:31: COM exception:(..\src\library\tLuaCOM.cpp,386):
Самое неприятное, что весь скрипт после этого останавливается, и это напрягает. Как правило, если потом перезапустить скрипт, ошибка уже повторяется. пока терминал не перезагрузишь или даже компьютер.
Может кто-то знает как решить проблему? 1) либо устранить ошибку совсем 2 ) либо научиться определять, что эта ошибка есть, и как-то не давать скрипту останавливаться