Библиотеки: iBarShift

 

iBarShift:

Многие ищут функцию iBarShift, которая была в языке MQL4 (например, 1,2,3).

В языке MQL5 ее нет, но есть все возможности для ее реализации в виде библиотеки. В качестве альтернативы многие программисты предложили свои варианты реализации этой функции на MQL5.

Я нашел 4 различных версии от circlesquares, komposter (из Codebase), dc2008 (из статьи "Переход с MQL4 на MQL5") и marketeer.

Обнаружилось, что все 4 версии содержат ошибки (не воспроизводят в точности работу функции iBarShift() языка MQL4). В частности, при указании в функции времени бара, время открытия полученного бара не соответствует искомому.

Я решил провести тесты точности и скорости работы различных вариантов реализации, и разработать свою версию. Библиотека и небольшой скрипт для тестирования производительности функций прилагается.

Results of the iBarShift benchmark for the 5 versions.

Автор: Alain Verleyen

 
Здравствуйте, Анже, могу ли я спросить вас как непрограммиста, но любопытного трейдера, что такое iBarShift и какие преимущества можно получить, используя эту программу? Спасибо
 
Rosiman:
Здравствуйте, Анже, могу ли я спросить вас как непрограммиста, но любопытного трейдера, что такое iBarShift и какие преимущества можно получить, используя эту программу? Спасибо

Привет, Ронни,

К сожалению, для непрограммиста это малоинтересно. iBarshift() - это функция, которая позволяет получить индекс бара/свечи из даты/времени. Она может быть использована в индикаторах и советниках. Есть прямая польза для трейдеров.

 
Спасибо, Анж.
 

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

 

Файлы:
 
komposter :

Before you post code with such rhetoric, would check it, that is ... He just hangs terminal:

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

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

iBarshift benchmark with build 842

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

 
В настоящее время существует ошибка в mql5 build 868 (возможно, также 858), которая приводит к очень медленному выполнению моей версии iBarshift(). Об ошибке сообщается в службу поддержки. В билде 842 все работает хорошо.
 
angevoyageur:

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

А причём здесь время открытия бара? В чём ошибка?

 
Можете ли вы объяснить, как работает ваша функция в отношении точного параметра? Я имею в виду, что возвращается? Английская документация для iBarShift() неверна...
 
angevoyageur:
В настоящее время существует ошибка в mql5 build 868 (возможно, также 858), которая приводит к очень медленному выполнению моей версии iBarshift(). Об ошибке сообщается в службу поддержки. В билде 842 все работает хорошо.

Здравствуйте,

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

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

спасибо

 
DC2008 :

And where is the opening of the bar? What is wrong?

На примере выше, это сроки M15, так что 21:14 это время принадлежащий бар с 11 сдвиг, начиная с 21:00, а не бар 10, начиная с 21:15. Вы можете проверить, что на графике и сравнить с iBarShift () на MQL4.