Завершил разработку своего первого торгового робота — свинг-трейдера и запустил его без режима отладки. Иду на работу, посмотрим что будет ) Надеюсь, он не сойдет с ума и не сольет мне счет. Все утро делал отладку и вроде исправил все возможные недочеты.
Естественно, он не тупо торгует скользящие средние. Мой алгоритм с диверсификацией, продвинутыми многолинейными индикаторами и учитывает проскальзывание, шаг и точность цены, причем не привязан к одному активу, а торгует заданный набор. Кроме этого, все транзакции и причины открытия сделок подробно записываются в логи, у каждого торгового дня свой отдельный лог файл.
Не продается и не будет продаваться ) Куриц, несущих золотые яйца, не продают )
Я не сразу пришел к этому. Начал разработку на 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 неликвидных актива — сделал усовершенствование.
вы настолько суровы, что сразу начали кодировать HFT роботов миновав стадию баровых страт?
Upd. А, не, перепутал Вас с другим: smart-lab.ru/blog/216370.php
Да и к тому же если на луа, то есть колбеки.
«Естественно, он не тупо торгует скользящие средние. Мой алгоритм с диверсификацией, продвинутыми многолинейными индикаторами и учитывает проскальзывание, шаг и точность цены, причем не привязан к одному активу, а торгует заданный набор. Кроме этого, все транзакции и причины открытия сделок подробно записываются в логи, у каждого торгового дня свой отдельный лог файл. „
и мне вспомнился анекдот почему-то:
Киев, аэропорт “Борисполь». Стоят два пилота с Ту-134. Подходит к ним иностранец и спрашивает, как пройти для посадки на Боинг. Ему в ответ:
— Шо?
Повторяет вопрос на английском.
— Шо?
На немецком.
— Шо?
На французском.
— Шо?
Не получив ответа культурный заморский гость идет дальше. Один жлоболётчик другому говорит:
— Дивысь Петро (Мыкола), який буржуин, сколько много языков знает!
— Hу и шо, допомогло це ему?
Не обратил внимание про самолет. Вообще в первоисточнике он про Крещатик.
Успехов.
Переходи на MQL — не пожалеешь.
пусть хотя бы месяц отторгует...
а зачем выбрали qpile, думается для профессионального программиста это немного дауншифтинг, если конечно вы не программист на shell языках
Если Вы профессиональный программист, и прошли стадию языков типа Lua и QPILE в алготрейдинге, переходите на плюсы / C#.
Вы и есть начинающий, без обид.
risovach.ru/upload/2013/03/mem/kakoy-pacan_13538766_orig_.jpeg
Труд физический исчез,
Да и умственный заменит
Механический процесс.
Позабыты хлопоты, остановлен бег -
Вкалывают роботы, а не человек.»
«Естественно, он не тупо торгует скользящие средние. Мой алгоритм с диверсификацией, продвинутыми многолинейными индикаторами и учитывает проскальзывание, шаг и точность цены,....»
как на самом деле:
if ( ubitok < 1000 )
{
if ( random(1,2) = 1 ) {
order->buy( random(1,5) );
} else {
order->sell( random(1,5) );
}
}
Чем дальше уходишь от средних тем быстрее к ним в итоге возвращаешься...))
Это обычные средние, никакие не цифровые и не квантовымышленные…
Вот прямо сейчас так показывает на Ри
Зеленая — средняя за весь сегодняшний день. ))
В направлении этой средней просто позиция побольше и закрывается частично… а против неё — меньше, со стопом и полным закрытием… Открывается поза на откатах и отскоках по направлению тренда… а он определяется уже по вашему желанию… в моём случае — самой быстрой из изображенных линий по восходящим минимумам и нисходящим максимумам...(короче говоря местам она меняет свой цвет) Ведь проще уже некуда, разве нет?
Система трендовая и если по позиции лось то это значит что пришел такой боковик, который она не в состоянии отработать Нужно просто подождать...
Вы это роботом торгуете или руками?
Робот на амиброкере стоит, и скрин оттуда. Но в основном работаю руками, бота включаю только когда ухожу куда то.
Вот почитайте: rusalgo.com/article/qpile-i-qlua
И переходите на qlua. Это оч. легкий язык, и справки по нему море.
Бинарные опционы с доходом до 92% всего за 60 секунд Подробнее: optionov.blogspot.com