DELHI и API -интерфейс QUIK

  • Автор темы cowboy
  • Дата начала

cowboy

New member
Cowboy а в чем у тебя проблема?Из квика выводи в екзель через купайл,эталон которого могу скинуть,а из ехеля читай спокойно и обрабатывай.От ехеля избавляться не надо т.к он дает визуальность значений.Я сейчас бьюсь над другим у брокера нет рыночных заявок которые нужны как воздух.Мне нужна прога которая будет читать строку из zay файла заменять там М на L и 0 на число(цену)которую будет брать из определенного окна.Или хотя бы идентифицировать присутствует ли в строке слово GAZP или Sber и бай или селл.Это такая мелочь но у меня забостовал программист и Грааль уходит от меня,думаю далеко не уйдет,давай дружить!!!
qpiles+excel- тугая связка.. Особенно когда массив данных большой.. Тут нужно Дельфя подключать..А дружбе завсегда рад :)
 

JECPOT

New member
А что значит тугая связка ,большой массив данных,главное что это стабильно работает.Систему не грузит
меня тоже.Этот узел для себя считаю отработанным.У меня контролится 16 акций по каждой 9 индикаторов все это стабильно выводится
в ексель,где всегда можно глянуть значение и сравнить с истинным(всегда совпадало).Один раз бился 15 мин. искал в чем косяк,оказалось
ошибся написал в одном месте вместо NLMK NMLK,но в екселе сразу косяк увидел.Давай лучше придумаем прогу для переделки рыночной команды
в лимитную с гарантированностью исполнения,быть может в момонт закрытия позиции выставлять скользящий стоп,который на х% нижецены последней сделки.
И про тугость купайла напиши подробнее может я чего не понимаю.А что значит тугая связка ,большой массив данных,главное что это стабильно работает.Систему не грузит
меня тоже.Этот узел для себя считаю отработанным.У меня контролится 16 акций по каждой 9 индикаторов все это стабильно выводится
в ексель,где всегда можно глянуть значение и сравнить с истинным(всегда совпадало).Один раз бился 15 мин. искал в чем косяк,оказалось
ошибся написал в одном месте вместо NLMK NMLK,но в екселе сразу косяк увидел.Давай лучше придумаем прогу для переделки рыночной команды
в лимитную с гарантированностью исполнения,быть может в момонт закрытия позиции выставлять скользящий стоп,который на х% нижецены последней сделки.
И про тугость купайла напиши подробнее может я чего не понимаю.
 

cowboy

New member
А что значит тугая связка ,большой массив данных,главное что это стабильно работает.Систему не грузит
меня тоже.Этот узел для себя считаю отработанным.У меня контролится 16 акций по каждой 9 индикаторов все это стабильно выводится
в ексель,где всегда можно глянуть значение и сравнить с истинным(всегда совпадало).Один раз бился 15 мин. искал в чем косяк,оказалось
ошибся написал в одном месте вместо NLMK NMLK,но в екселе сразу косяк увидел.Давай лучше придумаем прогу для переделки рыночной команды
в лимитную с гарантированностью исполнения,быть может в момонт закрытия позиции выставлять скользящий стоп,который на х% нижецены последней сделки.
И про тугость купайла напиши подробнее может я чего не понимаю.А что значит тугая связка ,большой массив данных,главное что это стабильно работает..
НУ если тебя связка устраивает то об чем тогда речь??? Если все работает быстро и в момент то и переделывать не надо.. ПРосто у меня отсыл транза из Экселя в QUIK через API уж больно много времени сьедает(4-5 секунд)
 

saykel

New member
Давай лучше придумаем прогу для переделки рыночной команды
в лимитную с гарантированностью исполнения
Кажется у меня где то такая реализация была на qpile в связке с excel. Даже отточил этот код под свою какую то нужду. Работало тогда без ошибок. Сейчас уже смутно помню, но должно быть все прсто.
Приклепляю без инструкций " кому надо тот и так поймет "
http://e-mini.comze.com/transact.rar
 

JECPOT

New member
Я все понял ты екселем посылаешь транзакции,про это ничего не знаю.Могу посоветовать вариант как у меня
из квика посредством купайла экспортируем в ексель.Из экселя дельфином считываем значения обрабатываем
и ,если надо купить записываем в тхт.файл команду купить.Квик ее считывает и,с радостью выполняет.Время исполнения
< 1c.А потом ты еще столкнешся с другими трудностями например что время в квике иногда идет в обратном направлении,что как воздух необходим
авто переход на резервный интернет и еще много с чем.Но это все решаемо.Saykey
спасибо вот в делфи бы что-то подобное реализовать.Может не парится и поменять брока?
 

cowboy

New member
Могу посоветовать вариант как у меня
из квика посредством купайла экспортируем в ексель.Из экселя дельфином считываем значения обрабатываем
и ,если надо купить записываем в тхт.файл команду купить.Квик ее считывает и,с радостью выполняет.
Что то мне кажется что связка квик+delphi будет куда надежнее :)
 

saykel

New member
спасибо вот в делфи бы что-то подобное реализовать
Помоему это будет не легко..
Кстати говоря API в квике не всегда обосновано я считаю. Например хорошим тоном будет так послал транз через API запиши в лог файл. Получается что мы вновь возвращаемся к файлам TRO TRI

Могу подсказать как быстрореализовать для дельфи
В том архиве последовательно вызываются функции
FIRST_TIME()
OWN_UPDATE()
NEW_ORDERS()
RE_NEW_ORDERS()
FIRST_TIME()
OWN_UPDATE() убрать за не надобностью. А из дельфи например писать в файл tri строчки вида
TRANS_ID=32142009133221ACTION=NEW_ORDERSECCODE=LKOHCLASSCODE=EQBRQUANTITY=7OPERATION=B
Как видно цены тут нету. Она рассчитывается в купайле, а именно в функциях NEW_ORDERS() и RE_NEW_ORDERS()
Купайл гарантировано исполнит заявку с указанным количество и по оптимальной цене. Под оптимальностью тут конечно вопрос очень личный можно там вкоде посмотреть:)


Работало только на мамбе
 

cowboy

New member
Помоему это будет не легко..
Да и дефку в первый раз тоже не проще :)

А вообще время расчет Квипла-1 секунда, запись в файл три-1 секунда, тупняки экселя-1 секунда.. И это минимум.. А дальше как повезет :)
Я не хочу сказать ,что Квипл - говно.. Cам его использую на ура..Но имхо если нужна скорострельность, то тут он не помошник..
 

cowboy

New member
Да и дефку в первый раз тоже не проще :)

Эх я тоже сначала секунды преследовал,думал на 6-й секунде,после закрытия свечи,покупать или на 7-й.Нашел сегодня нового программиста эх держись дядя Граль!
я предпочитаю на первой
 

JECPOT

New member
Я сначала даже мысли не допускал что можно терять драгоценное времяб,было чувство кудатоопаздывания.Первое препятствие,я увидел какие то несанкционированные сделки не мог понять почему они происходят,сделал запись и,оказалось что квик выдает значения индикаторов соответствующие своей секунде а секунды иногда начинают идти так
29 30 31 32 33 34 35 26 27 28 29 30 31 32 42 43 44 45 46

иногда час ни одного косячка,вот это ненадежность пришлось в дельфину встраивать проверку квиковского времени.А ты из какого города?
 

cowboy

New member
Я сначала даже мысли не допускал что можно терять драгоценное времяб,было чувство кудатоопаздывания.Первое препятствие,я увидел какие то несанкционированные сделки не мог понять почему они происходят,сделал запись и,оказалось что квик выдает значения индикаторов соответствующие своей секунде а секунды иногда начинают идти так
29 30 31 32 33 34 35 26 27 28 29 30 31 32 42 43 44 45 46

иногда час ни одного косячка,вот это ненадежность пришлось в дельфину встраивать проверку квиковского времени.А ты из какого города?
саратов
 

Wisard

New member
Долго произучав сию проблема решил вот что.. Экспорт через DDE EXCEL или ODBC-уровень динозавров... Для скоростных вещей требуется опрашивать память , как делает автар программы, через openprocess/readprocess или создавать свой собственый DDE-сервер, что имхо тягомотнее... Я покамест буду рыть в сторону опрашивани памяти.
во-первых, читать адресное пространство другого процесса запрещено политикой безопасности windows, но может быть это ограничение как-нибудь можно обойти, если программно запустить quik, однако в этом случае вы узнаете, что он занимает в памяти около 120Мб.. так что желаю удачи в чтении О_о

согласен, что dde не вариант, но odbc, имхо, можно потыкать, может чего и выйдет. еще вы пропустили мимо ушей отличный совет использовать wm_gettext, но для стакана - я только что проверил - он что-то плохо работает.
 
Your email address will not be publicly visible. We will only use it to contact you to confirm your post.
Сверху