Почему "Притворяться Excel" - это хорошая идея?
Excel, как программное обеспечение, давно зарекомендовал себя в качестве инструмента для работы с данными. Его привычный интерфейс, гибкость и широкая распространенность делают его отличным кандидатом для того, чтобы стать "прослойкой" между QUIK и вашим торговым роботом. Когда мы говорим о "притворстве" Excel, мы подразумеваем использование DDE-сервера QUIK для передачи данных в приложение, которое *ведет себя* так, как если бы оно было таблицей Excel. Это не означает, что мы используем настоящий Excel, а лишь имитируем его поведение, чтобы упростить разработку.Преимущества "Притворства Excel":
- Простота и доступность: Excel — это программа, с которой большинство пользователей знакомы. Имитация Excel позволяет упростить понимание и разработку кода для DDE.
- Удобная работа с табличными данными: QUIK передает данные через DDE в табличном формате. Имитация Excel позволяет легко обрабатывать и структурировать эти данные, как если бы они были в ячейках электронной таблицы.
- Наглядность и визуализация: Имитация Excel позволяет визуализировать данные, поступающие из QUIK, в виде таблицы, что облегчает отладку и анализ.
- Совместимость с разными языками: Вы можете использовать различные языки программирования для взаимодействия с Excel или его имитацией через DDE. Это делает ваш код более универсальным.
Теоретические основы DDE-взаимодействия с QUIK:
Для понимания "притворства Excel" необходимо разобраться с основными принципами DDE:
- DDE-сервер и DDE-клиент:
- DDE-сервер – это приложение (в нашем случае QUIK), которое предоставляет данные.
- DDE-клиент – это приложение (в нашем случае ваш торговый робот), которое запрашивает и получает данные от DDE-сервера.
- DDE-строка:
- DDE-сервер QUIK идентифицирует данные с помощью DDE-строки, состоящей из трех частей:
- Приложение: Обычно это "QUIK".
- Тема: Описывает тип данных (например, "TRANS", "SECURITIES" и т.д.).
- Элемент: Конкретные данные, которые вы хотите получить (например, "LAST", "PRICE", "VOL" и т.д.).
- Пример DDE-строки для получения последней цены сделки для инструмента: `QUIK|TRANS|LAST`
- Формат данных:
- DDE-сервер QUIK передает данные в табличном формате. Каждая таблица состоит из строк и столбцов.
- Вы можете получать данные построчно или по отдельным ячейкам.
Как "Притворяться Excel" с помощью DDE?
Для имитации Excel вам нужно:
- Установить соединение с DDE-сервером QUIK: Ваше приложение должно установить связь с QUIK, используя библиотеку или SDK, поддерживающие DDE.
- Запросить данные, используя DDE-строку: Вы должны запросить необходимые данные, используя правильные DDE-строки.
- Обработать данные в табличном формате: После получения данных, вам нужно обработать их таким образом, чтобы они соответствовали строкам и столбцам, как в таблице Excel.
- Отобразить данные (опционально): Если необходимо, вы можете визуализировать полученные данные в табличном виде, чтобы облегчить анализ и отладку.
Пример простой имитации Excel:
Представьте, что вы написали код, который получает данные о последних ценах сделок из QUIK. Вместо того, чтобы обрабатывать их напрямую, вы можете организовать их в виде таблицы, где каждая строка — это отдельный инструмент, а столбцы — это наименование инструмента, последняя цена и объем. Такой подход делает ваш код более читаемым и понятным.
Заключение:
"Притворяться Excel" – это эффективная стратегия для упрощения работы с DDE-сервером QUIK. Такой подход позволяет использовать привычную модель табличных данных, улучшить наглядность и упростить процесс разработки. Это особенно полезно для начинающих разработчиков, которые только осваивают мир алготрейдинга. В следующей статье мы приведем пример кода на Python, который наглядно продемонстрирует, как использовать этот подход на практике.Продолжение по ссылке: Python и DDE: Получение таблицы обезличенных сделок из QUIK (Практический пример)