Код рабочий, но его надо выдирать из системы, после чего он перестанет быть рабочим, и толку от него не будет.)
Что-то Вашей функции T2QSubscribeOrders в мануале АПИ не вижу.
ЗЫ Понял, имеется в виду функция с предыдущей страницы.) Не, я сам писал весь функционал, используя чистый АПИ и экземплы только для справки.
Ок.
Но Вы понимаете как работает Ваш код?
Интересует порядок работы с trans2quik.dll
Т.е Что делает (пошагово).
Н-р:
1. Загружаем DLL
2. Вызываем TRANS2QUIK_CONNECT
3. Смотрим, что вернула функция
4. Если TRANS2QUIK_SUCCESS вызываем TRANS2QUIK_CONNECTION_STATUS_CALLBACK
5. Если TRANS2QUIK_SUCCESS вызываем TRANS2QUIK_TRANSACTIONS_REPLY_CALLBACK
//--- load trans2quik.dll ---if((QTrader.QuikPath <> '') and (FileExists(IncludeTrailingPathDelimiter(QTrader.QuikPath) + DllName))) then
begin
QTrader.Tr2QHandle:= LibLoad(QTrader.QuikPath);
if(QTrader.Tr2QHandle > 0) then
begin
ErrCode:= 0;
ErrSize:=0;
ErrStr:= nil;
res:= T2QConnect(LPSTR(AnsiString(QTrader.QuikPath)), ErrCode, ErrStr, ErrSize);
case res of
TRANS2QUIK_SUCCESS: begin
QTrader.QConn:= true;
QTrader.DLLConn:= true;
res:= T2QSetConnStatCB(@pfConnStatusCB, ErrCode, ErrStr, ErrSize);
if(res = TRANS2QUIK_SUCCESS) then
begin
res:= T2QSetTransReplyCB(@pfTransReplyCB, ErrCode, ErrStr, ErrSize);
if(res = TRANS2QUIK_SUCCESS) then
begin
res:= T2QStartOrders(@pfOrderStatusCB);
if(res = TRANS2QUIK_SUCCESS) then
begin
res:= T2QStartTrades(@pfTradeStatusCB);
if(res <> TRANS2QUIK_SUCCESS) then
begin
Application.MessageBox(PWideChar('Не установлен колбэк статуса сделок!'
+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
close();
end;
end else
begin
Application.MessageBox(PWideChar('Не установлен колбэк статуса ордеров!'
+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
close();
end;
end else
begin
Application.MessageBox(PWideChar('Не установлен колбэк ответов!'
+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
Close();
end;
end else
begin
Application.MessageBox(PWideChar('Не установлен колбэк соединения!'
+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
Close();
end;
end;
TRANS2QUIK_FAILED: begin
Application.MessageBox(PWideChar('Непредвиденая ошибка при попытке соединения с QUIK!'
+ #10#13 +
'Возможно не влючён импорт внешних транзакций.'
+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
Close();
end;
TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND: begin
Application.MessageBox(PWideChar('Не найден терминад QUIK!' + #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
Close();
end;
TRANS2QUIK_DLL_VERSION_NOT_SUPPORTED: begin
Application.MessageBox(PWideChar('Данная версия trans2quik.dll не поддерживается!'
+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
Close();
end;
//ANS2QUIK_ALREADY_CONNECTED_TO_QUIK:;
TRANS2QUIK_WRONG_SYNTAX: begin
Application.MessageBox(PWideChar('Синтаксическая ошибка ы пути к терминалу!'
+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
Close();
end;
TRANS2QUIK_QUIK_NOT_CONNECTED: begin
Application.MessageBox(PWideChar('Нет соединения терминала с сервером!'
+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
Close();
end;
TRANS2QUIK_DLL_NOT_CONNECTED: begin
Application.MessageBox(PWideChar('Не соединения библиотеки с терминалом!'
+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
Close();
end;
TRANS2QUIK_MEMORY_ALLOCATION_ERROR: begin
Application.MessageBox(PWideChar('MEMORY ALLOCATION ERROR!'
+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
Close();
end;
TRANS2QUIK_WRONG_CONNECTION_HANDLE: begin
Application.MessageBox(PWideChar('WRONG CONNECTION HANDLE!'
+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
Close();
end;
TRANS2QUIK_WRONG_INPUT_PARAMS: begin
Application.MessageBox(PWideChar('WRONG INPUT PARAMS!'
+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
Close();
end;
end;
end else
begin
Application.MessageBox(PWideChar('Не загружена библиотека трансакций!'+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
Close();
end;
end;
Что-то типа того. Коннектимся, проверяем, подписываемся на колбеки, передаем транзакции. АПИ-то небольшой, по другому и не сделаешь. Только у Вас обертка АПИ своя, а у меня АПИ в класс погружено.
Кстати, воскресенье сегодня, рынок не работает. Толком и не проверишь ничего.
Что-то типа того. Коннектимся, проверяем, подписываемся на колбеки, передаем транзакции. АПИ-то небольшой, по другому и не сделаешь. Только у Вас обертка АПИ своя, а у меня АПИ в класс погружено.
Кстати, воскресенье сегодня, рынок не работает. Толком и не проверишь ничего.
Кстати, помнится еще в другом терминале, не в Квик, часть функциональности с заявками на демо не работала.
Я не пойму, в чем проблема-то? Зачем эти 123? если надо типа SPBFUT и SRZ8 или данные другого конкретного инструмента(ов), и далее смотреть события до того и после.
Кстати, помнится еще в другом терминале, не в Квик, часть функциональности с заявками на демо не работала.
Я не пойму, в чем проблема-то? Зачем эти 123? если надо типа SPBFUT и SRZ8 или данные другого конкретного инструмента(ов), и далее смотреть события до того и после.
Не понимаю, что и зачем вы делаете.
Просто ошибся, а функция вернула, что всё правильно.
Попробовал 123 и.. вернула, что всё правильно.
Вот я и подумал, что может быть что-то Я не правильно делаю...
Просто ошибся, а функция вернула, что всё правильно.
Попробовал 123 и.. вернула, что всё правильно.
Вот я и подумал, что может быть что-то Я не правильно делаю...
Если вы с Квик Junior работаете, то это, имхо, странная конструкция. Когда на Квик переходил, решил посмотреть что за зверь, и у меня с Junior не задалось, вообще никак.
Если вы с Квик Junior работаете, то это, имхо, странная конструкция. Когда на Квик переходил, решил посмотреть что за зверь, и у меня с Junior не задалось, вообще никак.
Кто-нибудь реально работал с этой глюкавкой?
Работал, и продолжаю работать. Писал пару лет назад, с тех пор ничего не менял. Не помню, чтобы какие-либо проблемы были.
См. экземплы в мануале.
Работал, и продолжаю работать. Писал пару лет назад, с тех пор ничего не менял. Не помню, чтобы какие-либо проблемы были.
См. экземплы в мануале.
ВЫ попробуйте, что я описал.
result:= T2QSubscribeOrders(PAnsiChar(AnsiString('123')), PAnsiChar(AnsiString('123')));Результат такой же как у меня?
Может быть дадите Ваш код, если он рабочий?
ВЫ попробуйте, что я описал.
Результат такой же как у меня?
Может быть дадите Ваш код, если он рабочий?
Код рабочий, но его надо выдирать из системы, после чего он перестанет быть рабочим, и толку от него не будет.)
Что-то Вашей функции T2QSubscribeOrders в мануале АПИ не вижу.
ЗЫ Понял, имеется в виду функция с предыдущей страницы.) Не, я сам писал весь функционал, используя чистый АПИ и экземплы только для справки.
Код рабочий, но его надо выдирать из системы, после чего он перестанет быть рабочим, и толку от него не будет.)
Что-то Вашей функции T2QSubscribeOrders в мануале АПИ не вижу.
ЗЫ Понял, имеется в виду функция с предыдущей страницы.) Не, я сам писал весь функционал, используя чистый АПИ и экземплы только для справки.
Ок.
Но Вы понимаете как работает Ваш код?
Интересует порядок работы с trans2quik.dll
Т.е Что делает (пошагово).
Н-р:
1. Загружаем DLL
2. Вызываем TRANS2QUIK_CONNECT
3. Смотрим, что вернула функция
4. Если TRANS2QUIK_SUCCESS вызываем TRANS2QUIK_CONNECTION_STATUS_CALLBACK
5. Если TRANS2QUIK_SUCCESS вызываем TRANS2QUIK_TRANSACTIONS_REPLY_CALLBACK
и так далее, как у Вас сделано?
и так далее, как у Вас сделано?
Что-то типа того. Коннектимся, проверяем, подписываемся на колбеки, передаем транзакции. АПИ-то небольшой, по другому и не сделаешь. Только у Вас обертка АПИ своя, а у меня АПИ в класс погружено.
Кстати, воскресенье сегодня, рынок не работает. Толком и не проверишь ничего.
Что-то типа того. Коннектимся, проверяем, подписываемся на колбеки, передаем транзакции. АПИ-то небольшой, по другому и не сделаешь. Только у Вас обертка АПИ своя, а у меня АПИ в класс погружено.
Кстати, воскресенье сегодня, рынок не работает. Толком и не проверишь ничего.
Кврик-демо работает (я же работаю)
Кврик-демо работает (я же работаю)
У меня нет демо. Не нужен.
Кстати, помнится еще в другом терминале, не в Квик, часть функциональности с заявками на демо не работала.
Я не пойму, в чем проблема-то? Зачем эти 123? если надо типа SPBFUT и SRZ8 или данные другого конкретного инструмента(ов), и далее смотреть события до того и после.
Не понимаю, что и зачем вы делаете.
У меня нет демо. Не нужен.
Кстати, помнится еще в другом терминале, не в Квик, часть функциональности с заявками на демо не работала.
Я не пойму, в чем проблема-то? Зачем эти 123? если надо типа SPBFUT и SRZ8 или данные другого конкретного инструмента(ов), и далее смотреть события до того и после.
Не понимаю, что и зачем вы делаете.
Просто ошибся, а функция вернула, что всё правильно.
Попробовал 123 и.. вернула, что всё правильно.
Вот я и подумал, что может быть что-то Я не правильно делаю...
Просто ошибся, а функция вернула, что всё правильно.
Попробовал 123 и.. вернула, что всё правильно.
Вот я и подумал, что может быть что-то Я не правильно делаю...
Если вы с Квик Junior работаете, то это, имхо, странная конструкция. Когда на Квик переходил, решил посмотреть что за зверь, и у меня с Junior не задалось, вообще никак.
Если вы с Квик Junior работаете, то это, имхо, странная конструкция. Когда на Квик переходил, решил посмотреть что за зверь, и у меня с Junior не задалось, вообще никак.
У меня нет проблем