Всем привет. Продолжаю выкладывать Open Source для начинающих алготрейдеров — программистов, которые хотят делать своих роботов по старинке…
Некоторое время назад писал о том, как выгрузить свечи из Quik в Excel. Сегодня же разберем вопрос выгрузки свечей и стаканов в программы написанные на C#… Для этого я написал небольшую программу, всего 150 строк, в которой показано как развернуть DDE сервер, принимать, сортировать данные, а также выводить их на форму. Всё очень просто. В проекте использованы три свободные библиотеки: DDEInfo, FTPHelper и NDde. Они лежат в корне проекта. Шлём лучи поддержки их авторам.
Качаем архив:

Что в архиве:
1) Исходники.
2) Этот пост вместо инструкции. Код закомментирован и предполагается, что человек прочитал хоть пол книжки по программированию.
3) Открытые лицензии: Моя, Tranquikizer, NDde. Инструкция по использованию программы 1) Для начала нам понадобиться создать в Quik таблицу свечей, вот так: Для этого нужно воспользоваться генератором Qple скриптов о котором я писал вот здесь: http://sib-algo.ru/?p=162 Дело в том, что по DDE из Quik можно экспортировать только таблицы, а свечные графики не хранятся в Quik в виде таблиц. Нужно скачать генератор скриптов и пользуясь инструкцией к нему создать таблицу \ портфель, как на рисунке выше. Делать это в первый раз долго и нудно. Придётся набраться терпения.
2) Запускаем программу: Нажимаем на кнопку подключить. Статус сервера должен измениться на «Registered».
3) Далее открываем Quik и идём в «Экспорт по DDE» любого стакана, у меня это Газпром: И настраиваем всё как на рисунке и нажимаем «Начать вывод». В поле DDE сервер вводится имя сервера, который мы зарегистрировали (метод buttonOnDde_Click) в системе. Поле рабочая книга используется как маркер во время сортировки (метод DDEServer_DataPoked) данных. Поле лист, кстати, тоже можно использовать во время сортировки, но я не стал усложнять.
Далее открываем экспорт по DDE у таблицы свечей: Настраиваем и нажимаем «Начать вывод».
И радуемся жизни!
Добрый день.
Перебор ячеек в методе GlassData крайне медленный при скачивании тиковых данных. Рекомендую переделать так:
List _list = dataFromQuik.Cells.ToList();
foreach (object[] obj in _list)
{
string _content = «»;
for (int i = 0; i < obj.Length; i++)
{
_content += obj[i].ToString() + ";";
}
ticks.Add(_content);
}