Куплю и раздам функции для LUA 5.3 x64, Нужны w32.dll lfs.dll qvcl.dll.
Пользователь
Сообщений: Регистрация: 30.01.2015
17.05.2020 16:04:24
Пасхалочка для Алексея Иванникова:
Грядущие изменения на срочном рынке МБ: поддержка работы с 19-значными номерами заявок и сделок
Пользователь
Сообщений: Регистрация: 30.01.2015
15.05.2020 20:38:49
Сеорее всего компилируете неподходящей версией luac
Пасхалочка для Алексея Иванникова:
Реализация скользящего стопа
Пользователь
Сообщений: Регистрация: 30.01.2015
13.05.2020 14:38:32
Цитата
Иван написал: Пересмотрел все виды стопов в Quik и не совсем понимаю как реализуется скользящий стоп на Lua? Это простое и банальное удаление и перевыставление стопа на Lua?
Смотрите условную заявку Тейк+Стоп. С ее помощью трейлинг стоп с фиксированным (неизменным) отступом от экстремума цены делается на раз.
Пасхалочка для Алексея Иванникова:
Перезапуск LUA-скрипта из-за ошибок
Пользователь
Сообщений: Регистрация: 30.01.2015
12.05.2020 11:15:47
Что мешает написать такой скрипт самому? Все средства для этого есть.
Пасхалочка для Алексея Иванникова:
Раскрытие графика во весь экран - сделать по двойному щелчку мыши
Пользователь
Сообщений: Регистрация: 30.01.2015
10.05.2020 21:21:05
Если закрыть дверь туалета на висячий замок, то как туда попасть?
текст в любой кодировке - это массив байт конец массива обозначается нулевым байтом, поэтому в массивах с текстом запрещен нулевой байт но если в массиве байтов нет нуля то это может быть массив не текста
Ерунда.
пример - строки луа.
Пасхалочка для Алексея Иванникова:
Перенос индикаторов между диаграммами
Пользователь
Сообщений: Регистрация: 30.01.2015
08.05.2020 11:52:43
В последней версии терминала 8 5 2 11 наблюдаю падения приложения при переносе мышкой (drag&drop) пользовательских индикаторов между диаграммами. При переносе встроенных индикаторов проблемы нет.
Пасхалочка для Алексея Иванникова:
QUIK 8.0
Пользователь
Сообщений: Регистрация: 30.01.2015
06.05.2020 17:19:49
Можно просто вернуть таблицу и не больше не задумываться о подобных проблемах
Пасхалочка для Алексея Иванникова:
quik 8.5 ошибка
Пользователь
Сообщений: Регистрация: 30.01.2015
05.05.2020 16:29:17
Смотрите в проект. Вам нужно собирать static dll, а вы собираете что то другое, похоже.
Пасхалочка для Алексея Иванникова:
quik 8.5 ошибка
Пользователь
Сообщений: Регистрация: 30.01.2015
05.05.2020 16:12:36
static const struct luaL_Reg lib_functions[] = { // список функций тут
Грядущие изменения на срочном рынке МБ: поддержка работы с 19-значными номерами заявок и сделок
Пользователь
Сообщений: Регистрация: 30.01.2015
28.04.2020 18:37:25
А вот с индикаторами пролем не заметил, и при использовании внешних библиотек тоже. Видимо, рубильник между вызовами oncalculate работает исправно, да и корутин нет.
Пасхалочка для Алексея Иванникова:
Грядущие изменения на срочном рынке МБ: поддержка работы с 19-значными номерами заявок и сделок
Пользователь
Сообщений: Регистрация: 30.01.2015
28.04.2020 18:24:35
А у меня и без dll скрипты разваливаются при использовании coroutine
Посреди скрипта вызов getScriptPath() начинает вдруг возвращать вместо тип string тип function. При старте скрипта возвращает правильно. Внешние библиотеки все убрал на время теста. На 5.1 работает все на ура.
Какая то сильная магия со стеком, не иначе....
Пасхалочка для Алексея Иванникова:
Задание названия инструмента по маске
Пользователь
Сообщений: Регистрация: 30.01.2015
05.04.2020 19:01:17
Алгоритм таков:
1. Получаете список классов - getclasseslist 2. Для каждого класса (или для части классов) получаете список всех инструментов - getcclasssecurities для каждого инструмента проверяете, подходит ли он под вашу маску. Если подходит - добавляете его в таблицу
на выходе получится таблица из всех инструментов, подходящих под вашу маску. Что с ними делать - вам виднее.
Пасхалочка для Алексея Иванникова:
Мониторинг работы скриптов с помощью телефона, Технология удаленного контроля алгоритмической торговли
написал: Почему-то у меня все просто, наверное что-то не так делаю )
Робот сваливает логи в заданную папку, а Automator отправляет их мне по e-mail по расписанию. Сообщения, которые кладутся в аварийную папку, Automator отправляет немедленно.
В таком случае надо регулярно смотреть почту, тут идея немного другая - программа читает лог автоматически и анализирует его, информируя (включая звуковой сигнал) при необходимости. В общем - дополнительная автоматизация процесса и страховка когда Вы на отдыхе.
настройте телефон так, чтобы он выдавал уведомление со звуком при получении почты. Стардартная функция того же андроида или любых умных часов.
Пасхалочка для Алексея Иванникова:
Получить в индикаторе значение цены ещё до OnCalculate()
написал: СОВСЕМ убрать ненужные повторяющиеся операции.
Ну тогда запробуйте как-то так
Код
function OnCalculate (idx)
local base_price = C(idx)
OnCalcul ate = function (index)
-- your code here
end
end
так делать нельзя. Перезапуск индикатора может быть вследствие разных причин. Некоторые из которых могут привести к изменению первой свечи.
что касается миллионных долей секунды - не нужно обращать на это внимание.
Пасхалочка для Алексея Иванникова:
Получить в индикаторе значение цены ещё до OnCalculate()
Пользователь
Сообщений: Регистрация: 30.01.2015
01.04.2020 20:15:40
Цитата
Святослав написал: Здравствуйте. Пишу индикатор. Мне нужно взять значение цены закрытия первого бара, чтобы постоянно использовать его в OnCalculate(). Проблема в том, что если брать цену первого бара в OnCalculate, то ОДНО И ТО ЖЕ значение первого бара будет браться каждый раз при выполнении OnCalculate() - то есть для каждой свечки/сделки. А это не рационально в плане производительности. Как вначале ОДНОКРАТНО получить значение цены первого бара (присвою глобальной переменной), а потом уже применять это значение в OnCalculate()?
Может, в Init() можно это сделать?
Local bar1
function oncalculate(indx)
if indx == 1 then bar1 = C(1) end
остaльной текст индикатора
end
Пасхалочка для Алексея Иванникова:
В таблице Позиции по инструментам нет класса инструмента
Пользователь
Сообщений: Регистрация: 30.01.2015
01.04.2020 20:12:25
Цитата
foobar написал: Просьба добавить в таблицу Позиции по инструментам класс инструмента, как это сделано в большинстве других таблиц. Конечно, там уже есть ISIN, но он не у всех классов (например, CETS, SPBFUT). В таблице уже есть Код Инструмента, класс бы позволил однозначно идентифицировать инструмент при экспорте таблицы.
это невозможно.
дело в том, что акция лукойла есть акция лукойла вне зависимости от того, в каком классе она была куплена. Что в TQBR, что в неполных лотах, что на бирже Эфиопии
написал: Добрый день! Такая информация не транслируется торговой системой, поэтому недоступна в терминале.
как так?
график инструмента на дневном таймфрейме прекрасно расскажет.
Добрый день. Да, верно. В том случае, если брокер ведет историю по данным параметрам.
и даже если не ведёт историю этого параметра - историю ohlc он ведёт всегда
Пасхалочка для Алексея Иванникова:
Минимальная и максимальная цены прошлого дня
Пользователь
Сообщений: Регистрация: 30.01.2015
30.03.2020 23:27:19
Цитата
Alexandr Shumilin написал: Добрый день! Такая информация не транслируется торговой системой, поэтому недоступна в терминале.
как так?
график инструмента на дневном таймфрейме прекрасно расскажет.
Пасхалочка для Алексея Иванникова:
Русские имена переменных и функций в QLua
Пользователь
Сообщений: Регистрация: 30.01.2015
29.03.2020 17:43:01
Цитата
ЛуаСкрипт написал: 1. В версии Lua 5.1 ещё можно было использовать кириллические имена функций и переменных, потом эту возможность убрали. Qlua насколько я знаю основана на версии Lua-5.1. Можно ли вернуть эту возможность в Qlua - Вы я так понимаю её всё равно модифицируете для адаптации к QUIK. Т.к. QUIK и Qlua - рассчитана только на русскоязычных пользователей и её использование не русскоязычными пользователями как я понимаю не планируется, то отсутствие этой возможности вызывает недоумение. Все современные языки программирования это позволяют ... и проблем это не вызывает. Очень неудобно писать латинскими буквами названия облигаций и финансовых операций... это приводит к ошибкам и затемняет смысл и логику программы ... 2. Какая версия Lua используется Quik 8 ?
напишите элементарную программу. Она заменяет все кириллические лексемы во входном файле на их представление, скажем, в формате base64. Таким образом, с некоторыми ограничениями вы сможете писать названия функций и переменных кириллицей, а после прогона через эту программку получите допустимый луа текст.
Пасхалочка для Алексея Иванникова:
Как рисовать линию тренда и прямоугольники из lua?
А не знаете, как-то можно наладить взаимодействие торгового робота на lua с графиком? Было бы очень удобно отлаживаеться и контроллировать, если бы робот прямо на графике отображал свои решения
метки на графике. Но по опыту лог файл гораздо удобнее
Пасхалочка для Алексея Иванникова:
Как рисовать линию тренда и прямоугольники из lua?
Пользователь
Сообщений: Регистрация: 30.01.2015
27.03.2020 11:24:37
Цитата
Владимир написал: Добрый день! Подскажите, а как из lua скрипта нарисовать на графике линию тренда и прямоугольник? Те, что из меню "Нарисовать"
никак
Пасхалочка для Алексея Иванникова:
Обработка ошибок - открыт ли файл., Обработка ошибок - открыт ли файл.
s_mike@rambler.ru написал: Вы сможете сделать желаемое этим скриптом:
Мне лучше иметь встроенные в Квик графики. Пока не хочу на Квик навешивать сторонние платные разработки.
ваге желание понятно и объяснимо.
однако, видимо, вы не в курсе. что с вероятностью близкой с 100 процентам это сделано не будет никогда. А если и будет, то ждать можно годами.
Пасхалочка для Алексея Иванникова:
Графики нескольких инструментов в одном окне - возможно ли сделать?
Пользователь
Сообщений: Регистрация: 30.01.2015
12.03.2020 18:55:54
Вы сможете сделать желаемое этим скриптом:
Пасхалочка для Алексея Иванникова:
Наложение скользящей средней на график Объема
Пользователь
Сообщений: Регистрация: 30.01.2015
12.03.2020 18:16:38
Пасхалочка для Алексея Иванникова:
Графики нескольких инструментов в одном окне - возможно ли сделать?
Пользователь
Сообщений: Регистрация: 30.01.2015
06.03.2020 23:43:04
..спреда (разницы между одним инструментом и другим)
Пасхалочка для Алексея Иванникова:
Графики нескольких инструментов в одном окне - возможно ли сделать?
Пользователь
Сообщений: Регистрация: 30.01.2015
06.03.2020 23:42:10
Может, вам просто нужно иметь возможность построить график Середа +разницы между одним инструментом и другим)?
Пасхалочка для Алексея Иванникова:
Разделитель периодов в квик
Пользователь
Сообщений: Регистрация: 30.01.2015
06.03.2020 23:37:36
не поможет?
Пасхалочка для Алексея Иванникова:
Ошибка при получении стакана с помощью getQuoteLevel2
Пользователь
Сообщений: Регистрация: 30.01.2015
06.03.2020 09:54:30
Да. таково природное свойство этой функции. Ставьте проверку.
Пасхалочка для Алексея Иванникова:
19-значные номера заявок и сделок на MOEX
Пользователь
Сообщений: Регистрация: 30.01.2015
05.03.2020 16:32:05
Супер-то оно супер... Только закончил перелопачивание всех скриптов и библиотек под x64 и что, снова? Больная голова ногам покоя не даёт...
Пасхалочка для Алексея Иванникова:
Библиотека w32, аналог под 64 битную версию
Пользователь
Сообщений: Регистрация: 30.01.2015
05.03.2020 11:36:22
Я писал эту библиотеку для поддержки своих скриптов, чтобы иметь доступ к тем возможностям, которых нет в стандарте lua.
В ней много всего разного, что когда-либо требовалось мне, но я не делал никакого описания, так как планов распространения этой библиотеки в качестве отдельной штуковины у меня никогда не было. Если что-то потребуется - спрашивайте. Если оно потребовалось вам, наверное, когда-то это было нужно и мне...
Пасхалочка для Алексея Иванникова:
Библиотека w32, аналог под 64 битную версию
Пользователь
Сообщений: Регистрация: 30.01.2015
04.03.2020 15:48:57
Раз все так плохо, можно взять мою библиотеку bot4sale64 например в архиве
require "bot4sale64" result=bot4sale64.PlaySound(sound_file) // Returns TRUE if successful or FALSE otherwise
Пасхалочка для Алексея Иванникова:
Состояние Quik в момент вызова OnCleanUp
Пользователь
Сообщений: Регистрация: 30.01.2015
04.03.2020 14:50:49
Цитата
Anton написал: Сам спрашиваю, сам отвечаю. 1) нет, к моменту вызова OnCleanUp все (точно все?) уже прибито; 2) на фоне ответа номер раз смысл вопроса теряется. Это как если бы в плюсах деструктор объекта вызывался после его деаллокации, типа "доводим до вашего сведения, что ваша дама убита". А? что? там же пойнтеры были, стой, верни, эх.
не все прибито. Например, таблицы не обязательно очищены. Или очищены, но не все. словом, полагаться нельзя ни на что .
Пасхалочка для Алексея Иванникова:
Вывод разности в таблицу. Проблема отображения
Пользователь
Сообщений: Регистрация: 30.01.2015
03.03.2020 17:47:45
Цитата
Олег написал: Добрый день, скрипт на lua создает таблицу. Туда он выводит информация об индикаторах, которые берет с графика. Данные при отображении в таблице видны в виде: MA1= 0,044055 MA2= 0,04405 В третьей графе отображается их разница Delta=MA1-MA2, выводится она в виде: Delta= -5e-06 Как заставить lua вывести 0,000005?
код вывода: SetCell(TableID,7,2,tostring(Ma)) SetCell(TableID,8,2,tostring(MaPrev)) SetCell(TableID,7,4,tostring(RoundForStep(Ma-MaPrev,Step)))
RoundForStep - функция округления до шага цены инструмента. Работает верно.
используйте строковый столбец и функцию string.format
Пасхалочка для Алексея Иванникова:
Индикатор работает, но выдает ошибку, Просьба поправить код, чтобы не было ошибок
Пользователь
Сообщений: Регистрация: 30.01.2015
02.03.2020 22:38:43
Цитата
Евгений написал: и еще попутно вопрос, можно ли подкрашивать отдельно взятые бары при выполнении определенного условия?
на первой свече вы хотите получить объем нулевой свечи, которой нет.
бары подкрашивать нельзя. можно рисовать гистограмму или ставить метки
Пасхалочка для Алексея Иванникова:
Обращение к элементу большой таблицы
Пользователь
Сообщений: Регистрация: 30.01.2015
01.03.2020 01:54:38
Вариант с current_candle будет выполняться быстрее на время поиска индекса в таблице на каждом обращении. Соответственно, если таких обращений сотня, то разницы нет никакой. А если миллионы, то несколько долей секунд выиграть получится.
Пасхалочка для Алексея Иванникова:
Статус: Закрытие; Требование: INF, Сегодня вечером появились такие обозначения в нижней строке таблицы Состояние счета.
Пользователь
Сообщений: Регистрация: 30.01.2015
27.02.2020 22:09:28
Цитата
Дмитрий написал: Сегодня вечером появились такие обозначения в нижней строке таблицы Состояние счета (Картинку прикрепляю). Кто-нибудь может пожалуйста пояснить, с чем это может быть связано? В настоящий момент шортовых позиций нет, по фьючерсам тоже нет (утром была небольшая позиция с фьючерсом).
Не обращайте внимания. Это терминал делит что то на ноль при расчетах и вылезает эта лабуда. Поправят, если карты лягут..
Пасхалочка для Алексея Иванникова:
Все индикаторы на Lua
Пользователь
Сообщений: Регистрация: 30.01.2015
27.02.2020 01:01:23
Пасхалочка для Алексея Иванникова:
Депозит на демо, Нужно обновить
Пользователь
Сообщений: Регистрация: 30.01.2015
21.02.2020 11:27:45
Со срочным рынком вопрос снят, какие-то привидения-вредители запретили их получение в настройках. )))
Пасхалочка для Алексея Иванникова:
Депозит на демо, Нужно обновить
Пользователь
Сообщений: Регистрация: 30.01.2015
21.02.2020 11:24:50
Проверил. Второй счет на срочном рынке испарился. SPBFUT00a80
Котировки срочного рынка недоступны
Пасхалочка для Алексея Иванникова:
Депозит на демо, Нужно обновить
Пользователь
Сообщений: Регистрация: 30.01.2015
20.02.2020 13:34:25
После последнего продления срока демо для пользователя qtest078 UID 3765 пропал доступ ко всем площадкам кроме акций и валют,. Пожалуйста, подключите все имеющиеся классы.
Исчезли дополнительные счета срочного и спотового рынка, необходимые для арбитража. Пожалуйста, добавьте по одному дополнительному счету для каждой площадки.
Спасибо.
Пасхалочка для Алексея Иванникова:
Как построить спред между двумя разными инструментами, ценами акций? Есть ли какой механизм или индикатор чтобы заносить 2 поля и потом на графике смотреть величину спреда?, Как построить спред между двумя разными инструментами, ценами акций? Есть ли какой механизм или индикатор чтобы заносить 2 поля и потом на графике смотреть величину спреда?
Пользователь
Сообщений: Регистрация: 30.01.2015
19.02.2020 13:24:09
Пасхалочка для Алексея Иванникова:
Как вычитать даты между собой, Работа с датой на QPILE
Пользователь
Сообщений: Регистрация: 30.01.2015
16.02.2020 09:22:26
Пасхалочка для Алексея Иванникова:
QUIK 8.0
Пользователь
Сообщений: Регистрация: 30.01.2015
14.02.2020 13:33:21
Цитата
Eldar написал: Добрый день. Нет случаем у кого-нибудь Lua Sqlite3? пробую собрать проект в VS2017. исходники с lua.sqlite.org. убрал варнинги. поставил Lua 5.1.5 vc15 (другого не нашел поновее). остались ошибки типа "ссылка на неразрешенный внешний символ" в куче мест. видимо не подходит Lua.
пробовал с LuaRock, но со всеми плясками компилирует только x86, а не 64
Напишите мне почтой, я дам
Пасхалочка для Алексея Иванникова:
Запуск LUA, каждый день?
Пользователь
Сообщений: Регистрация: 30.01.2015
11.02.2020 14:16:59
Достаточно правильно написать робот в соответствии с задачей ежедневного использования.
в вопросе довольно много подводных камней, связанных со сменой сессии, переподключения к серверу, перезаказом данных, изменения (добавления, удаления, получения) параметров/доступных инструментов от сессии к сессии в произвольные моменты и так далее. Одним словом всего того, о чем нет даже упоминаний в документации.