Котировки с сервера брокера
- Версия: 2.04
- Требования: Quik 8.6
- Размер: 415.33 KB
- Просм: 11301
- Добавлено: 06.02.15
- Скачано: 2661
- Изменено: 06.08.20
Этот скрипт позволяет накопить историю котировок и параметров торговых инструментов, используя базу, находящуюся на сервера брокера QUIK.
Подробнее в этой статье.
Установка:
- Архив содержит файлы демонстрационной и полной версий. Файлы демонстрационной версии доступны без пароля. Для распаковки файлов полной версии потребуется пароль. Распакуйте файлы архива в любую папку на ваш вкус. Если вы не знаете пароль к файлам полной версии, игнорируйте их.
- Укажите все необходимые вам инструменты и параметры в файле Export.ini. Описание синтаксиса находится в самом этом файле.
- Запускайте скрипт обычным способом (меню терминала "Скрипты Lua")
Никаких графиков и таблиц открывать не нужно.
Кроме текущих свечей, скрипт выводит в файл также всю доступную на текущий момент историю. Демонстрационная версия (в отличие от полной) каждые 10 минут будет просить нажать кнопку на клавиатуре. Подробнее о скрипте здесь.
Полную версию можно получить, исполнив перевод на карту или электронный кошелек
Сумма перевода не регламентируется - на ваше усмотрение.
История версий:
- 1.0 Начальная версия
- 1.1 Небольшие оптимизации
- 1.2 Убрано возникающее при некоторых условиях повторение строк в csv файле
- 1.3 Разделитель CSV формата теперь можно не указывать. Будет использоваться системная настройка Windows
- 1.4 Обнаружены недокументированные особенности встроенных qlua функций table.s*, препятствующие нормальной работе скрипта в условиях пиковой нагрузки. Вместо стандартных функций написаны пользовательские, теперь проблем с работой под критической нагрузкой нет.
- 1.5 Добавлен параметр, управляющий буферизацией записи в CSV файл. При включенной буферизации строки файла собираются в памяти и сбрасываются на диск время от времени одной операцией, что ускоряет работу скрипта. Однако при этом последние строки попадают на диск с задержкой.
- 1.6 Исправлена досадная ошибка с заданием буферизации CSV файла.
- 1.7 Адаптировано к новым версиям терминала. Исправлены мелкие неточности
- 1.8 Полностью убран тиковый экспорт из-за особенности терминала, не позволяющей его исполнить корректно во всех возможных вариантах задания параметров.
- 2.0 Адаптировано для работы с терминалом версии 8
- 2.01 Добавлена возможность отключить ведение лог-файла
- 2.02 Добавлена возможность изменять разделитель целой и дробной частей чисел в создаваемом CSV файле. Если этот разделитель не задан, используется соответствующая настройка из региональных параметров Windows. Для CSV файлов, содержащих историю параметров, вывод OHLC столбцов заменен на один столбец Close для уменьшения размера файла. Добавлена визуализация на экране процесса обработки параметров конфигурационного файла
- 2.03 Адаптировано для Quik версии 8.6. Убран параметр настройки CSV_BUFFERED, скрипт автоматически буферизует запись в создаваемые CSV файлы там, где это можно и убирает буферизацию, где она не требуется.
- 2.4 Добавлен параметр ENDOFDAY, позволяющий немедленно добавить в создаваемый CSV файл последнюю свечу торгового дня. Добавлена экранная таблица, отображающая ход сохранения информации в файлы. Добавлена настройка пути создания CSV файлов по умолчанию.
Комментарии
А возможно ли шапку файла делать самому?
Реквизиты отправил.
Касаемо формирования шапки. А зачем вам нужно в ней что-то менять, с какой целью?
По поводу амиброкера.
Чем не устраивает адаптер квик-Амиброкер? С его помощью можно экспортировать даные в амиброкер из квика.в автоматическом режиме.
Здесь все зависит от количества тиковых сделок, которые хранятся и доступны.
На ликвидных инструментах все именно так, как вы написали. На неликвидных период времени может достигать и нескольких дней.
Также интересует данный скрипт может писать напрямую в SQL SERVER ч/з ODBC?
2. А как насчет попробовать самому? ))
А котировки опционов можно собирать?
Котировки опционов ничем не отличаются от котировок других инструментов.
Прошу дать реквизиты для оплаты.
Так номер карты же на картинке в статье, разве нет?
В статье есть эта информация. Что-либо добавить к ней мне сложно. Исходите из собственного понимания справедливости, полезности скрипта для вас, удобства его использования и ценников в магазинах.
перевел.
от **** 9846
Оплатил только что через сбербанк он лайн.
Естественно, хочется получить полную версию побыстрее - ибо программировать могу только по выходным.
В случае если надо указать сумму или что то ещё - просьба сообщить об этом в почту.
Спасибо за помощь и классный скрипт!
Возможно, надо было указать номер моей карты - **** 7238,
сумма. была переведена в прошедшее воскресенье.
Пожалуйста, пришлите пароль.
Настройка всех параметров, в том числе и создаваемых файлов, производится в файле export.ini
вот пример описания задачи из этого файла
[VTBR]
CLASSCODE = TQBR // Класс инструмента
TIMEFRAME = W1 // Таймфрейм в секундах. Можно использовать константы TICK,M1,M2,M3,M 4,M5 и др.
PARAMETER = // Параметр инструмента. Если не указан, подразумевается цена/объём
FILE = VTBR-W // Имя csv файла. Если имя не указано, робот сгенерирует его сам
SECCODE = VTBR
Вы можете не указывать имя файла, тогда робот его создаст сам. Вы можете его указать - и робот будет использовать его. Вы можете указать имя файла с путем, диском, сетевым именем и так далее - и файл будет создаваться там, где вы указали.
Файл появляется тогда, когда в него есть что записать
перевёл с ****0901.
А то день вот так пропустишь не включишь комп и на гафике индикатора пробел?
Если нет - можно его доработать?
Загрузил Демо.
Выскочило:
bad argument #1 to 'setvbuf' (invalid option 'yes'),
т.е. команда CSV_BUFFERED = Yes
не принимается.
Также, данные в файл не попадают, пока не открыт соответствующий график.
Брокер - Открытие.
Вопрос 1 - возможно ли оcуществлять запись таймфрэйма непрерывно - заполняя периоды отсутствия торгов нулями?
Вопрос 2 - какова сумма за мои хотелки?
С уважением, Сергей.
Насчет необходимости открытия графиков для вывода информации в файл. Измените настройки в меню "Заказ данных" - "Поток котировок". Поставьте что-то из серии "Установить настройки по открытым таблицам".
Касаемо хотелок.
Да, это можно сделать и ваш бюджет это не подорвёт ) Но подробности лучше обсуждать скайпом mikemsk или электронной почтой.
Но для удобства вы можете сменить в региональных настройках виндовс разделитель дробной части с запятой на точку и все сразу станет хорошо )
А зачем?
Мне нужно отслеживать динамику инструментов в моем портфеле которому всего пол-года. Излишние данные мне не нужны - перегружают вычисления в Excel.
Хотя решение уже нашлось - делаю импорт в Excel не всех данных из файла csv, а начиная с нужной строки.
20:39:35 Подключено к ОАО Промсвязьбанк (91.223.63.92:15101)
20:39:35 [OGKB] Не определён разделитель полей CSV. Используем системную настройку
20:39:35 [OGKB] Файл данных C:\QuikСкрипт\С крипт-2\Экспорт \OGKB-D1.csv не существует. Создаём
20:39:35 [OGKB] Доступно 0 свечей
Скорее всего в терминале запрещено получение данных по коьтровкам требуемого вам инструмента либо вы допустили ошибку в указании инструмента
Терминал получил 0 свечей, то есть нисколько..
[MRKC]
CLASSCODE = TQBR
TIMEFRAME = D1
PARAMETER = valtoday
FILE = C:\QuikСкрипт\С крипт-2\Экспорт \MRKC-D1
SECCODE = MRKC
[LKOH]
CLASSCODE = TQBR
TIMEFRAME = D1
PARAMETER = valtoday
FILE = C:\QuikСкрипт\С крипт-2\Экспорт \LKOH-D1
SECCODE = LKOH
Вроде все по инструкции. По этим инструментам у меня поток котировок в Квике идет, графики работают. А в таблицах все равно пусто. Может какую-то настройку нужно включить или выключить в Квике? Или может Брокер запрещает это действие?
Экспорт котировок www.bot4sale.ru 1.70
Сборка 19.12.2017 20:43:13 s_mike
Рабочее место QUIK 7.27.2.1
09-Апр-2019 Вторник RTZ 2 (зима) +0300
09:45:00 Подключение разорвано
09:45:00 [OGKB] Не определён разделитель полей CSV. Используем системную настройку
09:45:00 [OGKB] Доступно 0 свечей
09:45:00 [SBERP] Не определён разделитель полей CSV. Используем системную настройку
09:45:00 [SBERP] Доступно 0 свечей
09:45:00 [MRKC] Не определён разделитель полей CSV. Используем системную настройку
09:45:00 [MRKC] Доступно 0 свечей
09:45:00 [SBER] Не определён разделитель полей CSV. Используем системную настройку
09:45:00 [SBER] Доступно 0 свечей
09:45:00 [NLMK] Не определён разделитель полей CSV. Используем системную настройку
09:45:00 [NLMK] Доступно 0 свечей
09:45:00 [LKOH] Не определён разделитель полей CSV. Используем системную настройку
09:45:00 [LKOH] Доступно 0 свечей
09:45:17 Подключено к ОАО Промсвязьбанк (193.200.10.92: 15100)
10:13:04 Подключение разорвано
10:13:28 Подключено к ОАО Промсвязьбанк (193.200.10.92: 15100)
09:45:00 Подключение разорвано
09:45:00 [OGKB] Не определён разделитель полей CSV. Используем системную настройку
09:45:00 [OGKB] Доступно 0 свечей
Без подключения к брокеру как можно получить от него данные?
Экспорт котировок www.bot4sale.ru 1.70
Сборка 19.12.2017 20:43:13 s_mike
Рабочее место QUIK 7.27.2.1
09-Апр-2019 Вторник RTZ 2 (зима) +0300
10:32:45 Подключено к ОАО Промсвязьбанк (193.200.10.92:15100)
10:32:45 [OGKB] Не определён разделитель полей CSV. Используем системную настройку
10:32:45 [OGKB] Доступно 0 свечей
10:32:45 [SBERP] Не определён разделитель полей CSV. Используем системную настройку
10:32:45 [SBERP] Доступно 0 свечей
10:32:45 [MRKC] Не определён разделитель полей CSV. Используем системную настройку
10:32:45 [MRKC] Доступно 0 свечей
10:32:45 [SBER] Не определён разделитель полей CSV. Используем системную настройку
10:32:45 [SBER] Доступно 0 свечей
10:32:45 [NLMK] Не определён разделитель полей CSV. Используем системную настройку
10:32:45 [NLMK] Доступно 0 свечей
10:32:45 [LKOH] Не определён разделитель полей CSV. Используем системную настройку
10:32:45 [LKOH] Доступно 0 свечей
11:05:48 Выполнение прервано
11:06:54 --------------- --------------- --------------- --------
Сервер отдает данные не моментально - его возможности и возможности вашего интернет канала не безграничны.
Вы хотите получить данные по параметру valtoday на дневном таймфрейме.
Этот параметр хранится на сервере только одни сутки.
Поэтому за предыдущие дни получить его историю невозможно (ее нет на сервере), а сегодня еще не кончилось и конце сегодняшней дневной свечи информации еще тоже нет))
Попробуйте сменить таймфрейм на более мелкий, например на 1 минуту - и вы получите сегодняшнюю историю на этом таймфрейме.
А как сделать, как Катерина? Какой параметр убрать?
Перевел из Qiwi
Пароль у вас в почте.
Про LuaIndicators там нет ни слова.
Так карта же прямо в статье нарисована....
перевёл, куда квиток отправить?
Добавил такую возможость.
Во! Совсем другое дело
yadi.sk/i/G_M_I5r4aTfZwg
Этот скрипт еще не перекомпилирова н под квик 8.5, он еще под 8.0
Через несколько дней можно будет скачать версию для 8.5
RSS лента комментариев этой записи