Почему в КВИК на Едином Брокерском Счете (Открытие) или Единая Денежная Позиция (Финам), при торговле фьючерс против спота, учитывается только вариационная маржа фьючерсов, а цена акций не учитывается?
Продав фьючерс и купив акции (равные ноги по кол-ву акций), мы имеем дельта нейтральную позицию, т.е при любом движении рынка (вверх или вниз) у нас должно быть приблизительно одинаковое кол-во свободных средств.
Господа разработчики! Поправьте, пожалуйста названия этих колонок в таблице "Текущие торги" А то, в процессе работы эти колонки называются то Мин.возм.цен. и Макс.возм.цен., то Мин. возм. цена и Макс. возм. цена
Транзакции посылаются через trans2uik.dll Каким образом могла возникнуть эта ошибка (достаточно средств для покупки 40 лотов Россети (FEES))? Как расчитывается "Скорректированное значение НРП1" ?
Почему, при экспорте таблицы по DDE "Купить/продать" только с 4 колонками, а именно 1=Инструмент 2=Код инструмента 3=D long 4=D short Передается огромное количество строк, ведь ничего не меняется в течении сессии? Вывод "строчит" даже ночью. Зачем?
Добрый день! Экспортирую таблицу "Текущие торги" с фьючерсами по DDE При запуске, все экспортируется нормально, но иногда, через несколько минут или часов, пропадает экспорт по одному или нескольким фьючерсам. Версия Квик 9,7,1,10 Это только у меня такое поведение Квик:?
Добрый день. Я использую два экземпляра с одинаковыми версиями Квик. В одинаковых таблицах имеются одинаковые столбцы, но их названия отличаются. Н-р В одной таблице столбец называется "Макс. возм. цен.", а в другом экземпляре Квик этот же столбец называется "Макс.возм.цена".
Возможно ли редактировать названия столбцов в таблицах? Если да, то как это сделать? В каком файле дистрибутива Квик находятся названия столбцов таблицы?
Господа разработчики! Пожалуйста, дайте пояснения по следующей ситуации. Подается лимитированная заяка через Trans2quik с целью купить инструмент по указанной цене или снять заявку, если цена "ушла". Параметры заявки
TYPE=L - лимитированная заявка, должна исполнится по цене, указанной в заявке EXECUTION_CONDITION=KILL_BALANCE' - если этой цены (или лучшей) нет, то заявка должна сняться. Посылаю заявку на покупку с ценой 4927, а она исполняется по разным ценам, причем, не по тем, что указана в заявке. Что я не так делаю?
Господа разработчики! Возможна ли ситуация, когда я получаю TRANS2QUIK_ORDER_STATUS_CALLBACK, что сделка была совершена, но на самом деле в терминале этой сделки нет?
Уважаемые разработчики! Есть пара вопросов 1. Почему не пранслируется Макс.возм.цена и Мин.возм.цена на акциях? 2. Почему котировки акций VTВR не кратны шагу цены?
Добрый день! Отправляю ордер через trans2qiuk.dll в Квик-джуниор (демо Арка) ордер исполняется, а на боевом Квике (Открытие) нет. Кто-нибудь сталкивался с подобной ситуацией на валютной секции?
Добрый день! Кто-нибудь знает почему покупая/продавая инструмент Si-12.20-3.21 в позициях появляются обычные фьючерсы Si-12.20 и Si-3.21? Это же разные инструменты и стаканы у них разные. Можно получить развернутый ответ?
Скажите, уважаемые разработчики, почему время исполнения ордеров на ФОРТС в разы меньше, чем на Фондовой секции? Ордер 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 мс)
Добрый день! Использую 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, то всё ноормально (проверял 3 суток), НО, если отдаются торговые ассинхронные приказы через trans2quik.dll, то иногда, DDE приёмник "падает" "invalid pointer operation"
//----------------------- 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;
Обновился в открывашке до версии 7.9.1.1 И при перезагрузке получил НЕЧТО! Мало того, что русским языком и не "пахнет", но ещё и смысл поднимает волосы дыбом! Сообщение: "У 1 инструментов истекает срок обращения. Заменить их новыми? " ДА - НЕТ У меня более 80 роботов работает! Что заменить на что (во множественном числе) будет заменяться? Не поленился, проверил все добавленные в таблицы инструменты, и... ничего не нашел с близким сроком экспирации. ТОЛЬКО ВРЕМЯ ЗРЯ ПОТРАТИЛ! На написание БРЕДА время есть, а добавить в таблицу новое значение, - жду почти ДВА ГОДА!
Если выводить таблицу заявок ФОРТС с настройкой таблицы "Показывать только активные заявки", то при удалении заявки из таблицы заявки, DDE сервер не получает НИКАКОГО сообщения!
Сейчас, в таблице "Доска опционов" транслируется только цена спроса и предложения по CALL и PUT Для того, чтобы посмотреть ОБЪЁМ этого спроса и предложения приходится "тащить" стаканы по каждому страйку (4 шт). Выводя данные по DDE мы получаем приличные "тормоза".
Предлагаю в таблицу "Доска опционов" для каждого страйка ввести объём предложения и спроса, тем самым Вы сильно сократите вывод информации, при использовании DDE сервера.