mql5 - вертикальная линия через определенное время с момента последней сделки - страница 5

 

Last deal Move Vertical line

version   "1.004"

Теперь линия передвигается с учётом требований.

   long offset_seconds=60*60*1;
   if(profit_last_day<=0.0 && profit_last_deal<=0.0)
     {
      offset_seconds=60*60*24;
     }
   else if(profit_last_day>0.0 && profit_last_deal<=0.0)
     {
      offset_seconds=60*60*2;
     }

   VLineMove(0,InpVLineName,time[rates_total-1]+offset_seconds);


После удаления индикатора с графика производится очистка комментария графика и удаляется линия.

//+------------------------------------------------------------------+ 
//| Custom indicator deinitialization function                                 | 
//+------------------------------------------------------------------+ 
void OnDeinit(const int reason)
  {
   Comment("");
   VLineDelete(0,InpVLineName);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
Файлы:
 
Vladimir Karputov:

Last deal Move Vertical line

version   "1.004"

Теперь линия передвигается с учётом требований.


После удаления индикатора с графика производится очистка комментария графика и удаляется линия.

Здорово!
Только, как я понял, идет неточность в определении требуемого времени, а именно сдвиг прибавляется к текущему времени, а необходимо, чтобы прибавлялся ко времени закрытия последней сделки.
В итоге линия может оказаться как в будущем, так и в прошлом:
- в будущем. Например, посл. сделка была 10 минут назад с отрицательным результатам по самой сделке и по дню в совокупности - линия сместилась на 23 часа 50 минут относительно текущего времени.
- в прошлом. Например, посл. сделка была вчера вечером в 20:00, в результате плюс по сделке и плюс по дню - линия нарисовалась на вчерашнем баре, соответствующем времени 21:00

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

Здорово!
Только, как я понял, идет неточность в определении требуемого времени, а именно сдвиг прибавляется к текущему времени, а необходимо, чтобы прибавлялся ко времени закрытия последней сделки.
В итоге линия может оказаться как в будущем, так и в прошлом:
- в будущем. Например, посл. сделка была 10 минут назад с отрицательным результатам по самой сделке и по дню в совокупности - линия сместилась на 23 часа 50 минут относительно текущего времени.
- в прошлом. Например, посл. сделка была вчера вечером в 20:00, в результате плюс по сделке и плюс по дню - линия нарисовалась на вчерашнем баре, соответствующем времени 21:00

Это не время определяется неточно, а Техническое задание всё время уточняется :)

Значит нужно доработать функцию LastProfitForPeriod и добавить в неё третий аргумент - время последней сделки. Но это я сделаю уже к обеду.

 
Vladimir Karputov:

Это не время определяется неточно, а Техническое задание всё время уточняется :)

Значит нужно доработать функцию LastProfitForPeriod и добавить в неё третий аргумент - время последней сделки. Но это я сделаю уже к обеду.

Владимир, по неточности техзадания обязательно учту на будущее!

 
Да, еще только сейчас заметил - Profit last day и Profit last deal  перестали в Comments считаться - по нулям показываются.
У меня посл. сделка была 19 часов назад, т.е. входит в диапазон +-24 часа от текущего времени
 
На всякий случай еще уточню - между посл. сделкой вчерашней и текущим временем была операция брокера ACID_NW - комиссия я так понимаю. А то мало ли - может это как-то "разорвало" алгоритм расчета
 
Еще для проверки открыл позицию - после закрытия по ордеру данные Profit last day и Profit last deal обновились и стали правильно показывать результат по новой посл. сделке и соответственно по текущему дню
 
renatmt5:
На всякий случай еще уточню - между посл. сделкой вчерашней и текущим временем была операция брокера ACID_NW - комиссия я так понимаю. А то мало ли - может это как-то "разорвало" алгоритм расчета

Менять ничего не буду, так как появляется всё больше тонкостей в зависимости от типа счёта: неттинг или хедж.


Дальше сами.

 
Vladimir Karputov:

Менять ничего не буду, так как появляется всё больше тонкостей в зависимости от типа счёта: неттинг или хедж.


Дальше сами.

Хорошо.
Спасибо огромное за помощь, Владимир!

Причина обращения: