Андрей Болконский (abolk): "Любой программист знает - программного продукта без багов не бывает"

MetaQuotes | 29 августа, 2011


В сервисе "Работа" Андрей Болконский (abolk) участвует с момента его открытия. На текущий момент на его счету десятки индикаторов и экспертов для платформ MetaTrader 4 и MetaTrader 5. С Андреем мы поговорим о том, что представляет собой сервис с точки зрения программиста.

Андрей, как вы пришли в трейдинг?

У меня высшее образование по специальности "экономическая информатика и автоматизированные системы управления". В свое время я участвовал в разработке и внедрении автоматизированных систем управления на промышленных предприятиях. Трейдингом начал заниматься в октябре 2005 года, а на платформе MetaTrader 4 торгую с декабря 2007 года.

В трейдинг меня привело желание заработать и заработать не просто много, а очень много. С первых дней я стал торговать на реальном счете (на демо никогда не торговал и все стратегии всегда проверял сразу на реале). Мой первый успех - это увеличение стартовых 50 долларов в 5 раз за месяц. Затем была неминуемая потеря всей суммы и даже больше.

Первая половина кризисного 2008 года у меня была очень успешной, я даже стал привлекать инвесторский капитал. 11 июля 2008 года свершилась "мечта идиота" - я заработал 1013.56 реальных долларов за один день. Но кризис привел меня к банкротству.

В трейдинге я использую ручные торговые системы. С автотрейдингом же познакомился, как только стал писать торговые системы на заказ. После этого начал использовать информационные модули и модули управления капиталом. На данный момент работаю над формализацией собственных методов принятия торговых решений.

Разработкой автоматических торговых систем активно занялся с августа 2010 года. Кстати, первое соглашение (дебют) было заключено через сервис "Работа". В списке "Завершенные" моя первая работа по счету 19-ая. Причин заняться разработкой автоматических торговых систем несколько: во-первых, это заработок, во-вторых, ничего сложного нет, и я это умею делать, в-третьих, это зарядка для ума.

Чем интересен вам сервис Работа?

На данный момент, сервис Работа для меня место сверхурочной работы.

Чем он интересен для меня:

   1. Публичное подтверждение выполненных заказов (есть список выполненных работ);
   2. Публичная реклама (есть топ разработчиков + перечень выполненных работ + отзывы);
   3. Удобство обсуждения с заказчиком соглашения на всех этапах разработки, тестирования и отладки (документированный диалог, который нельзя отредактировать задним числом);
   4. Арбитраж (быстрый, компетентный, справедливый и объективный + спокойствие для Заказчика);
   5. Гарантия платежа (я работаю только по 100% предоплате, а для заказчика дополнительная безопасность суммы контракта важна и критична);
   6. SMS-оповещение завершения этапов;
   7. Мгновенный ввод/вывод средств.

Может ли на, ваш взгляд, сервис приносить ощутимый доход?

Безусловно может и, думаю, для некоторых уже начал. В последнее время количество заказов только увеличивается. Но безработица и целенаправленное разрушение остатков экономики также не дремлют. Молодежь, и не только она, начинает искать себя на финансовых рынках. Кредо современного мира: "хочу денег, хочу много денег, а работать не хочу!" Не всем же зарабатывать на спекуляциях - а на разработке автоматических торговых систем зарабатывать, как показывает практика, реально.

Расскажите о недостатках сервиса Работа. Как от них можно избавиться?

Это сложный вопрос. С одной стороны, народная мудрость гласит, что на вкус и цвет товарища нет, с другой стороны, нет предела совершенству, а лучшее - враг хорошего. Как только появилась функция Сервисдеск, сервис перестал иметь недостатки.

Хотел бы отметить ограниченность платежных систем (стоило бы добавить WMR, ведь многие заказчики не имеют кошелька WebMoney и оплачивают WMR через платежные терминалы, через QIWI - в общем, в этом направлении надо продумывать). К тому же зачастую приходится вести диалог с заказчиками "на стороне", обсуждать заявку через скайп или почту  - это очень неудобно.

Возможно, это не недостаток, но я также столкнулся с тем, что заказчики-новички плохо ориентируются в вопросах, как заключить соглашение, как оплатить - хотя это детально описано в статье и есть ссылки.

Многие опытные разработчики жалуются на демпинг. Что вы сами по этому поводу думаете?

Информация о стоимости каждого соглашения в сервисе Работа публично доступна, поэтому тема адекватности оплата/трудозатраты и стала предметом обсуждения.

Вот одна из свежих цитат: "но эксперт за 10$... вызывает смех и "радость" за программистов, которые хотят возиться с такими заказчиками. Не уважают свое здоровье, время и нервы вообще никак. Вот поэтому и сидят, в заказах как в шелках, и при этом нет своей нормальной жизни и упорядоченного рабочего времени. Мантулят с утра до вечера за копейку. Господа программисты, уважайте свой труд и берегите свое здоровье!".

Но все надо стараться рассматривать объективно. Как говорил Козьма Прутков: "Зри в корень!". Моя практика показывает, что средняя стоимость работы в сервисе - $30. Это согласуется со статистикой, которую привел Ренат: через сервис Работа уже прошло 600 заявок общей стоимость 24000 долларов, то есть средняя стоимость одной работы равна 24000/600 = 40 долларов.

В русскоязычном сегменте стоимость работы ниже, чем в англоязычном. Средняя месячная заработная плата в РФ - $700 = $30/день = $3,75/час. При таком реальном положении вещей как расценивать эксперт за 30 долларов? Дорого или дешево? Уважение своего труда или нет?

Заказчики не готовы платить больше в силу ряда причин. Одна из причин - при заказе экспертов клиенты в большинстве случаев просто проверяют стратегию. Также следует учитывать, что программист использует свои наработки. Чем больше практика, тем больше наработок, тем быстрей выполняется каждое очередное задание и тем ниже его себестоимость.

Демпинг появился как только сервис "Работа" стал популярным и основная масса заказчиков стала обращаться со своими заявками к сервису.  Масла в огонь подлил топ разработчиков. Чтобы "нарисоваться" в топе отдельные программисты стали прибегать к откровенным накруткам  в стремлении получить любую работу любой ценой.

Мало того, поначалу экспертописатели-новички искренне считают, что любой эксперт пишется за 30-40 минут и рисуют в своем воображении идеальную картину ежемесячного заработка в $3000. При этом они не учитывают, что кроме времени на разработку, есть ещё и время на выяснение задания, на объяснение сделанной работы, на недомолвки, на недопонимания, на споры.

Практика показывает, что "болезнь демпинга" быстро проходит. К тому же, стоимость заявок на этапе публикации часто де-факто оказывается совершенно другой. Я демпингом не занимаюсь. Демпингующие новички быстро избавляются от иллюзий. К тому же здравомыслящий заказчик понимает, что чем опытней разработчик, тем качественней будет решение.

Мне понравилось высказывание Рената: "Нельзя заниматься краткосрочной максимизацией эффекта/прибыли - работайте честно и чисто. Это очень хорошая стратегия в долгосрочном периоде".

Самое эффективное антидемпинговое решение - это не обращать на него внимание. Достаточно открыть любой учебник по микроэкономике и познакомиться с понятием "монопсония" (в нашем случае: один заказчик и несколько жаждущих исполнителей). Есть два пути: совершенная конкуренция, при которой стоимость работы стремится к минимуму или к ее себестоимости, и сговор, в случае которого стоимость работы стремится к максимуму. В условиях Интернета ситуация "сговор" нереализуемая, да и для контроля за соблюдением условий сговора согласно теории необходим "рэкет".

Как вы успеваете выполнять большое количество заказов? Пользуетесь ли при этом прежними наработками?

С большим количеством заявок я справляюсь постепенно, заказ за заказом. К тому же количество работ в моем списке "Выполняются" - это не обязательно новые работы. Большинство из них уже сделаны и тестируются заказчиком. Я, как правило, не тороплю заказчика с тестированием. Я использую не собственные библиотеки в смысле набора функций, а шаблоны в смысле выполненных заказов.

Я разработал собственную систему классификации функциональности работы. Каждую новую работу я классифицирую по ряду признаков, затем нахожу в архиве последнюю аналогичную работу и вношу в ее код соответствующие простые или сложные изменения.

Что чаще заказывают? На каком языке?

Чаще всего заказывают на MQL4. Большинство заказов - это эксперты по отработке сигналов от одного или нескольких индикаторов. Затем по частоте заказов идут сетки ордеров и разные модификации "неваляшек".

Вспомните самый интересный проект, который вы выполнили на заказ.

Дело в том, что я давно торгую на реальных деньгах. Моя торговая система ручная, хотя в последнее время я автоматизировал ряд ее функций. Мой стиль торговли уже сложился. Могу откровенно сказать, что торговые системы заказчиков меня не интересуют. Я еще не встречал ни одной торговой системы, которая соответствовала бы моему стилю торговли. Поэтому в заказах меня интересует чисто процесс. Мои эксперты максимально настраиваемые с точки зрения параметров и максимально универсальны с точки зрения кода.

Заказывали ли вам эксперты специально для Automated Trading Championship?

Поступал такой заказ, но я от него отказался. Не хочу оказаться в ситуации, когда заказчик в случае своей неудачи на Чемпионате переложит всю ответственность на мои "баги". Любой программист знает, что программного продукта без "багов" не бывает. Чтобы избавиться от "багов", программное решение надо тщательно тестировать. Но того, что готовы платить заказчики, достаточно только на разработку и поверхностное тестирование.

Были ли заказы, которые вы не смогли выполнить и по какой причине?

Конечно были, как без этого?  Причины были разными: а) задание по сложности оказалось неадекватно стоимости, а заказчик отказывается доплачивать; б) заказчик начинает требовать сверх технического задания; в) заказчик плохо понимает реальное поведение свой торговой системы; г) не укладываешься по срокам выполнения; д) не сошлись характерами.

Самый удивительный конфликт у меня был с заказчиком, которому я сделал советник с максимально настраиваемыми параметрами и сверх того, что ожидал заказчик. Заказчик расценил мой подход как недопустимое отклонение от технического задания и обратился в Арбитраж.

Здесь следует понимать, что программист часто имеет дело с будущим миллионером, который очень нервничает по тому поводу, что он никак не может состояться как миллионер. Часто случаются конфликты с гридерами и лавинщиками. Мартингейл все-таки самый настоящий "вынос мозга"  - здесь заказчики часто плохо понимают реальное поведение своей торговой системы.

Также практика показывает, что чем меньше заказчик готов платить, тем больше сложностей будет с таким заказом. Ибо человек велик в мелочах - чем мельче, тем величественнее.

Какой был самый сложный и долгосрочный заказ, который вы реализовали? В чем была его особенность?

Над двумя такими заказами я сейчас работаю. Первый - это индикатор на построение волны. Второй - сложный статистический анализ ценового ряда. Особенность и сложность таких заказов заключается в том, что они требуют логической проработки.

В сервисе "Работа" есть Арбитраж для решения спорных вопросов. Приходилось ли вам с ним сталкиваться?

С Арбитражем я сталкивался. Причин тому было две. Первая причина - просьба расторгнуть соглашение. К сожалению, в сервисе Работа нет возможности расторгнуть соглашение по обоюдному желанию заказчика и исполнителя. Для этого приходится обращаться в Арбитраж.

Вторая причина: заказчик начинает требовать реализовать функции, которые не были указаны в техническом задании. Если доработки простые, их, как правило, реализовываешь. Но если доработки сложные, в таких случаях предлагаешь заказчику оформить соглашение на доработку. Однако заказчик не всегда соглашается, и начавшееся препирательство заканчивается обращением в Арбитраж.

Например, у меня был заказчик, который в процессе тестирования советника, требуя доработок, прямо сказал о своем техническом задании: "Четкой формулировки нет, это само собой разумеющееся. Работа советника была описана в общих чертах". Как завершить такое соглашение? Только через привлечение третьей стороны.

Что вы можете сказать по поводу решений Арбитража?

Решения Арбитража оперативные, компетентные, объективные и справедливые. Правда, все решения, кроме одного, были в мою пользу. В одном из случаев стояла задача выполнить "прямой перенос" кода индикатора с MQL4 на MQL5, что оказалось неэффективным.

У вас много постоянных заказчиков. Как вам кажется, почему они выбирают именно вас?

На финансовых рынках долго не живут.

Благодарим вас, желаем успехов.