Пишем статью "Как составить Техническое задание на торгового робота"

 

По примеру ветки Пишем статью "Как составить Техническое задание при заказе индикатора" необходимо также написать статью для заказчиков с советами по оформлению ТЗ для робота.

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

ПЛАН СТАТЬИ

Что нужно для заказа торгового робота

... нужен набор формальных правил

Почему важно иметь хорошее Техническое Задание

... кто ясно мыслит - ясно излагает

Что должно быть в Техническом задании

... заложенная идея (в общем), описание терминов и сигналов, алгоритм входа/выхода

     хорошие скриншоты описания Сигналов, где нет ничего лишнего

    блок-схемы

Где взять ТЗ, если сам не можешь составить

----Редко бывает, что есть строгая торговая система,  но не получается её описать.  Скорей всего системы нет, в таком случае.

     Но если вопрос только в терминологии (незнании языка,  на котором говорят экспертописатели) - то можно сначала создать работу по составлению ТЗ

     Рисуем на графиках входы, описываем словами, читаем статьи/книги

Какие термины использовать

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

    В самом ТЗ термины выделять жирным - пусть исполнитель обратит на них внимание и задаст вопрос, если что непонятно

    Нельзя отсылать на другие источники (сайты/книги и т.д.) Всё должно быть описано здесь и сейчас, никаких "потом по скайпу объясню"

Что писать в описании работы во Фрилансе

... нужна только общая формулировка - трендовая, контртрендовая, на пробитие уровней (как определяются уровни вкратце), есть ли индикаторы/Price Action/использование тиков

Общая идея торговой стратегии

... торгуем по тренду, тренд определяем так-то, входим на откате, откат определяем так-то, не торгуем вечером и утром

Описание сетапа на ожидание Сигнала

... необходимо формирование флета с последующим пробитием/ или ждем завершения европейской сессии и принимаем сигналы только в направлении её движения

Описание Сигнала

... Технические параметры описания - тренда/отката/пробоя - всё формализовано строго

Время жизни Сигнала

... как долго имеет силу сигнал - в барах / часах / до конца сессии/дня

Выставление ордеров и открытие позиций

... есть ли какие особенности, например, не ставим сразу SL/TP ,

   или  сколько попыток делаем для входа в рынок,

  или    выставление разных oredermagic/ordercomment в зависимости от времени/сетапа/паттерна

 что-то еще

Сопровождение торговой позиции/ордера

... есть трейлинг стоп или нет

    когда включаем TS

    двигаем ли отложенные ордера за ценой/против цены

    отслеживаем текущую прибыль/убыток по открытой позиции

    еще что-то

Отмена ордера и закрытие позиции

... удаляем ордера по времени/кол-ву баров/окончанию периода/ появлению противоположного сигнала/ пропаже сетапа

... закрываем позицию по времени/кол-ву баров/окончанию периода/ накопленной прибыли/ появлению противоположного сигнала/сетапа

     еще что-то

Расчет лота для выставления ордера

.... от баланса

      фиксированный

      от накопленной прибыли

      по результатам последних N трейдов

      от риска (дистанции SL)

      еще что-то

Обработка торговых ошибок и состояния окружения

... подробный логи при отправке торговых приказов

     обработка перезапуска терминала/коннекта/сервера

      обратная связь через мессенджеры/email

Разница между торговлей на открытии бара и внутри бара

...  сигналы могут пропадать и появляться в течение жизни бара

Тиковые/скальперские стратегии

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

    Любое ухудшение условий может убить стратегию

Сетки, мартингейлы, усреднения и обратная сторона этих улучшений

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

На что обратить внимание при выборе исполнителя

... Вопросы по существу

    Не умничает, чтобы произвести впечатление

    Четко называет реальные сроки и  стоимость (нет фраз "походу определимся"). Срок и цена может повыситься, если выясняться моменты, которые реально нельзя было предусмотреть заранее или решено было внести дополнительные работы

    Указывает сразу непонятные места в ТЗ, а не через 2 месяца обсуждения

    Хороший программист ценит своё и ваше время - поэтому любит проработанное непротиворечивое ТЗ

Что не может сделать за вас программист

  Превратить убыточную стратегию в зарабатывающего робота

  Провести оптимизацию и выявить все недостатки

   Написать программу без ошибок - они все равно будут.  Найти их и описать понятным образом - ваша задача.
 
Видимо, нужно сначала набросать костяк, чтобы начали критиковать/предлагать.
 
Rashid Umarov:
Видимо, нужно сначала набросать костяк, чтобы начали критиковать/предлагать.

В первую очередь обязательно договориться о терминологии, об одинаковости понятий в рамках терминологии, и т.п.

Например, многие заказчики упорно считают бары слева-направо. И, соответственно, говорят не текущий или первый бар, а третий или четвёртый после сигнала. А сигнал у них - на первом (а на самом деле имеют в виду во-первых не с нуля, а с единицы, и во-вторых - на самом деле это либо четвёртый бар, либо пятый).

Тут обязателен экскурс в верное направление нумерации баров.

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

 

Вот из последнего что было не понято мной. Даже не знаю как тут можно договорится о терминологии. Судя по отзывам - работу не поняли многие. 

Заказ с фриланса 

----

П.С. Счет баров это еще совсем мелкие проблемы))

 
Galina Bobro:

Вот из последнего что было не понято мной. Даже не знаю как тут можно договорится о терминологии. Судя по отзывам - работу не поняли многие. 

Заказ с фриланса

Это не заказ, а просто поток сознания. Человек не удосужился даже картинки вставить - посылает куда-то по ссылке.

Вместо описания советника - опять отсылка на какой-то сайт. Далее - включить какой-то функционал (неизвестно какой) - опять ссылка на продукт.

Сам текст - опять бредовый

Панель http://-------------------

a) упростить к такому виду https:/-------------------

б) чтобы после нажатия кнопки на клавиатуре, вместо "А" выставлялось "alt A"

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

Советник http://dropmefiles.com/KTK5s

а) вырезать из советника способ расчета по сложной формуле.

б) изменить способ уведомления на звуковой.

в) добавить сигнальную линию (N+С). цена пересекла - звуковой сигнал. 

г) включить в советник этот код https://www.mql5.com/en-----------------

Баршифт http://--------------

суть его в том, что он скрывает график цены, и открывет при нажатии f12. 

а) бывало, что при изменении таймфрейма график цены исчезал.

б) при удалении индикатора цена исчезает.

в) хотелось бы, чтобы действия с индикатором не затрагивали смещение графика.

г) когда индикатор поработал, я выставляю новую дату скрытия, но цена не скрывается.

д) при прикреплении баршифта график отпрыгивает в сторону. 

спсб


И при этом за все это готов заплатить 30-50 USD. Неужели кто-то вообще рассматривал этот заказ всерьез?

 

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

  • Мартингейл
  • АнтиМартингейл
  • Сетка
  • Мультивалютный
  • Скальпер
  • и т.д.

Какие бывают варианты во Фрилансе?

 
Наверно часто как раз категория - и т.д. Тип: поток сознания, как вы выше выразились.
 

Вот в том то и дело что "поток сознания" присутствует практически в каждом ТЗ, но в разной дозировке. 

Если говорить о категориях советников, то у вас пример классификации трейдера, с точки зрения исполнителя это будет по другом: 

* сигнальные - куча индикаторов с еще большей кучей настроек и еще по разных ТФ. Как они этим пользуются (иногда настроек получается чуть ли не сотнями) я не представляю. В этих заказах храмает та самая проверка, часто возникают вопросы "А почему тут открыл, а тут закрыл, а вот там вообще не открыл". Часто, в сложных случаях, делаю тестовую версию чтоб выводила в коммент на график значения индикаторов. Иногда, в таких заказах хромает логика, например, вопрос "А что если этот индикатор показывает сигнал уже на протяжении трех баров, а вот этот только сейчас развернулся - это будем считать сигналом? имеет значение когда какой индикатор показал сигнал?" - может спровоцировать ступор у заказчика. Но с ордерами, как правило, в таких заказов все очень просто - открыли по сигналу, закрыли по обратному, ну или СЛ, ТП, Тралл. 

* ордерные - от простого усреднения до сетки на сетку и т.д. Иногда попадаются заказы в стиле "от ордеров строятся сетки и каждая независимо от других", а потом еще лот следующего начального ордера зависит от профита суммарного нескольких сеток перед. Ну или еще лайт версия - открываем бай селл по каналу, напр. И т.д. разные вариации открытий в зависимости от предыдущих. Тут главная проблема чтоб человек мыслил категориями, часто идет передергивание в ТЗ. Например, определил что такое сетка (что с таким то шагом постоянным/переменным, строятся такие-то ордера, для них будет общий ТП от линии безубытка, тралл по аналогии и т .д.) и дальше уже перечислял операции с сеткой которые ему нужны (каждая следующая увеличенным лотом  или еще как-то). Что-то подобное категориям ООП. Часто заказчики в таком ТЗ пытаются еще прописать алгоритм как посчитать что еще более запутывает. 

*полу ручные - "подхватить" с советника линию что нарисовал заказчик (в таких случаях агитирую чтоб советник рисовал линию которую заказчик будет двигать), ордер, уровни Фибоначчи, выполнил что-то по нажатию кнопки и т.д.  В этом случае, часто заказчик вообще не думает что делать советнику если не одна линия на графике, а две, к примеру? какую брать? Т.е. не продумано взаимодействие советника. Часто заказчики так заняты прописыванием этой последовательности что трудно догадаться какая основная цель разработки, что он хочет с помощью этого делать. 

*любители использовать не по назначению - "а пусть советник еще чет рисует на графике и без разницы что буферов нет", "давайте программно включать автоторговлю", "а чтоб еще индикатор рисовался из советника (мт4)", отправка СМС (усердно мало Пуш, емейла), "чтоб графики открывал-закрывал", "сохранял котировки и пр" и чего только не придумают...

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

* мультивалютники - это редкая категория, были в основном те что открывали 2 ордера на разных символах и вели как один (по общему профиту/лосу  закрытие)

* копировальщики и пр. взаимодействие терминалов

И все это приправить ограничениями по времени работы, дням работы, Вычислением ТП/СЛ по пунктам, индикаторам каким-то, деньгам, Автолот и расчет лота в зависимости от СЛ (или наоборот)

 
Спасибо, Галина, неплохой у вас опыт. Представляю, как это весело бывает )
 

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

Текст из задания: 

ВЫСТАВЛЕНИЯ ОРДЕРОВ:

1. если срабатывает или открывается ордер на покупку (BUYMARKET, BUYLIMIT, BUYSTOP), то 

   робот сразу выставляет 3 ордера SELL STOP:

   1-ый ордер: STOPLOSS; ........ 

   2-ой ордер: TakeProfit; ........ 

   3-ий ордер  TakeProfit; ........ 


Я так и поняла что имеется ввиду неттинг на Мт5, тем более тогда возможны 2 "ТП".  А вот сегодня скрин с "зависимыми ордерами"

Ну вот где они берут эту терминологию?? "Зависимые ордера"...

 
Galina Bobro:

Ну вот где они берут эту терминологию?? "Зависимые ордера"...

Ну так нужно сразу и уточнять такие вопросы. Мне начало сразу не понравилось

ВЫСТАВЛЕНИЯ ОРДЕРОВ:


У человека явно проблемы с выражением мыслей