Завершил разработку своего первого торгового робота — свинг-трейдера и запустил его без режима отладки. Иду на работу, посмотрим что будет ) Надеюсь, он не сойдет с ума и не сольет мне счет. Все утро делал отладку и вроде исправил все возможные недочеты.
Естественно, он не тупо торгует скользящие средние. Мой алгоритм с диверсификацией, продвинутыми многолинейными индикаторами и учитывает проскальзывание, шаг и точность цены, причем не привязан к одному активу, а торгует заданный набор. Кроме этого, все транзакции и причины открытия сделок подробно записываются в логи, у каждого торгового дня свой отдельный лог файл.
Не продается и не будет продаваться ) Куриц, несущих золотые яйца, не продают )
Я не сразу пришел к этому. Начал разработку на QPILE под QUIK с трех простых вспомогательных программ (выгрузка котировок, показания многолинейных индикаторов, отображение состояния портфеля и доходности). На основе этого опыта уже смог написать робота буквально за 4 дня — 2 дня проектировал, 1 день писал, 1 день делал отладку.
Я рад тому, что в принципе написал и запустил робота в бою. Мне даже не важно, принесет ли он прибыль. Может быть, принесет небольшие убытки. Но сам факт этого достижения позволит мне теперь совершенствовать уже что есть и доводить это до ума.
Что могу посоветовать и рассказать начинающим разработчикам роботов?
1. Почитал книгу «Торговые роботы на рос. фондовом рынке» Чеботарева. Ничего не узнал конкретного о создании роботов, но узнал важные философские моменты. Во-первых, трудно мириться с силами с инсайдерами, с которыми у нас не борятся, и торговать новости. Во-вторых, робот будет торговать без эмоций и моя задача уже теперь сводится только к поиску и оптимизации хороших стратегий. Человеку сложно справиться с эмоциями, он находит все новые и новые оправдания для удерживания убыточных позиций. По себе знаю.
2. Что использовал? Я пользовался несколькими статьями по QUIK, QPILE и за основу взял уже
готового робота, торгующего скользящие средние. В частности,
этой статьей. А также экстенсивно использовал документацию по QUIK, особенно раздел «Алгоритмическая торговля». Также гуглил все сомнительные моменты по языку QPILE.
3. У меня 8 лет опыта программирования. Я профессиональный программист, зарабатываю этим на жизнь. Несмотря на это, баги были и не мало. Я делал отладку очень долго и тщательно и исправил множество моментов. В отличие от других разработок, при разработке робота любая мелкая ошибка — признак наличия существенных проблем более общего уровня. И я переходил на этот общий уровень и старался устранить корень ошибки, а не симптом. Дебажить надо и при чем много. С первого раза у Вас не получится разработать робота без ошибок.
4. Я не использовал такие инструменты как TS Lab. Возможно, они полезны, но у меня не было необходимости. Все писал сам на уровне кода и писал то, что сам ясно понимаю. Я понимаю каждую запятую в своем коде, каждую строчку, каждую букву.
5. Торговую стратегию раскрывать не буду, скажу лишь, что робот делает ровно то, что я делал до этого полтора месяца и зарабатывал на этом. Активно торгую полтора месяца всего и уже решил перейти на робота, так как не выжал за это время максимум из своих закономерностей из-за психологических проблем.

6. Больше мудрость, чем конкретика — не бойтесь ничего. Fortis fortuna adiuvat — храбрым судьба помогает. Я боялся, что робот сольет счет. Но смог перебороть страх и довериться своей программе после отладки.
Буду добавлять апдейты сюда по мере появления новостей.
17.02.15. Пока все хорошо, +0.37 % к счету за день. Робот закрыл мои убыточные позиции и открыл новые позиции как и должен был. Итого, 8 сделок за день.
18.02.15. Первый день робот отторговал без слива счета. Выяснилось, что в нем во время боевой торговли оставались 2 ошибки. Но они оказались не столь критичными, так как я подтверждал один трендовый индикатор другим. Исправил их. В одном месте забыл поставить взятие по модулю, а в другом — фильтр, запрещающий покупать, когда поезд уже ушел. Кроме этого, когда я пришел домой, интернет не работал. Возможно, интернет упал во время торговли. Буду покупать интернет-флешку и, возможно, даже второй роутер — для страховки. Добавил утром еще 20 активов, которыми может торговать робот, и убрал 2 неликвидных актива — сделал усовершенствование.
«Естественно, он не тупо торгует скользящие средние. Мой алгоритм с диверсификацией, продвинутыми многолинейными индикаторами и учитывает проскальзывание, шаг и точность цены, причем не привязан к одному активу, а торгует заданный набор. Кроме этого, все транзакции и причины открытия сделок подробно записываются в логи, у каждого торгового дня свой отдельный лог файл. „
и мне вспомнился анекдот почему-то:
Киев, аэропорт “Борисполь». Стоят два пилота с Ту-134. Подходит к ним иностранец и спрашивает, как пройти для посадки на Боинг. Ему в ответ:
— Шо?
Повторяет вопрос на английском.
— Шо?
На немецком.
— Шо?
На французском.
— Шо?
Не получив ответа культурный заморский гость идет дальше. Один жлоболётчик другому говорит:
— Дивысь Петро (Мыкола), який буржуин, сколько много языков знает!
— Hу и шо, допомогло це ему?
Успехов.
Переходи на MQL — не пожалеешь.