Ведутся ли у Вас работы по внедрению ЕТС? Когда Биржа планирует внедрить ЕТС на боевом контуре?
Ошибка net error
Пользователь
Сообщений: Регистрация: 29.07.2015
28.09.2025 04:08:55
Добрый день!
Брокер Финам, версия квик 12.5.0.20 В последнее время (приблизительно неделя) стала появляться ошибка в trans2quik.dll (до этого, 2 года все работало как часы)
25.09.2025 22:44:51.967 --> Ошибка: Net error: Can't get data from net 25.09.2025 22:45:22.070 --> Ошибка: РH 27.09.2025 22:36:49.835 --> Ошибка: Соединение разорвано
Таблица "Ограничения по клиентским счетам"
Пользователь
Сообщений: Регистрация: 29.07.2015
05.08.2025 17:56:03
Добрый день!
Версия Quik 12.5.0.20 Брокер Финам
Почему в таблице "Ограничения по клиентским счетам" перестало транслироваться поле "Текущие чистые позиции"?
Блокирование средств
Пользователь
Сообщений: Регистрация: 29.07.2015
19.12.2024 22:02:58
Добрый день!
Как рассчитать сколько средств будет заблокировано ПЕРЕД отправкой заявки?
Ошибка выставления ордера
Пользователь
Сообщений: Регистрация: 29.07.2015
24.07.2024 21:28:37
Добрый день, господа разработчики! После обновления Квик до версии 11.3.1.2 Появилась ошибка (пранзакция посылается через trans2quik.dll)
24.07.2024 10:01:03.912 --> SetEnterOrder: Ордер CMM5 отправлен. 24.07.2024 10:01:03.912 --> Ошибка: Указанная транзакция по указанному классу не найдена: "SPBFUT".
Таблица "Клиентский портфель"
Пользователь
Сообщений: Регистрация: 29.07.2015
14.11.2023 17:28:37
Добрый день!
Если оставить квик на ночь с включенным выводом по DDE, то на утро таблица "Клиентский портфель" - пустая
Классический арбитраж на * счете
Пользователь
Сообщений: Регистрация: 29.07.2015
26.10.2023 23:40:12
Добрый день, Разработчики!
Почему в КВИК на Едином Брокерском Счете (Открытие) или Единая Денежная Позиция (Финам), при торговле фьючерс против спота, учитывается только вариационная маржа фьючерсов, а цена акций не учитывается?
Продав фьючерс и купив акции (равные ноги по кол-ву акций), мы имеем дельта нейтральную позицию, т.е при любом движении рынка (вверх или вниз) у нас должно быть приблизительно одинаковое кол-во свободных средств.
Почему это не так? .
Запуск экспорта по DDE из своего приложения
Пользователь
Сообщений: Регистрация: 29.07.2015
13.10.2023 07:49:18
Добрый день!
Возможно?
Мин.возм.цен. и Макс.возм.цен.
Пользователь
Сообщений: Регистрация: 29.07.2015
06.10.2023 23:43:32
Господа разработчики! Поправьте, пожалуйста названия этих колонок в таблице "Текущие торги" А то, в процессе работы эти колонки называются то Мин.возм.цен. и Макс.возм.цен., то Мин. возм. цена и Макс. возм. цена
Cкорректированное значение НРП1
Пользователь
Сообщений: Регистрация: 29.07.2015
27.09.2023 19:06:19
Добрый день!
Транзакции посылаются через trans2uik.dll Каким образом могла возникнуть эта ошибка (достаточно средств для покупки 40 лотов Россети (FEES))? Как расчитывается "Скорректированное значение НРП1" ?
Пропускная способность trans2quik.dll
Пользователь
Сообщений: Регистрация: 29.07.2015
19.09.2023 00:13:03
Уважаемые разработчики!
Сколько транзакций в секунду поддерживает trans2quik.dll ?
Экспорт по DDE таблицы Купить/продать
Пользователь
Сообщений: Регистрация: 29.07.2015
26.07.2023 02:40:07
Добрый день, разработчики.
Почему, при экспорте таблицы по DDE "Купить/продать" только с 4 колонками, а именно 1=Инструмент 2=Код инструмента 3=D long 4=D short Передается огромное количество строк, ведь ничего не меняется в течении сессии? Вывод "строчит" даже ночью. Зачем?
Добрый день! Есть ли в LUA стандартная поддержка именных каналов:(Pipe)? Если да, то можно пример?
Прерывание экспорта по DDE
Пользователь
Сообщений: Регистрация: 29.07.2015
06.02.2023 12:52:29
Добрый день! Экспортирую таблицу "Текущие торги" с фьючерсами по DDE При запуске, все экспортируется нормально, но иногда, через несколько минут или часов, пропадает экспорт по одному или нескольким фьючерсам. Версия Квик 9,7,1,10 Это только у меня такое поведение Квик:?
Пользователям trans2quik.dll на заметку!
Пользователь
Сообщений: Регистрация: 29.07.2015
12.12.2022 23:50:06
В файле trans2quik_api.h
dwTransID объявлен как DWORD ( TRANS2QUIK_TRANSACTION_REPLY_CALLBACK и TRANS2QUIK_ORDER_STATUS_CALLBACK)
На самом деле там LONG (положительные значения)
Пишу, так как все-равно исправлять не будут...
Название столбца таблицы
Пользователь
Сообщений: Регистрация: 29.07.2015
01.12.2022 14:29:37
Добрый день. Я использую два экземпляра с одинаковыми версиями Квик. В одинаковых таблицах имеются одинаковые столбцы, но их названия отличаются. Н-р В одной таблице столбец называется "Макс. возм. цен.", а в другом экземпляре Квик этот же столбец называется "Макс.возм.цена".
Возможно ли редактировать названия столбцов в таблицах? Если да, то как это сделать? В каком файле дистрибутива Квик находятся названия столбцов таблицы?
Лимитированная заявка на Срочной секции
Пользователь
Сообщений: Регистрация: 29.07.2015
18.11.2022 15:41:10
Господа разработчики! Пожалуйста, дайте пояснения по следующей ситуации. Подается лимитированная заяка через Trans2quik с целью купить инструмент по указанной цене или снять заявку, если цена "ушла". Параметры заявки
TYPE=L - лимитированная заявка, должна исполнится по цене, указанной в заявке EXECUTION_CONDITION=KILL_BALANCE' - если этой цены (или лучшей) нет, то заявка должна сняться. Посылаю заявку на покупку с ценой 4927, а она исполняется по разным ценам, причем, не по тем, что указана в заявке. Что я не так делаю?
Фондовая секция и trans2quik
Пользователь
Сообщений: Регистрация: 29.07.2015
17.11.2022 01:58:54
Господа разработчики! Возможна ли ситуация, когда я получаю TRANS2QUIK_ORDER_STATUS_CALLBACK, что сделка была совершена, но на самом деле в терминале этой сделки нет?
Сообщение об ошибке в trans2quik
Пользователь
Сообщений: Регистрация: 29.07.2015
09.11.2022 17:20:52
Добрый день!
На отмену отложенного ордера в lpcstrTransactionReplyMessage пришло следующее сообщение: 09.11.2022 17:08:26.901 --> Error: ЂыЂ[ ЂыЂ] - переведите, пожалуйста
D long? D short таблицы ""Купить/Продать"
Пользователь
Сообщений: Регистрация: 29.07.2015
23.10.2022 14:54:14
Добрый день!
Возможно ли рассчитать D Long и D Short (таблица "Купить/Продать"), имея только таблицы "Текущие торги" и "Клиентский портфель"?
Пользовательская таблица
Пользователь
Сообщений: Регистрация: 29.07.2015
21.10.2022 14:53:19
Привет! Можно ли в Квик создать свою таблицу?
Удаление отложенного ордера через trans2quik
Пользователь
Сообщений: Регистрация: 29.07.2015
03.10.2022 08:01:56
Добрый день!
Команды отсылаю в асинхронном режиме. Что может считаться, что ордер удален, приход сообщения в pfTransReplyCB или ещё что-то должно быть?
QUIK-Junior и Фондовая секция
Пользователь
Сообщений: Регистрация: 29.07.2015
30.09.2022 12:49:39
Уважаемые разработчики! Есть пара вопросов 1. Почему не пранслируется Макс.возм.цена и Мин.возм.цена на акциях? 2. Почему котировки акций VTВR не кратны шагу цены?
Не исполняется ордер на валютной секции
Пользователь
Сообщений: Регистрация: 29.07.2015
25.08.2022 15:31:23
Добрый день! Отправляю ордер через trans2qiuk.dll в Квик-джуниор (демо Арка) ордер исполняется, а на боевом Квике (Открытие) нет. Кто-нибудь сталкивался с подобной ситуацией на валютной секции?
Недостаточно лицензий!
Пользователь
Сообщений: Регистрация: 29.07.2015
11.04.2022 21:27:22
Добрый день!
Что может означать такое сообщение?
Ключ сервера или пользователя не найден
Пользователь
Сообщений: Регистрация: 29.07.2015
06.04.2022 10:37:53
По какой причине может появляться это сообщение?
9.3.1.11
Пользователь
Сообщений: Регистрация: 29.07.2015
01.02.2022 13:59:03
Добрый день! W10 Home 64 Через 3-4 дня работы Квик зависает Открытие, реал Как бороться?
Обновился до 9.2.3.15 и получил TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND
Пользователь
Сообщений: Регистрация: 29.07.2015
02.12.2021 13:17:07
Как бороться?
Везде есть проверки па путь и название DLL До обновления самого терминала все прекрасно работало!
Котировки с более точным временем
Пользователь
Сообщений: Регистрация: 29.07.2015
12.11.2021 19:19:19
Добрый день! Есть ли в КВИК таблица с ASK, BID и LAST со временем точнее секунды?
getMoneyEx
Пользователь
Сообщений: Регистрация: 29.07.2015
05.02.2021 21:44:54
Добрый день! Функция getMoneyEx() возвращает таблицу "Позиции по деньгам" В справке нет названия колонки "Доступно" Как она называется (см. картинку)?
Эвента на изменение таблицы "Клиентский портфель"
Пользователь
Сообщений: Регистрация: 29.07.2015
03.02.2021 16:51:03
Добрый день!
Как-нибудь можно реализовать такое?
PostMessage из LUA
Пользователь
Сообщений: Регистрация: 29.07.2015
28.01.2021 16:30:07
Добрый день!
У кого-нибудь есть наработки по этому вопросу?
Инструмент Si-12.20-3.21
Пользователь
Сообщений: Регистрация: 29.07.2015
19.11.2020 20:58:50
Добрый день! Кто-нибудь знает почему покупая/продавая инструмент Si-12.20-3.21 в позициях появляются обычные фьючерсы Si-12.20 и Si-3.21? Это же разные инструменты и стаканы у них разные. Можно получить развернутый ответ?
Как различать котировки из двух стаканов, при выводе через DDE?
Пользователь
Сообщений: Регистрация: 29.07.2015
28.02.2020 00:51:15
Собственно вопрос
Время исполнения ордеров на ФОРТС и Фондовой секциях
Пользователь
Сообщений: Регистрация: 29.07.2015
15.02.2019 20:36:57
Добрый день!
Скажите, уважаемые разработчики, почему время исполнения ордеров на ФОРТС в разы меньше, чем на Фондовой секции? Ордер SRH9 отправлен: 15.02.19 20:30:12 Ордер SRH9 исполнился: 15.02.19 20:30:12 (62 мс) Ордер SBER отправлен: 15.02.19 20:30:12 Ордер SBER исполнился: 15.02.19 20:30:13 (562 мс)
Понятно, что точный срок обновления trans2quik.dll невозможно огласить, но хотелось бы знать ВАШИ планы по срокам выхода обновления.
QUIK Junior
Пользователь
Сообщений: Регистрация: 29.07.2015
01.02.2019 00:40:37
Уважаемые разработчики!
"Почините" котировки в фондовой секции. Например: Шаг цены акции Роснефти - 0,05, а у Вас в стакане огромное кол-во котировок не кратных шагу цены.
Сценарий при TRANS2QUIK_DLL_DISCONNECTED
Пользователь
Сообщений: Регистрация: 29.07.2015
12.01.2019 00:08:14
Добрый день! Использую DDE + trans2quik.dll Все нормально работает, но возник вопрос. Установив коллбэк TRANS2QUIK_SET_CONNECTION_STATUS_CALLBACK, возможно получить в TRANS2QUIK_CONNECTION_STATUS_CALLBACK следующие значения TRANS2QUIK_DLL_DISCONNECTED TRANS2QUIK_DLL_CONNECTED TRANS2QUIK_QUIK_DISCONNECTED TRANS2QUIK_QUIK_CONNECTED
А какие действия нужно предпринимать, получив эти сообщения? Н-р: TRANS2QUIK_DLL_DISCONNECTED - теряются ли коллбэки и другие настройки? И т.д... Какие сценарии возможны?
DDE и trans2quik.dll
Пользователь
Сообщений: Регистрация: 29.07.2015
18.12.2018 14:24:32
Добрый день!
А не у кого небыло такой ситуации:
Если данные просто выводятся из трёх таблиц (Фьючерсы, Акции и состояние счёта) по DDE, то всё ноормально (проверял 3 суток), НО, если отдаются торговые ассинхронные приказы через trans2quik.dll, то иногда, DDE приёмник "падает" "invalid pointer operation"
TRANS2QUIK_TRANSACTION_REPLY_CLASS_CODE
Пользователь
Сообщений: Регистрация: 29.07.2015
17.12.2018 12:12:52
Привет! Кто-нибудь пользовался этой функцией (trans2quik.dll) TRANS2QUIK_TRANSACTION_REPLY_CLASS_CODE ,
intptr_t
Пользователь
Сообщений: Регистрация: 29.07.2015
17.12.2018 11:52:09
Привет!
Как в Delphi объявить intptr_t ???
Вывод по DDE таблицы [Состояние счёта]
Пользователь
Сообщений: Регистрация: 29.07.2015
28.11.2018 05:07:00
Добавить в таблицу [Состояние счёта] возможность добавление закреплённыж внизу значений (Н-р "свободно")
Экспорт по DDE таблицы [Состояние счёта]
Пользователь
Сообщений: Регистрация: 29.07.2015
26.11.2018 05:37:05
Добрый день! А как вывести по DDE эти данные? [img]file:///D:/Output/Quik/Data.jpg[/img]
TRANS2QUIK_SUBSCRIBE_ORDERS ()
Пользователь
Сообщений: Регистрация: 29.07.2015
26.11.2018 04:01:54
Добрый день! А как сделать, что бы в один и тот же класс добавлять инструменты не сразу через "|" с промежутками? Какой порядок действий при этом?
//----------------------- CallBack procedures ------------------ TRANS2QUIK_CONNECTION_STATUS_CALLBACK = procedure(nConnectionEvent: long; var nExtendedErrorCode: long; var lpcstrInfoMessage: LPCSTR); stdcall;
TRANS2QUIK_TRANSACTION_REPLY_CALLBACK = procedure(var nTransactionResult: long; var nTransactionExtendedErrorCode: long; var nTransactionReplyCode: long; var dwTransId: DWord; nOrderNum: EntityNumber; var lpcstrTransactionReplyMessage: LPCSTR; var transReplyDescriptor: TransReplyDescr); stdcall;
function LibLoad(const aPath: string): THandle; begin Result:= LoadLibrary(PWideChar(IncludeTrailingPathDelimiter(aPath) + DllName)); @T2QSendSyncTrans := GetProcAddress(Result, PWideChar('TRANS2QUIK_SEND_SYNC_TRANSACTION')); if(addr(T2QSendSyncTrans) = nil) then begin Result:= 0; Exit; end; @T2QSendASyncTrans := GetProcAddress(Result, PWideChar('TRANS2QUIK_SEND_ASYNC_TRANSACTION')); if(addr(T2QSendASyncTrans) = nil) then begin Result:= 0; Exit; end; @T2QConnect:= GetProcAddress(Result, PWideChar('TRANS2QUIK_CONNECT')); if(addr(T2QConnect) = nil) then begin Result:= 0; Exit; end; @T2QDisconnect := GetProcAddress(Result, PWideChar('TRANS2QUIK_DISCONNECT')); if(addr(T2QDisconnect) = nil) then begin Result:= 0; Exit; end; @T2QSetConnStatCallBAck := GetProcAddress(Result, PWideChar('TRANS2QUIK_SET_CONNECTION_STATUS_CALLBACK')); if(addr(T2QSetConnStatCallBAck) = nil) then begin Result:= 0; Exit; end; @T2QSetTransReplyCallBAck := GetProcAddress(Result, PWideChar('TRANS2QUIK_SET_TRANSACTIONS_REPLY_CALLBACK')); if(addr(T2QSetTransReplyCallBAck) = nil) then begin Result:= 0; Exit; end; @T2QIsQuikConnected := GetProcAddress(Result, PWideChar('TRANS2QUIK_IS_QUIK_CONNECTED')); if(addr(T2QIsQuikConnected) = nil) then begin Result:= 0; Exit; end; @T2QIsDllConnected := GetProcAddress(Result, PWideChar('TRANS2QUIK_IS_DLL_CONNECTED')); if(addr(T2QIsDllConnected) = nil) then begin Result:= 0; Exit; end; @T2QSubscribeOrders := GetProcAddress(Result, PWideChar('TRANS2QUIK_SUBSCRIBE_ORDERS')); if(addr(T2QSubscribeOrders) = nil) then begin Result:= 0; Exit; end; @T2QUnSubscribeOrders := GetProcAddress(Result, PWideChar('TRANS2QUIK_UNSUBSCRIBE_ORDERS')); if(addr(T2QUnSubscribeOrders) = nil) then begin Result:= 0; Exit; end; @T2QStartOrders := GetProcAddress(Result, PWideChar('TRANS2QUIK_START_ORDERS')); if(addr(T2QStartOrders) = nil) then begin Result:= 0; Exit; end; @T2QOrderQty := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_QTY')); if(addr(T2QOrderQty) = nil) then begin Result:= 0; Exit; end; @T2QOrderDate := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_DATE')); if(addr(T2QOrderDate) = nil) then begin Result:= 0; Exit; end; @T2QOrderTime := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_TIME')); if(addr(T2QOrderTime) = nil) then begin Result:= 0; Exit; end; @T2QOrderActiveTime := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_ACTIVATION_TIME')); if(addr(T2QOrderActiveTime) = nil) then begin Result:= 0; Exit; end; @T2QOrderWithdrawTime := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_WITHDRAW_TIME')); if(addr(T2QOrderWithdrawTime) = nil) then begin Result:= 0; Exit; end; @T2QOrderExpiry := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_EXPIRY')); if(addr(T2QOrderExpiry) = nil) then begin Result:= 0; Exit; end; @T2QOrderAccruedInt := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_ACCRUED_INT')); if(addr(T2QOrderAccruedInt) = nil) then begin Result:= 0; Exit; end; @T2QOrderYield := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_YIELD')); if(addr(T2QOrderYield) = nil) then begin Result:= 0; Exit; end; @T2QOrderUid := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_UID')); if(addr(T2QOrderUid) = nil) then begin Result:= 0; Exit; end; @T2QOrderVisibleQty := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_VISIBLE_QTY')); if(addr(T2QOrderVisibleQty) = nil) then begin Result:= 0; Exit; end; @T2QOrderPeriod := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_PERIOD')); if(addr(T2QOrderPeriod) = nil) then begin Result:= 0; Exit; end; @T2QOrderFileTime := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_FILETIME')); if(addr(T2QOrderFileTime) = nil) then begin Result:= 0; Exit; end; @T2QOrderDateTime := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_DATE_TIME')); if(addr(T2QOrderDateTime) = nil) then begin Result:= 0; Exit; end; @T2QOrderWithdrawFileTime := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_WITHDRAW_FILETIME')); if(addr(T2QOrderWithdrawFileTime) = nil) then begin Result:= 0; Exit; end; @T2QOrderValueEntryType := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_VALUE_ENTRY_TYPE')); if(addr(T2QOrderValueEntryType) = nil) then begin Result:= 0; Exit; end; @T2QOrderExtdFlags := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_EXTENDED_FLAGS')); if(addr(T2QOrderExtdFlags) = nil) then begin Result:= 0; Exit; end; @T2QOrderMinQty := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_MIN_QTY')); if(addr(T2QOrderMinQty) = nil) then begin Result:= 0; Exit; end; @T2QOrderExecType := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_EXEC_TYPE')); if(addr(T2QOrderExecType) = nil) then begin Result:= 0; Exit; end; @T2QOrderAwgPrice := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_AWG_PRICE')); if(addr(T2QOrderAwgPrice) = nil) then begin Result:= 0; Exit; end; @T2QOrderUserId := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_USERID')); if(addr(T2QOrderUserId) = nil) then begin Result:= 0; Exit; end; @T2QOrderAccaunt := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_ACCOUNT')); if(addr(T2QOrderAccaunt) = nil) then begin Result:= 0; Exit; end; @T2QOrderBrokerRef := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_BROKERREF')); if(addr(T2QOrderBrokerRef) = nil) then begin Result:= 0; Exit; end; @T2QOrderClientCode := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_CLIENT_CODE')); if(addr(T2QOrderClientCode) = nil) then begin Result:= 0; Exit; end; @T2QOrderFirmId := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_FIRMID')); if(addr(T2QOrderFirmId) = nil) then begin Result:= 0; Exit; end; @T2QOrderRejectReason := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_REJECT_REASON')); if(addr(T2QOrderRejectReason) = nil) then begin Result:= 0; Exit; end; @T2QSubscribeTrades := GetProcAddress(Result, PWideChar('TRANS2QUIK_SUBSCRIBE_TRADES')); if(addr(T2QSubscribeTrades) = nil) then begin Result:= 0; Exit; end; @T2QUnSubscribeTrades := GetProcAddress(Result, PWideChar('TRANS2QUIK_UNSUBSCRIBE_TRADES')); if(addr(T2QUnSubscribeTrades) = nil) then begin Result:= 0; Exit; end; @T2QStartTrades := GetProcAddress(Result, PWideChar('TRANS2QUIK_START_TRADES')); if(addr(T2QStartTrades) = nil) then begin Result:= 0; Exit; end; @T2QTradeDate := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_DATE')); if(addr(T2QTradeDate) = nil) then begin Result:= 0; Exit; end; @T2QTradeSettleDate := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_SETTLE_DATE')); if(addr(T2QTradeSettleDate) = nil) then begin Result:= 0; Exit; end; @T2QTradeTime := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_TIME')); if(addr(T2QTradeTime) = nil) then begin Result:= 0; Exit; end; @T2QTradeIsMarginal := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_IS_MARGINAL')); if(addr(T2QTradeIsMarginal) = nil) then begin Result:= 0; Exit; end; @T2QTradeAccruedInt := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_ACCRUED_INT')); if(addr(T2QTradeAccruedInt) = nil) then begin Result:= 0; Exit; end; @T2QTradeYield := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_YIELD')); if(addr(T2QTradeYield) = nil) then begin Result:= 0; Exit; end; @T2QTradeTSCommission := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_TS_COMMISSION')); if(addr(T2QTradeTSCommission) = nil) then begin Result:= 0; Exit; end; @T2QTradeClCenterCommission := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_TS_COMMISSION')); if(addr(T2QTradeClCenterCommission) = nil) then begin Result:= 0; Exit; end; @T2QTradeExcCommission := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_EXCHANGE_COMMISSION')); if(addr(T2QTradeExcCommission) = nil) then begin Result:= 0; Exit; end; @T2QTradeTrSysCommission := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_TRADING_SYSTEM_COMMISSION')); if(addr(T2QTradeTrSysCommission) = nil) then begin Result:= 0; Exit; end; @T2QTradePrice2 := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_PRICE2')); if(addr(T2QTradePrice2) = nil) then begin Result:= 0; Exit; end; @T2QTradeRepoRate := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_REPO_RATE')); if(addr(T2QTradeRepoRate) = nil) then begin Result:= 0; Exit; end; @T2QTradeRepoValue := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_REPO_VALUE')); if(addr(T2QTradeRepoValue) = nil) then begin Result:= 0; Exit; end; @T2QTradeRepo2Value := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_REPO2_VALUE')); if(addr(T2QTradeRepo2Value) = nil) then begin Result:= 0; Exit; end; @T2QTradeAccruedInt2 := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_ACCRUED_INT2')); if(addr(T2QTradeAccruedInt2) = nil) then begin Result:= 0; Exit; end; @T2QTradeRepoTerm := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_REPO_TERM')); if(addr(T2QTradeRepoTerm) = nil) then begin Result:= 0; Exit; end; @T2QTradeStDiscount := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_START_DISCOUNT')); if(addr(T2QTradeStDiscount) = nil) then begin Result:= 0; Exit; end; @T2QTradeLwDiscount := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_LOWER_DISCOUNT')); if(addr(T2QTradeLwDiscount) = nil) then begin Result:= 0; Exit; end; @T2QTradeUpDiscount := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_UPPER_DISCOUNT')); if(addr(T2QTradeUpDiscount) = nil) then begin Result:= 0; Exit; end; @T2QTradeBlSecur := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_UPPER_DISCOUNT')); if(addr(T2QTradeBlSecur) = nil) then begin Result:= 0; Exit; end; @T2QTradePeriod := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_PERIOD')); if(addr(T2QTradePeriod) = nil) then begin Result:= 0; Exit; end; @T2QTradeKind := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_KIND')); if(addr(T2QTradeKind) = nil) then begin Result:= 0; Exit; end; @T2QTradeFileName := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_FILETIME')); if(addr(T2QTradeFileName) = nil) then begin Result:= 0; Exit; end; @T2QTradeDateTime := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_DATE_TIME')); if(addr(T2QTradeDateTime) = nil) then begin Result:= 0; Exit; end; @T2QTradeBrCommission := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_BROKER_COMMISSION')); if(addr(T2QTradeBrCommission) = nil) then begin Result:= 0; Exit; end; @T2QTradeTransId := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_TRANSID')); if(addr(T2QTradeTransId) = nil) then begin Result:= 0; Exit; end; @T2QTradeCurrensy := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_CURRENCY')); if(addr(T2QTradeCurrensy) = nil) then begin Result:= 0; Exit; end; @T2QTradeSettlCurr := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_SETTLE_CURRENCY')); if(addr(T2QTradeSettlCurr) = nil) then begin Result:= 0; Exit; end; @T2QTradeSettlCode := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_SETTLE_CODE')); if(addr(T2QTradeSettlCode) = nil) then begin Result:= 0; Exit; end; @T2QTradeAccount := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_ACCOUNT')); if(addr(T2QTradeAccount) = nil) then begin Result:= 0; Exit; end; @T2QTradeBrRef := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_BROKERREF')); if(addr(T2QTradeBrRef) = nil) then begin Result:= 0; Exit; end; @T2QTradeClCode := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_CLIENT_CODE')); if(addr(T2QTradeClCode) = nil) then begin Result:= 0; Exit; end; @T2QTradeUserId := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_USERID')); if(addr(T2QTradeUserId) = nil) then begin Result:= 0; Exit; end; @T2QTradeFirmId := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_FIRMID')); if(addr(T2QTradeFirmId) = nil) then begin Result:= 0; Exit; end; @T2QTradePartFirmId := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_PARTNER_FIRMID')); if(addr(T2QTradePartFirmId) = nil) then begin Result:= 0; Exit; end; @T2QTradeExcCode := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_EXCHANGE_CODE')); if(addr(T2QTradeExcCode) = nil) then begin Result:= 0; Exit; end; @T2QTradeStationId := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_STATION_ID')); if(addr(T2QTradeStationId) = nil) then begin Result:= 0; Exit; end; @T2QTransReplyClassCode := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_CLASS_CODE')); if(addr(T2QTransReplyClassCode) = nil) then begin Result:= 0; Exit; end; @T2QTransReplySecCode := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_SEC_CODE')); if(addr(T2QTransReplySecCode) = nil) then begin Result:= 0; Exit; end; @T2QTransReplyPrice := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_PRICE')); if(addr(T2QTransReplyPrice) = nil) then begin Result:= 0; Exit; end; @T2QTransReplyQty := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_QUANTITY')); if(addr(T2QTransReplyQty) = nil) then begin Result:= 0; Exit; end; @T2QTransReplyBal := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_BALANCE')); if(addr(T2QTransReplyBal) = nil) then begin Result:= 0; Exit; end; @T2QTransReplyFirmId := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_FIRMID')); if(addr(T2QTransReplyFirmId) = nil) then begin Result:= 0; Exit; end; @T2QTransReplyAccount := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_ACCOUNT')); if(addr(T2QTransReplyAccount) = nil) then begin Result:= 0; Exit; end; @T2QTransReplyClCode := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_CLIENT_CODE')); if(addr(T2QTransReplyClCode) = nil) then begin Result:= 0; Exit; end; @T2QTransReplyBrRef := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_BROKERREF')); if(addr(T2QTransReplyBrRef) = nil) then begin Result:= 0; Exit; end; @T2QTransReplyExcCode := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_EXCHANGE_CODE')); if(addr(T2QTransReplyExcCode) = nil) then begin Result:= 0; Exit; end; end;
end.
Всё нормально, хендл получен адреса функций тоже ОК, но, при вызове функции //--- load trsns2quik.dll ---- if (QuikPath <> '') then FDllHandle:= LibLoad(QuikPath); if(DllHandle > 0) then begin if(addr(T2QConnect) <> nil) then res:= T2QConnect(PAnsiChar(RawByteString(QuikPath + '\info.exe')), ErrCode, ErrStr, ErrSize); end;
Получаю ACCESS VIOLATION
Почему?
MT5 и trans2quik.dll
Пользователь
Сообщений: Регистрация: 29.07.2015
11.08.2017 15:50:11
Добрый день!
Возникла необходимость из metetrader 5 отсылать заявки в Quik через trans2quik.dll У кого-нибудь есть опыт подобной работы?
Во страшном сне придумали?
Пользователь
Сообщений: Регистрация: 29.07.2015
06.04.2017 21:25:36
Добрый день!
Обновился в открывашке до версии 7.9.1.1 И при перезагрузке получил НЕЧТО! Мало того, что русским языком и не "пахнет", но ещё и смысл поднимает волосы дыбом! Сообщение: "У 1 инструментов истекает срок обращения. Заменить их новыми? " ДА - НЕТ У меня более 80 роботов работает! Что заменить на что (во множественном числе) будет заменяться? Не поленился, проверил все добавленные в таблицы инструменты, и... ничего не нашел с близким сроком экспирации. ТОЛЬКО ВРЕМЯ ЗРЯ ПОТРАТИЛ! На написание БРЕДА время есть, а добавить в таблицу новое значение, - жду почти ДВА ГОДА!
Куда делось моё пожелание?
Пользователь
Сообщений: Регистрация: 29.07.2015
25.10.2016 09:37:57
Куда делось моё пожелание об объёмах в доске опционов?
Вывод таблицы заявок через DDE
Пользователь
Сообщений: Регистрация: 29.07.2015
12.02.2016 20:50:01
Добрый день, разработчики!
Версия Quik 6.17.3.6 реальный счёт в Открывашке.
Если выводить таблицу заявок ФОРТС с настройкой таблицы "Показывать только активные заявки", то при удалении заявки из таблицы заявки, DDE сервер не получает НИКАКОГО сообщения!
Почему?
Quik junior и Quik
Пользователь
Сообщений: Регистрация: 29.07.2015
08.02.2016 05:40:26
Добрый день!
Почему из Quik 6,17,3,6 данные экспортируются через DDE сервер, а из Quik-junior 7.0.4.10 - нет? (DDE сервер свой)