?

Log in

Previous Entry | Next Entry

DDE

Вопрос по DDE квика.
В данный момент есть такая связка Quik-Excel-OwnData.
Хочется из этой связки убрать Excel,т.к. есть ощущение что именно из-за него не все котировки доходят до конечного адресата.
То есть послать данные прямиком из Quik в OWD.


Из хелпа квика: Функция вывода по DDE предназначена для передачи данных из таблицы системы QUIK в приложения, поддерживающие формат XLTABLE. Возможен выбор любой программы, поддерживающей данный формат. В качестве используемого по умолчанию приложения установлен MS Excel.

Из help OWD: DDE (Dynamic Data Exchange) allows trader to receive real-time data. An all-around approach allows
for data receiving independent of the query configuration (link). The integrated templates serve as
quick-start guides, see the Help for detailed information, peculiarities and limitations of DDE.

В OWD можно создавать свои templates согласно которым принимаются данные по DDE.Есть уже готовые.В картинках это реализовано так:







Соответственно,насколько я понимаю,можно в квике установить экспорт DDE в OwnData.
А в OwnData в свою очередь сделать настройки на квик,что-то вроде



Вопрос только как именно настроить квик,чтобы он слал дату в OWD и как именно должны выглядеть строки настроек в OWD натравленные на квик.
Подскажите плиз конкретно настройки или просто напракление,куда копать,куда смотреть чтобы все это выяснить.
Спасибо.

upd0205 Промежуточный вывод.
1)И квик и ОВД клиенты,нужен сервер прокладка,получающий данные из квик и транслирующий их в овд.
2)В принципе такой плагин сделал SGN на пауке и благополучно его зажал.
3)На форуме квика есть упоминания некоего "в интернете (и на этом форуме) можно найти ссылки на код примера DDE-сервера и парсера xlTable, пример сразу можно подключить к квику."
4)Тут  вроде есть библиотеки парсящие вывод по дде из квика.
5)Описание XLTable
6)Про DDE
7)Еще популярно про DDE
8
)Возможно проблема не в экселе,а в том что экспорт в эксель идет из таблицы текущих значений.Если бы можно было экспортировать и соответствующим образом обрабатывать таблицу всех сделок,не исключено что и через эксель все котировки пройдут.

Comments

( 67 комментариев — Оставить комментарий )
dijap
16 июл, 2010 19:23 (UTC)
на данный момент
общедоступного програмного решения нет.
pratrader
16 июл, 2010 19:29 (UTC)
Re: на данный момент
А зачем мне программное решение?
Quik умеет слать по DDE.
OWD умеет считывать по DDE.
Мне надо их настроить друг на друга без промежуточного звена.

Есть же всякие приводы,Tradison итд,которые читают прямиком из квиковского DDE.
dijap
16 июл, 2010 19:31 (UTC)
Re: на данный момент
я не знаю как это сделать. Если бы это можно было сделать, это было бы супер, так как сразу можно гнать в multicharts. На "пауке" у некоторых есть решение, но не афишируется.
(Удалённый комментарий)
pratrader
16 июл, 2010 19:49 (UTC)
Приветствую.
А как посмотреть все эти имена,которые регистриуют клиент и сервер.
Я нашел ddespy от 1991 года.
Но она под Windows 7 64 видимо не совершенно работает.
Может есть что-то получше.
Eckb OWD умеет принимать данные по DDE от экселя,это не означает что она может разбирать данные в формате XLTable?
(Удалённый комментарий)
(без темы) - pratrader - 16 июл, 2010 20:47 (UTC) - Развернуть
(Удалённый комментарий)
Личку читаю - pratrader - 16 июл, 2010 21:56 (UTC) - Развернуть
(Удалённый комментарий)
Re: Личку читаю - pratrader - 17 июл, 2010 06:42 (UTC) - Развернуть
(Удалённый комментарий)
Re: Личку читаю - pratrader - 17 июл, 2010 09:48 (UTC) - Развернуть
(Удалённый комментарий)
Re: Личку читаю - pratrader - 17 июл, 2010 10:10 (UTC) - Развернуть
(Удалённый комментарий)
Re: Личку читаю - pratrader - 17 июл, 2010 11:20 (UTC) - Развернуть
Re: Личку читаю - pratrader - 17 июл, 2010 06:46 (UTC) - Развернуть
misha_zotov
16 июл, 2010 19:51 (UTC)
ты не первый кто интересуется этим, если ты искал в гугле и ничего не нашел, значит никто этого еще не придумал(((
pratrader
19 июл, 2010 15:41 (UTC)
Значит буду первым.
Almost Done.
valmac
17 июл, 2010 00:46 (UTC)
вам нужен кодне много? это есть у меня..
все давно придумано и сделано
самое простое решение под C# фришная библиотека NDDE



в квике при настройке экспорта DDE сервак надо назвать 'MyDdeServer'
запустив консольный пример увидите, что дело за малым - запарсить в процедуре OnPoke
массив данных byte[] data
который является таблицей XLTable

Всем успехов!
pratrader
17 июл, 2010 05:43 (UTC)
Re: вам нужен кодне много? это есть у меня..
Спасибо огромное,заработало все слету.
Первый шаг уже сделан.
Изображение - savepic.ru — сервис хранения изображений

Осталось еще два.
1)Парсинг в соответствии с таблицами
2)Подсунуть это ОВД.

Не подскажите в каком направлении надо двигаться чтобы это сделать?
И еще вопрос.Скорость работы такого DDE-сервера позволит получать абсолютно все тики по одному инструменту без пропусков?
И что там с буфером(по аналогии с эксель) или он не нужен?
valmac
17 июл, 2010 06:19 (UTC)
Re: вам нужен кодне много? это есть у меня..
1) библиотека и пример от TRANQUIKIZER
вот слегка укороченная версия примера


2)что за зверь ОВД и как его кормить не представляю
тики приходят все и быстро
про буфер ничегошеньки не знаю
kep_tsk
17 июл, 2010 08:00 (UTC)
Re: вам нужен кодне много? это есть у меня..
В прокладке нужно создать еще один сервер DDE с другим именем
(DDE работает парами) с форматом данных типа =OWD|LAST!*.
Первым сервером получаем из Квика, вторым по мере поступления
отправляем в OWD. Правда время тика по DDE не транслируется,
но в рилтайме возможно это не важно.
valmac
18 июл, 2010 21:03 (UTC)
еще код
Стало мне интересно как отдать полученное по дде в другой софт, пусть в Excel...
и вот что получилось
передача данных DDE: Quik - /> C# -> Excel - savepic.ru — сервис хранения изображений
при старте консольной проги
  • она регит DDEserver
    и ждет нажатия ENTER для апдейтов клиентов (линков в Excel)
  • делаем линки в EXCEL как внизу справа на картинке
    (если линки уже есть то их надо проапдейтить - зайти в редактирование формулы по F2 и жать ENTER)
  • теперь надо стартануть експорт по DDE таблицы всех сделок из квика
  • как сделки пробегут на екране - Жать ENTER в консольной проге
  • теперь сделки должны попадать в Excel
    иногда сделки в Excel не попадают, особо если предыдущие пункты не выполнены или нарушен порядок

    прога написана по быстрому...
    списал чисто с примера от NDDE

сырец проекта
pratrader
19 июл, 2010 09:23 (UTC)
Re: еще код
Спасибо,работает,буду на него ориентироваться.



pratrader
19 июл, 2010 09:59 (UTC)
Re: еще код
А можно как-то сделать чтоб он не отваливался при закрытии-открытии считывающего приложения?
Re: еще код - valmac - 19 июл, 2010 11:48 (UTC) - Развернуть
pratrader
19 июл, 2010 10:21 (UTC)
Re: еще код
С сайзом там кажется напутано
Console.WriteLine("Advise {0} Size:{1}", trade.SecID,trade.Price);
Advise(trade.SecID, "Size");

а в trade.cs вообще
case "QTY":
qty = Convert.ToInt32(data[i].ToString());
break;

Price в первом случае и QTY во втором меняется на Size?
Re: еще код - valmac - 19 июл, 2010 11:44 (UTC) - Развернуть
Re: еще код - valmac - 19 июл, 2010 11:59 (UTC) - Развернуть
Re: еще код - pratrader - 19 июл, 2010 13:12 (UTC) - Развернуть
Re: еще код - valmac - 19 июл, 2010 14:51 (UTC) - Развернуть
Re: еще код - pratrader - 19 июл, 2010 15:17 (UTC) - Развернуть
Re: еще код - pratrader - 19 июл, 2010 15:40 (UTC) - Развернуть
Re: еще код - pratrader - 19 июл, 2010 16:05 (UTC) - Развернуть
Re: еще код - pratrader - 19 июл, 2010 18:12 (UTC) - Развернуть
Re: еще код - valmac - 19 июл, 2010 22:42 (UTC) - Развернуть
Re: еще код - pratrader - 20 июл, 2010 06:43 (UTC) - Развернуть
danilam_trading
19 июл, 2010 15:44 (UTC)
Шлялся по инету, увидел, вспомнил. Вдруг пригодится?
http://www.luxidsoft.okis.ru/
pratrader
19 июл, 2010 16:05 (UTC)
Спасибо,пригодится,у них функционал шире-можно создавать/убивать итд и примерчики.
pratrader
20 июл, 2010 06:44 (UTC)
Хотя нет,проект закрытый и вероятно скоро будет платным.Текущая версия уже не работает.
nabuke
23 июл, 2010 09:49 (UTC)
Дык в MarketDelta тоже по DDE можно данные передавать из КВИКа
или я чего-то не догоняю, в каком режиме(конфигурации) у тебя запущена TS, что она видит твой "MyDDEServer" напрямую?
Есть такая штука http://ifolder.ru/14162295: Metaserver RT Pro - программа для передачи котировок из любого источника, поддерживающего DDE в программы технического анализа Metastock и Omega Tradestation, но ты без неё сделал?
Буду признателен за любой ответ
pratrader
23 июл, 2010 10:01 (UTC)
Re: Дык в MarketDelta тоже по DDE можно данные передавать из КВИ
Омега это не то.
Ts получает котировки из OWD
nabuke
23 июл, 2010 10:07 (UTC)
посмотрел вилео по твоей ссылке
http://www.tssupport.com/multicharts/tutorials/DDE.htm
вопрос про вкл DDE в TS отпал, но в MarketDelta нет "Universal DDE" есть: CQG, DTN-IQFEED, eSignal(сейчас так работает с КВИК WINROS.EXE), IB TWS, Rithmic, TransAct Futures, ZenFire? Из этого что-то может подходить?
pratrader
23 июл, 2010 10:13 (UTC)
Re: посмотрел вилео по твоей ссылке
Я не в курсе про маркетдельта.

"eSignal(сейчас так работает с КВИК WINROS.EXE)"
То есть если в системе установлен квик,то можно настраивать проги на esignal и они будут тянуть из него котировки?
Правильно я понял?
А какая должна быть строка например для цены RIU0?
nabuke
23 июл, 2010 10:28 (UTC)
Re: посмотрел вилео по твоей ссылке
да, если в передатчике (в нашем случае КВИК) есть winros.exe и в софте для ТА есть поставщик eSignal. В МД ещё нужен кряк еСигнал библиотеки под датафид, без него не работает. Ещё раз ты транслируешь из своего DDE в TradeStation OwnData? На бид/аск есть разделение как в ТВС КВИКа на Купля/Продажа, если что мой скайп and rey 495 sky pe
nabuke
23 июл, 2010 10:58 (UTC)
рекомендую http://day-trader.ucoz.ru/forum/
если интерес по МаркетДельта есть
andgursky
14 сент, 2011 10:26 (UTC)
xltable
недавно задался вопросом создания дде сервера.
с сервером вроде бы все гуд, а вот с форматом xltable непонятки.
вопервых не могу понять как Квик передает данные? т.е. в каком коде транцакции Колбека сервера описывать и возвращать данные этого типа, в XTYP_POKE?
И еще вот я запустил сервер, как я могу заставить его ждать данные от квика? Что для этого используется, пауза какая-нить или может таймер?

пишу на с++
( 67 комментариев — Оставить комментарий )

Метки

Разработано LiveJournal.com
Designed by Tiffany Chow