Блог им. ccoonnsstt

Transaq Connector vs Delphi(Embarcadero)

Transaq-Connector!

Участников Смарт-лаба более 18000.
А кто-нибудь сможет мне помочь с Транзак-коннектором?

в Delphi обрабатываю ответы коннектора.
Наталкиваюсь на ошибку, которую не могу понять. Каждый раз она в другом месте!

Требуется конкретная и четкая помощь, а не рассуждения зачем, почему и кому как — от людей далеких от программирования.
Думаю, что помочь может только тот, кто занимался программированием коннектора. Но, могу и ошибаться.
В любом случае, готов услышать или прочитать полезную информацию.
За реальную помощь готов заплатить!

Предваряя вопросы:

1. Почему не на Си?
1. Delphi ни чем не хуже.

2. Пиши на С, или С++, или С#
2. Delphi ни чем не хуже, а написание на С не гарантирует отсутствие проблем, к тому же переписать 20000 строк -трудновато....

3. А что в документации?

3. Документация к сожалению не отвечает на все мои вопросы. Форумы и специалисты не разбираются в Delphi и коннекторе!


Для чего все это?
Есть системы, есть подходы!
Есть миллиарды идей!
Есть перспективы,
но не могу склеить свою систему с реальными котировками и счетами!

Кто-то, в этом, 18ти тысячном войске может мне чем-то помочь????

613
32 комментария
у нас в универе на 1 курсе паскаль был, я его уже забыл пишу на C# в основном
avatar
SHCHUTUSHCHA,
Дорогой Штуша!
Ценю твоё внимание, но 1-й курс, паскаль(который забыл), С#…
наверно, ты не сможешь оказать помощь.?
avatar
ccoonnsstt, выучи по быстрому С#
avatar
SHCHUTUSHCHA,
спасибо за предложение!
у меня уже 2-й месяц параллельный проект на C#
Так что внял твоим предложениям
учу C#
avatar
какая версия Delphi? и по какому принципу работает конектор? под плазу делал на семерке
avatar
Merphi,
В принципе не суть важна версия Delphi.
У меня проблемы с коннектором, я получаю от него ответы, начинаю обрабатывать и тут, в эту же обрабатываемаю область памяти влетают новые данные от коннектора, моя программа обрабатывает старые данные, не догадываясь, что уже есть новые. И в общем я пытаюсь обработать, то что еще актуально, но уже не свежо. Проблема с CallBack функцией от Transaq-Connector. Или я че-то не так понимаю или, что-то еще…
avatar
ccoonnsstt, так с конектором то работаешь как? АРI или DCOM?
avatar
Merphi,
API
transaqconnector.dll
с набором функций с параметрами в формате xml
avatar
Merphi,
// — Функции txmlconnector.dll — //
Function con_SetCallBack; external 'txmlconnector.dll' name 'SetCallback';
Function con_SetCallBackEx; external 'txmlconnector.dll' name 'SetCallbackEx';
Function con_SendCommand; external 'txmlconnector.dll' name 'SendCommand';
Function con_FreeMemory; external 'txmlconnector.dll' name 'FreeMemory';
Function con_Initialize; external 'txmlconnector.dll' name 'Initialize';
Function con_UnInitialize; external 'txmlconnector.dll' name 'UnInitialize';
Function con_SetLogLevel; external 'txmlconnector.dll' name 'SetLogLevel';
// — //

Function Transaq_Function_CallBack(pData: PAnsiChar): Boolean;
Begin
with Transaq_Talk do
begin
fNum := Transaq_FindAnswerZero;
with fAnswer[fNum] do
begin
fBusy := True;
fTime := Now;
fText := Utf8ToAnsi(pData);
fType := Identify_AnswerRoot(fNum);
end;
end;
con_FreeMemory(pData);
End;
avatar
ccoonnsstt, а что за ошибка?
avatar
ну тогда надо смотреть, так не понять. может просто в логике обработки у тебя проблема. если бы DCOM как в плазе то там косяки делфи известны
avatar
Merphi,
честно. просто затрахался
уже 4 месяца не могу понять в чем дело
запускаю — все работает
запускаю второй раз, работает-работает — глюк.
ошибка плавающая, но как я выяснил зависит от получения данных из коннектора.
Я например, обрабатываю строку в 10 символов, а тут в эту же область падают данные длинной 8 символов, а я все обрабатываю 10
и выдается ошибка Range Error…
Но беда в том, что я не могу отличить старые данные от новых.
avatar
ccoonnsstt, короче, что бы не тратить время зря, если уже серия XЕ, то там новые владельцы переписывали библиотеки в плане обработки событий под свои приблуды, типа чтобы спарить обезьяну и старые версии делфей. получилось откровенно криво, может и в этом проблема, и сомневаюсь что ты ее решишь тогда как-то. по себе скажу что вернулся на D7, у меня и получение данных через DCOM. D7 конечно не айс в com-объектами как работает, но решить можно и отладить надежно тоже. так что по твоему куску кода не поймешь, проблема думаю глубже, а это надо усердно ковырять на исходниках
avatar
Merphi,
Честно сказать неожиданно, но не удивительно.
Я начинал D7. Но потом решил пойти честным путем, купил лицензию XE и.т.д.
И не было проблем пока с транзаком(callback) не столкнулся…
avatar
ccoonnsstt, ты знаешь, я начинал в 1996 г еще c 1-ой версии по Win3.1, потом со 2-ой вер были все лицензии, но не сам покупал, а тогда в банке работал. потом отходил от программирования, вернулся а там XE, промучался с полгода и вернулся на D7, потому как это уже не то совершенно. кросс-платформенность конечно круто, но для решения своих задач она мне до одного места
avatar
Merphi,
Мы щаз как писюнами меримся.)))
Я начинал с TurboPascal 4.0
Потом Borland 6.0
Потом Delphi 5.0
Диплом писал на Delphi 6.0
Первый проект по тредингу Delphi 7.0
потом Metatrader 4.0
Сейчас есть рабочая стратегия на MT4 с трансляцией в Transaq
Но, главная тема, своя система.
Реализовано отображение графиков(не стандартных) и их обработка, тоже не стандартная.
дело дошло до общения с брокером и тут бл… ть застрял…
avatar
ccoonnsstt, ну путь в программировании примерно похож, только начал в Borland С++. Что такое MT4 знаю, но я как-то прошел мимо форекса. Задача примерно такая же похоже, но графики отображаю из БД, коннектор чисто только в БД всё кидает, а работает как процесс на сервере в облаке, ну и Plaza, там подход другой. а графика уже из БД формируются. ну не скальпер я
avatar
Merphi,
Уважаемый Мерфи
Спасибо, что откликнулся!
Для меня это уже поддержка, а то, так получается, что я вообще ни с кем ни могу поделится и посоветоваться.
avatar
ccoonnsstt, да ладно, пустое это, проблема как была так и осталась. могу кинуть почту в личку, обращайся, но сам понимаешь что есть вопросы которые не отвечу, т.к. финама с его транзаком не юзал
avatar
Merphi,
закинь в почту личку
если ты спец в дельфях, то у нас может получиться сотрудничество!
У меня есть идеи, которые, на мой взгляд, в корне отличаются от общепринятых.
проблема на текущий момент в общении с брокером.
avatar
ccoonnsstt, alexforts@yandex.ru
avatar
Интересно, то, что из 18тыс. участников смарт-лаба откликнулся только один человек(Merphi). Спасибо ему за это!

Я конечно обратился с слишком специфическим вопросом — TransaqConnector, да еще и в Delphi(Embarcadero).

Но, прикольно получилось. (Очень хорошо, что получилось!)

Наверно, так, каждый, кто обратится за помощью к сообществу смарт-лаб натыкается на 1-2 отзыва. Кроме, конечно, прогнозов на завтра, или на вчера! Это я не с претензиями, а с предположениями!

Всем Удачи!!!
avatar
можно исходники получить? попробую разобраться с ошибкой.
Суворов Вячеслав,
можно
только я подумаю как лучше это сделать, просто
у меня много всего, а все слать и во всем разбираться слишком сложно
avatar
Суворов Вячеслав,
спасибо!
avatar
stdcall?
avatar
Изико,
да
avatar
ccoonnsstt, не я не настаиваю, ) но если callback stdcall то об этом нужно написать. не думаю что у транзаковской библиотеки calling convention — register.
avatar
судя по исходнику callback функции тут только получение данных и запись в массив, соответственно должна быть отдельная функция обработки этих данных в порядке очередности поступления от коннектора, возможно, синхронизированная с запросами, посылаемыми функцией sendcommand. похоже что к одним и тем же данным пытаются получают доступ разные потоки, из коннектора и из вашего кода, тогда тут нужна синхронизация доступа через например критическую секцию TCriticalSection или набивать данные посылаемые в callback фукнцию в очередь, и извлекать для обработки другой процедурой.
Суворов Вячеслав,
так и есть у меня организован стэк ответов, а в другом объекте по таймеру идет обработка этого стэка

про TCriticalSection спасибо.
посмотрю
avatar
Про количество откликнувшихся — просто реальных глубоких спецов мало. Мне, например, купАйла за глаза))))

Вас возьму на заметку — вдруг дорасту до дикого системщика, авось и посотрудничаем))))
avatar
НеГрустин,
Диким не надо становится)))
avatar

Читайте на SMART-LAB:
Фото
🧠 Ресейл и поколение Z: почему молодёжь выбирает разумное потребление
📱 Поколение Z относится к потреблению прагматичнее, чем остальные. Для них важны не громкие слова и статус, а понятная ценность покупки —...
5 идей в российских акциях. Индекс МосБиржи снова на грани 2700
Индекс МосБиржи опять торгуется на грани значимого уровня 2700 п. Сейчас не исключен очередной отскок от указанного уровня. Кроме того, рынок...
Фото
Тактика доверительного управления Иволги Капитал (17,5-24,1% средняя доходность счетов за всё время)
0️⃣ Предпосылки и предположения ( предыдущий пост – здесь ) • Средняя полученная доходность всех портфелей доверительного управления в...
Фото
Хэдхантер. Ситуация на рынке труда в декабре идет ко дну - хуже не было никогда
Вышла статистика рынка труда за декабрь 2025 года, которую Хедхантер публикует ежемесячно, что же там интересного: Динамика...

теги блога ccoonnsstt

....все тэги



UPDONW
Новый дизайн