Вот так оно всегда. В cpath лишняя ссылка затесалась ))
Пасхалочка для Алексея Иванникова:
Lua 5.4
Пользователь
Сообщений: Регистрация: 30.01.2015
07.07.2022 08:15:37
Конечно. Именно так все и оформлено. Функция то находится (как и все остальное все функции в этой dll) и запускается на выполнение. Проблема в том, что loadbuffer выдает ошибку в какие и не выдает ее в стандартном интерпретаторе.
при этом прямая перекомпиляции без каких либо изменений в тексте в 5.3 даёт абсолютно рабочий вариант.
Руками. Там, где настраиваете цвета, периоды, толщину линий.. там же есть и ваше название. Вот его и можно изменять при накладывания индикатора на график и это изменённой название можно выводить в диагностике.
А если вы прочитаете ещё раз (или несколько раз, как получится), то вдруг окажется, что индикатор нужен всего один, а в настройках можно менять его Name вместе с иными параметрами.
Пасхалочка для Алексея Иванникова:
Lua 5.4
Пользователь
Сообщений: Регистрация: 30.01.2015
06.07.2022 12:48:20
Все таки есть проблемы в славном королевстве.
Есть библиотека для 5.3. Работает на ура. И в квике и в standalone
Пересобрал ее на 5.4. Работают все три десятка ее функций (и в квике и в standalone) без каких либо проблем, кроме одной. Она работает в standalone, но напрочь отказывется работать в квике.
Выкинул из нее все лишнее, оставил минимум для теста
вызов из луа: message("result=" .. tostring(xx.test("message('hello world!!',3)")))
И если в standalone мы получаем два сообщения OK, hello world и nil в качестве возврата, то в квике мы сразу получаем loadbuffer error и дальше, конечно мусор.
Может, кто то пальцем сможет указать направление в пустыне?
Для идентификации можно использовать поле NAME из Settings. Каждой копии индикатора изменяйте название, в тексте индикатора все функции заверните в xpcall и в обработчике ошибки выводите NAME
Пасхалочка для Алексея Иванникова:
Кривые шибки в QLua
Пользователь
Сообщений: Регистрация: 30.01.2015
05.07.2022 10:06:58
Все что вы пишете в п3 очереди и прочие слипы можно сделать средствами луа без каких либо затруднений
Пасхалочка для Алексея Иванникова:
Зависание терминала QUIK версии 9.5.0.42
Пользователь
Сообщений: Регистрация: 30.01.2015
27.06.2022 21:05:04
На этом форуме есть поиск. Поищите фразу "приносим извинения", посчитайте количество выданных поиском страниц, не ответов.
Пасхалочка для Алексея Иванникова:
Отметки на графике QUIK средствами QLUA
Пользователь
Сообщений: Регистрация: 30.01.2015
27.06.2022 20:57:20
Цитата
Kolossi написал: Кто-нибудь встречал типа архива графических файлов .bmp меток для Quik ? Нужны стандартные треугольники куплено-продано.
iconizer.net
Пасхалочка для Алексея Иванникова:
Беспрерывная робота робота, Как сделать так, чтобы робот был постоянно в работе и обрабатывал каждый тик?
Пользователь
Сообщений: Регистрация: 30.01.2015
24.06.2022 19:11:19
Никита, подпишите ь на приход каждого типа посредством функции crratedatasource. При этом проверьте, что ваш брокер транслирует вам тиковые данные.
функция обратного вызова, которую вы укажете параметром в этой функции, будет вызываться на каждом тике и давать вам информацию об этом тике. Что делать дальше -решать уже вам.
Пасхалочка для Алексея Иванникова:
Расчет индикаторов на графике после отмены добавления индикатора через меню по мышке "Добавить индикатор"
Пользователь
Сообщений: Регистрация: 30.01.2015
20.06.2022 21:50:15
Цитата
Евгений написал: Пошутили и забыли ? Техподдержка вы в курсе для чего такая опция?
написал: Оценка востребованности происходит в т.ч. и по количество обращений с запросом на реализацию какого-либо функционала, да.
Да большинству требуется вобше минимальный функционал, они дальше своего носа ничего не видят, и не пользуются скриптами, а вот если человек уже 10 лет пользуется вашей программой и выявляет ошибки и предлагает доработки, то его предложения никак не должны попадать категории большинства или количественной оценки. Но если предложения не реализуются, то и смысла предлагать их нет. Любые регламенты меняются на раз два, при необходимости, вопрос в том сколько было реализовано пожеланий и какие за последний год?
Версий вышло мильен, но все они сделаны не по желанию пользователей, а при острой необходимости.
Ваша оценка и система отбора (если она вобще существует) предложений не выдерживает никакой критики. Вы исправили эти ошибки с объемами в новой версии ?
Вы на самом деле думаете, что сбор пожеланий трудящихся задуман с целью внесения изменений в терминал? Нельзя быть столь наивным....
Пасхалочка для Алексея Иванникова:
sec_code и seccode в таблице всех сделок - это один и тот же параметр ?, seccode и sec_code в all_trades
Пользователь
Сообщений: Регистрация: 30.01.2015
12.06.2022 16:16:29
Одно и то же.
сначала кусок терминала дали писать Васе, второй кусок дали писать Пете. Петя в свое куске написал с подчеркивание м, а Вася в свое без. Понятно, что руководящей роли партии не было и в помине.
когда в результате организовался винегрет, приводить к общему знаменателю было уже поздно и поэтому поля продублировали.
Пасхалочка для Алексея Иванникова:
Как получить значения 10 000 свечей, Вопрос о возможностях загрузки
Пользователь
Сообщений: Регистрация: 30.01.2015
11.06.2022 12:43:50
Цитата
Alexandr написал: Правильно я понял, что по функции CreateDataSource мы точно не знаем, сколько мы получим свечей?
она даст вам 3000 свечей выбранного вами таймфрейма либо меньше, если на сервере их меньшее количество.
однако если ваш терминал работал давно и поток данных на этом таймфрейме на этом инструменте терминал получал с сервера (например, был открыт график этого инструмента на этом таймфрейме), то на локальном диске будут сохранены эти данные и createdatasource их тоже подхватит и отдаст вам. В этом случае максимальное количество доступных свечей ограничивается цифрой 32000.
количество свечей, которое вы получите, заранее никогда неизвестно. Терминал не знает, сколько свечей есть на сервере. Свечи становятся доступными по мере того, как они приходят с сервера. Все что вы можете узнать в каждый конкретный момент после выполнения createdatasource это сколько свечей доступны именно в этот момент.
Пасхалочка для Алексея Иванникова:
Вопрос по луа 5.4
Пользователь
Сообщений: Регистрация: 30.01.2015
08.06.2022 13:53:22
О. Спасибо.
Пасхалочка для Алексея Иванникова:
Вопрос по луа 5.4
Пользователь
Сообщений: Регистрация: 30.01.2015
08.06.2022 08:45:14
В Квик встроен луа 5.4.1. я нашел в сети 5.4.2 и собирал библиотеку с ней. Не в этом ли дело? 5.4.1 я не смог найти, если подскажете где , будет здорово.
Nikolay написал: Такой возможности нет. Но Вы всегда можете снять стоп ордер, дождаться статуса снятия и просто закрыть по рынку. Это будет аналогичное действие.
Возможность принудительной активации стоп-заявки из луа, конечно же есть.
Поле транзакции и типом заявки выглядит так:
action="АКТИВИРОВАТЬ СТОП-ЗАЯВКУ"
Пасхалочка для Алексея Иванникова:
Классы
Пользователь
Сообщений: Регистрация: 30.01.2015
24.05.2022 21:46:18
Спасибо
Пасхалочка для Алексея Иванникова:
Вопрос по луа 5.4
Пользователь
Сообщений: Регистрация: 30.01.2015
19.05.2022 00:41:03
решил пересобрать библиотеку с 5.3 на 5.4 Уткнулся в проблему
Функция в dll:
static int b4s_xxx(lua_State *L) { const char *buffer = "message(\"hello world\")"; int result = luaL_dostring(L, buffer, strlen(buffer));
lua_pushnil(L); return 1; }
Вызываем из standalone lua
require "testlib" message = print testlib.xxx()
Выводит hello world
Вызываем из квика
require "testlib" testlib.xxx()
ничего не выводит.
Теряюсь в догадках. Кто может подсказать? на 5.3 проблем не наблюдалось
Пасхалочка для Алексея Иванникова:
Классы
Пользователь
Сообщений: Регистрация: 30.01.2015
17.05.2022 14:14:13
Владимир пнх жду ответа разработчиков.
Пасхалочка для Алексея Иванникова:
Классы
Пользователь
Сообщений: Регистрация: 30.01.2015
17.05.2022 13:56:57
Если впервые слышите, полезнее промолчать. У вас с этим проблемы
Пасхалочка для Алексея Иванникова:
Классы
Пользователь
Сообщений: Регистрация: 30.01.2015
17.05.2022 13:04:44
Еще одна блоха на теле в лучшего в мире ПО
Находим свой аккаунт в таблице trade_accounts смотрим поле class_codes Пробуем найти ВСЕ перечисленные классы в таблице classes
Удивляемся, что некоторых классов из class_codes нет в таблице classes
Удивляемся, удивляемся..
Пасхалочка для Алексея Иванникова:
Перенос индикаторов с одного графика на другой, Перенос индикаторов с одного графика на другой
Пользователь
Сообщений: Регистрация: 30.01.2015
13.05.2022 18:46:10
Цитата
написал: Здравствуйте,
Подскажите - возможно ли перенести индикаторы с одного листа на другой, чтобы вручную на каждый график их не добавлять ?
шаманский метод дано: окно с наложенным нужным индикатором
Задача: добавить в другое открытое окно этот же индикатор без вызова интерфейса добавления индикатора на график
последовательность: 1. Ctrl-N в окне с исходным индикатором. создаётся копия окна с таким же индикатором 2. В легенде индикатора в полученном новом окне мышкой цепляем наш индикатор и переносим его в целевое окно
Описанная в данном инциденте проблема будет устранена в одной из очередных версий ПО. Приносим извинения за причиненные неудобства.
А доживу ли я до этой "очередной" версии? Как идет 6й год исправления ошибки коллективом разработчиков?
Пасхалочка для Алексея Иванникова:
Стопы
Пользователь
Сообщений: Регистрация: 30.01.2015
14.04.2022 23:48:14
Цитата
Николай-77 написал: Уважаемые разработчики, предлагаю сделать систему стоп-заявок более удобной. Сейчас нужно вручную вводить цену активации стопа "стоп-лимит, если цена <= (или >=) такого-то значения." И далее вручную же вводим цену, по которой заявка будет исполняться. Но в такой реализации есть подстава - если стоп на графике передвигать, то передвигается только цена активации, но не исполнения. Предлагаю изменить подход - вписывать не цену исполнения стоп-заявки, а количество тиков, отстоящих от цены активации. А цену активации стопа вписывать также, как сейчас. Т.е., если сделать так, чтоб при перемещении на графике линии активации стопа, автоматически перемещалась бы и цена исполнения, будет гораздо удобнее, и трейдеры скажут Вам за это спасибо! ) Надеюсь понятно написал...
в качестве отступа можно использовать проценты, если это поможет
написал: нет. менять в скрипте индикатора по условию
это просят уже лет 10.
видимо, невозможно
вы уважаемы достали уже со своим спамом и рекламой, вы не разработчик квика
с разработчиками вы вряд ли сможете пообщаться, не тот случай. Если вы желаете пообщаться с техподдержкой ПО Квик - вы можете использовать контакты для общения почтой. А здесь форум, вам придется потерпеть.
Пасхалочка для Алексея Иванникова:
Возможность изменения параметров индикатора
Пользователь
Сообщений: Регистрация: 30.01.2015
12.04.2022 16:57:34
Цитата
Евгений написал: нет. менять в скрипте индикатора по условию
это просят уже лет 10.
видимо, невозможно
Пасхалочка для Алексея Иванникова:
Недостаточно лицензий!
Пользователь
Сообщений: Регистрация: 30.01.2015
11.04.2022 21:47:49
Это проблема брокера.
У них куплено лицензий на X одновременных пользователей, при этом количество клиентов X+N
Они считают, что больше чем X клиентов одновременно онлайн не будет. В вашем моменте это было не так
Пасхалочка для Алексея Иванникова:
Одинаковый код В Quik Junior работает а Quik СБЕР нет
Пользователь
Сообщений: Регистрация: 30.01.2015
11.04.2022 12:58:14
Цитата
Ренат написал: s_mike@rambler.ru, Торговля то идет в данный момент по данному инструменту и я смотрю на этот стакан.
не тот стакан видите)
Пасхалочка для Алексея Иванникова:
Одинаковый код В Quik Junior работает а Quik СБЕР нет
Пользователь
Сообщений: Регистрация: 30.01.2015
11.04.2022 12:33:49
Цитата
Ренат написал: Доброго времени суток всем. Прошу помочь.Есть следующий код
Код
--========> Н А Ч А Л О
is_Run = true
-->> Класс и код бумаги. для начала одна бумага
class = "QJSIM"
sec = "IRAO"
-->> Для Функций BUY_SELL
qty = "1" ---->> кол-во лотов на прокупку-продажу
--Основной поток отдельно от Quick'a
function main ()
-- *****************************************************************
---------->> Т Е Л О С К Р И П Т А <<---------
while is_Run = = true do
--Берем цену из стакана
stakan()
spred()
sleep ( 5000 )
end
end
--========== Ф У Н К Ц И И ========--
-- Основная функция для остановки
----------------------
function OnStop () --
is_Run = false --
end --
----------------------
---------->> П О Л У Ч Е Н И Е С Т А К А Н А
function stakan ()
ql2 = getQuoteLevel2 (class, sec);
bids_qty = tonumber(ql2.bid_count) -- кол-во BID-ов
--offers_qty = tonumber(ql2.offer_count) -- кол-во OFFER-ов
--message(tostring(bids_qty))
return ql2
end
---------->> Р А С С Ч Е Т С П Р Е Д А
function spred ()
--ql2 = getQuoteLevel2(class, sec)
b_qty = tonumber(ql2.bid_count)
price_bid = tonumber(ql2.bid[b_qty].price) --<<<<< Выдает ошибку
price_off = tonumber(ql2.offer[ 1 ].price)
spred_pr = tonumber(price_off - price_bid)/price_bid * 100
--spred_pr = 0.30
message (tostring(price_bid .. " < > " .. spred_pr .. " < > " .. price_off))
end
В quik Junior на тестовом счете все работает. А на рабочем Quik от сбера выдает ошибку "attempt to index a nil value (field 'bid')". Нужный стакан открыт и там и там. Перепроверял. Подскажите куда копать?
bid_count скорее всего nil
Пасхалочка для Алексея Иванникова:
доработка таблицы Позиции по инструментам
Пользователь
Сообщений: Регистрация: 30.01.2015
08.04.2022 09:24:55
Это известная проблема архитектуры. Она не обходится программно. Необходимо каким то образом изначально задавать класс или приоритеты классов для поиска
Пасхалочка для Алексея Иванникова:
доработка таблицы Позиции по инструментам
Пользователь
Сообщений: Регистрация: 30.01.2015
08.04.2022 07:01:24
Вы должны сами решить, в каком классе из возможных продавать ваши бумаги. Кроме вас, никто об этом не знает.
вы сами писали в первом сообщении, что можете перебрать доступные торговому счету классы и найти там тот в котором можно продать ваши бумаги. Ну и делайте так, если все равно, как превратить бумаги в деньги.
написал: В массив queue другой поток уже добавил элемент
В данном конкретном скрипте другой поток массива queue не касается вообще.
вот интересно, откуда у вас эта уверенность)
Пасхалочка для Алексея Иванникова:
доработка таблицы Позиции по инструментам
Пользователь
Сообщений: Регистрация: 30.01.2015
07.04.2022 16:06:16
Акции в вашем портфеле не привязаны к классам. Это кажется необычным, но это так. Акци. Лукойла теоретически вы можете купить в разных классах, при этом они будут учтены вместе одним количеством.
стандартный случай, когда вы купили тот же Лукойл в классе tqbr и потом догнались тем же лукойлом в классе неполных лотов
Пасхалочка для Алексея Иванникова:
Кривые шибки в QLua
Пользователь
Сообщений: Регистрация: 30.01.2015
07.04.2022 16:01:35
У вас, скорее всего, проблемы синхронизации потоков. В массив queue другой поток уже добавил элемент, но ещё не записал в него значение. Поэтому вы получаете значение nil, которое функция tonumber не может прожевать
Пасхалочка для Алексея Иванникова:
Сохранение и загрузка настроек индикатора
Пользователь
Сообщений: Регистрация: 30.01.2015
06.04.2022 08:39:22
Штатных средств нет.
но что вам мешает самому сохранять/восстанавливать нужные данные в файле?
Пасхалочка для Алексея Иванникова:
Не могу заставить работать функцию Subscribe_Level_II_Quotes()
Пользователь
Сообщений: Регистрация: 30.01.2015
31.03.2022 15:56:32
Нет, это все таки руки. classCode и class_code - не одно и то же
Пасхалочка для Алексея Иванникова:
Значения param из функции CreateDataSource, Получение значений param из функции CreateDataSource
Пользователь
Сообщений: Регистрация: 30.01.2015
26.03.2022 19:18:04
Подождать нужно. Данные должны приехать с сервера. И проверить, что этот параметр разрешен терминалу к получению.
Пасхалочка для Алексея Иванникова:
Значения param из функции CreateDataSource, Получение значений param из функции CreateDataSource
Пользователь
Сообщений: Регистрация: 30.01.2015
26.03.2022 17:10:08
nikolz,
терминал на графике может нарисовать как свечи котировок, так и свечи параметров. Для получения свечей параметров необходимо в качестве источника указать один из параметров инструментов при построении графика. Вы можете это сами попробовать и (наверное) вы сможете это сделать.
функция createdatasource при указании названия параметра инструмента выводит не свечи котировок инструмента, а свечи истории этого параметра.
формат возвращаемых данных тот же самый и вы его правильно скопировали из документации.
таким образом, вы можете получать историю параметров в том же самом виде и формате, как и историю котировок.
спорить не стоит, но если потребуется помощь, спрашивайте.
Пасхалочка для Алексея Иванникова:
Значения param из функции CreateDataSource, Получение значений param из функции CreateDataSource
Пользователь
Сообщений: Регистрация: 30.01.2015
26.03.2022 15:47:16
У функции createdatasource есть последний параметр.
если вы его не указываете, функция возвращает свечи котировок инструмента. Если укажете ("bid" например), то будут свечи истории параметров инструментов.
таблица обезличенных сделок тут не при чем
Пасхалочка для Алексея Иванникова:
Кривые шибки в QLua
Пользователь
Сообщений: Регистрация: 30.01.2015
23.03.2022 19:54:59
Os.date есть в конце концов прямой вызов сишной функции и аозможно win api Неправильно работать оно не может.
Если возникают проблемы, дело не в os.date, а в чем то другом. Испорчен стек вызовов, проблемы синхронизации или что угодно ещё. Грешить на луа не имеет смысла.
Пасхалочка для Алексея Иванникова:
Скользящая средняя Хала
Пользователь
Сообщений: Регистрация: 30.01.2015
20.03.2022 22:36:14
Пасхалочка для Алексея Иванникова:
Получить значение линии на графике
Пользователь
Сообщений: Регистрация: 30.01.2015
20.03.2022 06:31:27
Так не получится, доступа нет.
выход - индикатор, эмулирующий встроенный инструмент линии терминала. Например, такой:
а этот индикатор можно читать из луа обычным способом
Пасхалочка для Алексея Иванникова:
Самое слабое место QLUA
Пользователь
Сообщений: Регистрация: 30.01.2015
18.03.2022 23:06:08
Пнх
Пасхалочка для Алексея Иванникова:
Самое слабое место QLUA
Пользователь
Сообщений: Регистрация: 30.01.2015
18.03.2022 22:22:05
Nikolz, используйте классы в луа стиле. Все получится само собой.