s_mike@rambler.ru (Все сообщения пользователя)

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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 28 След.
Вопрос к разработчикам: как в 8-м квике отключить выпадающее меню, при правом клике мишки на элементе таблицы LUA?
 
Цитата
Daniil Pozdnyakov написал:
Добрый день,

Проблему, о которой ведётся речь, воспроизвести не удалось. Поэтому предлагаем обновить терминал до актуальной (9.2.2) версии и проверить, актуальна ли будет проблема. Если она всё-таки сохранится, просьба прислать полный пример кода, на котором она воспроизводится.  
Данил, эта проблема тянется с 2013 года, когда в терминале появился луа
все таки прежде чем писать "не воспроизводится", следует хоть как то проверить.  
Запись в один файл из разных скриптов.
 
Lua всегда открывает файлы в разделяемом режиме.

поэтому любые идеи типа открытия в режиме дописывания и прочее не помогут.

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

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

а ещё лучше пересмотреть логику скриптов, чтобы писать из одного скрипта
Ищу спеца по ЛуаКвик, для долгосрочного сотрудничества по созданию робота и его доработкам или для консультаций и наставничества.
 
А мне постройте личную яхту без денег, я вам дам потом  покататься.
Проблемы в работе квика, Самопроизвольное закрытие.
 
Судя по диагностике, падает модуль qlua. Что означает, что какой то ваш скрипт делает какую то каку, которую терминал по переварить не может и рассыпается.

запустите терминал без скриптов , и мои он работает нормально, добавляйте скрипты по одному - найдете тот, где бомба.
Что нужно сделать перед запуском функции CreateDataSource?
 
Цитата
Виталий написал:
Цитата
Nikolay написал:
Т.к. Вы не озвучили настройки получения потока данных вашего рабочего места, то для начала прочтите раздел "Особенности получения значений Таблицы текущих торгов" в справке к терминалу (файл qlua.chm).
А то может потока данных нет вовсе
Цитата
Nikolay написал:
Т.к. Вы не озвучили настройки получения потока данных вашего рабочего места, то для начала прочтите раздел "Особенности получения значений Таблицы текущих торгов" в справке к терминалу (файл qlua.chm).
А то может потока данных нет вовсе.
Поставлена галочка "умное получение данных". Также необходимые инструменты выбраны. И главное поток обезличенных сделок идет в таблице. Но минутные свечи можно получить только с открытым графиком. Это получается только так и можно? Без графика никак?
без графика можно.


как понимаю, вы подписываете ь на регулярный таймфрейм не на тиковый.
Тогда
скорее всего вы хотите получить данные сразу после подписки, но в терминале их при закрытом графике их ещё нет и требуется время на получение.
Индикатор Lua
 
Понятно. Вы вызываете эту функцию не из индикатора, а из скрипта.

проверьте количество передаваемых ей параметров. Что есть offset?
Индикатор Lua
 
Цитата
Евгений написал:
Цитата
Евгений написал:
Подскажите пожалуйста в индикаторе можно получить значение другого индикатора ?
вот по этой функции как то не получается getCandlesByIndex
Техподдержка проясните пожалуйста почему не работает?
я не техподдержка, Но скажу , что индикаторы рассчитываются последовательно друг за другом, порядок расчета не регламентирован, и ваш индикатор может рассчитываться раньше, чем тот, с которого вы хотите получить значения.

решить проблему можно, но через (ухо). Возможно, вам подойдёт готовое решение:
http://www.bot4sale.ru/download-categories/2012-06-13-15-10-36/item/juggler.html
Очередное, @#$!
 
Settings={}
Settings.Name = "minimal"
getInfoParam("VERSION")
function Init()
return 1
end
function OnCalculate(index)
return 1
end

[3676] QLUA E:\Quik-Junior\LuaIndicators\1.lua:3: attempt to call a nil value (global 'getInfoParam')
Куда дели функцию getInfoParam, жители крайнего Севера?
Как объявить Двумерный массив с последующим заполнением уже в скрипте?
 
Цитата
Alex написал:
Добрый день!

Конструкция ниже не работает
Код
  save{{}}
save[ 1 ][ 1 ]  =   "hello" 
 message (save[ 1 ][ 1 ],  0 )
  
http://www.bot4sale.ru/blog-menu/qlua/453-dynamic-arrays.html
Как разделить число на разряды ?
 
http://www.bot4sale.ru/blog-menu/qlua/380-split-3.html
Работа с БД
 
Напишите мне почтой, дам
Работа с БД
 
Sqlite - прекрасно работает с qlua
Получать объемы сделок
 
Нет, не получится так. При масштабировании все съедет

у меня ширина меток задаётся в настройках, привязаться к горизонтальному масштабу нет средств
Получать объемы сделок
 
Цитата
QApplication написал:
Цитата
   s_mike@rambler.ru написал:
Как привязаться к временным меткам - так время свечей нам доступно... Если я правильно понимаю вопрос.
это я понял.

не понятно ка нарисовать линию:
QLua      
Код
   line_id_1  =  line(Point(x1,y1), Point(x2,y2));  // как это сделать  
Вы про низкоуровневое рисование по пикселам? В отличие от современных терминалов и программ технализа наш бронтозавр не предоставляет средств низкоуровневого рисования. Можно самому извращаться с winapi,  это тупиковая история.

Единственные координаты, что мы имеем - это время и цена без возможности пересчеты в актуальные пикселы окна. Лет N назад, где N примерно равно 10, эта тема обсуждалась, помнится разработчик меня даже просил прислать список средств рисования mt5 и Amibrooker (гугл с яндексом в арке под запретом?) но результат мы знаем.
Получать объемы сделок
 
Цитата
QApplication написал:
Цитата
   s_mike@rambler.ru написал:
Вот  такой  вариант. Но не в таблицу выводит, а рисует на графике.
    s_mike@rambler.ru, как вы рисуете прямоугольники на графике через qlua?
Как привязаться к временным меткам (например, от свечи С1 до свечи С2) или работаете через пиксели?
метки. Других инструментов нам qlua  не предоставляет.


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

Таблицы в файле

но можно, конечно, читать ваш файл построчно, как делаете вы и разбирать каждую строку например этой функцией. Этот вариант похуже на мой взгляд
Текущая цена из дневной свечки
 
Цитата
Dr Wed написал:
Всем доброго дня
Можно ли из дневной свечи получить текущую цену инструмента?
Какую цену даст функция ds:C(<свечка текущего еще незакрытого дня>)?
она и даст цену последней сделки инструмента.
Можно ли сделать линии индикатора невидимыми?
 
Сделать цвет линии и цвет фона одинаковыми
Permission denied при удалении файла
 
Цитата
Anton написал:
Цитата
   s_mike@rambler.ru написал:
Я пробовал вставлять до os.remove collectgarbage("collect")
Надеюсь, f = nil; collectgarbage("collect"), а то ж объект еще не вышел из скоупа.
да, именно так.

но с Незнайкой у нас получились разные результаты .
Permission denied при удалении файла
 
ультат тот же. пробовал на стандалоне
Permission denied при удалении файла
 
Цитата
Anton написал:
Цитата
   s_mike@rambler.ru написал:
Похоже что луа хендл не закрывает по fclose, а ставит флажок.
Файл закрывается так (луа 5.3)
Код
  static int aux_close (lua_State  * L) {
  LStream  * p  =  tolstream(L);
  volatile lua_CFunction cf  =  p -  > closef;
  p -  > closef  =  NULL;  / *  mark stream as closed  * /
   return  ( * cf)(L);  / *  close it  * /
}

static int f_close (lua_State  * L) {
  tofile(L);  / *  make sure argument is an open stream  * /
   return  aux_close(L);
}  
При открытии файла closef устанавливается на функцию
Код
  static int io_fclose (lua_State  * L) {
  LStream  * p  =  tolstream(L);
  int res  =  fclose(p -  > f);
   return  luaL_fileresult(L, (res  =  =   0 ), NULL);
}  
Так что закрывает как положено. Другое дело, если явно не закрыть, тогда эта функция отработает только при сборке объекта файла, т.е. когда рак на горе свистнет.
Я пробовал вставлять до os.remove collectgarbage("collect") - рез
Permission denied при удалении файла
 
Цитата
Незнайка написал:
Цитата
s_mike@rambler.ru написал:
и без os.execute то же самое
Без os.execute() файл удаляется.

Цитата
Anton написал:
хэндл файла наследуется запускаемым процессом и удерживается открытым до его завершения
Похоже, так и есть, запускаемый процесс удерживает все открытые (на момент его запуска) файлы до своего завершения.
легко проверить.

сделайте между запуском oos.execute и os. remove паузу, достаточную чтобы руками закрыть созданное окно шелла
Permission denied при удалении файла
 
Что характерно, на standalone lua то же самое и без os.execute то же самое.

Похоже что луа хендл не закрывает по fclose, а ставит флажок. Она не по  fopen и fclose работает.
Подскажите как отправлять инфу из QUIK в телеграм?
 
Еще один вариант, самый простой на мой взгляд. Lua --> Telegram.  
Перемещение заявки 2 транзакциями
 
Сделать снятие на бирже двух заявок "мгновенно" не может никто. Ни скрипт, ни сервер, ни даже биржа.

даже на срочном рынке, где транзакция move_orders исполняется по одному приказу, снятие заявок происходит последовательно. При этом возможны ситуации, когда одна заявка будет снята, а вторая не будет, а будет уже исполнена или частично исполнена.
Поиск инструмента по названию
 
Access violation - это проблема внешней библиотеки или неправильная работа  с потоками qlua. Других вариантов не вилится
Поиск инструмента по названию
 
Цитата
Виталий написал:
autolib.CheckAssetName(row.short_name)
Вероятнее всего проблема там
Ошибка без указания строки в коде
 
У вас, наверное, код скомпилирован с удалением отладочной информации?
Метки
 
Если вы хотите установить "невидимую" метку, просто не указывайте image_path. И потом посредством setlabel делайте с ней все что необходимо.

Если image_path указан, он должен быть обработан. Либо метка нарисована, либо должна возникнуть ошибка исполнения.
Ошибка из КВИКА, Не указан тип транзакции
 
CLIENT_CODE= 1

Вряд ли у вас такой код клиента
Ошибки в Qlua - двойной прогон всех индексов через функцию OnCalculate(), При добавлении индикатора на график происходит двойной прогон всех индексов через функцию OnCalculate()
 
Это не ошибка,это фиииииича.

просили много раз об этом, но разработчикам , видимо, так удобно.
Ошибки в Qlua, Найденные ошибки в qlua
 
Год 1600 - это признак того, что терминал вам возвращает вместо времени 0.

что, в свою очередь, говорит о том, что вы хотите получить время несуществующей свечи или что то в этом роде.

ищите ошибку, она у вас.
CreateDataSource возвращает неверные данные
 
Попробуйте вручную построить тиковый график по этому инструменту. Если не получится - звоните брокеру
Ошибки в Qlua, Найденные ошибки в qlua
 
У вас скорее всего Size возвращает 0
Нехватка видеопамяти
 
Цитата
swerg написал:
Цитата
s_mike@rambler.ru написал:
Когда задают вопрос про версию, это означает, что никто даже и не пошевелился, чтобы найти ошибку.  Она проявляется на любой версии
ккогда спрашивают код скрипта, это означает, что никто даже не почесался прочитать первые три сообщения ветки
когда спрашивают скриншот окна сообщения, это значит, что никто  даже не пробовал поискать в текстах терминала  слово "видеопамяти "
Даниил, вам спихнули эту проблему, потому что все равно никто не решить не может?

Здесь вы совершенно неправы.
То, что кому-то кажется "да у меня в каждом скрипте так" на самом деле означает лишь то, что человек этот каким-то определённым образом пишет скрипты. Но делает всегда именно так, поэтому "в каждом скрипте...". Но, важно! не в "любом", а в "каждом моём".
Далее. Если кто-то воспроизведёт примерно подходящую по описанию ошибку - скорее всего это будет совсем другая ошибка, а не та, с которой сталкиваетесь вы. Т.е. вашу проблему - уж точно не починят.
Именно поэтому спрашивают всегда конкретный проблемный код. А не обще-абстрактные рассуждения. На любом абсолютно программистском форуме.

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

писать тестовые скрипты можно, я писал и отсылал. В результате "исправим в очередной версии". Ну а далее смотри первый абзац. Пусть сами пишут свои тесты, я написал как.

в конце концов, они могут видеть последовательность qlua обращений к терминалу и видеть результат в работе скрипта, ссылку на который я дал.

пустое это все, знаю.
Кривые шибки в QLua
 
Цитата
TGB написал:
Цитата
s_mike@rambler.ru написал:
TGB, прекратите фантазировать.этот код (усложненный) работает в сотнях (может тысячах, я не знаю) копий роботов, из числа выложенных  на сайте и написанных под заказ.
    Вы что, никогда не сталкивались с ситуацией, когда программы использовались сотнями тысячами пользователями и в этих программах потом обнаруживались ошибки?
и спамить тоже прекращайте.
Кривые шибки в QLua
 
Цитата
TGB написал:
Цитата
Старатель написал:
код в сообщении  #24  в частности.
       Выполненные мною в Lua 5.3 (5.4) тесты атомарности операций вставки/удаления полей в таблицу показали, что эти операции (в условиях реализован-ной многопоточности QLua) все-таки атомарны.  Возможно?, есть ситуации, не охваченные тестированием, когда атомарности может не быть. Если же таких ситуаций нет, то мое утверждение, что выложенный Старателем код Queue (с описанием редко возникающей ошибки) создает потокоопасные очереди, ошибочное.
TGB, прекратите фантазировать.

этот код (усложненный) работает в сотнях (может тысячах, я не знаю) копий роботов, из числа выложенных  на сайте и написанных под заказ.
Нехватка видеопамяти
 
Цитата
nikolz написал:
не знал, что на форуме есть телепаты.
одни и те же вопросы задаются по кругу разными людьми.

Это означает, что проблема ходит из рук в руки и все ее бросают. Или неохота заниматься или слишком сложная проблема.
Нехватка видеопамяти
 
Цитата
Daniil Pozdnyakov написал:
   s_mike@rambler.ru, здравствуйте,
Могли бы Вы, пожалуйста, указать версию вашего терминала. Также убедительная просьба прислать код, на котором указанная Вами проблема воспроизводится, и скриншот окна всплывающей ошибки.

Когда задают вопрос про версию, это означает, что никто даже и не пошевелился, чтобы найти ошибку.  Она проявляется на любой версии

ккогда спрашивают код скрипта, это означает, что никто даже не почесался прочитать первые три сообщения ветки

когда спрашивают скриншот окна сообщения, это значит, что никто  даже не пробовал поискать в текстах терминала  слово "видеопамяти "

Даниил, вам спихнули эту проблему, потому что все равно никто не решить не может?
Вызывается OnStopOrder при загрузке
 
Цитата
Евгений написал:
Разработчики ответьте на вопросы, почему вызываются функции обратного вызова при перезагрузке квика?
Так и задумано? или это ошибка?
так и должно быть. Торговая сессия установлена прошлым днём, а вы подключились к новому серверу. Либо вы вообще не подключались в этот торговый день к серверу, а сделки в этот торговый день были.
Кривые шибки в QLua
 
Цитата
TGB написал
Пример использования потокобезопасной очереди:  https://forum.quik.ru/messages/forum10/message56397/topic6356/#message56397
table.sinsert неприменима в случаях, когда очередь имеет большую длину. Использовать такой код нужно с осторожностью.
Нехватка видеопамяти
 
Цитата
Roman Azarov написал:
   s_mike@rambler.ru, здравствуйте!

К сожалению, при переходе по предоставленной ссылке получаем сообщение от сервера об отсутствии доступа к директории.
Просьба предоставить корректную ссылку или уточнить, что имеется в виду под "активной" работой с метками.
О каком количестве меток идет речь?
Странно.

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


Это скрипт, который выводит профиль рынка.

он выводит много меток на график. За предыдущие дни (за каждый день) он выводит 50-100 меток (addlabel) и оставляет их в покое. Текущий день обрабатывается путем начального вывода тей же сотни меток и их перестановок при помощи replacelabel

При этом количество выставленных меток в течение дня (практически) не увеличивается, а количество свободной видеопамяти уменьшается.

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

выставляем 100 меток посредством createlabel и потом раз в секунду заменяем первую на вторую, вторую на третью и так по кругу. Наблюдаем и удивляемся.


----

дополнительно, не относящееся к теме ремарка. Очень жаль, что bmp метки терминал может взять только из файла, и нет возможности передать картинку напрямую по памяти, минуя диск. львиная часть затрат мощности при активной работе с метками идет на бесполезную последовательность конверирование растра в бмп формат -> запись файла -> чтение файла -> раскодировка файла в растр.

Понятно, что не сделаете, но я все же "зарегистрируйте, пообещайте".  Булычев в свое время думал об этом, но не надумал, как выясняется.
Все индикаторы на Lua
 
   i=CountBars-1;
  while(i>=0)
  {
     L0A = L0;
     L1A = L1;
     L2A = L2;
     L3A = L3;
     L0 = (1 - gamma)*Close[i] + gamma*L0A;
     L1 = - gamma *L0 + L0A + gamma *L1A;
     L2 = - gamma *L1 + L1A + gamma *L2A;
     L3 = - gamma *L2 + L2A + gamma *L3A;

     CU = 0;
     CD = 0;
     
     if (L0 >= L1) CU = L0 - L1; else CD = L1 - L0;
     if (L1 >= L2) CU = CU + L1 - L2; else CD = CD + L2 - L1;
     if (L2 >= L3) CU = CU + L2 - L3; else CD = CD + L3 - L2;

     if (CU + CD != 0) LRSI = CU / (CU + CD);
     val1[i] = LRSI;
 i--;
}
Все индикаторы на Lua
 
Цитата
Dobrota написал:
Кто-нибудь может поделиться индикатором скользящей средней Laguerre?
Я бы и сам мог написать, но формулу не до конца понял. Может, кто-нибудь может подсказать?

L0 = (1 – gamma)*Price + gamma*L0[1]
Price = ((H+L)/2)

H и L это максимум и минимум свечи? L0[1] это значение для предыдущей свечи?
Судя по всему, приведённая вами формула есть разновидность скользящей средней по средним ценам свечи.

Laguerre(0) = (1-gamma) * (High+Low)/2 + gamma * Laguerre(-1)
Прочесть таблицу новости через LUA
 
Цитата
Владимир написал:

Для меня вот совершенно очевидно, что тип integer обязан быть в языке - это первый язык, который я встретил за долгие годы программирования, в котором его нет! И что? Его нет и не будет - как ни аргументируй.

про ассемблер слышал разработчик операционных систем? А про Forth?  Неужели про Бейсик тоже не в курсах? И про все остальные скриптовые языки со слабой типизацией тоже нет? Никогда не использовали sql ?

языков , которых по вашему мнению не существует, абсолютное  большинство.


какие интересные операционные системы...
Нехватка видеопамяти
 
Цитата
Roman Azarov написал:
   s_mike@rambler.ru, добрый день!

Пришлите, пожалуйста, пример описанного поведения (с описанной ошибкой и количеством свободной на момент получения видеопамяти) и скрипт на котором оно воспроизводится.
Какая версия терминала Вами используется?
на видеокарте 1080ти на момент получения сообщения о нехватке памяти остаётся ещё 7 гигабайт свободными. Версия 9.1

Для написания тестов в компании должно быть соответствующее подразделение. Если компания Арка не в состоянии себе его позволить и некому написать 10 строк на языке луа  - берите вот этот http://www.bot4sale.ru/download-categories/2012-06-13-15-10-36/item/volume-at-price-dlya-quik.html в качестве гуманитарной помощи нуждающимся.
8.13 vs 9.1
 
Удивительно, но удалось заставить 9.1 демо отображать метку.

После бубна и гимна России по него удалил диаграмму полностью, создал ее заново, дал тот же идентификатор - и чудо свершилось, метка появилась!


Как объяснить происходящее - я не представляю. Возможно, техподдержка сможет.


Из наблюдений.

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

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

Как так, почему так - покрыто тайной завесы. Но в механизме меток у терминала квик какие-то беды, и их много.
8.13 vs 9.1
 
function main()

message(tostring(
AddLabel("gazp",
{HINT="zzzzz",
TEXT="тттт",
TRANSPARENCY=0,
DATE=20210730,
IMAGE_PATH="E:\\GoogleDisk\\ROBOT\\add.bmp",
TIME=170000,
YVALUE=285,
ALIGNMENT="RIGHT"}
)))
end

Вот такой чудесный скрипт, выставляющий метку.

В 8.13 боевой выставляет картинку на диаграмму, а в 9.1 демо - нет. Оба терминала на одной машине, запущены одновременно, идентификаторы идентичны, проверено, скопировано через буфер обмена.

Как такое может быть? Отчего это может зависеть? Индусов в программисты наняли?
Нехватка видеопамяти
 
Ув. разработчики!

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

Свободной видеопамяти еще много гигабайт. Скрипт просто переставляет метки посредством SetLabel. Написать тест из 10 строчек кода вы должны суметь сами.



Почему вываливается если видеопамяти полно? Почему расходуется видеопамять при использовании SetLabel?
Метки
 
Уважаемые разработчики!

Я уже много раз вам указывал на эту ошибку (и не только я). Много раз она "будет исправлена в очередной версии ПО"

function main()
message(tostring(
AddLabel("gazp",
{HINT="zzzzz",TEXT="",TRANSPARENCY=0,DATE=20210730,IMAGE_PATH="нет такого файла",TIME=40500,YVALUE=284.51,ALIGNMENT="RIGHT"}
)))
end

Эта функция возвращает успех, номер метки. А не должна. Ошибка тянется с 2013 года, но компания Арка не чешется абсолютно.

Отдельный привет Алексею Иванникову. У вас полно ошибок, которые вы не исправляете годами или не в состоянии исправить.. Открывайте ваши регистрации или куда вы все это пишете, ищите. Можете поискать по форуму.


Пообещайте еще раз, что ли....
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 28 След.
Наверх