green_X5 (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 2 3 4 След.
message, параметры
 
Ув. разработчики, а автоперенос по строкам в Системных сообщениях добавите? Ну невозможно же прочитать всю новость, когда она заинтересовала!
Двойной клик по новости тоже ни к чему не приводит.

Как вести разработку скриптов, когда сервер оффлаин?, Не понятно, как производить отладку.
 
Да ну какие ж проблемы то, напишите свой сервер и работайте 24/7/365 :)
Или платите брокеру внеурочные и амортизационные, если не хотите спать по ночам и отдыхать хотя бы 2 дня в неделе.

Кстати, сейчас суббота, 21:04, тестовый сервер разработчиков не покладает рук...
SetLabelParams, особенности использования
 
Цитата
Sergey Gorokhov пишет:
Цитата
green_X5 пишет:
Sergey Gorokhov,


добрый день, проблема обозначена выше - после применения функции SetLabelParams метка больше не поддается ручному перемещению.
Ждем Вашего комментария - "фиксим баг и исправляем" или "так и было задумано"?
Здравствуйте,
Ответа пока нет.
Сергей, день добрый,
если такая проблема действительно выявится и будет решаться, есть пожелание:
Добавить меткам контрол HandleMoving регулирующий разрешение на ручное перемещение, а функции SetLabelParams необязательный аргумент для передачи в этот контрол булев значение, по-умолчанию true.
SetLabelParams, особенности использования
 
Sergey Gorokhov,


добрый день, проблема обозначена выше - после применения функции SetLabelParams метка больше не поддается ручному перемещению.
Ждем Вашего комментария - "фиксим баг и исправляем" или "так и было задумано"?
Как быть с ошибками вида "function: 94A71D38"
 
Цитата
_sk_ пишет:
В первом сообщении темы написан фрагмент функции main(). В скрипте только один xpcall, перехватывающий ошибки на самом последнем уровне. Вместо многоточия идут вызовы инициализации скрипта, цикл while is_running, закрытие ресурсов. Поэтому предоставить содержательный код не могу.

Было бы неплохо при таком как у меня падении скрипта, создавать что-то типа dump-файла с внутренним состоянием lua-машины, чтобы разработчики могли хоть как-то понять, что пошло не так.
Наверное всё-таки придется написать короткий код с провокацией ошибки. Иначе с чем разработчиками разбираться?
Новый современный интерфейс + юзабилити + UX, Когда?
 
Допроситесь интерфейс плиточками аля винь 8 )))
Кнопочку бы вызова меню запуска скриптов LUA на панель инструментов, вот праздник был бы! ))))
А горячие клавиши вызова этого же меню... Фантастика... Но верю! Сам не доживу - внукам завещаю следить за этой веткой! )
message, параметры
 
Цитата
Старатель пишет:
Тогда надо добавить функционал: двойной клик по строке - открывает сообщение в окне сообщений.
Поддерживаю, очень полезная опция была бы. Уже много лет использую терминал, и все годы пытаюсь дважды кликать на строку, чтобы развернулся весь текст сообщения. Хронически наивный "чукотский юноша". ) Избаловали меня профессиональные продукты других производителей.

Но случае добавления переноса по строкам в таблице это станет не так нужно.
message, параметры
 
Цитата
Imersio Arrigo пишет:
Цитата
green_X5 пишет:
Здравствуйте.
Сделайте пожалуйста автоперенос в строках таблицы сообщений, невозможно прочитать весь текст.
Для этого есть скроллбар.
А еще можно открыть сообщение в пейджере и читать читать его полностью до получения удовлетворения.
Если Вам так удобно - крутить каждый раз "скроллбар", затем ратягивать границы поля сообщения, затем всё возвращать назад, или искать через какое меню вызвать "пейджер" ( для который лично я дописал в скрипте "убийцу", т.к. его появление совершенно не подчиняется регулировкам Квика), просто проигнориуйте очередное обновление Квик с таким исправлением.
Мне лично удобно прочитать сообщение прямо в таблице без лишних манипуляций.
message, параметры
 
Здравствуйте.
Сделайте пожалуйста автоперенос в строках таблицы сообщений, невозможно прочитать весь текст.
пример
Получение данных с помощью getParamEx
 
Да я лично только ЗА авто-добавление тикера в списки по запросу параметров из ТТП. )
Оформляйте пожелание. Зима впереди долгая, и не одна, может быть дождемся. )
Рисовать линию на графике
 
Цитата
Viktor MMM пишет:
Получается так.
Если пошло изменение полосы, то заявки снимаются и она становится неактивной. Нажали готово - и работа подхватывается
Как то так.
Конечно, блин, с контролем мышки было б шикарно.
Порылся в инете, w32 не имеет в составе функций работы с мышью.
Ну так "поройтесь в инете" на предмет именно winAPI, вот тут например
https://msdn.microsoft.com/en-us/library/windows/desktop/ff468877(v=vs.85).aspx
и добавьте в w32, библиотека вроде в исходном коде есть по вашей ссылке.

Вы точно готовы выходить за рамки справки по QLUA с таким багажом?:

Цитата
Viktor MMM пишет:
Я не знаю как через WinAPI обработать мышь. Если б знал такие вещи не искал бы решения без длл и прочего.
Цитата
Viktor MMM пишет:

Николай, думаю по вопросу понятно что я не специалист по луа. И что в нем может быть в квике или не может мне не известно.
Цитата
Viktor MMM пишет:
Посмотрел. Чтобы WinAPI обработать, надо подключать библиотеку. А на сколько я понял, подключение библиотеки всегда риск краха квика.
Получение данных с помощью getParamEx
 
Цитата
Старатель пишет:
Egor Zaytsev ,
Цитата
_sk_ пишет:
если в ТТП нет инструмента или все ТТП вообще закрыты, то данные всё равно доступны через getParamEx, если их получение настроено через "Связь -> Списки"
Типа автодобавления тикера в списки при запросе данных из ТТП? Что же по-вашему должна ответить ТТП, если она даже не знает о существовании такого тикера?
Пошлют нас разработчики с таким пожеланием и будут правы.
Рисовать линию на графике
 
Цитата
Старатель пишет:
Цитата
Viktor MMM пишет:
Линия есть, позиционируется точно
Что значит "точно"? Вот у меня "точно" никак не получается: с шагом цены не совпадает ))
Корректировка полученных координат по шагу цены и возврат лейблу скорректированных.
Рисовать линию на графике
 
Цитата
Viktor MMM пишет:
или проще. Галку снял в табл, линия стала пунктиром. переставил, галку поставил, линия стало жирной и инициализировалась.
И утром завтрак в постель принесла? )
Можно конечно, если это ОЧЕНЬ хочется. Два рисунка - тонкая и толстая линия. Через winAPI читаем нажатие мышки, меняется лэйбл, новый не только тоньше, но и другого цвета. Отпускаем мышку, на новой позиции рисунок подменяется прежним. Только результат не стоит труда.
Рисовать линию на графике
 
Цитата
Viktor MMM пишет:
аааа, ну шаг я не проверял.
По отпусканию мыши есть мысли?
Или придется дублировать хоткеем перенос?

Объясню. Проблемы шага цены, рывков и прочего решились бы событием "метка поставлена".
Тогда программно метку можно было б привязать к шагу. Ну и инициализировать изменение.
Если мышь не доступна, то на ум идет установить хоткей. Нажимаешь его скрипт ждет отпускания, чтобы инициализировать новый уровень/уровни линий.
Есть такой функционал? вроде какие то события были.. надо поизучать.
Обрабатывать нажатие мышки через winAPI
Вы уже работаете в системе, Достаёт при смене точки доступа этот глюк!
 
Цитата
Zoya Vdovina пишет:
green_X5 , Добрый день.
Вы можете обратиться к брокеру и попросить что бы он отключил Вас от сервера
Добрый день, Зоя.
Круто. Как мне самому в голову не пришло? Теперь буду звонить. Каждый раз при смене точки доступа. А лучше приезжать к ним.
Спасибо.
Вы уже работаете в системе, Достаёт при смене точки доступа этот глюк!
 
Предложение навскидку - сервер видит попытку подключения "со второго места", проверяет - откликается ли "первое", если нет - закрывает "старую сессию", открывает новую. А не тупо отказывает в соединении, как сейчас.
Вы уже работаете в системе, Достаёт при смене точки доступа этот глюк!
 
Собственно проблема в названии. Работаем, переключаемся на другую точку доступа и больше не работаем, причина - "Вы уже работаете в системе". Кажется очевидной проблема с настройками серверов. С этим можно что-то сделать???
Если внутри функции создаётся переменная, то по выходу из функции она умирает?
 
Чего проще самому проверить


Код
function func(x)
  if x==1 then
    var1=1
    local var2=2
  end
  if x==2 then
    message(tostring(var1))
    message(tostring(var2))
  end
end

func(1)
func(2)
message(tostring(var1))
message(tostring(var2))
 
Где значение RTSI в ТТП
 
Ёлки палке, нашел, хренов фильтр параметров в списках... )
Вопрос закрыт. Спасибо.
Где значение RTSI в ТТП
 
Спасибо за желание помочь, но давайте дождемся разработчиков.
Среда, 11:10, соединение с сервером установлено, все возможные параметры таблицы выведены, не могу найти значения RTSI

Windows 10 упорно себя предлагает, пробовал кто на совместимость?
 
Пробовал на совместимость Win 7 64. Отлично. К чему вам эксперименты с мерзкими плитками, вы же (надеюсь) не развлекаетесь на бирже?..
Где значение RTSI в ТТП
 
Ну собственно такой вот вопрос. Вывел все доступные параметры, а значения нема. А график строится без проблем...





Quik перестает соединяться с серверами
 
Если клиент не получит "10", значит нужно что-то предпринять, чтобы получал обязательно! Как я могу советовать где именно менять? Я ж не знаю, на каком конце у вас в такой ситуации зашиты условия "не обновлять до" или "не получать, пока", на сервере, или на клиенте...
Quik перестает соединяться с серверами
 
Цитата
Sergey Gorokhov пишет:
Цитата
green_X5 пишет:
Сергей, ответ "Не будем заниматься этой проблемой, потому что - не будем!" - тоже ответ, имеет право на жизнь. )
А вот "выполнил ли брокер процедуру - мы не знаем" и "какой именно форс-мажор имел место трудно установить" - не принимается. Я Вам дал описание проблемы, её дату, временной диапазон, назвал брокера, который имеет моё обращение (и не только моё), вроде как можете связаться с брокером (своим клиентом) и разобраться в проблеме.
И в третий раз укажу Вам на важность проблемы - Если данные исправились только после "Перезаказать данные с сервера", значит терминал не получал обновленные данные, когда они уже лежали (но почему-то не принимаются клиентским местом) на сервере. В результате клиентское место имеет неправильный параметр торгуемой бумаги, а именно "0", на не "28".
Была бы пустая строка "" или nil, мы бы могли обнаружить это скриптом.
Терминал отображал данные, не соотв. данным на сервере.

Если это проблема на серверной части, Вы наверное имеете возможность взаимодействовать и с их разработчиками. Подскажу адрес - support@quik.ru
Критика это конечно хорошо, но есть ли у Вас конкрентое предложение в изменении текущего поведения?
Да нет никакой критики. Есть просьба смоделировать проблемную ситуацию у себя. Наверняка у вас есть тестовая пара сервер-клиент. Перед "началом новой сессии" забейте фьючерсам "до погашения" ноль. Дайте соединение клиенту с сервером, клиент должен получить этот ноль. Затем, не разрывая соединения и не меняя сессии и даты торгов измените принудительно у сервера этот ноль на например 10. Посмотрите, изменились ли данные на клиентском месте. И как скоро изменились.
Вот и предложение.
Quik перестает соединяться с серверами
 
Сергей, ответ "Не будем заниматься этой проблемой, потому что - не будем!" - тоже ответ, имеет право на жизнь. )
А вот "выполнил ли брокер процедуру - мы не знаем" и "какой именно форс-мажор имел место трудно установить" - не принимается. Я Вам дал описание проблемы, её дату, временной диапазон, назвал брокера, который имеет моё обращение (и не только моё), вроде как можете связаться с брокером (своим клиентом) и разобраться в проблеме.
И в третий раз укажу Вам на важность проблемы - Если данные исправились только после "Перезаказать данные с сервера", значит терминал не получал обновленные данные, когда они уже лежали (но почему-то не принимаются клиентским местом) на сервере. В результате клиентское место имеет неправильный параметр торгуемой бумаги, а именно "0", на не "28".
Была бы пустая строка "" или nil, мы бы могли обнаружить это скриптом.
Терминал отображал данные, не соотв. данным на сервере.

Если это проблема на серверной части, Вы наверное имеете возможность взаимодействовать и с их разработчиками. Подскажу адрес - support@quik.ru
Quik перестает соединяться с серверами
 
Цитата
Sergey Gorokhov пишет:
Цитата
"Sergey Gorokhov пишет:
Цитата
Серж пишет:
Если брокер использует такую возможность, то что является сигналом для смены статических параметров? Дата торгов?
Дата торгов не показатель, так как есть режимы которые торгуются и после полуночи. Сигналом для смены статических параметров является параметр "Идентификатор сессии" в информационном окне. Сам этот параметр меняется по ряду условий на сервере после рестарта.
Добавлю, что очищать данные можно и после смены даты а не сессии.
Это настраивается в терминале меню Настройки - Основные - Программа - Сохранение данных, секция "Очищать данные после смены даты"
«На локальной машине» – очищает в памяти данные предыдущей торговой сессии сразу после запуска программы, до установления связи с сервером. Используйте этот вариант, если нет необходимости получать информацию о торгах за предыдущий день перед началом торгов за текущий день. «На сервере (при установлении связи)» – очищает данные предыдущей торговой сессии при появлении на сервере данных, относящихся к новой торговой сессии. Используйте это вариант, если информация о торгах принимается утром следующего дня (например, из-за существенной разницы в часовых поясах).
Не вариант решения проблемы. В указанном мною случае проблема висит в течении всего одного дня, в течении всей торговой сессии. Флагов проблемы нет, и инструментов для решения со стороны пользовательских скриптов клиента вы тоже не дали.
Развивать экстрасенсорные способности по определению поступ. параметров актуальности и соотв. биржевым данным не предлагайте, к тому же это не описать языком qLua.
Ещё раз обращу Ваше внимание ,в данном случае проблема не столько в кривых поступивших данных, сколько в необновлении их в терминале после обновления на сервере.
Quik перестает соединяться с серверами
 
Цитата
Sergey Gorokhov пишет:
Цитата
green_X5 пишет:
Переподключал, меняя сервера, это не помогало. Только "Перезаказать данные заново".
Если проблема более не повторяется, значит на сервере брокера была какая-то авария.
считаем тему закрытой.
Сергей, если позволите, я против "считаем тему закрытой."
Я не знаю, но возьмусь предположить, что вы (разработчики) с целью оптимизации трафика между сервером и клиентским местом внесли жесткие или мягкие (на стороне сервера) настройки по паузе передачи данных, неизменяемых долгое время, например, как в данном случае, параметра "до погашения осталось". Как видите, инцидент показал, что клиенту это может выйти боком. По факту, клиент, получив однажды кривые данные, не получает автоматически исправленные, даже если они уже появились на сервере.
Это проблема, и решать её нужно. Вам.
Quik перестает соединяться с серверами
 
Цитата
Серж пишет:
Цитата
green_X5 пишет:
Помогло, по их совету, "Перезаказать данные заново".
А переподключение к серверу не помогало?
Переподключал, меняя сервера, это не помогало. Только "Перезаказать данные заново".
Quik перестает соединяться с серверами
 
Цитата
Sergey Gorokhov пишет:
Цитата
green_X5 пишет:
Потом цены пошли, но у текущих фьючей "до погашения" ноль дней. Хотя жить им ещё 28.
Так не должно быть. Пришлите скриншот на котором видно проявление проблемы дату и инструмент
День добрый, Сергей.
К сожалению, скриншот уже поздно делать. Судорожно набирал тех.поддержку брокера (я активно торгую скриптами-ботами), они признали проблему с утра, не я один обращался. Помогло, по их совету, "Перезаказать данные заново". "До погашения" у фьючерсов стало отображать правильные цифры вместо нулей.
Quik перестает соединяться с серверами
 
С самого утра вообще никаких параметров бумаг, совсем ничего. пустые поля в таблицах. Потом цены пошли, но у текущих фьючей "до погашения" ноль дней. Хотя жить им ещё 28. Просто офигенно, у меня бот автоматом меняет бумаги перед экспирацией! Благо позиция бота была нулевая.
Quik перестает соединяться с серверами
 
Понаблюдал, проблема не повторяется, наверное можно закрывать это обращение.
Это походу серверы брокера ПСБ чудеса вытворят. Сегодня например с утра выдавал жуткие данные по инструментам с утра, и не мне одному, всем клиентам. С помощью техподдержки брокера разобрались, но пожалуй нужно в скрипты ещё кучу защит от такого идиотизма брокерских серверов прописывать.
Я в ужасе!! Кто-нибудь отзовитесь пожалуйста и скажите что это неправда!!
 
Александр Иванов,
о том, что = не копирует, а присваивает ссылку, как раз "висит на каждом заборе". Почитайте любой интродакшн к языку Lua.
Впрочем, поздно, чума наверное уже поразила все бразильские дома...
Цена шага
 
Цитата
Роман пишет:
А math.floor забыл добавить. С заплаткой более корректно выглядит:

math.floor(value/step+0.5)*step
Роман, это не "заплатка". Это называется "округление до ближайшего целого".
Цена шага
 
Роман, нет никаких глюков и расхождений. LUA считает точно то, что вы пишете. Но складывается впечатление, что вы сами не можете понять, что написали.
Где конкретно какой глюк? Дайте нормальный пример.
Цена шага
 
Удивительно, но я пишу
Код
message(tostring(67.99/0.01))
и получаю как положено 6799
Цена шага
 
Попробуйте кривую цифру разделить на шаг цены, округлить, и умножить на шаг цены.
Цена шага
 
Действительно, почему памятник Пушкину, если "Му-му" написал Тургенев?!!!
Роман, Вы прочитали сообщение №3?
Получить имя исполняемого скрипта., Возможно?
 
Вот такой чтец хвостика получился. С паттернами и регулярными пока не совсем подружился ))

Код
id="+noname";
id=string.sub(string.match(debug.getinfo(1).short_src or id, "%+%w+") or id,2);
Получить имя исполняемого скрипта., Возможно?
 
Цитата
s_mike@rambler.ru пишет:
А не проще в качестве уникального идентификатора взять номер потока, исполняющего main?
Насчет простоты - наверное то же самое. Прочитать хвостик названия файла-скрипта вроде не проблема. )
А вот насчет остального наверное мой вариант поудобнее будет. Как я уже написал, кроме Name, уникальными и опознаваемыми создаются и фалы логов и обмена, к которым "новому" скрипту предстоит обращаться и при следующем запуске.
Например скрипты bot+one.lua и bot+two.lua создадут логи log_bot_one.log и log_bot_two.log, файлы обмена с такими же окончаниями, Name vcl тоже уникальны.
Получить имя исполняемого скрипта., Возможно?
 
swerg,
да нет проблем, уже есть быстро решенная задача. ) Назначаю имена принудительно, чтобы потом ловить events по Name в общем обработчике. Появилась потребность запускать несколько экземпляров скрипта для работы с разными бирж. тикерами и patch-ми к файлам обмена. Соотв. решил задачу как описал выше.
Можно конечно было решить по-другому - дать именам самогенерироваться и потом их перехватить в переменные. Но так получилось комплекснее под мои задачи.
Ваша qvcl, что на базе vcl 0.5.0, c хаком от Михаила.
Получить имя исполняемого скрипта., Возможно?
 
Всё работет, Михаил, спасибо! )
Получить имя исполняемого скрипта., Возможно?
 
Добавлю для картины понимания общей задачи - создаём вторую копию скрипта, дописываем к его имени файла уникальный хвостик, запуск, хвостик считывается и создает уникальные имена элементов vclua. Т.о. два скрипта не мешают друг другу в библиотеке vcl.
Заранее признателен за идеи.
Получить имя исполняемого скрипта., Возможно?
 
А в основном теле скрипта, вне колбэков, никак не узнать?
Проблема в том, что имя файла-скрипта нужно для начального задания множества глобальных переменных-констант. Если точнее - имён Name граф. элементов vclua. А колбэк OnInit() срабатывает уже ПОСЛЕ прохождения тела скрипта...
Можно конечно инициализировать весь vclua в OnInit(), но стрёмно как-то... ))
Получить имя исполняемого скрипта., Возможно?
 
Точно, есть такой колбэк, совсем про него забыл, давно не применяю )
Спасибо, Михаил!
Быстрый доступ к меню "Доступные скрипты", те ,что LUA
 
Уважаемые разработчики QUIK.
Ещё и ещё раз спасибо за возможность работать на LUA. И за развитие QLUA также низкий поклон.

Прошу сделать ещё немного. Добавить в панель инструментов кнопку быстрого вызова доступа к списку скриптов. И назначить сюда же горячие клавиши. По-сути дублирование нажатия вот сюда



Ну очень нужно. Будьте милосердны!
Спасибо.
запретить всплывающие окна сообщений
 
Очередное спасибище swerg! За библиотеку и подсказку. Теперь у всплывающие окошки не жильцы .
Внутрь основного цикла main пару строчек.

Код
local hMsgWnd = w32.FindWindow("", "QUIK: окно сообщений");
 if hMsgWnd then w32.PostMessage(hMsgWnd, 16, 0, 0) end;


Библиотека здесь.
Получить имя исполняемого скрипта., Возможно?
 
Есть функция, возвращающая путь, по которому находится исполняемый скрипт - getScriptPath(). Можно прочитать литеру диска и имена папок.
А имя самого файла-скрипта можно как-то получить? Может быть средствами LUA?
Спасибо.
запретить всплывающие окна сообщений
 
Ну, если разработчики не могут справиться со своим рукотворным чудовищем, прошу знатоков w32.dll написать скрипт, чтоб мочил всплывающие сообщения на корню.
Мне, например, не нужны ни какие сообщения с биржи, ни "срочные", ни "не очень", если я не установил это в настройках.
А это нормально ?, Нужно остановить скрипт, чтобы обновился totalnet ?
 
Вот такой вариант?
1. в начале скрипта run=false;
2. Получили с колбэка сигнал на совершение транзакции, присваиваем переменной run=true;
3. Этот же колбэк блокируется на первой строчке if run then return end;
4. Колбэк на проверку изменения позиции разблокируется на первой строчке if not run then return end;
5. Пришло подтверждение изменения позиции, run=false;
Обычный флаг.
Неплохо бы ещё учитывать ответ колбэка на результат отправки транзакции.
Страницы: Пред. 1 2 3 4 След.
Наверх