Germany | Finland | Saint Petersburg | Drive

Котировки с сервера брокера

4.7/5 оценка (31 голосов)
  • Размер: 215.86 KB
  • Версия: 2.01
  • Просм: 8780
  • Добавлено: 06.02.15
  • Скачано: 2046
  • Изменено: 18.11.19

Этот скрипт позволяет накопить историю котировок и параметров торговых инструментов, используя базу, находящуюся на сервера брокера QUIK.

Подробнее в этой статье.

Установка:

  1. Архив содержит файлы демонстрационной и полной версий. Файлы демонстрационной версии доступны без пароля. Для распаковки файлов полной версии потребуется пароль. Распакуйте файлы архива в любую папку на ваш вкус. Если вы не знаете пароль к файлам полной версии, игнорируйте их.
  2. Укажите все необходимые вам инструменты и параметры в файле Export.ini. Описание синтаксиса находится в самом этом файле. 
  3. Запускайте скрипт обычным способом (меню терминала "Доступные скрипты")

Никаких графиков и таблиц открывать не нужно.

Кроме текущих свечей, скрипт выводит в файл также всю доступную на текущий момент историю. Демонстрационная версия каждые 10 минут будет просить нажать кнопку на клавиатуре. Подробнее о скрипте здесь.


Полную версию можно получить, исполнив перевод на карту или электронный кошелек

 

Монеты Кошелёк

MasterCard Руб: 5321 3046 1962 5566 

BTC: DhWeUAMFYXnnZKHij6yw6hk5Q4QdhSLrS
  ETH: 0xd0d6018031aaccb4b4ebfdd2c14b6fb634fd2528

XMR: 4Hm3YrYNgczRAP7jbGCZ7vA8XwbBR8DWMU

7Bm9FKZqjxQXPPcwMP1kDbK3mtBSdt2c6Tm

LCPiMSXa39uBiEBwkg4FXUZ9sXP3FR3iM2zeJ

LTC: LfevAKKpASzVAcPTQDRxQV3oJga29ebuee
Руб: 410012694478342
Коды EXMO  Руб, USD, EUR

 

 

Сумма перевода не регламентируется - на ваше усмотрение.

 

История версий:

  • 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 Добавлена возможность отключить ведение лог-файла

Комментарии   

# Optimus1 13.09.2015 20:55
А как можно приобрести полную версию ?
# admin 13.09.2015 21:47
Ответил почтой
# moto38 15.09.2015 06:29
ДД, Хочу приобрести полную версию скрипта.
# admin 15.09.2015 08:16
Я отправил вам реквизиты
# Yawol 20.11.2015 17:28
можно тоже реквизиты, кроме вебмани
# admin 20.11.2015 17:47
Да,конечно. Выслал.
# genom 30.12.2015 15:39
Здравствуйте. Прошу Вас выслать реквизиты, - !не вебмани!.
А возможно ли шапку файла делать самому?
# admin 30.12.2015 16:29
Здравствуйте.

Реквизиты отправил.

Касаемо формирования шапки. А зачем вам нужно в ней что-то менять, с какой целью?
# genom 30.12.2015 16:35
Например, для уменьшения веса фалов (при наборе тиковых данных на нескольких десятках инструментов). И как вариант при загоне данных в систему теханализа - меньше прописывать полей надо. Но если нет, то я и не настаиваю.
# admin 30.12.2015 19:00
Я записал себе это, добавлю.
# genom 31.12.2015 08:57
Михаил, добрый день и с наступающим Вас! Было бы просто чудесно, если бы Вы сделали скрипт для автоматического загона созданных файлов истории в Amibroker :-) Но это как пожелания.
# admin 31.12.2015 09:53
И вас с праздником!

По поводу амиброкера.
Чем не устраивает адаптер квик-Амиброкер? С его помощью можно экспортировать даные в амиброкер из квика.в автоматическом режиме.
# genom 01.01.2016 02:25
Доброго времени суток и с первым днем Нового года! Если Вы про стандартный плагин, то ИМХО через Ваш скрипт куда приятней собирать котировки нежели через ту же Гидру от S# или мучатся с экспортом напрямую в ами (иногда бывают сбои по непонятным причинам самого плагина). Да и копить историю вне Амиброкера универсальней, т.к. можно всегда при необходимости засунуть данные и в другой софт для тестов. Может не убедительно, но это навеяно у меня мыслями о возможности создания стороннего способа подкачки данных из самого Ами из опыта работы с подобными примочками к амиброкеру, но правда все они из инета тянут данные, а тут бы из своей базы.
# Neosan 01.06.2016 14:16
ДД, я так понимаю Тиковые данные возможны только для текущего дня + вечер предыдущего или возможен вариант получения нескольких последних дней?
# admin 01.06.2016 14:30
Здравствуйте.

Здесь все зависит от количества тиковых сделок, которые хранятся и доступны.

На ликвидных инструментах все именно так, как вы написали. На неликвидных период времени может достигать и нескольких дней.
# Neosan 01.06.2016 14:38
Скорость записи в CSV через lua-скрипт (реагирования на новые данные) примерно =DDE или быстрей?

Также интересует данный скрипт может писать напрямую в SQL SERVER ч/з ODBC?
# admin 01.06.2016 15:24
1. Трудно сказать. Не измерял. Особой разницы быть не должно

2. А как насчет попробовать самому? ))
# Andy 22.06.2016 14:36
Добрый день!
А котировки опционов можно собирать?
# admin 22.06.2016 15:26
Здравствуйте.

Котировки опционов ничем не отличаются от котировок других инструментов.
# Z1gi 02.07.2016 22:14
Добрый день!

Прошу дать реквизиты для оплаты.
# admin 03.07.2016 01:16
Здравствуйте!

Так номер карты же на картинке в статье, разве нет?
# Bo$$ 25.10.2016 16:26
Здравствуйте! Сколько стоит полная версия ?
# admin 25.10.2016 17:02
Здравствуйте.

В статье есть эта информация. Что-либо добавить к ней мне сложно. Исходите из собственного понимания справедливости, полезности скрипта для вас, удобства его использования и ценников в магазинах.
# Bo$$ 25.10.2016 19:00
Оплатил за скрипт!
# admin 25.10.2016 19:25
А я вам в почте написал пароль
# Илья_+ 29.11.2016 22:19
Добрый,
перевел.
от **** 9846
# admin 29.11.2016 22:26
Добрый. Пароль отправлен вам почтой
# Алексей М 04.12.2016 10:11
Добрый день.
Оплатил только что через сбербанк он лайн.
Естественно, хочется получить полную версию побыстрее - ибо программировать могу только по выходным.
В случае если надо указать сумму или что то ещё - просьба сообщить об этом в почту.
Спасибо за помощь и классный скрипт!
# Алексей М 08.12.2016 00:04
к сожалению ничего не получил.
Возможно, надо было указать номер моей карты - **** 7238,
сумма. была переведена в прошедшее воскресенье.
Пожалуйста, пришлите пароль.
# admin 08.12.2016 07:53
Вероятно, письмо попало в папку спам или что-то в этом роде. Отправил еще раз.
# Алексей М 13.12.2016 20:11
получил, спасибо!
# Bootman 05.12.2016 10:41
Добрый день. Недавно работаю с Quik. Установил демо-версию вашего скрипта. Работает правильно (горит зеленая стрелочка). А гду именно сохраняются файлы с экспортируемыми данными? В какой папке их увидеть?
# admin 05.12.2016 12:04
Здравствуйте.

Настройка всех параметров, в том числе и создаваемых файлов, производится в файле export.ini
# Bootman 05.12.2016 12:20
На сколько понимаю новые файлы с котировками должны появляться в той же папке, где лежит export.ini ? А с какого момента?
# admin 05.12.2016 13:07
Чтобы не гадать, достаточно последовать моему совету и все-таки заглянуть в файл export.ini. Так есть все ответы на ваши вопросы, если читать внимательно.

вот пример описания задачи из этого файла

[VTBR]
CLASSCODE = TQBR // Класс инструмента
TIMEFRAME = W1 // Таймфрейм в секундах. Можно использовать константы TICK,M1,M2,M3,M 4,M5 и др.
PARAMETER = // Параметр инструмента. Если не указан, подразумевается цена/объём
FILE = VTBR-W // Имя csv файла. Если имя не указано, робот сгенерирует его сам
SECCODE = VTBR

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

Файл появляется тогда, когда в него есть что записать
# Константин Меснянкин 26.01.2017 08:54
Доброе утро. Скинул с тинькофской ****0425 на пиво, ну или на кофе кому что больше нравится.
# admin 26.01.2017 09:52
Пароль вам отправлен. Удачи!
# niktul 02.02.2017 06:17
А как можно приобрести полную версию1
# admin 02.02.2017 09:20
В статье есть ответ на ваш вопрос.
# fonto 14.02.2017 20:32
привет! спасибо за скрипт. давно искал =).
перевёл с ****0901.
# Игорь Нестеренок 22.02.2017 20:18
Как получить полную версию, и сколько подскажите.
# admin 22.02.2017 22:49
Игорь, вся информация об этом в статье. Что-либо добавить к ней мне затруднительно.
# Юрий77 13.04.2017 09:48
Михаил - вопрос - может ли этот скрипт сохранять историю для ваших скриптов - Cumulative Volume Delta и Индикатор объёмов с разделением на покупки и продажи .
А то день вот так пропустишь не включишь комп и на гафике индикатора пробел?
Если нет - можно его доработать?
# admin 13.04.2017 10:19
Нет, не может.
# СергейФ 08.07.2017 04:34
Добрый день, Михаил,

Загрузил Демо.

Выскочило:
bad argument #1 to 'setvbuf' (invalid option 'yes'),

т.е. команда CSV_BUFFERED = Yes
не принимается.

Также, данные в файл не попадают, пока не открыт соответствующий график.

Брокер - Открытие.

Вопрос 1 - возможно ли оcуществлять запись таймфрэйма непрерывно - заполняя периоды отсутствия торгов нулями?
Вопрос 2 - какова сумма за мои хотелки?

С уважением, Сергей.
# admin 08.07.2017 10:55
Сергей, спасибо за сообщение об ошибке. Исправил, версия 1.6

Насчет необходимости открытия графиков для вывода информации в файл. Измените настройки в меню "Заказ данных" - "Поток котировок". Поставьте что-то из серии "Установить настройки по открытым таблицам".

Касаемо хотелок.

Да, это можно сделать и ваш бюджет это не подорвёт ) Но подробности лучше обсуждать скайпом mikemsk или электронной почтой.
# Игорь777 22.09.2017 17:29
Как добавить Tiker и Per через запятую в таблицу, они ведь указываются в файле Export?
# Андрей701 13.01.2019 02:08
Можно ли сделать в файле csv разделитель целой и дробной части числа не точку, а запятую как это принято в региональных настройках Excel и Windows для России?
# admin 13.01.2019 09:48
Нет, эта возможность не предусмотрена.

Но для удобства вы можете сменить в региональных настройках виндовс разделитель дробной части с запятой на точку и все сразу станет хорошо )
# Андрей701 24.01.2019 16:46
Как ограничить глубину скачиваемых данных ?(например - начиная с такой-то даты)
# admin 24.01.2019 17:34
Никак.

А зачем?
# Андрей701 25.01.2019 09:25
Цитирую admin:
Никак.

А зачем?

Мне нужно отслеживать динамику инструментов в моем портфеле которому всего пол-года. Излишние данные мне не нужны - перегружают вычисления в Excel.
# Андрей701 25.01.2019 09:29
Цитирую admin:
Никак.

А зачем?

Хотя решение уже нашлось - делаю импорт в Excel не всех данных из файла csv, а начиная с нужной строки.
# Катерина 08.04.2019 21:03
Добрый день! Скачала скрипт, внесла все данные в файл export.ini по инструкции, запустила скрипт в Квике, горит зеленая стрелочка, никаких ошибок нет. Файлы создались там, где я указала, с нужными названиями, только вот они пустые, есть только заголовки колонок и все. Брокер Промсвязьбанк. Сделала все уже после закрытия торгов, но терминал к серверу подключен, я так понимаю, данные идут с сервера. Подскажите, пожалуйста, в чем может быть причина? Связано ли это с тем, что делаю после закрытия торгов? Извиняюсь, если туплю, я первый раз))
# Катерина 08.04.2019 21:10
Появился файл в котором такие данные по всем таблицам:
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 свечей
# admin 08.04.2019 22:35
Здравствуйте.

Скорее всего в терминале запрещено получение данных по коьтровкам требуемого вам инструмента либо вы допустили ошибку в указании инструмента

Терминал получил 0 свечей, то есть нисколько..
# Катерина 09.04.2019 09:52
Прописывала вот так:
[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
Вроде все по инструкции. По этим инструментам у меня поток котировок в Квике идет, графики работают. А в таблицах все равно пусто. Может какую-то настройку нужно включить или выключить в Квике? Или может Брокер запрещает это действие?
# Катерина 09.04.2019 10:16
Заметила, что он сейчас стал сначала разрывать соединение, а потом загружать, так же быть не должно?
Экспорт котировок www.bot4sale.ru 1.70
Сборка 19.12.2017 20:43:13 www.bot4sale.ru
Рабочее место 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.04.2019 10:19
Если я правильно понимаю, он пытается загрузить данные после разрыва соединения, а после подключения почему-то ничего не делает. Но возможно, я не так понимаю)))
# Катерина 09.04.2019 10:54
Позвонила брокеру, они сказали, что все данные открыты, никаких ограничений нет. Уже не знаю, что сделать, чтобы заработало(((
# admin 09.04.2019 13:31
Катерина,

09:45:00 Подключение разорвано
09:45:00 [OGKB] Не определён разделитель полей CSV. Используем системную настройку
09:45:00 [OGKB] Доступно 0 свечей


Без подключения к брокеру как можно получить от него данные?
# Катерина 09.04.2019 13:48
А зачем скрипт запрашивает данные сразу после отключения, а после подключения напротив, их не запрашивает? В данный момент у меня терминал подключен и работает, а скрипт данные не запрашивает. Что не так?
# Катерина 09.04.2019 13:51
Более того, при подключенном соединении, если отключить скрипт и снова его включить, то он начнет запрашивать данные (при подключенном соединении!!!), но результат все равно нулевой.
Экспорт котировок www.bot4sale.ru 1.70
Сборка 19.12.2017 20:43:13 www.bot4sale.ru
Рабочее место 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 --------------- --------------- --------------- --------
# admin 09.04.2019 14:19
А подождать пробовали после соединения с брокером?

Сервер отдает данные не моментально - его возможности и возможности вашего интернет канала не безграничны.
# Катерина 09.04.2019 17:53
Сутки уже почти прошли... Скрипт включен постоянно. Но судя по информации в лог файле, действия происходят только в момент разрыва или подключения соединения. В другое время работы терминала - ничего. А сколько времени примерно может занять загрузка данных? Бывает, что несколько суток?
# admin 09.04.2019 19:21
Я понял, в чем дело.

Вы хотите получить данные по параметру valtoday на дневном таймфрейме.

Этот параметр хранится на сервере только одни сутки.

Поэтому за предыдущие дни получить его историю невозможно (ее нет на сервере), а сегодня еще не кончилось и конце сегодняшней дневной свечи информации еще тоже нет))

Попробуйте сменить таймфрейм на более мелкий, например на 1 минуту - и вы получите сегодняшнюю историю на этом таймфрейме.
# Катерина 09.04.2019 22:55
Так как мне нужен дневной таймфрейм, я просто убрала этот параметр вообще, и о да!!! Все заработало!!! Спасибо вам огромное!)))
# yalin2019 19.05.2019 16:53
Цитирую Катерина:
Так как мне нужен дневной таймфрейм, я просто убрала этот параметр вообще, и о да!!! Все заработало!!! Спасибо вам огромное!)))

А как сделать, как Катерина? Какой параметр убрать?
# Finmod 28.04.2019 13:55
Добрый день!
Перевел из Qiwi
# admin 28.04.2019 15:08
Добрый!

Пароль у вас в почте.
# yalin2019 18.05.2019 20:17
Здравствуйте! Скачал версию, а архив не открывается. Пишет -повреждён.
# yalin2019 19.05.2019 06:11
архиватор заменил и открылось.
# yalin2019 19.05.2019 16:54
Цитирую yalin2019:
Цитирую Катерина:
Так как мне нужен дневной таймфрейм, я просто убрала этот параметр вообще, и о да!!! Все заработало!!! Спасибо вам огромное!)))

А как сделать, как Катерина? Какой параметр убрать?
# yalin2019 19.05.2019 17:00
файл Export.ini помещать в папку LuaIndicators?
# admin 19.05.2019 18:06
Процедура установки описана в этой статье, прочтите ее.

Про LuaIndicators там нет ни слова.
# yalin2019 19.05.2019 17:58
Всего сколько можно получить свечей у меня 172 дневных свечи, я хотел получить данные с 2016 года, как это сделать?
# admin 19.05.2019 18:07
При первом запуске скрипта вы получите ровно столько свечей инструмента, сколько их хранит ваш брокер.
# yalin2019 19.05.2019 18:09
ясно.
# zip3n 31.10.2019 06:42
Доброе утро, реквизиты можно получить. желательно WM спасибо :-)
# admin 31.10.2019 08:20
Доброе)

Так карта же прямо в статье нарисована.... :sigh:
# zip3n 31.10.2019 10:36
а сколько инструментов одновременно потянет без зависонов при тф М1? 150 инструментов в Excel выдержит?)
# admin 31.10.2019 12:06
Выдержит. И 1500 выдержит. И 15000, если у вас мощный компьютер (наверное, не пробовал)
# zip3n 31.10.2019 13:49
Цитирую admin:
Выдержит. И 1500 выдержит. И 15000, если у вас мощный компьютер (наверное, не пробовал)

перевёл, куда квиток отправить?
# admin 31.10.2019 13:53
Нет нужды, я отправил пароль вам почтой.
# zip3n 31.10.2019 14:18
Не критично, но если закомментить лог-файл в файле настроек то выдает вот такую ошибку prntscr.com/pqld46 и скрипт не запускается
# admin 31.10.2019 15:50
Ну раз так хочется отключить лог-файл, скачивайте))

Добавил такую возможость.
# zip3n 31.10.2019 16:25
Цитирую admin:
Ну раз так хочется отключить лог-файл, скачивайте))

Добавил такую возможость.


Во! Совсем другое дело :lol:

Недостаточно прав для комментирования