Как с помощью торгового робота создавать лог в QUIK на QPILE
В процессе автоматизированной торговли, иногда просто необходимо фиксировать те или иные параметры работы торгового робота. В моем случае совмещенной обычной работы и торговли, крайне полезно оценить вечером, что делал робот, и какие переменные имели какое значение. Также запись параметров в лог-файл полезна при тесте системы без реальной торговли: в файл фиксируется время и цена предполагаемой сделки, а затем в экселе, например, анализируются полученные результаты. В QPILE достаточно удобно реализована возможность создания таких файлов. Для удобства саму запись файла я выношу в функцию, и в процессе выполнения присваиваю переменной LOG текстовое значение и вызываю саму функцию. Удобно и надежно. Итак, код:
Код на QPILE доступен только зарегистрированным пользователям.
Обратите внимание на пробелы в текстовых блоках при формировании переменной LOG, они необходимы для правильного распределения символов. В результате мы получим файл (специально его создавать не надо) со строкой «25032009 В 115633 КУПИЛИ 10 ЛОТОВ RIM9 ПО ЦЕНЕ 78000 ОТКРЫТАЯ ПОЗИЦИЯ РАВНА 15». Затем, при экспорте в Эксель достаточно указать, что данные у нас разделены пробелом и мы получим структурированную таблицу, готовую к анализу. Кому не нравятся пробелы — можно разделить лог-данные классическими «;». Функция WRITELN записывает строку в файл и переводит каретку, поэтому все записи будут добавляться уже к имеющимся. Существует еще функция WRITE, которая также пишет данные в файл без перевода строки. Также, нам доступна функция чтения текста из файла, но об этом чуть позже.
вот я и дошел на конец до логов,Евгений обясните пожалуста :пример мы используем быструю стратегию по стакану, на истории не отследиш ,собираем инфу в лог,а из лога там кто хочет или может ,кто аналезирует в Excel а кто то вручную метки на график лепит,в других программах я просто отключал номер счета ,а потом аналезировал из лога,сегодня попробывал в QPILE отключить номер счета ,квик начел ругатся,счет боевой,и если можно более подробно как цеплять блог лога, или нет некакой разницы где его вставлять в код можно после любого завершенного раздела?
С Уважением
Евгений Reply:
февраля 4, 2010 at 20:40
Я не совсем понял, что вы хотите сделать с логом?
фиксировать все параметра бота, я просто не нашел не в одной программе вставленный код лога,хотелось посмотреть где он распологается в какой очередности,в самой программе,или если есть программа где лог вставлен,посмотреть всю прог. от PORTFOLIO доEND
END_PORTFOLIO_EX,что бы точно понять где его прописывать в боте, Извеняюсь за не точно выражаемые мысли, я еще, ну сильно не очень опытный в плане программирования и автоматизации.
Евгений Reply:
февраля 4, 2010 at 21:24
фиксировать можно, записывай выбранный набор параметров в файл и анализируя его потом в экселе или программе теханализа. Но загнать в квик для того что он сам что-то делал — не получится. Можно лишь написать отдельную программу на купайле, которая будет просматривать этот лог и что-то делать.
Евгений, а допустимо проводить тесты на реальном счете отключив номер счета,чтобы завки не выставлялись ,а фиксировались в логе для дальнейщего анализа, я сегодня поробовал оключить счет квик меня обругал,
Евгений Reply:
февраля 4, 2010 at 22:04
А смысл? Просто вместо сделки пишите в другой лог направление и цену предполагаемой сделки.
Понятно,Евгений а есть возможность в этом году написать для примера,арбитражного робота ,по частям с подробными комментариями, обсуждениями как 2009 писали пробойного
Евгений Reply:
февраля 4, 2010 at 22:16
Это очень сложный процесс. Попробую.
Будем ждать,а пока читаем, вникаем ,тестируем и пытаемся создать что нибудь достоенное,