Банальный вопрос — сохранение истории из 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 лет, а за месяц назад, какие-то факторы не будут учтены, и реальные сделки пойдут по другому…
Кросс-курс предпринял попытку прорваться ниже локальной поддержки 183,15, но покупатели вовремя перехватили инициативу. В пятницу атаку агрессивно отбили, сформировав мощное «бычье поглощение»....
Как изменились средние доходности облигаций (по рейтингам) за неделю? Продолжили снижение
Средние доходности облигаций в зависимости от рейтинга (бледные столбцы — доходности без сглаживания). И как они изменились за неделю. Снижение продолжилось.
Телеграм: @AndreyHohrin...
Реальные доходы: новый выпуск «Лампы Трампа» с Элвисом Марламовым
Рынки в дисбалансе: рубль держится, а золото, палладий и алюминий становятся звездами инвестиций. Долговые обязательства компаний, перспективы черной металлургии и нефть — где реальные риски, а где...
Росинтер Ресторантс Холдинг – рсбу/ мсфо
16 305 334 обыкновенных акций
www.e-disclosure.ru/portal/files.aspx?id=9038&type=1
Капитализация на 09.01.2026г: 1,673 млрд руб
Общий долг на 31....
Росинтер Ресторантс Холдинг – рсбу/ мсфо
16 305 334 обыкновенных акций
www.e-disclosure.ru/portal/files.aspx?id=9038&type=1
Капитализация на 09.01.2026г: 1,673 млрд руб
Общий долг на 31....
Alex666,
Газпром регулярно напоминает
Вот это интересно, кому и зачем напоминает, сидит в Лахте такой чувачок и за 500к₽/мес пару раз в неделю перепечатывает данные европейского источника, чт...
— получал текущее время;
— округлял до нужного периода;
— циклил вычитание периода и вызов функции
— функция ничего не выдавала
— делал на демо-счете, может в этом дело.
Не прибегая к помощи дополнительных программ для тех.анализа, на мой взгляд, проблему не разрешить!
пример скрипта экспорта историии из графика на 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 ни разу не пробовал, считая этом механизм анахронизмом… но возможно стоит попробовать.