Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ну да. Странное вообще-то поведение штатной функции. Ведь мы здесь занимаемся именно подгонкой значений под ее "эталонность".
Штатная функция iBarShift из MQL4 при попадании запрашиваемого времени в дырку возвращает номер левого бара (т.е. субботний в данном случае), а iBarShift3 возвращает номер правого от дырки бара(т.е. понедельник), что логичнее.
Если находимся в дырке, то логично вернуть левый бар, последнее известное значение, но никак не будущее.
Если находимся в дырке, то логично вернуть левый бар, последнее известное значение, но никак не будущее.
PS: Is it needed to post English version or Russian translation is correct ?
Yes, the translation is correct.
Run this script and you will see that the functions produce exactly the same result.
Can you give an example of a timeframe and the time at which the values of these functions are different?
By the way, your function is often mistaken. Returns the value -1
Требование состоит в том, чтобы иметь ТОЛЬКО как версию mql4
У Вас функция не правильно работает с параметром exact=true.
Это видно из этого скрипта.
И вот полный рабочий аналог функции iBarShift с параметром exact:
Без этого параметра ее можно упростить до такого вида:
Yes, the translation is correct.
Run this script and you will see that the functions produce exactly the same result.
Can you give an example of a timeframe and the time at which the values of these functions are different?
By the way, your function is often mistaken. Returns the value -1
Please be serious. My code is for mql5.
It returns -1 because Bars() function is unreliable under MT4.
Script running on AUDUSD, M5 chart.
This is not happening with MT5.
Please be serious. My code is for mql5.
It returns -1 because Bars() function is unreliable under MT4.
Script running on AUDUSD, M5 chart.
This is not happening with MT5.
Вы же говорили что все должно работать как в MQL4.
Но этот скрипт можно запустить на MQL5 тоже
При exact=True и будущем времени возвращать нужно -1
И еще мой скрипт нашел у вас странную ошибку:
Эта ошибка подтверждается этой проверкой:
Значит я все же был прав про существование нештатных ситуаций в вашем алгоритме.Из всего анализа, который я сделал, напрашивается вывод, что вот этот полный аналог функции iBarShift:
на сегодняшний день является самым корректным, и при этом самый быстрым и с самым простым и коротким алгоритмом.
Если не нужен параметр exact, то можно использовать упрощенную версию:
или просто пользоваться таким равноценным вариантом без вызова функции:
Или я не прав?Молчание - знак согласия.
Через CTRL+SHIFT+F в ME сделал поиск "BarShift". Оказалось, что не использую подобной функции. Видимо, не нужно было самому.
Написал когда-то вариант для конвертации MT4-советников в MT5 одной строкой. Похоже, это единственная причина его написания.
С барами не работаю и не понимаю, почему так же не поступают все остальные.
В Ваш код не вникал. Но всегда рад, когда получается быстрое решение.
Через CTRL+SHIFT+F в ME сделал поиск "BarShift". Оказалось, что не использую подобной функции. Видимо, не нужно было самому.
Написал когда-то вариант для конвертации MT4-советников в MT5 одной строкой. Похоже, это единственная причина его написания.
С барами не работаю и не понимаю, почему так же не поступают все остальные.
В Ваш код не вникал. Но всегда рад, когда получается быстрое решение.
Я понимаю - о чем Вы, но для меня работа с барами пока актуальна. Может быть когда-нибудь для меня это станет тоже рудиментом.