Александр (Автор тем)

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

Страницы: 1
Квик выдает не правильное направление сделки в таблице всех сделок на срочном рынке
 
Архив тиковых данных по символу rih2 за 27-12-2021: https://disk.yandex.ru/d/iVFqIlljV194hA
Тики закачены:
SPFB.RTS-3.22_211227_211227_finam.txt - с сайта финама
SPFB.RTS-3.22_211227_211227_itcapital.txt - с it capital
SPFB.RTS-3.22_211227_211227_quik.txt - квик (брокер финам)
Видим, что направление сделки у квика некорректное.
Сегодня от брокера финам получил следующее сообщение:
Проблемы со стороны АО Финам не обнаружено и работа ведется с разработчиками системы Quik. У разработчиков системы Quik есть определенный алгоритм проставления направления сделок на основе биржевого потока данных. По данному вопросу еще ведется работа.
Когда ждать исправления?
Изменения в работе с колбеками LUA в новой версии
 
Разработчики написали в письме:
Цитата
 В ближайшей версии мы изменим работу с коллбэками Lua. Ожидаем, что изменения исключат возникающую ошибку.  
Могли бы разработчики более подробно описать грядущие изменения?
Микросекунды в дате
 
В дате у сделки следующий формат
mcs NUMBER Микросекунды
ms NUMBER Миллисекунды
sec NUMBER Секунды  
min NUMBER Минуты
hour NUMBER Часы
day NUMBER День
week_day NUMBER Номер дня недели
month NUMBER Месяц
year NUMBER Год
mcs = ms*1000+mcs - не чистые микросекунды. Можно исправить проблему или хелп?
На junior quik параметры BUYDEPO, SELLDEPO имеют тип Long (2)
 
Использую для получения параметров таблицы текущих торгов функцию:  getParamEx
Для параметров BUYDEPO, SELLDEPO возвращается тип Long и вещественные значения = 24 074,40 и 24 641,44.
Junior Quik версии 8.6.0.97.
Это глюк или моя ошибка?
Изменяется порядок нахождения сделок в таблице all_trades в зависимости от параметров таблицы все сделки.
 
1. В потоке обезличенных сделок: GAZP, BRV, SBER, RIZ0, SIZ0.
2. Создаю таблицу "Всех сделок" добавляю GAZP.
3. Жду загрузки
4. Удаляют из таблиц всех сделок, удаляю GAZP и добавляю BRV0
5. Жду когда загрузятся тики
6. Запускаю скрипт и получаю доступ к таблице all_trades через lua api.
7. Сначала выводятся сделки по BRV0 со временем 10:25
8. Потом идут сделки по BRV0 со временем 10:00
Получается в таблице all_trades - теряется порядок хронологии. Все остальные сделки идут верно.
На демо сервере junior quik не передается таблица firms при смене пользователя
 
На демо сервере junior quik не приходят обновления таблицы firms в колбек OnFirm при смене пользователя.
1. Запускаем скрипт.
2. Происходит подключение 1-го пользователя.
3. OnFirm - приходит.
4. Отключение 1-го пользователя.
5. Подключение 1-го пользователя.
6. OnFirm - не приходит.
Это ошибка или особенность работы? Версия квика 8.2.
Когда удаляются лимиты?
 
Прошу разъяснения при удалении лимитов из таблиц futures_client_limits, money_limits, depo_limits.
Для этих таблиц есть колбеки OnFuturesLimitDelete, OnMoneyLimitDelete, OnDepoLimitDelete.
Следующие вопросы:
1. Когда происходит удаление лимитов? После вечернего клиринга?
2. Последовательность удаления лимитов. Сначала удаляется из таблицы, а потом вызывается колбек или сначала вызывается колбек и после лимит удаляется из таблицы?
На демо сервере junior quik не приходит событие OnFuturesLimitChange
 
На демо сервере junior quik не приходит событие OnFuturesLimitChange.
Таблица лимиты по фьючерсам изменяется, само событие не приходит.
Это я ошибаюсь или так задумано?
Можно ли сделать в квике режим, чтобы luaL_error не останавливала скрипт
 
1. Можно ли сделать в квике режим (errorstop=true/false), чтобы luaL_error не останавливала скрипт, а выводила ошибку в окно "Ошибки выполнения скрипта"
2. Сообщения переданные в message с icon_type также отображались в окне "Ошибки выполнения скрипта"
Можно объяснить, почему данный код не работает
 
Вот код:
Код
  lua_newtable(LuaState);
  lua_pushinteger(LuaState, 1); 
  lua_pushstring(LuaState, PAnsiChar('value1')); 
  lua_settable(LuaState, -3); 
  lua_pushinteger(LuaState, 2); 
  lua_pushstring(LuaState, PAnsiChar('value2'));
  lua_settable(LuaState, -3);
  lua_pushnil(LuaState);
  while (lua_next(LuaState, -2) <> 0) do begin
    key := lua_tostring(LuaState, -2);
    lua_pop(LuaState, 1);
  end;
Проходит 1 итерацию и при следующем вызове lua_next выдает ошибку invalid key to 'next'
если вместь lua_tostring сделать lua_tointeger - работает.
Хочу уточнить по поводу функции OnCleanUp
 
Функция OnCleanUp вызывается, когда
  • смена сервера QUIK внутри торговой сессии;
  • смена пользователя, которым выполняется подключение к серверу QUIK, внутри  торговой сессии;
  • смена сессии.
1. Означает ли это, что после вызова функции OnCleanUp все таблицы очищены, в том числе таблица инструментов?
2. Какие действия необходимо предпринять, когда происходит событие OnCleanUp
3. При смене сервера квик происходит перезагрузка всех данных? Или некоторых таблиц?
4. Смена пользователя ведет к перегрузке всех данных? Или некоторых таблиц?
5. Что происходит при смене сессии?
Если терминал в течение дня получает новый класс, то вызывается функция OnConnected со значением flag=false
 
Что значит, что в терминал пришел новый класс? Появились новые инструменты?
Корректно ли так делать?
 
Код
-- Функция вызывается перед остановкой скрипта
function OnStop(signal)
  stopped = true; -- Остановили исполнение кода 
end;

-- Функция вызывается перед закрытием квика
function OnClose()
  stopped = true; -- закрыли квик, надо остановить исполнение кода
end;


function OnMyAllTrade(trade)
--Тут что-то делаем
end;

function OnMyConnected(flag)
--Тут выводим сообщение
end;

function OnFakeConnected(flag)
end;

function OnFakeAllTrade(trade)
end;

OnConnec ted = OnFakeConnected;
OnAllTr ade = OnFakeAllTrade;

function main()
  OnConnec ted = OnMyConnected; --как такой подход с точки зрения потоков?
  OnAllTr ade = OnMyAllTrade; --как такой подход с точки зрения потоков?
  while not stopped do
    sleep(1);
  end; --while    
end;
Есть такой код.
Корректно ли присваивание OnConnec ted = OnMyConnected;   OnAllTr ade = OnMyAllTrade;
Функция main и колбеки работают в разных потоках. Не возникнет ли проблемы?
Библиотека lua выгружается раньше чем dll
 
При регистрации через luaopen_ квик выгружает lua53.dll раньше, чем саму dll при условии, что
я не подписываюсь на main или вызываю в main ошибку при помощи LuaError.
В чем необходимость загрузки lua5.1.dll в квике 8.5.2.11
 
В чем необходимость загрузки lua5.1.dll в квике 8.5.2.11? Объясните зачем ее загружать, если в этой версии используется lua 5,3?
Какая кодировка используются в Lua?
 
Какая кодировка используются в Lua?
Windows - 1251?
Например, если терминал будет установлен на английскую версию винды, терминал тоже будет отдавать строки в Windows - 1251 или в системной кодировке?
Окно графика со своим таймфреймом
 
Можно ли на луа создать окно графика в квике со своим таймфреймом, например 40 сек?
Таблицы квика
 
Обновился с 6 квика до версии 7.12.1.10.
В таблицах в заголовках таблицы появляются красноватые линии.
http://joxi.ru/eAOWGMi4a6z7Ao
При создании новых окон тоже самое. Это такая фича?
Страницы: 1
Наверх