Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
> Интересует не способ как обойти этот баг, а исправление самого бага как такового. Чтоб небыло его вообще.
Не сочтите за ГРУБОСТЬ и НАЕЗД, но указав на то что это БАГ Вы меня просто убили...
По сути вопроса (предложения):
Это Вам не MQL4, и Period() не представляет явно количество секунд/минут в ТФ.
Чтобы получить количество секунд в периоде нужно воспользоваться функцией PeriodSeconds.
А если Вы всеж попытаетесь выразить Period в виде числа, то в итоге получите всего-то числовое значение соответствующее идентификатору данного периода в перечислении ENUM_TIMEFRAMES.
Ну, открываем справку по функции Period(). B что мы видим?
Возвращает значение таймфрейма текущего графика.
ENUM_TIMEFRAMES Period();
Возвращаемое значение
Содержимое переменной _Period, в которой хранится значение таймфрейма текущего графика. Значение может быть одним из значений перечисления ENUM_TIMEFRAMES.
Щёлкаем по ссылке ENUM_TIMEFRAMES - открывается таблица, в которой перечислены периоды.
PERIOD_H1 1 Час
Всё как и в MQL4. Причём тут число 16386?
Метаквотесы в своём репертуаре - справку пишут не для пользователей, а используют как записную книжку для самих себя. Им ясно что к чему, а что возникнет в мозгу пользователя, при прочтении ихнего текста - им до лампочки. Видать нет у них профессионального редактора, который владел бы элементарной стилистикой русского языка (хотя бы на уровне букваря). :(
Устал я просто уже при освоении MQL4 от безграмотности изложения материала метаквотесами. Чувствую в MQL5 снова придётся идти через пень-колоду.
Ну, открываем справку по функции Period(). B что мы видим?
Щёлкаем по ссылке ENUM_TIMEFRAMES - открывается таблица, в которой перечислены периоды.
PERIOD_H1 1 Час
Причём тут число 16386?
Метаквотесы в своём репертуаре - справку пишут не для пользователей, а используют как записную книжку для самих себя. Им ясно что к чему, а что возникнет в мозгу пользователя, при прочтении ихнего текста - им до лампочки. Видать нет у них профессионального редактора, который владел бы элементарной стилистикой русского языка (хотя бы на уровне букваря). :(
А вот при том, что PERIOD_H1 в ENUM_TIMEFRAMES имеет кодовое значение 16385, а раньше в качестве этого значения выступало 60 (по числу минут).
Кализии подобного рода возникают в следствии того, что MQ пока не опубликовали коды для отдельных значений нумераторов (идентификаторов), как было это сделано в справке по MQL4.
Я лично (может и кто другой тоже) просил указывать эти КОДЫ (значения) в справке, чего пока не сделано.
PS
Тут такое дело - Если вы откроете справку по функции Period() в MQL4 и MQL5 то вот что сразу бросится в глаза (по крайней мере должно):
MQL4 - Возвращает значение числа минут периода для текущего графика.
MQL5 - Возвращает значение таймфрейма текущего графика.
Этого достаточно для обычных разработчиков, а для тех кто хочет работать на более низком уровне (к примеру передать информацию в DLL или создать библиотеку для миграции) нужно знать числовой КОД.
В MQL4 этот код соответствует числу секунд (поскольку возвращается число секунд), а вот в MQL5 совсем другие правила...
Сводная таблица по значениям кодов для Period() в MQL4 и MQL5 будет выглядеть примерно так:
PS
Надеюсь, что теперь все будет предельно понятно... :)
Сводная таблица по значением кодов для Period() в MQL4 и MQL5 будет выглядеть примерно так:
>PS
Надеюсь, что теперь все будет предельно понятно... :)
Посмотрите на биты значений в MQL5...
Вроде все точно указано. Ил я суть Вашего поста не понял...
Цифры похожи на правильные, но почему именно такие, можно узнать взглянув на двоичное значение.
Сводная таблица по значениям кодов для Period() в MQL4 и MQL5 будет выглядеть примерно так:
PS
Надеюсь, что теперь все будет предельно понятно... :)
Я знаю формальную логику и отличия в терминах бросились в глаза сразу. Дело в том, что чтение справки по языку MQL5 ясности во многих вопросах не даёт. Понятно, что метаквотесы выбросили в общий доступ терминал для того, чтоб привлечь на свою сторону группу бетта-тестеров - этот ход экономит им время и деньги. Но вот отдать пользователям спраквку, в которой отсутствует ясность - это большущий промах с их стороны. Ну например, открываем самый главный её раздел "Переход с MQL4":
Предопределенные переменные
В MQL5 нет таких предопределенных переменных как Ask, Bid, Bars. Переменные Digits и Point немного изменились в написании, как показано в таблице.
Таблица не даёт информации по Ask, Bid и Bars. Попытка воспользоваться поиском того же слова Ask приводит к тому, что человек сталкивается с совершенно непонятной ему конструкцией запроса последних цен. Разработчик не мог предвидеть это ещё тогда, на этапе печатания этого участка справки? Чушь. Почему так могло произойти? Причина одна - отсутствие системности - то есть отсутствие чёткого плана будущего сочинения. Скорее всего, что справку писали вразброс, потом просто склеили отдельные куски и вот вам "справка". Это ни куда не годится. Ни кому не нравится читать чужие черновики!
Ладно, пусть это даже черновик - неужели трудно было ниписать иначе, например, вот так:
Предопределенные переменные
В MQL5 нет таких предопределенных переменных как Ask, Bid, Bars. Получение этих значений в языке MQL5 происходит по другим правилам. Чтобы чётко представлять себе как это делается, необходимо ознакомиться с разделами "111", "2222" и "3333".
Переменные Digits и Point немного изменились в написании, как показано в таблице.
Всё!!! Такой простой ход и ТАКАЯ экономия времени и сил.
Чтение справки по MQL5 больше похоже на блуждание по дремучему лесу без карты местности, без компаса и без возможности залезти на дерево и сориентироваться. Какое возникет желание? Правильно - не входить в такой лес вообще. Разработчик от и до знает этот лес. Его нежелание вручить пользователю путеводитель вызывает по меньшей мере недоумение, по-большей - отвращение.
Когда я читаю ответы разработчиков типа: "У нас сейчас более важные, чем эта, задачи", - так и хочется спросить, мол, какого же лешего вы тогда выложили столь грязносделанную работу? Это же минус к репутации. Ни лучше было бы сначала выверить всё от и до, отладить, отшифовать как следует и не мучить пользователей своими черновиками?
Нет слов. Метатрейдер 4 уже сколько лет используется? Правильно, много. А нормального учебника по языку MQL4 до сих пор нет. Был один активист - попытался сделать такой учебник и потерпел неудачу. Он трудолюбивый человек и только. Его книга не тянет на нормальный учебник. За неимением лучшего сие творение и лежит сейчас на сайте как учебник. Почему на учебник оно не тянет? Да всё просто - читают начинающие эту книжку, потом выходят на форум и такую фигню спрашивают, что диву даёшься. Был бы нормальный учебник, такого бы не происходило - читатель получал бы яснось и видел бы обоснованность использования того или иного рессурса в будущем коде.
Меня долгое время так и подмывало бросить всё и сделать две вещи - нормальный редактор кода для MQL4 и нормальный учебник по этому языку. Но поскольку объём работ колоссальный, а кроме чувства собственного удовлетворения я ни чего не получил бы за такую работу, я не стал браться за осуществление этих идей.
Короче, подожду наверно, пару лет - пусть метаквотесы пошлифуют свои MQ5-творения. Не хочется даже прикасаться к столь ужасно сделанной работе. И без того уже "все руки в ихних занозах". Они бы лучше отладили от и до семейство MQ4, чем в спешке грубо клепать MQ5.
Я разочарован.
Я знаю формальную логику и отличия в терминах бросились в глаза сразу. Дело в том, что чтение справки по языку MQL5 ясности во многих вопросах не даёт. Понятно, что метаквотесы выбросили в общий доступ терминал для того, чтоб привлечь на свою сторону группу бетта-тестеров - этот ход экономит им время и деньги. Но вот отдать пользователям спраквку, в которой отсутствует ясность - это большущий промах с их стороны. Ну например, открываем самый главный её раздел "Переход с MQL4"....
Я разочарован.
Вполне приемлемая справка, с учетом определенных особенностей (в большеносые своем связанных с тем что в MQL5 постоянно вносятся изменения).
Есть там конечно неточности, или как многие предпочитают думать "промахи и косяки", но это вполне объяснимо и постепенно исправляется.
Тема миграции с MQL4 на MQL5 вообщ отдельный пласт, я бы до начала осени (по крайней мере до него) забыл про серьезные изменения в этом разделе, поскольку разработчикам наверно стоит разобраться с самим MQL5, а лишь затем думать о внесении изменения в эту часть.
PS
Тут я имею введу то, что там вполне можно по итогу добавить кучу всего. В том числе перенести некоторые функции из MQL4 в раздел УСТАРЕВШИХ к примеру (как это было сделано в MQL4).
Даже если определенная часть работы по облегчению миграции не будет выполнена это не станет большой проблемой, а тем более не станет КАМНЕМ ПРЕТКНОВЕНИЯ...
Вполне приемлемая справка...