Банальный вопрос — сохранение истории из 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 лет, а за месяц назад, какие-то факторы не будут учтены, и реальные сделки пойдут по другому…
Важнейшим эффектом сделок по покупке «Таксиагрегатор» и IntellectMoney будет развитие синергических связей между компаниями Группы. 🟢 Займер будет предоставлять займы водителям, подключенным к...
На прошлой неделе мы организовали поездку для представителей медиа и финансового сообщества на завод лазерной дочки SOFL — VPG LaserONE (входит в наш кластер «СФ Тех»). В экскурсии приняли участие...
Король СПГ представил отчет по МСФО за 2025 год Новатэк (NVTK) ➡️Инфо и показатели Результаты — выручка: ₽1,4 трлн (-6%); — EBITDA: ₽859,3 млрд (-15%); — чистая прибыль:...
Мой Рюкзак #63: ВТБ - дальше без меня, меняем на более крепкий банк, дивидендные отсечки близко
Февраль продолжает радовать стоимостных инвесторов, все по стратегии, которую описывал в конце прошлого года
Прошлый пост тут — smart-lab.ru/mobile/topic/1260904/
Было 25,9 млн...
⭐️Котайджест🐾 ЦБ снова всем помог, но этого пока недостаточно. Как на счёт 12% к концу года? 💵ОблигацииЧас ОФЗ настал: после нескольких недель падения, гос.облигации выросли больше других на фоне мягк...
⭐️Котайджест🐾 ЦБ снова всем помог, но этого пока недостаточно. Как на счёт 12% к концу года? 💵ОблигацииЧас ОФЗ настал: после нескольких недель падения, гос.облигации выросли больше других на фоне мягк...
Школа Свободных Наук,
А шорт уже отработан.
На той недели цена до 7копеек опускалась так что в какой то мере короткий шорт с небольшим процентом был отработан.
В длинную врятли кто то встава...
Alexey Rondine, с финама статья-в целях повышения «прозрачности» бизнеса эмитента, увеличится необходимость принятия отдельной утвержденной Дивидендной политики ПАО «Казаньоргсинтез», что, с учетом...
СИМка навечно прикреплённая к телефону-одна из 20 инициатив наших АЙТИ думных
10 февраля Госдума приняла в первом чтении второй пакет мер по борьбе с кибермошенниками. Он состоит из 20 инициатив ...
— получал текущее время;
— округлял до нужного периода;
— циклил вычитание периода и вызов функции
— функция ничего не выдавала
— делал на демо-счете, может в этом дело.
Не прибегая к помощи дополнительных программ для тех.анализа, на мой взгляд, проблему не разрешить!
пример скрипта экспорта историии из графика на 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 ни разу не пробовал, считая этом механизм анахронизмом… но возможно стоит попробовать.