Трейдеры и инвесторы могут экспортировать котировки из торгового терминала в файл при помощи сторонних программ, но пользоваться тем или иным сервисом может быть не всегда удобно. Иногда нужно экспортировать котировки напрямую из QUIK.
В этом терминале существуют встроенные механизмы экспорта — при помощи DDE и ODBC. Механизмы давно известны, но при эксплуатации пользователи сталкиваются со сложностями, или опции бывают недоступны «из коробки». Такое случается, если вы работаете в QUIK в операционных системах Linux. Однако QUIK может экспортировать котировки даже в таких сложных случаях.
QUIK имеет встроенную поддержку языка программирования Lua. И если у вас есть навыки программирования, то вы сумеете расширить возможности торгового терминала.
В статье предлагаем небольшой скрипт, который позволит экспортировать архив котировок по интересующему инструменту в текстовый файл с разделителями. Его можно впоследствии загрузить, например, в Excel.
Листинг скрипта экспорта котировок
Как пользоваться скриптом
Установка. Запустите программу «Блокнот» в Windows или аналогичный текстовый редактор и скопируйте в него текст скрипта. Сохраните файл под любым именем с расширением .lua в каталог, на который вы имеете права записи и чтения. Скрипт настроен таким образом, что котировки сохраняются в том же каталоге, где он находится.
Настройка. В пятой строке (ticker = …) SBER замените на другой тикер, для которого хотите экспортировать архив котировок. Скрипт настроен на экспорт дневных котировок, но интервал можно изменить. Для этого в 6-й строке замените INTERVAL_D1 на другое значение. Перечень доступных значений приведён на рисунке ниже. Настройка завершена.
Запуск скрипта. Запустите QUIK, выберите пункт меню «Сервисы» — «Lua скрипты». Нажмите кнопку «Добавить», в диалоговом окне выбора файла найдите файл скрипта и нажмите «Открыть». Скрипт появится в списке «Загруженные скрипты». После этого нажмите кнопку «Запустить». Если скрипт отработает без ошибок, то в конце работы вы увидите сообщение «Экспорт завершён».
Диалоговое окно запуска скрипта в QUIK. Источник: QUIK
После того как работа скрипта успешно завершится, откройте папку, в которой находится скрипт. Там вы увидите файл с именем тикера, который ввели, и с расширением CSV. В нём сохранены котировки интересующего инструмента.
Пример содержимого файла экспорта. Источник: данные автора
Этот файл вы можете загрузить в какую-либо программу для дальнейшего анализа.
Скрипт, приведённый в данной статье, поставляется без каких-либо гарантий — явных или подразумеваемых. Вы несёте полную ответственность за любые последствия применения сведений и знаний, полученных в результате прочтения статьи.
https://journal.open-broker.ru/ (C)
Не является индивидуальной инвестиционной рекомендацией | При копировании ссылка обязательна | Нашли ошибку - выделить и нажать Ctrl+Enter | Отправить жалобу
В этом терминале существуют встроенные механизмы экспорта — при помощи DDE и ODBC. Механизмы давно известны, но при эксплуатации пользователи сталкиваются со сложностями, или опции бывают недоступны «из коробки». Такое случается, если вы работаете в QUIK в операционных системах Linux. Однако QUIK может экспортировать котировки даже в таких сложных случаях.
QUIK имеет встроенную поддержку языка программирования Lua. И если у вас есть навыки программирования, то вы сумеете расширить возможности торгового терминала.
В статье предлагаем небольшой скрипт, который позволит экспортировать архив котировок по интересующему инструменту в текстовый файл с разделителями. Его можно впоследствии загрузить, например, в Excel.
Листинг скрипта экспорта котировок
function main()
-- list = getClassesList()
-- message(list)
--подготовительные процедуры
ticker = «SBER»
ds1, error_desc = CreateDataSource(«TQBR», ticker, INTERVAL_D1)
if error_desc ~= nil and error_desc ~= "" then
message(«Ошибка получения таблицы свечей:" .. error_desc)
return 0
end
local try_count = 0
while ds1:Size() == 0 and try_count < 1000 do
sleep(100)
try_count = try_count + 1
end
if error_desc ~= nil and error_desc ~= "" then
message(«Ошибка получения таблицы свечей:" .. error_desc)
return 0
end
--собственно экспорт
stocksFile = io.open(getScriptPath().."\\"..ticker..".csv»,«w»);
i = 1
stocksCount = ds1:Size()
message(«Количество записей для экспорта: "..tostring(stocksCount))
stocksFile:write(«Date;Open;High;Low;Close;Volume\n»)
while i < stocksCount do
dayStr = ""
if ds1:T(i).day < 10 then
dayStr = «0»..tostring(ds1:T(i).day)
else
dayStr = tostring(ds1:T(i).day)
end
monStr = ""
if ds1:T(i).month < 10 then
monStr = «0»..tostring(ds1:T(i).month)
else
monStr = tostring(ds1:T(i).month)
end
stockDate = dayStr.."."..monStr.."."..tostring(ds1:T(i).year)
stockOpen = tostring(ds1:O(i))
stockHigh = tostring(ds1:H(i))
stockLow = tostring(ds1:L(i))
stockClose = tostring(ds1:C(i))
stockVolume = tostring(ds1:V(i))
stocksFile:write(stockDate..";"..stockOpen..";"..stockHigh..";"..stockLow..";"..stockClose..";"..stockVolume.."\n»)
i = i + 1
end
stocksFile:close()
message(«Экспорт завершён")
end
Как пользоваться скриптом
Установка. Запустите программу «Блокнот» в Windows или аналогичный текстовый редактор и скопируйте в него текст скрипта. Сохраните файл под любым именем с расширением .lua в каталог, на который вы имеете права записи и чтения. Скрипт настроен таким образом, что котировки сохраняются в том же каталоге, где он находится.
Настройка. В пятой строке (ticker = …) SBER замените на другой тикер, для которого хотите экспортировать архив котировок. Скрипт настроен на экспорт дневных котировок, но интервал можно изменить. Для этого в 6-й строке замените INTERVAL_D1 на другое значение. Перечень доступных значений приведён на рисунке ниже. Настройка завершена.
Запуск скрипта. Запустите QUIK, выберите пункт меню «Сервисы» — «Lua скрипты». Нажмите кнопку «Добавить», в диалоговом окне выбора файла найдите файл скрипта и нажмите «Открыть». Скрипт появится в списке «Загруженные скрипты». После этого нажмите кнопку «Запустить». Если скрипт отработает без ошибок, то в конце работы вы увидите сообщение «Экспорт завершён».
Диалоговое окно запуска скрипта в QUIK. Источник: QUIK
После того как работа скрипта успешно завершится, откройте папку, в которой находится скрипт. Там вы увидите файл с именем тикера, который ввели, и с расширением CSV. В нём сохранены котировки интересующего инструмента.
Пример содержимого файла экспорта. Источник: данные автора
Этот файл вы можете загрузить в какую-либо программу для дальнейшего анализа.
Скрипт, приведённый в данной статье, поставляется без каких-либо гарантий — явных или подразумеваемых. Вы несёте полную ответственность за любые последствия применения сведений и знаний, полученных в результате прочтения статьи.
https://journal.open-broker.ru/ (C)
Не является индивидуальной инвестиционной рекомендацией | При копировании ссылка обязательна | Нашли ошибку - выделить и нажать Ctrl+Enter | Отправить жалобу