Антон (band) (Автор тем)

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

Страницы: 1
ошибка в функции TRANS2QUIK_TRADE_DATE
 
QUIK_JUNIOR 7.27.1
TRANS2QUIK v1.1.0.9(1.1)
UID = 138159

совершена такая сделка(в таблице квика именно такие данные и они верны)
TradeId=20393832
TradeDate=18.04.2019
TradeTime=20:58:08
SettleDate=19.04.2019(дата расчетов)
OrderId=219895624

при экспорте через TRANS2QUIK в программу
используя такую декларацию(delphi):
function TradeSettleDate(nTradeDescriptor: integer): integer; stdcall; external DllName name '_TRANS2QUIK_TRADE_SETTLE_DATE@4';
function TradeDate(nTradeDescriptor: integer): integer; stdcall; external DllName name '_TRANS2QUIK_TRADE_DATE@4';
function TradeTime(nTradeDescriptor: integer): integer; stdcall; external DllName name '_TRANS2QUIK_TRADE_TIME@4';

получаю такие данные
TradeDate=20190419
TradeTime=205808
SettleDate=20190419

экспортирую 19.04.2019 в 16-30msk(возможно влияет, я уже не знаю куда копать)
в общем TRANS2QUIK не верно дату сделки возвращает используя '_TRANS2QUIK_TRADE_DATE@4'
19е число вместо 18.
почему?

ps. при экспорте через lua данные datetime
{ ["week_day"] = 4,["hour"] = 20,["ms"] = 160,["mcs"] = 160000,["day"] = 18,["month"] = 4,["sec"] = 8,["year"] = 2019,["min"] = 58,}
тоесть все нормально
динамический заказ тиковых данных
 
терминал v7.19
нужно динамически заказывать тиковые данные(обезличенные сделки) и удалять их из загрузки(когда перестали быть нужны)
желательно еще и список параметров сделки контролировать чтобы лишнее не загружать(как через таблицу всех сделок)
все это при закрытой таблице всех сделок.

пример:
допустим в произвольный момент нужно заказать подписку на
(SPBFUT, RIZ8) с параметрами
номер
код класса
код бумаги
дата
время
цена
кол-во

ну а потом удалить ее(подписку). перестать загружать и отчистить загруженные данные тк больше не требуются.

для заказа данных(тиковых) я так понял в этом случае единственным решением является
CreateDataSource(c_code, s_code, INTERVAL_TICK)
которая закажет сразу все параметры(и те которые мне не нужны)
и получать я их буду через OnAllTrade(новые)
вопросы
1) как то туда(в CreateDataSource) есть возможность сразу все параметры передать которые я хочу получать?
2) как проверять включена ли загрузка этого параметра? для стакана есть IsSubscribed_Level_II_Quotes. для обезличенных сделок не нашел.
3) как убрать подписку на какой-либо параметр[ы] обезличенной сделки (или бумагу целиком в частном случае если для параметров  не возможно)
4) нужно ли хранить таблицу ds полученную от CreateDataSource. если ее удалить перестанет ли идти подписка?
касаемо параметров бумаги (таблица текущих параметров)
5) почему нету функции isParamRequest (узнать заказан ли нужный мне параметр). Подписка/отписка же есть. или я ее тоже не нашел в документации. как проверять подписку?

вопросы наводящие тк лично мне не хватило функционала апи для заказа тиковых данных.
если кратко опишете то чем воспользоватся для решение проблемы описанной в первом обзаце можно не отвечать на остальное.
я просто не нашел в доках функций которые ее решают.
метатаблица для OnInit
 
Код
function a(s)
    message(s)
end

Oni nit = {}
mt = { __call = a}
setmetatable(OnInit, mt)

--OnInit("a") 
Хотел на колбеки (например возмем OnInit) повесить метатаблицy и обнаружил что квик не хочет их вызывать.
Код выше в теории должен при старте скрипта вызвать a(). но он просто завершается
Но если принудительно вызвать OnInit("a") все работает. В чем подвох?
Страницы: 1
Наверх