Банальный вопрос — сохранение истории из QUIK в нормальном формате, типа как с финама в текстовом виде, где есть дата, время и параметры свечи. Кто-нибудь реализовал такую штуку? У меня робот тупо сосет из финама историю по склеенному фьючу RTS, но хочется брать из QUIKа, так как это надежнее.
Пробовал на lua делать скрипт который выполняет экспорт из квика графика, но там ограничение в один день, и глюки начинаются… при сохранении файла истории меняется текущая дректория и квик теряет путь к файлам ключей и отваливается.
Есть вариант сохранять историю находу… самому запоминать хай, лоу, опен и клоз каждой свечи и по концу свечи сохранять эти данные, полученные из стакана или параметров спрос/предложение. Но может уже есть что-то готовое, как это проще и надежнее сделать… чтобы данные из квика не сильно отличались от тех, что брокеры дают скачивать ?
Romanio, я пробовал использовать функцию get_candels, если не ошибся в названии, у меня не получилось: функция не работала.
— получал текущее время;
— округлял до нужного периода;
— циклил вычитание периода и вызов функции
— функция ничего не выдавала
— делал на демо-счете, может в этом дело.
Не прибегая к помощи дополнительных программ для тех.анализа, на мой взгляд, проблему не разрешить!
starscream, у меня прекрасно работает вот этот lua скрипт(приведен ниже) но сбивается путь к ключам квика… разработчики QUIIK накосячили как обычно, прилепили lua, но как это повлияет на работу базовых функций QUIK — не проверили.
пример скрипта экспорта историии из графика на lua:
f = io.open(contract..os.date("_%Y_%m_%d.txt"),«w»)
i = 2
s = ds1:Size()
while i<=s do
t = ds1:T(i)
f:write(string.format(contract..",5,%.4d%.2d%.2d,%.2d%.2d%.2d,%d,%d,%d,%d,%d",t.year,t.month,t.day,t.hour,t.min,t.sec,ds1:O(i),ds1:H(i),ds1:L(i),ds1:C(i),ds1:V(i)).."\n")
Romanio, а для чего Вам нужна история? Я так понял, для своего индикатора? В среде Lua я не разбираюсь, для её освоения надо еще кучу учебников проштудировать. Я нашел более простое, на мой взгляд, решение этой проблемы: открываем счет в метатрейдере, там пишем индикатор и передаем результат в квик через файл.
Труроботостроители экпортируют ТВС по DDE за день и парсят. Ну и накапливают ессно за предыдущие дни.
Есть еще вариант купайл портфеля который строит бары за день и экспортирует в SQL, а там оно накапливается триггерами. А робот читает оттуда.
Есть еще умельцы которые садяцца на экспорт из квика в проги теханализа, тоже вариант.
Намного проще Вашу перекурвфиченную страту переписать в прогу теханализа ̶п̶р̶о̶т̶е̶с̶т̶и̶р̶о̶в̶а̶т̶ь̶ ̶и̶ ̶в̶ы̶к̶и̶н̶у̶т̶ь̶ и использовать готовый экспорт из Квика.
Промучавшись с купайловскими скриптами формирования баров с графиков, я в итоге пришел к решению:
Качаем по DDE таблицу всех сделок, во внешней программе формируем минутные бары и дописываем в базу данных, а уже робот работает с базой данных минуток (до июня 2012 я базу минуток сформировал, закачав данные с финама с исправлением тех дней, где сформированные часовики не совпали с давно ведущимися мной часовиками с ноября 1998-го).
Как качать таблицу по DDE? Раньше качал в Excel и обрабатывал в VBA, потом переписал все в C# с использованием библиотеки NDDE.
А. Г., а зачем Вам так много данных? Если для тестирования стратегий на истории, то согласен. Но для работы нужны свежие данные, т.е. окно последних свечек максимум в месяц.
В том числе и для тестирования на истории. А данных немного, пока в базе только скленный фьючерс на индекс РТС и 6 наиболее ликвидных акций. А с базой роботам работать удобно для текущих расчетов: можно брать только ту глубину, которая нужна. И трудоемкость небольшая — я же не переписываю всю базу, а дописываю в нее. Вопрос только в секундных задержках: минутка формируется в момент сделки из следующей минуты. Для моих систем это не принципиально.
А. Г., от склеенных данных мало толку, согласен! Интересно, почему биржа не поставит в базу вместо квика что-нибудь типа метатрейдера?!.. не так, как сейчас, а с полным доступом ко всем инструментам!
Не понял про «мало толку от склеенных данных». Для тестирования я их и использую, правда, склеенный у меня только фьючерс. В акциях нечего склеевать.
А метатрейдер, как база данных — это вообще моветон. Есть же оракл, постгри, майэскуэль, на худой конец можно мскуэль использовать. Впрочем биржа историю, кроме дневок, уже сделала платной, хотя и недорогой — всего 5 тыс. Руб.
А. Г.,… в моем понимании, склеенные данные это как геп после выходных: видно начало и конец, но в процессе не участвуешь)))
Я не собираюсь ни с кем спорить, у всех свои методы!!!
С уважением!
starscream, Да, для тестирования стратегий, плавно перетекающего в интрадей реал-тайм торговлю. Просто у меня алгоритм такой — запускается на истории в лет 5 одновременно штук 500 экземпляров одного и того же алгоритма с различными параметрами, различная величина стопов, различная глубина пямяти на максимум минимум и т.п… алгоритм балансировки назначает на каждой свече приоритеты каждой из 500 стратегии, в зависимости от её текущих результатов. Итоговая эквити после балансировки получается раза в 2-3 лучше чем каждая из входящих в отдельности по соотношению прибыль/макс.просадка. Таким образом мне нужен архив лет за 5 + реальные данные за каждый новый день, с задержкой не более 5 минут. Финам временами задерживает минут на 10. Хотелось соединить архив и QUIK, чтобы тест стратегии и реал-тайм торговлю на этой истории делать одновременно, т.к. реал-тайм торговля является продолжением теста на истории, т.е. все текущие переменные должны инициализироваться значениями с момента конца теста. т.к. если запускать алгоритм не за 5 лет а за месяц назад, какие-то факторы не будут учтены, и реальные сделки пойдут по другому…
А. Г., starscream, Да, для тестирования стратегий, плавно перетекающего в интрадей реал-тайм торговлю. Просто у меня алгоритм такой — запускается на истории в лет 5 одновременно штук 500 экземпляров одного и того же алгоритма с различными параметрами, различная величина стопов, различная глубина пямяти на максимум минимум и т.п… алгоритм балансировки назначает на каждой свече приоритеты каждой из 500 стратегий, в зависимости от её текущих результатов. Итоговая эквити после балансировки получается раза в 2-3 лучше чем каждая из входящих в отдельности по соотношению прибыль/макс.просадка. Таким образом мне нужен архив лет за 5 + реальные данные за каждый новый день, с задержкой не более 5 минут. Финам временами задерживает минут на 10. Хотелось соединить архив и QUIK, чтобы тест стратегии и реал-тайм торговлю на этой истории делать одновременно, т.к. реал-тайм торговля является продолжением теста на истории, т.е. все текущие переменные должны инициализироваться значениями с момента конца теста. т.к. если запускать алгоритм не за 5 лет, а за месяц назад, какие-то факторы не будут учтены, и реальные сделки пойдут по другому…
Обновление кредитных рейтингов в ВДО и розничных облигациях (ООО "АЗЮ" подтвержден ВВ.ru, ПР-Лизинг подтвержден ru.BBB+, АО "ГЛАВСНАБ" понижен C.ru, АО "Нэппи Клаб" присвоен статус "под наблюдением)
🟢ООО «Агро Зерно Юг» НКР подтвердило кредитный рейтинг на уровне BB.ru ООО «Агро Зерно Юг» — один из крупных российских экспортёров растениеводческой продукции. Компания поставляет пшеничные...
ByteDog — нейросеть от Positive Technologies для поиска вирусов
Мы разработали собственную нейросеть, которая находит вирусы на 20% точнее, чем классические модели машинного обучения.
Она построена на архитектуре трансформеров — той же, что используют...
ЮМГ МСФО 2025 г. - чистая денежная позиция превратилась в чистый долг
Компания Юнайтед медикал групп опубликовала финансовые результаты за 2025 год. Выручка компании за год выросла на 14,1% до 289,5 млн евро. В рублях рост составил +9,8% до 27,3 млрд руб. Во 2-м...
X5 операционные результаты 1 кв. 2026 г. - рост выручки ниже прогноза
X5 опубликовала операционные результаты за 1 квартал 2026 года. Выручка выросла на 11,3% до 1,19 трлн рублей. Сопоставимая выручка прибавила 6,1% при росте среднего чека на 7,9% и падении...
Алексей Зайцев, да с самого начала, когда человека с судимостью поставили у меня уже сомнения появились, о честности этой канторки управляющих, прям ОПГ по реализации и распилу на стороне имущества...
Дума приняла специальные законы и ВТБ сможет теперь просто выпустить новые рублевые суборды и обменять их на текущие валютные выпуски. Раньше им надо было добиваться голосования 75% держателей «за» по...
— получал текущее время;
— округлял до нужного периода;
— циклил вычитание периода и вызов функции
— функция ничего не выдавала
— делал на демо-счете, может в этом дело.
Не прибегая к помощи дополнительных программ для тех.анализа, на мой взгляд, проблему не разрешить!
пример скрипта экспорта историии из графика на lua:
contract = «RIU4»
ds1 = CreateDataSource(«SPBFUT», contract, INTERVAL_M5, «last»)
f = io.open(contract..os.date("_%Y_%m_%d.txt"),«w»)
i = 2
s = ds1:Size()
while i<=s do
t = ds1:T(i)
f:write(string.format(contract..",5,%.4d%.2d%.2d,%.2d%.2d%.2d,%d,%d,%d,%d,%d",t.year,t.month,t.day,t.hour,t.min,t.sec,ds1:O(i),ds1:H(i),ds1:L(i),ds1:C(i),ds1:V(i)).."\n")
i=1+i
end
f:close()
ds1:Close()
end
f:write(string.format(contract..",
5,%.4d%.2d%.2d,%.2d%.2d%.2d,%d,%d,%d,%d,%d",
t.year,t.month,t.day,t.hour,t.min,t.sec,
ds1:O(i),ds1:H(i),ds1:L(i),ds1:C(i),ds1:V(i)).."\n")
Труроботостроители экпортируют ТВС по DDE за день и парсят. Ну и накапливают ессно за предыдущие дни.
Есть еще вариант купайл портфеля который строит бары за день и экспортирует в SQL, а там оно накапливается триггерами. А робот читает оттуда.
Есть еще умельцы которые садяцца на экспорт из квика в проги теханализа, тоже вариант.
Намного проще Вашу перекурвфиченную страту переписать в прогу теханализа ̶п̶р̶о̶т̶е̶с̶т̶и̶р̶о̶в̶а̶т̶ь̶ ̶и̶ ̶в̶ы̶к̶и̶н̶у̶т̶ь̶ и использовать готовый экспорт из Квика.
Отношение потому что имхо Вы курвфиттер и вряд ли робастный, иначе хвастались бы не бектестами а реальными резалтами.
А стеб над собственным софтом потому что есть некие стандарты как хвастаться бектестами, у Вас даже средний трейд надо считать самому.
Качаем по DDE таблицу всех сделок, во внешней программе формируем минутные бары и дописываем в базу данных, а уже робот работает с базой данных минуток (до июня 2012 я базу минуток сформировал, закачав данные с финама с исправлением тех дней, где сформированные часовики не совпали с давно ведущимися мной часовиками с ноября 1998-го).
Как качать таблицу по DDE? Раньше качал в Excel и обрабатывал в VBA, потом переписал все в C# с использованием библиотеки NDDE.
В том числе и для тестирования на истории. А данных немного, пока в базе только скленный фьючерс на индекс РТС и 6 наиболее ликвидных акций. А с базой роботам работать удобно для текущих расчетов: можно брать только ту глубину, которая нужна. И трудоемкость небольшая — я же не переписываю всю базу, а дописываю в нее. Вопрос только в секундных задержках: минутка формируется в момент сделки из следующей минуты. Для моих систем это не принципиально.
Не понял про «мало толку от склеенных данных». Для тестирования я их и использую, правда, склеенный у меня только фьючерс. В акциях нечего склеевать.
А метатрейдер, как база данных — это вообще моветон. Есть же оракл, постгри, майэскуэль, на худой конец можно мскуэль использовать. Впрочем биржа историю, кроме дневок, уже сделала платной, хотя и недорогой — всего 5 тыс. Руб.
Я не собираюсь ни с кем спорить, у всех свои методы!!!
С уважением!
С историей я не заморачивался, но для текущих данных применяю «хитрую склейку» с убиранием межфьючерсных гэпов.
Думаю, что да, перепишем.
1250 плюс-минус 30 пунктов по ММВБ — максимальная коррекция, но там можем и не быть.
Нет, там курс доллара мешает.
c DDE ни разу не пробовал, считая этом механизм анахронизмом… но возможно стоит попробовать.