Этот вопрос является довольно важным как для заказчиков, так и для разработчиков. Этой записью я хочу конкретизировать вопрос написания технического задания, чтобы между заказчиком и разработчиком не возникало вопросов.
Техническое задание — это документ, который должен описывать логику разработки, нужные настройки, детали и нюансы. Цель этого документа — четко описать алгоритм, и исключить двузначность трактования задания. Лично я не ставлю какие-то четкие требования к тех заданию, но тем не менее оно должно в полной мере описывать все, что хочет заказчик.
Техническое задание
Давайте рассмотрим что должно быть включено в ТЗ (техническое задание), но именно со стороны алготрейдинга.
- Основные положения. В этой части описывается общая логика бота, желаемое название, используемые индикаторы или другие источники информации для алгоритма, биржи или платформы на которых должен торговать бот.
- Логика бота. Это самый важный пункт технического задания. Здесь описывается вся логика торговых действий в деталях. Сигналы на вход, сигналы на выход/переворот, всевозможные дополнительные покупки/продажи, расчет объемов, выбор инструментов и т.д. — все для того, чтобы разработчик мог четко и однозначно понять, что надо заказчику. При этом, желательно добавлять скрины возможных ситуаций, это сильно улучшает понимания требований к боту.
- Интерфейс и настройки. В этом разделе описываем требования к внешнему виду — какие кнопки должны быть, какие окна, что должно выводится на экран (депозиты, открытые ордера, открытые сделки и т.п.), что должно быть в логах и т.п. Также, здесь указываем, какие параметры должны быть настраиваемыми — выбор инструментов, таймфрейм, параметры индикаторов, объемы и все что считаете важным.
- Заключение. В этом месте, можно указать важные нюансы, которые надо учитывать (например, возможность работы на удаленном сервере, подхват открытых позиций и т.п.), а также пожелания (бывает что заказчик не уверен в некоторых положениях своего ТЗ, либо надо написать инструкцию или снять видеообзор).
Техническое задание составляет заказчик, но если он не уверен что правильно создаст или просто не хочет этого делать, то это может сделать и разработчик. Но в этом случае, надо понимать, что это может стоить денег, и этому не надо удивляться — на это есть причина. На создание тех задания разработчик тратит свое время, а с готовым ТЗ заказчик может обратится к другому разработчику (например, не нравится стоимость или сроки), и время первого остается не оплаченным.
Важно понимать, что качество технического задания — это залог успеха самого торгового бота! К этому шагу в создании своего продукта надо относиться со всей серъезностью.