Работа с формулами DDE

Работа с формулами DDE

Формулы в запросах можно формировать для каждой строки, что позволяет их использовать для работы с DDE или RTD (Real-Time Data).

Настройку формул DDE гораздо проще выполнять в SQL, чем макросами.

Для этой цели подходит даже база данных Microsoft SQL Server Compact, которая может находиться в каталоге рабочей книги.

Пример подхода:

  1. В рабочей книге Excel есть таблица с полями Symbol и Comment. Необходимо добавить DDE-формулы из торговой платформы Thinkorswim (TOS).
  2. Создаем базу данных в рабочем каталоге книги и таблицу WatchList с помощью Мастера публикации.
  3. Устанавливаем в новую базу данных SaveToDB Framework с помощью Мастера установки SaveToDB Framework.
  4. Генерируем книгу настройки приложения с помощью Мастера создания книги настройки.
  5. В книге настройки в таблицу QueryList добавляем исходную таблицу и запрос с формулами DDE за счет SQL-кода (см. ниже).
  6. Подключаем запрос WatchList TOS на новый лист рабочей книги с помощью Мастера подключения.

В итоге, мы получим таблицу с DDE-формулами. Данные в этой таблице можно добавлять, удалять, изменять (поля Symbol и Comment).

После сохранения изменений, запрос будет обновлен и формулы настроены уже для нового списка акций.

Конфигурация запросов в таблице QueryList:

IDTABLE_SCHEMATABLE_NAMETABLE_TYPEINSERT_PROCEDUREUPDATE_PROCEDUREDELETE_PROCEDURE
1 WatchListTABLE   
2SELECT
Symbol
, '=TOS|LAST!' + Symbol AS Last
, '=TOS|NET_CHANGE!' + Symbol As NetChange
, '=TOS|PERCENT_CHANGE!' + Symbol As Change
, '=TOS|HIGH!' + Symbol As High
, '=TOS|LOW!' + Symbol As Low
, '=SUBSTITUTE(TOS|VOLUME!' + Symbol+'," ","")+0' As Volume
, Comment
FROM
WatchList
WatchList TOSCODEWatchListWatchListWatchList

SQL-код указывается в поле TABLE_SCHEMA. В поле TABLE_TYPE следует указать тип CODE.

За счет указания таблицы WatchList в полях INSERT_PROCEDURE, UPDATE_PROCEDURE, DELETE_PROCEDURE наш запрос является редактируемым, и все изменения сохраняются в базовую таблицу WatchList.

См. разделы по настройке Списка запросов и сохранения изменений.

Возможные шаги дальнейшего развития приложения:

Этот веб-сайт использует куки. Продолжая использовать веб-сайт, Вы принимаете условия Cookie Policy.