Кто работает в фрилансе, поделитесь "критериями приёма" работы заказчиком - страница 3

 
o_o:
 

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

как быть в таких случаях и считаются ли они клиническими?

У меня именно так и было.

Подключался по Скайпу, просил демонстрацию экрана, и руководил действиями, чтобы коллега (он ТС разрабатывал, а я - закатывал ее в эксперта) нашел лог-файл, и отправил его мне. Я - смотрел на лог-файл, и объяснял, почему было произведено то или иное действие.

Никогда от партнера не ждал, что он будет разбираться в логах - у него "мозг не заточен под это". Сам поглядел, сам понял - и объяснил, что и почему. Далее - решаем, то ли так и оставить, либо тут надо что-то изменить.

Но, повторю - я работал не за деньги. Соответственно, наехать на меня было трудно.

 
George Merts:

У меня именно так и было.

Подключался по Скайпу, просил демонстрацию экрана, и руководил действиями, чтобы коллега (он ТС разрабатывал, а я - закатывал ее в эксперта) нашел лог-файл, и отправил его мне. Я - смотрел на лог-файл, и объяснял, почему было произведено то или иное действие.

Однажды, когда предложил сделать как Вы, так же меня спросили что такое скайп

и я понял, что сайп тут не поможет )

ЗЫ: использовать тимвивер предлагать не стал )
 
o_o:

судя по всем ответам в ветке основная идея - "программист сам себе доктор."

если он не добавит вывод всевозможной инфы на чарт или в лог, то

1) заказчик никогда этого сам не попросит

2) вопросы будет присылать бездоказательно "почему здесь вход?" без условий.

3) найти самостоятельно строки в логе или вывод на чарт нужной инфы - это уже для них высшее знание, освоить которое мало кто может.

----


тогда вопрос такой

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

как быть в таких случаях и считаются ли они клиническими?

лог по большей части нужен исполнителю, а не заказчику. Заказчику нужна правильная работа.

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

часто это помогает.

 
Вопросов не бывает, если клиент умеет пользоваться тестером стратегий.  Проверка и поиск багов быстро проходят.
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 
Taras Slobodyanik:

Для этого нужно чтобы заказчик понимал МТ4/МТ5.
Многие не могут заглянуть в лог, посмотреть что происходит.
Просто пишут - "у меня не работает".
Начинаются объяснения где логи, куда смотреть, что прислать...

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

Кажется, это самый простой способ сэкономить нервы.

 
Rashid Umarov:

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

Кажется, это самый простой способ сэкономить нервы.

это действительно самый простой вариант, но штатными средствами это не сделать, а использовать dll не всем понравится.

потому простой скрин заготовлен заранее

откр

 

сделал за 2017 2 работы, думал за инет заплатить хватит


первая ладно, обещание 5 баксов за скрипт потом "спасибо прощайте, чс" 


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

1 - а почему он тут открыл а тут нет? сделай чтоб и там открывал

2 - а почему он работает в убыток? реализация правильная,  но почему в убыток?

3 - а как найти логи чтоб прислать?

4 - а почему я установил его в папку а он не работает?

5 - а можно сюда прикрутить расчет по двум индикаторам, сетку и мартингейл с опцией чтоб можно было включать и выключать?

6 - хочу чтоб рисовал объекты на каждый ...!


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


И скорее всего это будет камень в огород разработчикам. Создаешь на 4ке инструмент, кидаешь его на график, там выдает "время запуска такое то параметры такие то" И как это потом вытаскивать из лога если в лог эти сроки не пиуштся?

 

https://www.mql5.com/ru/docs/chart_operations/chartscreenshot

Скрин через N сек или на новом баре.

В настройках чтоб можно отключить.

Зак., сам смотрит свои 10000 картинок.

+ лог.

Документация по MQL5: Операции с графиками / ChartScreenShot
Документация по MQL5: Операции с графиками / ChartScreenShot
  • www.mql5.com
//| Expert initialization function                                   | //| Expert tick function                                             | //| ChartEvent function                                              |
 

Вот так я себе сделал.


//dzM_ChartScreenShot(ChartID(), 0, 0, true);
//dzM_ChartScreenShot(ChartID(), 1280, 1024, false);

//========= ChartScreenShot 115
int dzM_ChartScreenShot(long ChartIDF, long Ch_Width, long Ch_Height, bool ControlMinF)
{
   //Print("--------- ", _Symbol," --------------");
   
   long Tmp_Height=0, Tmp_Width=0;

   //--------- Height
   if(Ch_Height == 0)
   {
      long Tmp_ChartIDF = ChartFirst();
      
      do
      {
         Tmp_Height = ChartGetInteger(Tmp_ChartIDF, CHART_HEIGHT_IN_PIXELS);
         
         if(Ch_Height < Tmp_Height) Ch_Height = Tmp_Height;
         
         //Print(ChartSymbol(Tmp_ChartIDF), "   Tmp_Height= ", Tmp_Height);
         
         Tmp_ChartIDF = ChartNext(Tmp_ChartIDF);
      }
      while(Tmp_ChartIDF != -1 && !IsStopped() );
   }


   //--------- Width
   if(Ch_Width == 0)
   {
      long Tmp_ChartIDF = ChartFirst();
      
      do
      {
         Tmp_Width = ChartGetInteger(Tmp_ChartIDF, CHART_WIDTH_IN_PIXELS);
         
         if(Ch_Width < Tmp_Width) Ch_Width = Tmp_Width;
         
         //Print(ChartSymbol(Tmp_ChartIDF), "   Tmp_Width= ", Tmp_Width);
         
         Tmp_ChartIDF = ChartNext(Tmp_ChartIDF);
      }
      while(Tmp_ChartIDF != -1 && !IsStopped() );
   }

   //Print(_Symbol, "   1 Ch_Width= ", Ch_Width, "   Ch_Height= ", Ch_Height);


   //------------------ Control 640*480
   if(ControlMinF && Ch_Height < 480) Ch_Height = 480;
   
   if(ControlMinF && Ch_Width < 640) Ch_Width = 640;


   
   Ch_Width = long(Ch_Width * 1.05);
   
   string NameF = StringConcatenate(WindowExpertName(),"\\", ChartSymbol(ChartIDF),"\\", ChartPeriod(ChartIDF),"\\",
   IntegerToString(ChartIDF),"\\" , IntegerToString( TimeCurrent() ), ".gif" );
   
   //Print(NameF);
   
   
   //Print(_Symbol, "   2 Ch_Width= ", Ch_Width, "   Ch_Height= ", Ch_Height);
   
   ChartScreenShot(ChartIDF, NameF, int(Ch_Width), int(Ch_Height), ALIGN_RIGHT);
      
   return(GetLastError() );
}
 
Rashid Umarov:

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

Кажется, это самый простой способ сэкономить нервы.

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