Библиотеки: iBarShift - страница 2

 
RaptorUK:
Можете ли вы объяснить, как работает ваша функция в отношении точного параметра? Я имею в виду, что возвращается? Английская документация для iBarShift() неверна...
Когда вы сказали, что документация mql4 неверна, вы имели в виду?

Если бар с указанным временем открытия отсутствует, функция вернет -1 или ближайший сдвиг бара, в зависимости от точности.

Таким образом, моя функция возвращает ровно то же самое, что и версия mql4. Если exact равно false, то возвращается сдвиг бара, содержащего значение времени, а не обязательно сдвиг ближайшего бара.
 
MaxTrader:

Привет,

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

хорошо сделано для обновленной рутины

спасибо

Вчера я провел тест с билдом 842 на брокере MT5. Обновления до билда 858/868 пока нет.

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

 
angevoyageur:

Вчера я провел тест с билдом 842 на брокере MT5. Обновления до билда 858/868 пока нет.

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

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

спасибо

 
angevoyageur:
Когда вы сказали, что документация mql4 неверна, вы имеете в виду

"Если бар с указанным временем открытия отсутствует, функция вернет -1 или сдвиг ближайшего бара в зависимости от exact."

Таким образом, моя функция возвращает точно то же самое, что и версия mql4. Если exact равен false, то возвращается сдвиг бара, содержащего значение времени, а не обязательно ближайший сдвиг бара.

Да, русский перевод через Google говорит о другом...

Поиск бара по времени. Функция возвращает смещение бара, которому принадлежит указанное время. Если указанного временного бара нет ("дыра" в истории), функция возвращает, в зависимости от параметра Exact , -1 или смещение ближайшего бара.

. . Дело не в открытом времени, а в том, что время находится в пределах жизни бара...

 
RaptorUK:

Да, русский перевод через Google говорит о другом...

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

Да, поэтому моя версия работает как русская документация. Вы сообщали об этой ошибке перевода в службу поддержки?
 
angevoyageur:
Да, моя версия работает как русская документация. Вы сообщали об этой ошибке перевода в службу поддержки?
Нет.
 
RaptorUK:
Нет.
Готово.
 
angevoyageur:
Выполнено.
Спасибо
 
angevoyageur:

Какая риторика чем ты говоришь?

Не волнуйся, я проверил его. Это не мой код, который бродит терминала, это новый MT5/mql5 ошибка (сборка 858? - 868).

Все версии, в том числе ваш, прослушиваются при испытании с DateTime не соответствующие времени открытия бара.

Please, write in English. Automatical translater is not perfect.


Here is code and results from MT4:

#property show_inputs

extern datetime searchDate  = D'2013.10.25 21:15:00';
extern bool     exacts      = false;

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
{
   int shift=iBarShift(Symbol(),PERIOD_M15,searchDate,exacts);
   Print("iBarShift for ",TimeToStr(searchDate)," is ",shift);

   return(0);
  }
//+------------------------------------------------------------------+

22:52:16 sBarShift EURUSD,M15 inputs: searchDate='2013.10.25 21:15'; exacts=false

22:52:16 sBarShift EURUSD,M15: iBarShift for 2013.10.25 21:15 is 6


22:52:29 sBarShift EURUSD,M15 inputs: searchDate='2013.10.25 21:17'; exacts=false

22:52:29 sBarShift EURUSD,M15: iBarShift for 2013.10.25 21:17 is 6


22:52:38 sBarShift EURUSD,M15 inputs: searchDate='2013.10.25 21:14'; exacts=false

22:52:38 sBarShift EURUSD,M15: iBarShift for 2013.10.25 21:14 is 7


22:53:32 sBarShift EURUSD,M15 inputs: searchDate='2013.10.25 21:15'; exacts=true

22:53:32 sBarShift EURUSD,M15: iBarShift for 2013.10.25 21:15 is 6

 

22:52:52 sBarShift EURUSD,M15 inputs: searchDate='2013.10.25 21:17'; exacts=true

22:52:52 sBarShift EURUSD,M15: iBarShift for 2013.10.25 21:17 is 6


22:53:17 sBarShift EURUSD,M15 inputs: searchDate='2013.10.25 21:14'; exacts=true

22:53:17 sBarShift EURUSD,M15: iBarShift for 2013.10.25 21:14 is 7

 

 Here is results from MT5:

searchDate='2013.10.25 21:15'; exacts=false

2013.10.27 22:58:08 TestBarShift (EURUSD,M15) iBarShift (komposter) for 2013.10.25 21:15 is 6 in 0 milliseconds.

searchDate='2013.10.25 21:17'; exacts=false

2013.10.27 22:58:20 TestBarShift (EURUSD,M15) iBarShift (komposter) for 2013.10.25 21:17 is 5 in 0 milliseconds.

searchDate='2013.10.25 21:14'; exacts=false

2013.10.27 22:58:29 TestBarShift (EURUSD,M15) iBarShift (komposter) for 2013.10.25 21:14 is 6 in 0 milliseconds.


searchDate='2013.10.25 21:15'; exacts=true

2013.10.27 22:58:40 TestBarShift (EURUSD,M15) iBarShift (komposter) for 2013.10.25 21:15 is 6 in 0 milliseconds.

searchDate='2013.10.25 21:17'; exacts=true

2013.10.27 22:58:49 TestBarShift (EURUSD,M15) iBarShift (komposter) for 2013.10.25 21:17 is -1 in 0 milliseconds.

searchDate='2013.10.25 21:14'; exacts=true

2013.10.27 22:58:58 TestBarShift (EURUSD,M15) iBarShift (komposter) for 2013.10.25 21:14 is -1 in 0 milliseconds.


I see the deffirence in results and I'll fix my code shortly.

 

As for your code - I can't test it because it don't work in last MT5 build. 

 
komposter:

Please, write in English. Automatical translater is not perfect.


Here is code and results from MT4:

 

 Here is results from MT5:


I see the deffirence in results and I'll fix my code shortly.

 

As for your code - I can't test it because it don't work in last MT5 build. 

Thank you, I have to fix my code also when exact is true, as I misunderstood this parameter. English documentation for iBarShift is wrong.

The mql5 bug is on Bars() function, I reported it to Service Desk.