ТЗ (техническое задание) для советника. Все, что важно об этом сказать

Важно ли техзадание при написании советника?

  • Да

    Голосов: 11 100,0%
  • Не всегда

    Голосов: 0 0,0%

  • Всего проголосовало
    11

Юлия

Главный редактор
Это тема, на которую хочется потом ссылаться, когда кто-то просит написать "простенького" советника с правилами, которые сам до конца не понял. Хотела бы, чтобы подключились программисты с опытом и поделились мнением, какое тз они предпочитают видеть? Что должно быть прописано обязательно? Что не обязательно, но желательно? Насколько важно техническое задание и прочие вопросы давайте поднимем. Упростим жизнь всем.
 

Юлия

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

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

AlexeyVik

Программист mql4 mql5
Предлагаю начать с вопроса, зачем нужно техзадание?

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

329762

И очень часто рассматривается только хороший на истории момент. А моменты неудач не хотят видеть до написания ТЗ.
 

Ugar

Гуру форума
Эт точно. Часто заказчики видят и описывают очень узко. А кода спрашиваю что должно происходить в этой и этой ситуации, оказывается что он их не рассматривал, начинает придумывать на ходу. Хотя до этих вопросов он был уверен что всё продумал.
А иногда ТЗ состоит из списка внешних переменных. В советнике должны быть такие настройки. Далее список переменных.
 

Corey Hate

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

MrGreen86

Гуру форума
Сложно требовать от заказчика хорошего технического задания да и смысла об этом нет.
К счатью программированияэто не строительство космических кораблей, и все можно переделать на лету. По этому я как правило уточняю все в общих чертах и делаю в рамках того что понял, понимая что при этом будут правки. Когда заказчик имеет в руках уже что-то, ему проще сформулировать что нужно изменить чтобы было как он задумал на 100%. Такой подход отнимает намного меньше времени и у меня и у заказчика, нежеди мучать его распросами по каждой мелочи.
Но задание вообще должно быть, чтобы было на что опереться.
 

CHET

НЕЧЕТ
Сложно требовать от заказчика хорошего технического задания да и смысла об этом нет.
К счатью программированияэто не строительство космических кораблей,
Но задание вообще должно быть, чтобы было на что опереться.
Во , отлично сказано .)))))))
...в нашем СКБ , да и по военке всегда так .....дают задание , которое должно быть исполнено в металле с учетом , ...угла падения света , температуры , влажности , количества обслуживающего персонала с насморком и месячными )))
...дальше конструктор и технолог начинают все это совмещать, скидываю в эксперементальный цех ....где рабочие посылают их на хрен с такой картой и предлагают свою.)))
....что сказать хочу , конечно от Я да А.....расписать ТЗ можно .
НО, КОГДА ПРОГРАММИСТ СРАЗУ В МОМЕНТЕ УВИДИТ ЗАДАНИЕ , ....цены ему нет .))
....дальше только техника .
 

Ugar

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

CHET

НЕЧЕТ
Угар ... по началу ,ни какой отсебятины я не желаю видеть .
Ответ должен быть простой ...мне это интересно и я смогу сделать ....это должен быть ответ исполнителя - программиста.
. Хотела бы, чтобы подключились программисты с опытом и поделились мнением, какое тз они предпочитают видеть?
Юлия , а с какого бодуна мне программист должен устанавливать правила ???
Плачу я , и танцую Я. )))

....но вот если мы подружимся , не обижу .))))))))
 

Ugar

Гуру форума
Угар ... по началу ,ни какой отсебятины я не желаю видеть .
Ответ должен быть простой ...мне это интересно и я смогу сделать ....это должен быть ответ исполнителя - программиста.
Если программист получив ТЗ, высылает вопросы для уточнений, значит он уже заинтересован в заказе и понимает что он ему по силам. Иначе не задавал бы вопросов, а просто отказался. Хотя, программистов много, может есть и те кому потрепаться важнее работы.
А правила у программиста должны быть. Хотя бы правила ТЗ. Иначе оно будет выглядеть так: Советник должен зарабатывать 100000% в день, без убытков в течении 10 лет. А что, это разве не ТЗ?
 

megapont

VIP-участник
Вообще тема интересная. Раньше я не встречал попыток раскрыть способ донесения до третьего лица (программиста) головных заморочек, которые дают команду пальцу человека "тыкнуть" кнопку.
А можно у опытных программистов поинтересоваться объемом в ТЗ условий (или фильтров) которые являются обязательными после возникновения события? То есть: Событие - Условие (может несколько условий) - действие.
Честно скажу, я не спец, может что не так спрашиваю, но судя по себе, самого события для сделки не достаточно (ну по крайней мере мне). нужны условия.
А вообще можно глянуть какое нибудь ТЗ, пусть даже древнее, но с кучей условий. То есть там события идут одним блоком, а условия под каждым событием.
 

MrGreen86

Гуру форума
Вообще тема интересная. Раньше я не встречал попыток раскрыть способ донесения до третьего лица (программиста) головных заморочек, которые дают команду пальцу человека "тыкнуть" кнопку.
А можно у опытных программистов поинтересоваться объемом в ТЗ условий (или фильтров) которые являются обязательными после возникновения события? То есть: Событие - Условие (может несколько условий) - действие.
Честно скажу, я не спец, может что не так спрашиваю, но судя по себе, самого события для сделки не достаточно (ну по крайней мере мне). нужны условия.
А вообще можно глянуть какое нибудь ТЗ, пусть даже древнее, но с кучей условий. То есть там события идут одним блоком, а условия под каждым событием.
Сколько нужно условий, столько и пишите. это ведь ваша стратегия. Но некоторые заказчики зачем то пытаются продемонстрировать знание логики, и даже рисуют логические схемы, что абсолютно бесполезно ) дело в том что в МТ4 МТ5 советники пишутся от обратного. А значит всю схему нужно перевернуть вверх дном.
Как видит это трейдер (заказчик):
событие А - событие Б - событие С - сделка.
как это выглядит в коде:
событие С - проверяем было ли событие Б - проверяем было ли событие А - сделка.

Правило простое, попытайтесь перечитать ваше задание с нуля и повторить это как инструкцию к торговле. Получилось? это в точности то что вы задумали? отправляйте ТЗ программисту.
 

Ugar

Гуру форума
Сколько нужно условий, столько и пишите. это ведь ваша стратегия. Но некоторые заказчики зачем то пытаются продемонстрировать знание логики, и даже рисуют логические схемы, что абсолютно бесполезно ) дело в том что в МТ4 МТ5 советники пишутся от обратного. А значит всю схему нужно перевернуть вверх дном.
Как видит это трейдер (заказчик):
событие А - событие Б - событие С - сделка.
как это выглядит в коде:
событие С - проверяем было ли событие Б - проверяем было ли событие А - сделка.
Можно написать как угодно, Хоть напрямую, хоть от обратного. Чаще всего удобнее писать от обратного, но иногда напрямую проще.
Ещё в голове у заказчика сначала открытие сделки, потом закрытие. А мне вот удобнее сначала закрывать, потом открывать.
 

Ugar

Гуру форума
Вообще тема интересная. Раньше я не встречал попыток раскрыть способ донесения до третьего лица (программиста) головных заморочек, которые дают команду пальцу человека "тыкнуть" кнопку.
А можно у опытных программистов поинтересоваться объемом в ТЗ условий (или фильтров) которые являются обязательными после возникновения события? То есть: Событие - Условие (может несколько условий) - действие.
Честно скажу, я не спец, может что не так спрашиваю, но судя по себе, самого события для сделки не достаточно (ну по крайней мере мне). нужны условия.
А вообще можно глянуть какое нибудь ТЗ, пусть даже древнее, но с кучей условий. То есть там события идут одним блоком, а условия под каждым событием.
Допустим, открытие Buy если CCI вышел из перепроданности, при условии что цена выше EMA и выше SAR.
Все значения индикаторов и цены для сравнения берутся с сформированного бара, что бы избежать влияние перерисовки индикаторов. Сделка открывается только если нет открытой сделки советника того же направления.
Вот условия для открытия сделки, описаны просто, но конкретно. Программист сам знает что надо проверить связь, проконтролировать исполнение сделки... Думаю это описывать не надо, за исключение если эти нюансы уже продуманы заказчиком и у него своё мнение на обработку ошибок. Ну например, если заказчик считает что скорость исполнения приказа важнее самого открытия. То он напишет что если по какой то причине брокер не открыл сделку, сообщить об этом трейдеру, но не пытаться повторять приказ.
 

MrGreen86

Гуру форума
Можно написать как угодно, Хоть напрямую, хоть от обратного. Чаще всего удобнее писать от обратного, но иногда напрямую проще.
на прямую конечно можно, но про надежность можно забыть. Или же при старте нужно будет прогнать N прошлых свечей в поисках связанных событий А и В, что еще более муторно чем писать от обратного.

Программист сам знает что надо проверить связь, проконтролировать исполнение сделки...
Ваши бы слова, да некоторым "программистам" в уши...
 

Юлия

Главный редактор
Спасибо всем за распространенные ответы. На самом деле, уже этого немало для понимания.

Юлия , а с какого бодуна мне программист должен устанавливать правила ???
Плачу я , и танцую Я. )))
Да это понятно :) Но есть большое НО. Обычно на берегу договариваются о цене, программист исполняет все, как написано, а потом начинается - то не так, это не то, это забыли, а тут вы не предупредили и не додумали. И работы выходит в 2 раза больше, а оплатить это никто и не планирует. Потому если вы готовы платить, то танцевать можно долго и успешно :) Но так далеко не все думают.
 

Юлия

Главный редактор
Правило простое, попытайтесь перечитать ваше задание с нуля и повторить это как инструкцию к торговле. Получилось? это в точности то что вы задумали? отправляйте ТЗ программисту.
Вот это отлично. Плюс - добавить картинку на каждое правило :)
 

Юлия

Главный редактор
Задам тогда еще вопрос: "Что чаще всего вы, товарищи программисты, дорабатывает уже после того, как все сделали?"
О чем надо напоминать заказчику?
 

CHET

НЕЧЕТ
Задам тогда еще вопрос: "Что чаще всего вы, товарищи программисты, дорабатывает уже после того, как все сделали?"
О чем надо напоминать заказчику?
Скажу так , со своей колокольни .....дело не в деньгах , с одной стороны я хочу увидеть кто он, что берется исполнить мое ТЗ ....ремесленник или художник , чей код будет летать словно ласточка.
С другой стороны ...он должен видеть по заданию , есть ли смысл с ним работать в долгую , потянет ли он сам.????
.....надо кормить семью свою , и это правильно .....проще очередному заказчику стандарт писануть .)))
Юлия , мои соседи ...один декан физмата , другой зам информатики универа ....они бабочки в твоем животе запрограммируют....что я с ними неоднократно делал .....))))
, ....но как трейдеры они НОООЛЬ , я на спор выигрывал у них ))))))
....Найти программиста , трейдера ....вопрос .((((((((((
 
Верх