После написания топика «Quik, DDE, Excel» [1], где была поставлена задача вывода данных доски опционов не непосредственно в Excel, что является очень неудобным для конкретных приложений, а в свой DDE-сервер. Свой DDE-Сервер обладает тем преимуществом, что данные из него можно направлять куда угодно, и как угодно.
С тех пор прошло 3 дня. Черновая болванка программы уже написана, отлажена, работает, и выполняет все возложенные на нее задачи. Как я опрометчиво обещал, проект DDE-Сервера будет предоставлен всем желающим [2](см. список ссылок). Проект выполнен на C++ в среде VS2017. DDE-Сервер на данном этапе выполнен в виде консольного приложения, и все что он делает, это выводит получаемые из Quik по DDE данные на консоль. В принципе, он должен работать с любой таблицей Quik, но делался под вывод доски опционов.
Я этот проект бросаю в таком виде, и уже начинаю на его основе делать приложение для решения своих конкретных задач. На этом наши пути расходятся. Проект поставляется в виде — как есть, и никакие изменения в него мною вносится уже не будут. Теперь это уже ваша задача. Вы можете модифицировать проект под решение ваших конкретных задач.
Опишем настройки:
Вначале сама доска опционов, характерной особенностью которой является невозможность экспорта данных иначе, чем по DDE.
Насторойка вывода по DDE:
Результат на консоли:
Ссылка на проект для скачивания[2]. Проект, кроме исходников, содержит Debug экзешник, можно сразу посмотреть в работе.
Смотрю и без меня разобрались.
Это хорошо.
Будут вопросы, задавайте.
3Qu, посмотрел исходник.
Сурово.
Я так низко не опускался, поскольку потребности в суперэфектвности не было.
Если возникнет, то сделаю по образу и подобию
http://citforum.ru/programming/digest/exceldde/
docs.microsoft.com/en-us/windows/win32/dataxchg/data-exchange
В QLua событие OnParam позволяет отслеживать изменения по любым инструментам (в т.ч. опционов) и обрабатывать их любым доступным в Windows способом.
Остальные как хотят. Никто не навязывает.
2. Архив у меня не открылся. Как-то можно можно его подправить или zip -ом запаковать.
3. Открыл один файл .cpp. Увидел malloc, memset, memcpy — пустил слезу.
Добавил zip — DDESErver.zip
Ваш проект по сути попытка копипаста из EX4G_DDE: roboex.narod.ru/olderfiles/1/ex4g_dde_018.zip
К слову есть версия, которая может любую таблицу выводить, достаточно описать ее структуру через набор полей:
yadi.sk/d/IamgWdgz6EUTtA (с более подробным описанием настроек)
roboex.narod.ru/olderfiles/1/ex4g_dde_019.zip (с кратким описанием настроек)
Когда-то признаком хорошего тона считалось ссылаться на тех, откуда черпаешь исходники, но все меняется.
К слову по этой причине была выложена урезанная версия исходных кодов.
Зато можно делать плагины, и фактически развивать выгрузки, но все делают зачем-то копипаст, видимо другая картина мира.
С наступающим!
А это что такое?
И вот это?
После собственноручной сборки:
Был еще коммент выше о копипасте. Скажу только, что человек, делающий все сам и не пользующийся чужими кодами, идиот.