Александр Волфовиц (Все сообщения пользователя)

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

Страницы: 1 2 След.
Исходный код lua53.lib, где взять?
 
Озадачился сделать dll не на студии, а с помощью MSYS2 . Собирается, но не работает в квике ((  


Есть подозрение, что не линкуется как следует lua53.lib, погуглил исходный код (чтоб собрать под тем же MSYS2) - а нету, может, плохо искал. Вылезают ссылки с уже откомпилированной библой.

Кто знает, можно ли найти исходники?
Не хочет запускаться на сервере, Хотя на домашнем компе работает отлично
 
Переношу аккуратно папку с квиком на сервер, запускаю квик, и выдаётся вот что:



Периодически в течении 2-х лет провожу такую процедуру (отлаживаю на домашнем компе, потом копирую квик на сервер), ранее проблем не было вообще. Как можно решить проблему?
Отладка QUIK 8.13
 
TGB,а как квик может обновиться "неожиданно для вас"? Появляется оповещение "На сервере появилась новая версия, обновить?" Если нажмёте кнопочку "нет" , то будете работать на старой версии.
getCandlesByIndex опа опа а что это у нас тут, getCandlesByIndex опа опа а что это у нас тут
 
Цитата
Владимир написал:
Так делайте на тесте - получайте текущие значения не из TTT, а из файла
Дык, визуализация ж нужна! На графике квика можно посмотреть, как и что, понаставить меток, где купил, где продал, воочию, так сказать, оценить стратегию.

Чего не сделаешь с бездушным файлом с миллионами байтов...
getCandlesByIndex опа опа а что это у нас тут, getCandlesByIndex опа опа а что это у нас тут
 
Цитата
Владимир написал:
Зачем вам "много свечек"?
Я делаю прогон алгоритма на истории, например. Чем больше диапазон данных - тем лучше.
Что происходит утром?
 
Let_it_go, в понедельник утром скрипты запускаются, в субботу утром останавливаются - все данные в переменных и структурах сохраняются...
Выскакивает ворнинг "Compare string with number", А его не должно быть, по идее!
 
swerg, время используется не только в  OnQuote. В OnQuote просто всплыл вышеупомянутый ворнинг.
Выскакивает ворнинг "Compare string with number", А его не должно быть, по идее!
 
Цитата
swerg написал:
Положите весь код в OnQuote - и будет счастье.
На малоликвидных инструментах OnQuote может и по 10 секунд не срабатывать - а время желательно чтоб было актуальное.

Вроде бы проблема решилась с помощью локальных переменных перед проверкой, спасибо всем за советы!
Выскакивает ворнинг "Compare string with number", А его не должно быть, по идее!
 
Игорь М,в OnQuote(). Никаких действий с hcc и mcc , кроме получения времени и преобразования строк в числа, не производится.  
Выскакивает ворнинг "Compare string with number", А его не должно быть, по идее!
 
BlaZed, os.date() выдаёт время на компьютере с квиком, а нужно именно время брокерского сервера, которое и выдаёт  getInfoParam("SERVERTIME")
Выскакивает ворнинг "Compare string with number", А его не должно быть, по идее!
 
Константин Рейм, мне нужно, чтобы в числах были отдельно часы и минуты.

BlaZed, первый фрагмент кода находится в main(), второй - в OnQuote() , ворнинг возникает в рабочее время биржи.
Выскакивает ворнинг "Compare string with number", А его не должно быть, по идее!
 
Определяю время сервера так:
 
Код
          HHMMSS = getInfoParam("SERVERTIME")

          if string.len(HHMMSS) == 7 then   hcc, mcc, scc = string.match(HHMMSS,"(%d)%p(%d%d)%p(%d%d)")   else  hcc, mcc, scc = string.match(HHMMSS,"(%d%d)%p(%d%d)%p(%d%d)")
          end
          hcc = tonumber(hcc)   if type(hcc) ~= 'number' then  hcc = 0  end
          mcc = tonumber(mcc)   if type(mcc) ~= 'number' then  mcc = 0  end
          scc = tonumber(scc)   if type(scc) ~= 'number' then  scc = 0  end

потом работаю с часами и минутами:
Код
                if type(hcc) == 'number' and type(mcc) == 'number' then
                       if hcc > 10 and mcc < 5 then
                                                       -- какие-то действия
                       end
                end

И на строку "if hcc <= 10 and hcc >= 9 and mcc < 5 then" периодически вылетает вышеупомянутый ворнинг. Почему он выскакивает? Ведь вроде все преобразования в числа и дополнительные проверки произведены!

На работу скрипта не влияет, но неприятно...
Как определить последнюю свечу в индикаторе?, Как определить последнюю свечу в индикаторе?
 
Первый раз о такой слышу. Вы не ошиблись?
Как определить последнюю свечу в индикаторе?, Как определить последнюю свечу в индикаторе?
 
s_mike@rambler.ru,так в getsecurityinfo всё равно нужно задавать class_code, sec_code, а хотелось бы обойтись без этого.

По всей видимости, придётся как-то комбинировать isconnected с временем сервера...
Как определить последнюю свечу в индикаторе?, Как определить последнюю свечу в индикаторе?
 
Цитата
s_mike@rambler.ru написал:
узнать , идут ли торги по инструменту, можно в таблице текущих торгов
т.е., нужно использовать getParamEx и вводить параметры конкретного инструмента, что в индикаторе не очень удобно...
Как определить последнюю свечу в индикаторе?, Как определить последнюю свечу в индикаторе?
 
s_mike@rambler.ru, т.е. чтобы определить, что последняя или предпоследняя свеча является закрытой, нужно знать, идут ли торги. А прямой функции, позволяющей это определить, я так понимаю, нет?
Как определить последнюю свечу в индикаторе?, Как определить последнюю свечу в индикаторе?
 
s_mike@rambler.ru, спасибо, действительно самый простой вариант.

Тогда такой вопрос: на дневном графике в ходе торговой сессии Size() указывает на свечу предыдущего дня, я правильно понял?
Как определить абсолютный путь к исполняемому файлу lua?
 
Цитата
Владимир написал:
при нажатии кнопки "добавить" при загрузке скриптов он открывает не папку "своего" Квика, а ту, из которой была последняя загрузка.
Вы правы, причина в этом, просто надо быть внимательнее при добавлении скриптов в окне...
Как определить абсолютный путь к исполняемому файлу lua?
 
Использовал относительный путь, но имеется несколько папок с квиками от разных брокеров и мой фреймворк почему-то "путает" папки (папки типа "С:\Quik1" , "C:\Quik2" , и т.д.). Поэтому решил использовать абсолютный путь для исключения ошибок. Как определить абсолютный путь?
Как определить последнюю свечу в индикаторе?, Как определить последнюю свечу в индикаторе?
 
Как в OnCalculate индикатора определить, что данная свеча является последней рассчитанной (правой на графике) свечёй на данный момент времени?
quik 8.5 + lua 5.3 = ошибка
 
Anton,всё оказалось до смешного проще: я скомпилировал dll со сборкой с sourceforge для 64bit lua 5.1  :shock:


После замены на 64bit lua53 и небольшой коррекции кода всё заработало как по маслу )))
quik 8.5 + lua 5.3 = ошибка
 
Запускаешь скрипт первый раз - выдаёт ошибку на скрине. Запускаешь второй - квик слетает, не оставляя дампа. Имеет смысл снять дамп с помощью for_dump ?
quik 8.5 + lua 5.3 = ошибка
 
Цитата
Egor Zaytsev написал:
Если совет Александра не поможет, то пришлите архив рабочего места QUIK (без ключей доступа и файла chm) а также Ваш скрипт
Это сделать затруднительно, т.к. совместно с lua работает фреймворк, написанный на С++



Вот, выдаёт такую ошибку. Что бы это значило?
quik 8.5 + lua 5.3 = ошибка
 
Цитата
Александр М написал:
Копать в сторону перекомпиляции скрипта под lua 5.3
Скрипт в обычной текстовой форме, не компилирован.

Цитата
Александр М написал:
с изменением синтаксиса естественно под новую версию
Где можно почитать об отличиях синтаксиса 5.1 от 5.3 ?
quik 8.5 + lua 5.3 = ошибка
 
Ну вот, обновил до 8.5.2.11 (до этого была 8.3.2.4) , и при запуске работавшего ранее без проблем скрипта квик вылетел с сообщением что-то вроде "закрыто рабочее место QUIK". Откатил обратно к 8.3.2.4 - всё нормально работает.

В какую сторону хоть копать, подскажите?
QUIK 8.0
 
Цитата
Anton написал:
обычно это повреждение стека тем или иным способом.
Вы правы, функция из C++ возвращала слишком много параметров в LUA-скрипт (оказывается, по умолчанию 20 элементов стека, у меня было больше)


Проблема решилась увеличением количества элементов стека с помощью lua_checkstack
QUIK 8.0
 
Nikolay,объясните ещё раз для тупых )) Сначала запускаем fordump , потом QUIK ? Или fordump сама запускает QUIK ?
QUIK 8.0
 
Nikolay, файлы *,dmp могут расшифровать только в ARQA? Самостоятельно понять причину невозможно?
QUIK 8.0
 
Цитата
Anton написал:
где происходит урезание 64 бит до 32 и где signed/unsigned mismatch в сравнениях, скорей всего откуда-то оттуда ноги растут
unsigned переменных нет вообще, код написан очень просто. Я просто взял проект из VS2013, поместил в VS2017, открыл, пофиксил все ворнинги, на которые ругалась новая версия VS, переключил выход с 32bit на 64bit - и всё!

Т.е., отлично работающий код, с многократно пофиксиными багами на периоде 3,5 года, просто перекомпилирован на новую битность - и не работает!
QUIK 8.0
 
Nikolay,эта утилита - ForDump - публичная? Или нужно персонально обращаться в компанию?

И ещё: причину "падения" вы так и не нашли? А как работал ваш драйвер на 32bit?
QUIK 8.0
 
Пытаюсь постепенно переходить на 64bit QUIK ))  Имеется сложный фреймворк, связка lua с .dll , памяти занимает много, но выделение памяти контролируется.

Ранее .dll под 32bit компилировал в VS2013, работало всё на последней 32bit версии QUIK на слабом ноуте с 4ГБ памяти с процессором Intel (так же всё работало и на выделенном сервере)

Под 64bit компилируется на VS2017, версия QUIK 8.3.2.4 , работает на достаточно мощном ноуте, 12ГБ памяти, но с процессором AMD.

32bit вариант мог работать неделями, не закрывая квик, и работало зараз по 5-6 роботов, проблем не было совершенно.

64bit запустил одного робота, работает около часа, потом QUIK внезапно слетает, даже приблизительную причину аварийной остановки определить невозможно, т.к. не остаётся ни дампов , ни каких-то записей в моём логгере, т.е. причина останова, по всей видимости, очень серьёзная.

Вопрос1: была у кого-нибудь такая ситуация?

Вопрос2: может это быть как-то связано с особенностями процессоров AMD?
QUIK 8.0 x64: что нужно знать перед обновлением на новую версию
 
Какая минимальная оперативка нужна? Что-то ноут странно себя ведёт при запуске...
QUIK 8.0 x64: что нужно знать перед обновлением на новую версию
 
Подскажите, пожалуйста, как перекомпилировать *.dll для работы с lua под новую версию QUIK, старая не работает по причине своей 32-битности, я правильно понимаю?
Не работает .dll в новой версии QUIK, просит увеличить файл подкачки
 
Обновился QUIK до 8-й версии и "обрадовал" ошибкой:



На предыдущей версии работали 6 скриптов безо всяких проблем.

Как устранить? Файл подкачки увеличил до максимума - всё равно вылазит ошибка (((
Пользователи Telegram-Bot! Как организовать работу через proxy?
 
Цитата
Все бы хорошо, но у меня скрипт работает с обратной связью, т.е. он не только отсылает через бот информацию на телефон, но и анализирует, какие команды бот получает с моего телефона.
Ого! А есть библиотеки LUA, которые позволяют осуществить подобное?
Пользователи Telegram-Bot! Как организовать работу через proxy?
 
После некоторого периода возни с библиотеками, делающими вызов по http, плюнул на это, написал функцию, запускающую Internet Explorer с заданным URL, т.о., отсылал сообщение на телефон с Telegram.

Теперь Telegram через IE недоступен, буду реализовать такую же цепочку через Firefox с установленным анонимайзером.
Можно ли по графику определить таймфрейм этого графика?, Можно ли по графику определить таймфрейм этого графика?
 
Понятно, что можно взять 2 соседние свечи и по разнице в их таймах вычислить.

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

Разумеется, с помощью Qlua я получаю доступ к графику и вывожу свечи полностью за неделю, включая последний день - но зачем "костыли"? Почему бы не реализовать это полноценно в QMinEditor?
вопрос разработчикам, структура файлов с графиками
 
Подниму тему.  Почему-то QMinEditor выводит данные без последнего торгового дня.

Например, на FORTS по инструменту BRJ8 таймфрейм 120 min последний торговый день - 16.03.2018 (в квике данные на графике присутствуют)

В QMinEditor последний день - 15.03.2018.  Так было задумано или это баг?
Активные-снятые заявки
 
В догонку к https://forum.quik.ru/messages/forum10/message27311/topic996/#message27311 ,

полскажите, какие флаги активны у частично исполненной заявки? Флаг 0 имеет значение 1 ?
Изучаем Qlua., "hello world"
 
Здравствуйте! Есть вопрос по снятию частично исполненных лимитных заявок.

Выставлено 5 лотов, исполнено 2. Ещё действующая заявка на оставшиеся 3 лота снимается по общим правилам или есть какие-то особенности?
Кто как решил вопрос уведомления о сделках?
 
Файлы

Вот, попробуйте. Распакуйте все файлы и папки в папку c QUIK, где лежит info.exe.

Никаких дополнительных библиотек, по идее, не нужно, всё должно быть в этой сборке.
quick api
 
Здравствуйте! Где можно посмотреть документацию по trans2quik.dll ?
Кто как решил вопрос уведомления о сделках?
 
Сергей, если будет полезно, могу выложить (попозже) все собранные мной файлы для работы с инетом в QUIK.

На Win 7 64 bit работает, на сервер ещё не закидывал, но запросы проходят с 10-15 секундной задержкой (об этой проблеме писали выше), и побороть эту задержку никак не получается...
Кто как решил вопрос уведомления о сделках?
 
Сергей, а на десктопной Windows пробовали? Тоже виснет?
Что обрывает break
 
Разумеется, цикл for
Закрытие терминала QUIK средствами QLUA - возможно ли?, Закрытие терминала QUIK средствами QLUA - возможно ли?
 
s_mike@rambler.ru, спасибо! А не в курсе, выключение квика таким способом происходит с сохранением рабочего пространства в файл basic.wnd (или в подобный) при установленном пункте в настройках "Сохранять настройки в файл при выходе"?

Или это что-то вроде аварийного выхода?
Кто как решил вопрос уведомления о сделках?
 
Иван Ру, а вы хотите смс-оповещения организовать?  
Закрытие терминала QUIK средствами QLUA - возможно ли?, Закрытие терминала QUIK средствами QLUA - возможно ли?
 
Собственно, вопрос: есть ли такая возможность?

Если в QLUA нет такой возможности - есть ли в самом QUIK возможность закрытия терминала по шедулингу или что-то в этом роде?
Проблемы относительного пути на сервере с Windows Server 2008, Error loading module
 
Проблема решена, всем спасибо ))
Страницы: 1 2 След.
Наверх