Sergey Denegin (Автор тем)

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

Страницы: 1 2 След.
как решить проблему в новом квике 8.5, когда tostring (целое число) выдает дробь?
 
при переходе на версию 8.5 возникает проблема

есть переменная, содержащая текущую позицию position_now, она очевидно целое число, получается функцией getNumberOf("futures_client_holding")

затем я хочу отправить заявку на закрытие позиции с этим объемом

sendTransaction({
           ACTION="NEW_ORDER",
           ACCOUNT= param.client,
           TRANS_ID=toHHMMSS (datetime_komp),
           CLASSCODE=param.class_code,
           SECCODE=code_bumagi_full,
           OPERATION=param_OPERATION,
           QUANTITY=tostring (position_now),
           CLIENT_CODE=param.client,
           PRICE=tostring (param_PRICE),
           EXPIRY_DATE="GTC"

Однако в ответ прилетает ответ,

res send_take_order=" Неправильно указано количество: "1.0" Сообщение об ошибке: Число не может содержать знак разделителя дробной части"    

Ранее такой проблемы не было, и уже видел на форуме, что теперь зачем-то целые числа стали присылаться в ответ как дробные (зачем очередной гимор не понятно), но и не понятно, как решить данную проблему.
Число целое, округлять его бесполезно, но tostring упорно дает на выходе "1.0".

Как разработчики квика предлагают решить эту проблему, созданную ими?
Уберите всплывание окна QUIK на передний план в момент загрузки
 
Просьба отключить всплывание окна квика в момент загрузки и появления окна с логином.
Это очень неудобно, когда занимаешься своими делами, а у тебя всплывает это окно, при том, что настроен автологин и абсолютно не нужно видеть это окно.
Для тех, кому это окно нужно - сделайте настройку этого параметра в насройках - всплывать или не всплывать
Спасибо
Как отключить выпадающее меню сортировки при правом клике мышкой на ячейку таблицы в новой версии LUA?
 
В своем скрипте LUA я использую таблицу для изменения параметров. Например размер стопа. Для изменения параметра используется левая и правая кнопка мышки, левая уменьшает значение, правая увеличивает.
До сих пор все было замечательно.
Но при переходе на квик 8.5 и как следствие переходе на луа 5.3 возникло непредвиденное - теперь при нажатии правой кнопки мышки постоянно стало появляться меню с предложением сортировки. которое мало того, что почти полностью закрывает нужное мне поле, так еще и блокирует следующее нажатие правой кнопки мышки на моем поле, и дальше параметр не меняется.

С точки зрения пользователя, это полнейшее издевательство! Уж если я хочу включить сортировку, то не поленюсь, и нажму на заголовок этого столбца.
Подскажите, как можно отключить это ужасное выпадающее меню?
Помогите разобраться с ошибкой голосового движка luacom
 
В макросе использую произнесение голосом разных событий.

Функция чтения голосом выглядит вот так:

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 ) либо научиться определять, что эта ошибка есть, и как-то не давать скрипту останавливаться
проблема с w32.dll на quik 8.5
 
Здравствуйте.
Для работы одного из луа скриптов (автологин) использую внешнюю dll - w32.dll
Раньше все работало
С переходом на 64х разрядную версию старая dll перестала работать, но на сайте разработчика https://quik2dde.ru/viewtopic.php?id=80 появилась версия для 64х битной винды.
Заменил ею старую версию, но все равно на квике 8.5 выдает ошибку:

error loading module 'w32' from file 'M:\Sergey\Program\QuikFinam-bid\w32.dll':
   Не найдена указанная процедура.


Взял самый примитивные луа скрипт с одной строкой:

local w32 = require("w32")

Уже на ней выдает ошибку.

История повторяется на двух компьютерах с 6х разрядной виндой

Может кто-то знает в чем дело?
Квик 8.5 для Windows 32-bit
 
Уважаемые разработчики, а что версии квика не будет для винды 32х битной?
Это как понимать? Т.е. вы решили резко сократить количество пользоателей квика таким образом?
помогите советом - как запрограммировать ожидания снятия стоп заявки?
 
Помогите пожалуйста.

Задача такая: стоят стопы и тейки на определенных высотах. График до них не доходит, но при определенных условиях, нужно войти в позицию.
Если просто поставить заявку на вход по текущей цене, она не выставляется, т.к. идет превышение по ГО.
Значит надо сначала снять предыдущие заявки.
Использую оператор trans:killAllOrdersByClient
Но если после этого сразу поставить новую заявку, то все равно она не ставится, т.к. старые заявки удаляются не мгновенно, и ГО опять не хватает.
Я пробовал написать функцию, которая перебирает все существующие заявки и проверяет их статус, до тех пор, пока у них статус не станет "отменен", но проблем в том, что этот цикл.
Но проблема в том, что когда запускается этот цикл, то квик почему-то полностью подвисает, и такое ощущение, что даже перестает видеть изменения в состоянии заявок.

Вот так выглядит цикл:

В массиве waiting_ordernum_todel  собраны все заявки, удаления которых надо дождаться


while #waiting_ordernum_todel > 0 do
for i = 1, #waiting_ordernum_todel do
if waiting_ordernum_todel[i] ~= nil then
local stop_orders_now = getItem("stop_orders",waiting_ordernum_todel[i][2])
-- если заявка НЕ активна то убираем ожидание
if CheckBit(stop_orders_now.flags,0) ~= 1 then
-- message_my ("Снялась заявки "..tostring_my (waiting_ordernum_todel[i]))
waiting_ordernum_todel[i] = nil
else
if waiting_ordernum_todel[i] ~= nil then
message_my ("WaitDeletingStops: еще активен стоп №"..waiting_ordernum_todel[i][2]..": "..tostring_my (stop_orders_now))
end
end
end
end
if #waiting_ordernum_todel > 0 then
message_my ("WaitDeletingStops: sleep 100")
sleep (100)
WaitDeletingStops (hist_zap_full)
end
end

Вопрос к знающим людям, почему так происходит? Почему терминал "забывает" обрабатывать связь с сервером и видеть изменения в заявках?
Где в настройках QUIK указывается количество свечей, которое он хранит?
 
Здравствуйте!
У меня два терминала квика. В одном данные хранятся за 30 дней, а в другом почти 4 месяца (т.е. в 4 раза больше).
Видимо я где-то в настройках что-то изменил в одном из терминалов.
Проблема в том, что второй терминал часто выдает ошибку "не хватает памяти", да и в диспетчере задач памяти занимает в 3 раза больше.
Подскажите, где найти настройку, из-за которой он хранит в 4 раза больше данных графиков? Я не смог найти.
Заранее спасибо
Сервер ФИНАМ дает неверное значение текущей позиции и дает открыть позицию, превышающее ГО. У кого еще такое было?
 
Я уже второй раз сталкиваюсь с такой ситуацией, когда брокер Финам позволяет мне открыть позицию превышающую ту, которую позволяет мой депозит, с учетом ГО инструмента.

Происходит это так: у меня открыта позиция на один контракт вверх (в частности на иснтрументе Si-3.19).
У меня торгует робот, который проверяет текущую позицию, и если она равна единице, то вторым контрактом он даже не пытается войти.
Но взглянув в какой-то момент на терминал, я обнаруживаю, что у меня позиция "2 контракта", хотя это физически не возможно.
В результате долгой переписки с тех. поддержкой они меня уверяют, что "ошибок в расчете допустимой позиции не обнаружено", т.е. они меня уверяют, что на момент покупки второго контракта ГО позволял мне увеличить позицию до 2х контрактов.
Однако на мой вопрос "какой ГО был на момент покупки второго контракта" мне было отвечено "мы не знаем".
Занавес!

А объяснение очень простое: в какой-то момент один из серверов, к которому подключен Квик, начинает ошибочно сообщать, что моя позиция сейчас равна нулю, и более того, позволяет докупить еще один контракт, т.к. сам сервер считает, что у меня нулевая позиция, и превышения по ГО еще нет.

Подобная ситуация у меня уже была при работе с Финамом.
Мне точно так же позволили открыть позицию превышающую возможности депозита.
В тот момент я наблюдал эту картину лично. И происходило это так: при подключении к одному серверу Финама, Квик показывал одно значение купленных конрактов, а при подключении к другому серверу, количество купленных контрактов было другим.

Т.к. тех. поддержка меня уверяет, цитирую:
" Неполадок в работе, в части расчета количества открываемых позиций, обнаружить не удалось. "
хотелось бы узнать, кто еще сталкивался с подобной ситуацией при торговле в Финам, или других брокерских конторах? И как часто это происходит?
Как на Lua мониторить сообщения в окне "Системные сообщения"?
 
Есть проблема - иногда при работе робота возникает ошибка "not enough memory".
В этом случае робот перезапускать уже бесполезно, надо перезагружать сам терминал, а иногда и саму систему Windows
Нужно научиться отслеживать этот момент, и поэтому нужно научиться в другом роботе мониторить появление такого сообщения в окне "Системные сообщения".
Подскажите, есть ли какая-то функция, которая возвращает сообщения из этого окна?
Если нет, то может еще есть какие-то варианты отследить такую ситуацию?
Заранее спасибо
Исправьте историю папок и файлов в квике
 
Уже больше года назад я писал заявку о том, что когда в квике делаешь загрузку файла конфигурации, то он запоминает папку, из которой он открывал файл.
Затем когда открываешь файл скрипта lua, он начинает открытие выбора файла с этой папки!!!! Что уже само по себе бестолково.
А когда ты выберешь файл lua, а потом захочешь снова загрузить файл настроек, то он теперь начнет выбор папки с директории где лежат скрипты.
Обещали это исправить и разделить эти папки и хранить раздельно. Но воз и ныне там.

А на днях я обнаружил еще хуже проблему. ПОставил вторую версию квика (от другого аккаунта)
Так оказалось, что если в одном квике сделать любую вышеописанную операцию, то в другом квике эта директория тоже будет начально.

Исправьте этот очевидный глюк!
Скрипты и файлы настроек не могут храниться в одной папке.  
Как открыть файл на запись в кодировке DOS (866)
 
Здравствуйте.
Возникла такая задача - хочу дописывать информацию в файлы Descript.ion (которые использует FAR manager для комментариев к файлам).
Столкнулся с загвоздкой, что FAR эти файлы делает в DOS кодировке. А lua пишет в файлы в кодировки Windows
Может кто-то подскажет, есть ли в lua возможность открыть файл на запись (да и чтение тоже) в кодировке DOS?
Или на крайний случай функцию, которая конвертирует текст в нужную кодировку. Т.е. чтобы я писал в файл Descript.ion текст под кодировкой Windows, а FAR ее видел нормально
Задвоение SMS (смс) о подключении и отключении QUICK от сервера
 
С недавних пор мне начали приходить смс сообщения от сервера квика об изменении статуса подключения к серверу.
СПасибо за то, что разобрались с этой проблемой, о чем я писал в другой ветке.
Эту проблем удалось решить.

Теперь есть другая проблема - эти сообщения (как и 80% сообщений о совершенных сделках) приходят дважды. Задвоение происходит практически в 100% случаев, хотя несколько раз я нашел только одну смс.

Большая просьба разобраться в ошибке. Подключаюсь через Финам. Номер терминала могу отправить на почту, только укажите какую, хотя сомневаюсь, что это так важно. Вряд ли я уникальный такой пользователь. Телефон от Мегафона. Хотя в случае с смс о сделках, я менял номер телефона на другого оператора, и смс тоже задваивались. ТАк что дело явно не в Мегафоне.

FINAM_QUIK 13.07.17 21:18 Пользователь #хххххх аварийно отключился от сервера в 21:18

подобные дубликаты смс о подключении и отключении повторяются ежедневно
Снова проблемы с SMS при сделках от Финама
 
Начиная с 10:00 5 июля 2017 года опять изменился формат сообщений о совершенных сделках от сервера Финам.
Ранее я уже описывал ситуацию, что изначально в сообщениях не было информации о том, куплено или продано. Вот так выглядели смс:

BROKER_QUIK 05.07.17 16:35 RIU7 Сделка #1818497227 заключена по заявке #26921132540, количество: 1, цена: 98810

Много месяцев назад, я обращался в Финам, и они поменяли. Смс начали приходить вида

FINAM_QUIK 04.07.17 20:55 RIU7 Сделка на покупку #1817604262 заключена по заявке #26905995397, количество: 1, цена: 99750

Все было нормально, спустя пару месяцев ни с того ни с сего, смс опять стали приходить старого вида, без указания направления.
Я написал в Финам, передо мной извинились, через день все исправили.

Спустя месяц была подобная ситуация. Опять поправили.

Но 5 июля 2017 года такая ситуация снова повторилась. Мои нервы не выдерживают, я не могу каждый месяц писать в финам и повторять одно и тоже. Поэтому я пишу сразу в поддержку Квика.

Полагаю, что ошибка возникает при обновлении сервера в финаме, и видимо шаблон сбрасывается на тот, который поставляется  с дистрибутивом от квика. И сотрудникам финама все равно, что много месяцев назад был запрос от пользователя, и недочет был устранен.

В связи с этим у меня огромная просьба к разработчикам Квика:
1) либо исправить сам шаблон, в котором (очевидно с точки зрения любого трейдера) должна быть фраза "куплено" или "продано".
2) лило сделать так, чтобы настройки шаблона сообщения на сервере брокера не сбрасывались, когда он обновляет серверную часть.

Лично я уже на грани того, чтобы отказаться от этой услуги и написать самостоятельные уведомления через вотсап или телеграм.  
СМС уведомления о сделках - проблема! дублируются сообщения
 
Здравствуйте!
Я снова с проблемой в сервисе СМС уведомления о сделках.
Долгое время терпел, потом не выдержал.
Регулярно (примерно в 80% случаев) на одну сделку мне приходит две одинаковые смс о совершенных сделках.
В техническую поддержку Финама обращался, меня кормят фразами, что у них сервер отправляет только одну смс, и это "глюк" моего телефона.
С телефоном у меня точно все нормально, потому что одинаковых смс не приходит ни от одного смсного сервиса, хотя интернет банкингом я пользуюсь регулярно.

Просьба помочь разобраться в проблеме, и помочь тех. поддержке Финама настроить свой сервер.
Заранее спасибо!  
SMS оповещения от квика - нет сообщений о разрыве соединения
 
Пользуюсь платной услугой смс информирования о событиях, произошедших в квике.

Но вызывает вопров: когда настраиваю оповещения. ставлю галочку в двух пунктах:
- заключение сделки
и
- изменение статуса подключения к серверу

Сообщения про сделки приходят безупречно.
А вот сколько бы связь сервера ни рвалась и не подключалась, никаких смс не приходит.
Можно узнать, это ошибка, или так задумано, а если задумано, то что означает пункт "- изменение статуса подключения к серверу"?
Заранее спасибо

Очень бы хотелось, чтобы смс уведомления прихоидили. Ибо квик иногда ни с того ни с сего зависает, и когда не находишься рядом с компьютером можешь даже не узнать, что твой робот с квиком давно висит
окно Системные сообщения - пожелания по виду сообщений
 
Просьба к разработчикам:

в окно "Системные сообщения" попадают все сообщения происходящие на терминале.
В частности о снятии и постановке заявок, совершении сделок и т.д.

Проблема в том, что если в одном терминале имеешь несколько вкладок, в которых торгуешь с разных счетов, то сообщения по всем счетам сыпятся в одно окно, и отличить их невозможно, т.е. не видно, по какому счету заявка прошла, а по какому например прошла ошибка "Превышен лимит".
Кроме того, в это же окно выдаются сообщения от роботов при операторе "message". Но в роботе можно сделать так, чтобы перед сообщением фигурировал номер счета, и тогда в окне "Системные сообщения" на каждой вкладке настроить фильтры, так чтобы отображались только сообщения, по данному счету.

Просьба доработать вывод сообщений в окно "Системные сообщения", чтобы в тексте всех сообщений отображался номер счета, по которому данное событие произошло. Спасибо!  
FinamJunior - путь куда ставится программа
 
Сегодня попробовал себе демо версию квика FinamJunior
Очень удивило, что при установке даже не предлагается выбор папку, куда я хочу поставить.
В результате он почему-то поставился на диск Д, который даже не основной для данной загрузки.

Большая просьба сделать возможность указывать путь для установки.
Даже корень С диска не лучшее место для установки.

заранее спасибо!
SMS уведомления о сделках - пропала надпись "купля" или "продажа"
 
Здравствуйте!

Почти с начала подключения к Финаму я пользуюсь услугой СМС уведомлений о совершенных сделках.
Однако почти сразу заметил, что в приходящих смс есть все что угодно, кроме того, "куплено" или "продано"
Вот текст смс, которые приходили:
"BROKER_QUIK 10.03.17 21:33 RIH7 Сделка #1729238161 заключена по заявке #25338521653, количество: 1, цена: 105430"
Абсурд, не правда ли? Знать цену, но не знать, куда именно ты вошел.

Я написал об этом в поддержку Финама, и свершилось чудо, через какое-то время в смс стало печататься слово "купля" и "продажа".
Вот пример смс:
FINAM_QUIK 09.03.17 23:25 RIH7 Сделка на покупку #1727981124 заключена по заявке #25314581402, количество: 1, цена: 10503

Однако с появлением такой очевидной и необходимой информации смс видимо стала слишком длинной, и в итоге цена стала обрезаться на одну, а иногда на две цифры.

Я написал об этом в поддержку финама, меня больше месяца кормили обещаниями.
Затем я не выдержал, и написал здесь на форуме об этом. Вот тема
https://forum.quik.ru/forum1/topic2571/
В результате выяснилось, что разработчики квика уже давно эту ошибку исправили, но техподдержка финама за это время не обновила серверную часть, и я по-прежнему получал уведомления обрезанные.

И вот недавно свершилось чудо, Финам обновил серверную часть, и цена стала приходить полностью.
Но самое интересно впереди: вид смс вернулся к первоначальному, т.е. в смс опять пропало направление сделки.
Кстати спустя примерно два месяца после того, как в смс начали приходить направления сделок, Финам видимо опять что-то обновил, и в смс опять пропало это слово. Мне снова пришлось звонить в поддержку Финама и вскоре они снова вернули все как было (но без нормальной цены).

Уважаемые Финамовцы и разработчики Квика: неужели так сложно разобраться в этом вопросе и сделать нормальное уведомление СМС?
При обрезании цены мне Финамовцы пытались внушить, что это проблем оператора сотовой связи, который обрезает сообщения. Ерунда полная, т.к. я спокойно отправлял себе такую же смс, добавляя к ней пару цифр, и она нормально приходила.

Я прошу разобраться с нормальным видом смс сообщений.

Если длина сообщений слишком большая, там полно лишних слов, которые можно убрать.
Вместо длинных слов будет вполне достаточно вот так:
BROKER_QUIK 10.03.17 21:33 RIH7 покупка по сделке #1729238161 заявка #25338521653, кол.: 1, цена: 105430

Более чем информативно и полно.

Так же еще в момент моего первого обращения в Финам я просил, чтобы в смс было уведомление, по какому именно торговому счету была совершена операция, потому что у меня торговля происходит по нескольким счетам, и мне кажется вполне нормально и необходимо знать, по какому именно счету сделка была совершена.
Но в Финаме мне ответили, что этого сделать невозможно.

Просьба разработчиков Квика пояснить, как это так невозможно? Скорее всего это похоже на "отмазку".
Большая просьба добавить в смс сообщения еще и информацию о номере счета.
Тогда услуга станет гораздо удобнее и больше людей сможет ей пользоваться.

Заранее спасибо!  
Непонятные закрытия окна QUIK без каких либо ошибок и подтверждений! У кого такое тоже есть?
 
С недавних пор (примерно с появлением версии 7.6) у Квика стало наблюдаться аномальное поведение - ни с того ни с сего, окно квика может просто закрыться без каких либо сообщений об ошибке.
Для выхода из квика у меня стоит подтверждение, поэтому случайное нажатие на крестик "закрыть квик" не предлагать.

Иногда это происходит вообще без каких либо моих действий - т.е. просто сидишь смотришь на грифики, и вдруг раз - квик закрылся.
сегодня произошло сразу после того, как я добавил на график один индикатор moving average. как только я нажал ОК в окне редактирования графиков, окно квика "молча" исчезло.  
Некорректно приходят SMS о совершенных сделках
 
У меня подключена платная услуга "СМС информирования о совершенных сделках".
Сначала все работало хорошо, но несколько месяцев назад в смс перестали высвечиваться 1 или 2 последние цифры цены (торгую фьючерсом РТС, там 6-и значная цена).

Я написал в поддержку Финама, меня сначала пытались отправить к оператору мобильной связи - мол это у них проблемы, но когда я доказал, что на всех операторах связи это работает одинаково мне пришел ответ, что ситуация будет исправлена.

На днях, я решил поинтересоваться, а скоро ли будет это сделано, и получил ответ, что разработчики квика сказали, что все уже исправлено.

Я не смог добиться от финама, с какой версии это должно работать. Но они убеждают меня, что я должен обновить квик.
У меня стоит 7.6.1.1. Я его ставил сам, качая с вашего сайта. И при подключении к финаму мне не предлагается скачать новую версию.
Значит у меня стоит версия, явно не старее той, которую бы мне предложил финам.

Кроме того я хотел бы получить пояснение: каким образом "форма смс" может зависеть от квика, который у меня стоит? ведь смс приходят даже если у меня квик закрыт.  
Как отслеживать появление новых версий квика?
 
Скажите, есть ли на сайте разработчиков какая-то рассылка, из которой можно оперативно получать напрямую от разработчиков новости о выходе новых версий квика?

Дело в том, что брокер обновляет версии достаточно поздно, а хочется пользоваться новыми свойствами квика уже сразу.

Как вариант (я уже это предлагал) создать одну тему - НОВОСТИ КВИКА ОТ РАЗРАБОТЧИКОВ, в которую могут писать только разработчики. И там публиковать информацию о выходе новых версий. Потому что я не очень понимаю, как следить на этой странице http://arqatech.com/ru/support/files/quik-workstation/ о новых версиях.  
Предложение - дать возможность голосовать за приоритет в очередности доработок QUIKа
 
В течении года читаю форум, и очень удивляюсь тому, по какому принципу разработчики квика решают, какую доработку внедрять раньше, а какую позже.

Например, нашумевший вопрос про "прямоугольники на графике". Мне кажется очевидно, что данная потребность была у всех пользователей без исключения. И запрос на такую возможность был аж несколько лет назад.
А сделали только недавно. Причем как программист, я понимаю, что трудозатраты на такую "доработку" значительно меньше, чем, например, на полную реорганизацию всего меню "настройки графика", которые были относительно недавно.

В связи с этим у меня предложение к разработчикам - почему бы не сделать "народное" голосование за важность доработки?
Сделать это очень просто - у вас есть список всех доработок, которые вы регистрируете и считаете "целесообразными".
Можно создать возможность, чтобы все "целесообразные" доработки на текущий момент, которые еще не реализованы, были выложены на одной странице. Каждый человек может проголосовать например за 3, или 5 доработок.
Те которые набирают максимальное количество голосов запускаются в работу в первую очередь.
Таким образом вы в максимально кроткие сроки удовлетворите запросы большинства пользователей.

Делать это можно например раз в месяц, в какой-то диапазон дат, например с 5го по 10е число, и те, кому не безразлично совершенствование квика (я говорю про пользователей) будут участвовать в опросах.  
Перемещение QUIK в панели задач при переподключении
 
Заметил неприятную особенность квика - при переподключении к серверу вкладка квика меняет свое положение на нижней полосе панели задач винды.
такое ощущение что окно заново пересоздается и оно перескакивает максимально вправо.
Это крайне неудобно, когда открыто несколько окон квика и ты знаешь, что первое у тебя например торгует по одному счету, а второе по другому.

Можно это как-то исправить?
Заранее спасибо
Кажется ошибка в OnCalculate в версии 7.6
 
Обновил версию квика до 7.6.0.81
На предыдущей версии прекрасно работал индикатор, который выводил уровень открытия дня в виде жирных точек. ВОт полный текст:

Settings =
{   Name = "Day Open Price",
    line =
    {    { Name = "Open",
             Color = 0xd7ff,
             Type = TYPE_POINT,
             Width = 2
          }
    }
}

function Init()
return #Settings.line
end

price_begin_day = nil

function OnCalculate(indx)
-- если новый день, то сохраняем цену начала дня
if T(indx).hour <= 10 and T(indx).min == 0 then
price_begin_day = O(indx)
end
return price_begin_day
end

Однако на версии 7.6 он почему-то начал выдавать серию ошибок следующего содержания:

Open_Day.lua:20: attempt to index a nil value

20я строка это которая if T(indx).hour <= 10 and T(indx).min == 0 then
т.е. получается, что функция  OnCalculate(indx) вызывается энное количество раз с параметром nil
Количество таких срабатываний в конце рабочего дня составляет больше 50и раз (точно считать совсем не хочется), при том, что всего свечей на 5и минутном графике, где этот индикатор рисуется 3324.
Просьба проверить, похоже на какую-то ошибку.  
недокументированные события QTABLE при нажатии мышки
 
При обработке событий нажатие мышки столкнулся с неизвестным значением, которое не описано в документации
Его значение 8.
Пришлось поковыряться, и вывести из глобальной переменой _G все переменные, которые содержат QTABLE в начале.
Вот что получилось:

_G["QTABLE_SELCHANGED"] = 5
_G["QTABLE_VKEY"] = 7
_G["QTABLE_CONTEXTMENU"] = 8
_G["QTABLE_MBUTTONDBLCLK"] = 10
_G["QTABLE_INT64_TYPE"] = 4
_G["QTABLE_RBUTTONUP"] = 12
_G["QTABLE_INT_TYPE"] = 1
_G["QTABLE_CHAR"] = 6
_G["QTABLE_MBUTTONDOWN"] = 9
_G["QTABLE_NO_INDEX"] = -1
_G["QTABLE_TIME_TYPE"] = 7
_G["QTABLE_RBUTTONDOWN"] = 2
_G["QTABLE_DEFAULT_COLOR"] = -1
_G["QTABLE_NEED_REFILL"] = 23
_G["QTABLE_CLOSE"] = 24
_G["QTABLE_RBUTTONDBLCLK"] = 4
_G["QTABLE_LBUTTONDBLCLK"] = 3
_G["QTABLE_DATETIME_TYPE"] = 9
_G["QTABLE_STRING_TYPE"] = 3
_G["QTABLE_LBUTTONUP"] = 11
_G["QTABLE_LBUTTONDOWN"] = 1
_G["QTABLE_UNKNOWN_TYPE"] = 0

из этого выяснилось, что переменная QTABLE_CONTEXTMENU не документирована в описании функции SetTableNotificationCallback
Но на нее есть упоминание в Приложении 3.

Было бы хорошо добавить в документацию.  
Ошибка в обработке события нажатия кнопки мышки на шапку таблицы
 
Использую обработчик нажатия кнопки мышки на разные ячейки таблицы.
Обнаружил такую особенность:
Когда делаешь одиночный клик левой мышки на любую ячейку, то срабатывает два события:
QTABLE_LBUTTONDOWN
QTABLE_LBUTTONUP

Однако если тоже самое делаешь на строку с номером 0, т.е. на шапку, то происходит только одно событие QTABLE_LBUTTONDOWN
т.е. QTABLE_LBUTTONUP не происходит.

В тоже время, если делать двойной клик, то происходит такое:
на обычной ячейке происходит 4 события:
QTABLE_LBUTTONDOWN
QTABLE_LBUTTONUP
QTABLE_LBUTTONDBLCLK
QTABLE_LBUTTONUP

А если тоже самое делать на ячейку шапки, то последовательность событий такая:
QTABLE_LBUTTONDOWN
QTABLE_LBUTTONDBLCLK
QTABLE_LBUTTONUP

Т.е. QTABLE_LBUTTONUP на ней все-таки происходит, но почему-то только после QTABLE_LBUTTONDBLCLK.

Мне кажется это ошибка, а если нет, то поясните пожалуйста логику.
Заранее спасибо  
как определить время с точностью до милисекунд?
 
Для работы с SetTableNotificationCallback хочу попробовать научиться разделять одиночный клик мышки и двойной, путем измерения времени между двумя событиями. Подробнее об этом здесь https://forum.quik.ru/forum10/topic2293/

Подскажите, как в QLUA определить время системы с точностью до миллисекунд?
Заранее спасибо!  
SetTableNotificationCallback : работы с клавишей Ctrl и двойным щелчком мышки
 
Здравствуйте!

Пытаюсь в SetTableNotificationCallback научить различать различные события, такие как:
- одиночное нажатие мышки
- двойное нажатие мышки
- одиночное нажатие мышки с нажатой кнопкой Ctrl
- двойное нажатие мышки с нажатой кнопкой Ctrl

Пока возникают проблемы, и не могу понять, как их обойти. Может кто-то поделится опытом?

Сначала про мышку:
Как описывалось в теме  https://forum.quik.ru/messages/forum10/message13087/topic1440/#message13087
при двойном нажатии срабатывает сразу серия событий
QTABLE_LBUTTONDOWN
QTABLE_LBUTTONUP
QTABLE_LBUTTONDBLCLK
QTABLE_LBUTTONUP
Это крайне неудобно, потому что если на одиночный клик совершается какое-то действие, то при двойном щелчке приходится это действие отменять.
Я не специалист по Windows, но в ее настройках, есть параметр, отвечающий за скорость двойного нажатия мышки. Почему бы в QLUA не использовать этот параметр, и не проверять сначала, было ли двойное нажатие мышки, или одиночное, и уже потом возвращать окончательное событие - ОДНО.
Это как пожелание к доработке.

Второе: по поводу нажатия клавиш. Например нужно обработать событие
- одиночное нажатие мышки с нажатой кнопкой Ctrl
Кое как я выкрутился из положения, и как только нажимается Ctrl записываю в переменную значение, что нажата Ctrl. И все дальнейшие события обрабатываю с учетом того, то Ctrl нажата. Проблема в том, что если нажать Ctrl и потом сразу отпустить, то при отпускании никакого события не срабатывает, и систем продолажет помнить, что Ctrl нажата. И следующее событие обрабатывает, как будто Ctrl нажата, хотя она давно отпущена.
Просьба доработать этот вопрос каким-нибудь образом.
Хотя бы сделать возврат события "отпущена клавиша", как это сделано с кнопкой мышки.  
debugview - где его взять и как им пользоваться?
 
Здравствуйте.

В одной из веток прочитал про отладчик (вернее про вывод отладочной информации) на экран. Речь шла о debugview.
Понял, что его надо откуда качать и как-то ставить, но не нашел в документации к Lua и Квику никаких упоминаний о нем.
Подскажите, что это за зверь такой, где его качать и как ставить и как пользоваться?

Заранее спасибо !  
как убрать DOS окно при работе функции os.execute?
 
Уже видел обсуждение этого вопроса ранее, но там ни к чему толком не пришли.

Поднему этот же вопрос снова.
Вопрос к разработчиким (возможно как пожелание к доработке): например мне нужно запустить проигрывание аудифайла
Если я запускаю
os.execute("vlc.exe имя_файла")
то у меня запускается сначала досовское окно, а потом запускается окно самого VLC плеера.
Почему так? Это так сказать не очень удобно.
Кто-нибудь может подсказать, как эту проблему решить?

Для себя пока решил эту проблему так, чтобы это досовоское окно хотя бы исчезало сразу. Выполняю команду
os.execute("start vlc.exe имя_файла")
В этом случае окно дос запускается, запускает VLC в отдельном окне, и само ДОС окно закрывается.  
Можно ли убрать совсем или изменить ширину столбика с номером строк в таблице на экране?
 
Здравствуйте!

При создании своей таблицы средствами QLUA можно менять ширину столбиков, всех кроме того, в котором будет писаться номер строки.
Однако этот номер строки зачастую совсем не нужен, а занимает приличное количество места.
Подскажите, можно ли как-то изменить его ширину? В частности до нуля.
Заранее спасибо.  
Толщина рамок у окон в QUIK - решение проблемы и просьба доработки
 
Хочу обратиться к разработчикам с просьбой убрать "глюк", или сделать его настраиваемым.
Речь пойдет о ширине рамок у окон в квике.
Дело в том, что раньше я работал на Windows 7. И там окна выглядели вот так

http://i83.fastpic.ru/big/2016/1116/f1/257d4ba8363b4b99dca528b4439ff1f1.jpg
Ошибка оператора string.find
 
Здравствуйте!

Столкнулся с такой проблемой.
У меня есть служебная переменная (пусть ее имя будет А) которая может принимать значение "ххх UD" или "ххх UD+"
Где ххх - может быть любой текст.
В зависимости от наличия знака "+" будут совершаться разные действия.
И тут возникает ошибка в операторе if с таким условием:

if string.find(A, "UD+") ~= nil then
данный оператор, всегда возвращает номер найденного вхождения, независимо от того, какое значение имеет переменная А, с плюсом или нет. Ощущение, ощущение, что при поиске, этот плюс просто отбрасывается.

Большая просьба исправить данную ошибку в операторе, ведь + это такой же символ как и все остальные. Я думаю подобная проблема и с другими символами.
Я пробовал делать так:
if string.find(A, "UD\+") ~= nil then
но это не помогает.
Подскажите как создать папку, переименовать папку или файл, удалить файл?
 
Здравствуйте!

На определенном этапе понадобилось разносить отчеты из ЛУА в разные поддиректории.
Но не смог найти функцию, для создания папки
Так же нужна функция проверки, есть ли уже папка.

Каждый раз запускать
os.execute("md foldername")  

совсем не хочется, это ведь досовское окошко будет моргать постоянно.

Поделитесь пожалуйста какой-нибудь библиотекой для работы с файлами и директориями.
Заранее спасибо!  
Пожелание: разделить сохранение путей открываемых файлов wnd, lua, txt
 
Здравствуйте!

В процессе работы с файлами настроек wnd и скриптами lua постоянно сталкиваю с таким неудобством, что квик запоминает последнюю открытую папку для тех и других случаев одинаково.
Т.е. если ты сохранил конфигурацию окон в какую-то одну папку, а потом хочешь добавить луа скрипт, то по умолчанию он предлагает папку, в которую ты только что сохранил wnd файл. А потом когда ты откроешь луа скрипт, при сохранении конфигурации окон он теперь уже будет предлагать последнюю папку с луа скриптами.

Аналогичная история происходит, если я например делаю экспорт настроек какой-то вкладки.
И аналогино происходит, если я делаю сохранение содержимого какой-нибудь таблицы в txt файл, а потом начинаешь открывать файл конфигурации окон.

Большая просьба - разделите пожалуйста эти три переменные, в которых хранятся последние открытые директории
1) для луа скрпитов
2) для файлов конфигураций wnd  и для сохранения параметров вкладок
3) для экспорта данных из таблиц.

Как вы понимаете, никто не будет хранить все эти файлы в одном месте, и бегать между папками очень неудобно.
Заранее спасибо!  
Какова последовательность обработки процедур OnInit и других?
 
Вопрос к разработчикам:

В роботе описаны функции OnInit и OnQuote (коллбек по событию стакан).

Так вот получается, что при запуске скрипта OnQuote начинает срабатывать раньше, чем  отработает OnInit
Дело в том, что в OnInit  описаны переменные, которые нужны потом для работы со стаканом.

Разве это логично, что OnInit  не обрабатывается первично?

Опишите тогда пожалуйста логику выполнения скрипта, чтобы понимать всю последовательность.
Заранее спасибо.  
Пожелания к развитию QLUA: прямоугольники на графике, разный размер шрифта в таблицах, управление окном графика из LUA
 
Уважаемые разработчики!

При написании торгового робота сталкиваешься с ограничением функционала QUIK и LUa.

Просьба рассмотреть возможность добавить следующие возможности в КВИК и ЛУА:

1) возможность рисовать на графике прямоугольные объекты. Собственно это нужно не только из ЛУА, но и мышкой. В частности нужно иметь возможность рисовать зоны спроса и предложений. Можно конечно коридоры использовать, если не будет заполнения прямоугольника, и нарисуешь несколько зон то границы перемешаются, и не поймешь где верхняя граница одной зоны, а где нижняя другой.

2) Очень бы хотелось иметь возможность раскрасить стакан разными цветами, в зависимости от объема заявок. Для нормальных торгов это важно.

3) Хотелось бы иметь возможность создавать из LUA таблицы, с разными размерами шрифтов при отображении. Вообще в квике было бы неплохо иметь не один шрифт для всех текстов, а чтобы каждую таблицу можно было настроить под свои нужды. Места на экране мало, и не все таблицы одинаково важны.

4) Дать возможность из LUA управлять окном графика - размеры окна, верхние и нижние значения шкалы цены, начальный и конечный интервал отображения, позиция текущего положения (нижний скролинг имеется ввиду). Не думаю что это очень сложно, но при работе из скрипта, часто нужно перемотать позицию куда-нибудь, чтобы увидеть где он там что-то поставил на графике.

Заранее спасибо за рассмотрение просьбы
Что такое "объем" в таблице обезличенных сделок?
 
Здравствуйте!

Подскажите пожалуйста, что означают цифры в столбике "Объем" в таблице обезличенных сделок?

Пояснения:
В таблице обезличенных сделок по индексу РТС берем любую строку[TABLE][TR][TD]164933[/TD][TD]15:34:58[/TD][TD]99710[/TD][TD]1[/TD][TD]124508.48[/TD][TD]Продажа[/TD][/TR][/TABLE]Как видим, одна сделка, а объем при этом 124508.48. Что это за цифра? при этом ГО на данный момент 14092.
Или это объем в рублях? Кажется догадался, но хотелось бы убедиться.

Заранее спасибо!
Просьба сделать в LUA работу со вкладками QUIK
 
Здравствуйте!

Просьба к разработчикам: добавить в LUA функции для определения вкладок в QUIK
Это нужно для того, чтобы одного и того же робота можно было запускать для разных инструментах, в разных вкладках.
Тогда в названии вкладки можно было бы писать код инструмента.

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

Заранее спасибо!  
Как сделать цикл по всем меткам на графике в LUA
 
Подскажите пожалуйста, можно ли в LUA сделать перебор всех меток имеющихся на каком-то из графиков?

Не смог найти такую функцию.

При установке метки ее номер присваивается системой. Их можно запоминать в массив. Но если потом перезапустить скрипт, то номера теряются. А нужно иметь возможность управлять этими метками.
Или может быть есть возможность задавать свой номер метки?

Заранее спасибо за ответ
пожелание - сделать кнопки в панели управления для LUA скриптов, или хотя бы горячие клавиши
 
Добрый день!

Много дней подряд занимаюсь торгами, и вот наконец вызрело желание написать это пожелание:
При программировании скриптов LUA приходится постоянно запускать и останавливать робота. Для того чтобы это делать, приходится постоянно держать открытым окно со списком скриптов.
Начну с того, что в век оконных технологий вызывает недоумение, что это окно не масштабируется.
Это первое пожелание - сделать его масштабируемым, если другие пожелания не будут учтены.
2) данное окно нужно только 1 раз в месяц, чтобы добавить или убрать новый скрипт. Все остальное время оно бессмысленно занимает место. Поэтому было бы в десятки раз удобнее если бы кнопки запуска и остановки скрипта можно было вынести на панель управления. ТАм всего-то нужно по одной кнопке. Ведь у скрипта есть всего два статуса - работает, или остановлен. Т.е. если он работает, то его можно только остановить, и наоборот.
3) ну и, я думаю, все пользователи были бы вам благодарны, если бы вы сделали назначение горячих клавиш на каждый из скриптов. Можно по тому же принципу, что если он уже запущен, то эта компбинация его останавливает, а если еще не запущен, то запускает.

Заранее спасибо за доработки.

p.s. может я каких-то возможностей не знаю?
Можно ли из LUA перейти на графике на нужный интервал?
 
Здравствуйте!

Подскажите пожалуйста, есть ли функция в LUA для того, чтобы в окне с графиком перейти на нужный отрезок времени или свечу по номеру?
Для отладки робота на исторических событиях это было бы очень удобно.
Если такой возможности нет, то можно зарегистрировать как пожелание7
в каком файле хранятся данные сделок, совершенных за день?
 
Здравтсвуйте

Есть такая задача - на сервере у меня крутится квик, на котором стоит робот. Он торгует до завершения сессии, т.е. до 23.49.
Часто к этому времени я ложусь спать, поэтому квик на домашнем компьютере выключаю.
Проблема в том, что утром не всегда успеваешь запустить квик дома, чтобы он успел загрузить все сделки вчерашнего дня.
А мне нужно с домашнего компьютера экспортировать их в эксель путем выгрузки по DDE

Подскажите, какие файлы нужно скопировать из сервеного квика, на домашний компьютер, чтобы сделки отобразились в квике?
Пробовал файлы alltrade.dat и trades.dat, ничего не получается.
Хотя странно, если их удалить из папки квика, то при новом входе (без подключения к серверу) список сделок становится пустым.

Заранее спасибо за ответ.  
Вопрос: как получить в переменную значение элемента массива, но чтобы не было связи между этой переменной и массивом
 
Здравствуйте!

Такой вопрос:
у меня есть таблица, допустим

arr_test = {}
arr_test["111"] = 111
arr_test["222"] = "222"
arr_test["333"] = 333
arr_test[1] = 111
arr_test[2] = 222
arr_test[3] = 333
arr_test[4] = {a = "aaa", b = "bbb"}
print_perem("arr_test")

затем если мне надо получить значение элемента [4]  я пишу

A = arr_test[4]

но если потом, я начинаю действия с переменной A, например
A.c = "ccc"

То меняется и элемент  arr_test[4] в исходной таблице.

Подскажите пожалуйста, как этого избежать?
Наверно есть какой-то оператор, позволяющий присвоить переменной А именно значение элемента arr_test[4]

Заранее спасибо
Как можно прервать работу скрипта Lua, если он подвис в каком-нибудь цикле?
 
Здравствуйте!

В процессе отладки частенько возникают такие ситуации, когда скрипт подвисает, т.е. начинает сильно грузить терминал, и уже ничего не сделаешь,приходится снимать задачу с квиком и заходить заново.
Можно ли как-то клавишами или еще какими-то методами прекратить работу скрипта?  
Автозапуск скриптов LUA при запуске QUIK (предложение по доработке)
 
Уважаемые разработчики!

Читая множество вопросов по поводу того, как ведут себя скрипты при запуске квика у меня есть одно предложение, которое, как мне кажется, понравится всем и уберет много неудобства пользователям, и избавит Вас от лишних вопросов.
Последней каплей было то (недавно прочитал на форуме) что оказывается скрипты запускаются с нулевого состояния, и все равно не помнят все то, что в нем происходило в предыдущей сессии.

А идея проста, и то, что реализовано в других терминалах:
при добавлении скрипта в список скриптов, сделать дополнительный параметр "автозапуск".
Он и будет определять, запускать ли скрипты при входе Квика или нет.
Потому что есть такие скрипты, которые надо запускать, а есть такие которые не надо. И если я запустил тот, который мне не нужен при следующем запуске,  а потом вышел из Квика, и при следующем запуске Квика он снова запустится, это будет ОШИБКОЙ.
Тоже самое наоборот!

Пожелание 2. Сейчас при входе в квик скрипты запускаются сразу, такое впечатление еще до того, как загрузятся графики. Однако роботам такой состояние очень тяжело отслеживать и они вылетают с ошибкой, что приводит к ощущению, что квик забыл запустить робота.
Если уж запуск робота до появления данных свечей кому-то очень необходим, то учтите и потребности тех, кому этот запуск на раннем этапе ОЧЕНЬ МЕШАЕТ.
Предложение простое: добавить еще одну галочку у скрипта - "запуск до загрузки данных", или "после загрузки данных"

Пожелание 3: сохранять параметры скриптов не при выходе из квика, как это сейчас, а сделать отдельную кнопочку в окне со скриптами "СОХРАНИТЬ". А то для того, чтобы сохранить свойства скриптов приходится выходить и входить. Неудобно очень!!!!!!
файл info.log - зачем, почему и как с этим бороться?
 
Здравствуйте!

У меня такая же проблема, как и у многих пользователей квика - достаточно быстро растет файл info.log и потом при запуске квика, он думает о чем-то очень долго, прежде чем начать как-то реагировать на мои действия.
Перечитал много разных веток на форуме, но так и не получил полного представления о том, что зачем и почему.

Просьба ответить на несколько вопросов для полного понимания:

1) какая информация пишется в файл info.log?
На сколько я смог заметить, если его удалить, то квик точно также отображает данные графиков, которые были загружены ранее. Что именно тогда в нем записано в таком объеме, и зачем Квик читает это все оттуда так долго при запуске, если никуда потом не отображает?

2) В какой момент она потом оттуда используется?

3) Без понимания предыдущих вопросов возникает вопрос - зачем он вообще тогда нужен, если квик без него прекрасно быстро грузится и имеет отображение всех необходимых графиков на настоящий момент.

4) Я читал совет про запуск с "-clear". Возникает разумный вопрос - если есть такой ключ, то почему нельзя сделать такой же параметр в настройках?

5) Если от самих разработчиков следует совет "запускайте с ключом "-clear", то значит квику этот файл не нужен, тогда зачем тратится ресурсы программы (надо сказать и так не сильно быстро работающей в некоторые моменты), чтобы еще писать в большом объеме что-то в этот файл?

Заранее спасибо за разъяснения про этот файл.

P.S. В предыдущих дискуссиях читал еще про файл alltrade.dat, что он тоже замедляет работу, но у меня он небольшой, поэтому пока не критично. Но в целом если эти два файла как-то связаны друг с другом, то можно сразу ответить на все эти вопросы и про него. Тогда можно даже тему переименовать, чтобы более поздние читатели легче могли найти информацию
Функция Message не выводит слово "анализ"
 
Здравствуйте!
При программировании на Qlua не первый раз сталкиваюсь с проблемой, что функция message  не вводит в окно сообщений строковую переменную, если в ней в любом виде содержится слово "анализ". Любыми русскими буквами.
Одно время потратил очень много времени, пока понял, что мои сообщения отладки не выводятся на экран по этой причине. Пришлось менять на другое слово.
Можно ли это как-то исправить? А то как-то странно выглядит, что обычная текстовая фраза, а полностью блокирует вывод на экран. Возможно есть и другие подобные слова.

Заранее спасибо
Можно ли получить имя переменной, имея саму переменную?
 
Здравствуйте!

Подскажите пожалуйста, можно ли имея переменную, поцедуре (например которая выводит значение этой переменной) получить каким-нибудь образом имя этой переменной?

Хочется сделать функцию, которая выводила бы переменную с ее именем:

Например

function print_perem (perem)
    name_perem = ????????
    message (name_perem .."="..tostring(perem))
end

A=2
print_perem (A)

Вот вопрос, как можно name_perem  получить?

Заранее спасибо!  
Страницы: 1 2 След.
Наверх