Содержимое переменной _Period, в которой хранится значение таймфрейма текущего графика. Значение может быть одним из значений перечисленияENUM_TIMEFRAMES.
Как-то плохо все сделано. В описании должно быть корректно написано. А не на форуме надо искать источник проблемы.
Так нигде же не написано, что это значение равно периоду в минутах (как было в четвёрке).
Данная статья, построенная в форме справочника по функциям MQL4, призвана помочь переходу с MQL4 на MQL5. Для каждой функции языка MQL4 приведено описание и представлен способ ее реализации на MQL5, что позволит вам значительно ускорить перевод своих программ с MQL4 на MQL5. Для удобства функции разбиты на группы, как в документации по MQL4.
Есть описание языка, в котором сказано : Значение может быть одним из значений перечисленияENUM_TIMEFRAMES.
Смотрим в описании языка далее:
Периоды графиков
Все предопределенные периоды графиков имеют уникальные идентификаторы. Идентификатор PERIOD_CURRENT означает текущий период графика, на котором запущена mql5-программа.
ENUM_TIMEFRAMES
Идентификатор
Описание
PERIOD_CURRENT
Текущий период
PERIOD_M1
1 минута
PERIOD_M2
2 минуты
PERIOD_M3
3 минуты
PERIOD_M4
4 минуты
PERIOD_M5
5 минут
PERIOD_M6
6 минут
PERIOD_M10
10 минут
PERIOD_M12
12 минут
PERIOD_M15
15 минут
PERIOD_M20
20 минут
PERIOD_M30
30 минут
PERIOD_H1
1 час
PERIOD_H2
2 часа
PERIOD_H3
3 часа
PERIOD_H4
4 часа
PERIOD_H6
6 часов
PERIOD_H8
8 часов
PERIOD_H12
12 часов
PERIOD_D1
1 день
PERIOD_W1
1 неделя
PERIOD_MN1
1 месяц
======================
И нигде в описании не говорится, что это значение в секундах.
В описании должно быть все сказано.
А когда надо лазить еще по каким-то статьям, то это очень плохо.
Sergey Dzyublik: Спасибо еще раз TheXpert за предоставленный код. Имеем следующие результаты по ArrayResize capacity МТ5(build 2057):
И так, выводы по работе ArrayResize и влияние на реальное capacity:
1. Очень важен первый ArrayResize, он реально выделяет память с учетом size + reserved_size и устанавливает capacity. 2. Все последующие выполнения ArrayResize с новым значением reserved_size - не имеют ни какого влияние на количество выделенной памяти и capacity, соответственно. 3. Новое выделение памяти происходит только при превышении capacity и в этом случаи опять используется size + reserved_size для определения количества выделяемой памяти и установки нового capacity. 4. Значение reserved_size < 0 освобождает зарезервированную память до размера size.
Есть описание языка, в котором сказано : Значение может быть одним из значений перечисленияENUM_TIMEFRAMES.
Смотрим в описании языка далее:
Периоды графиков
Все предопределенные периоды графиков имеют уникальные идентификаторы. Идентификатор PERIOD_CURRENT означает текущий период графика, на котором запущена mql5-программа.
ENUM_TIMEFRAMES
======================
И нигде в описании не говорится, что это значение в секундах.
В описании должно быть все сказано.
А когда надо лазить еще по каким-то статьям, то это очень плохо.
Есть описание языка, в котором сказано : Значение может быть одним из значений перечисленияENUM_TIMEFRAMES .
Смотрим в описании языка далее:
Периоды графиков
Все предопределенные периоды графиков имеют уникальные идентификаторы. Идентификатор PERIOD_CURRENT означает текущий период графика, на котором запущена mql5-программа.
ENUM_TIMEFRAMES
Идентификатор
Описание
PERIOD_CURRENT
Текущий период
PERIOD_M1
1 минута
PERIOD_M2
2 минуты
PERIOD_M3
3 минуты
PERIOD_M4
4 минуты
PERIOD_M5
5 минут
PERIOD_M6
6 минут
PERIOD_M10
10 минут
PERIOD_M12
12 минут
PERIOD_M15
15 минут
PERIOD_M20
20 минут
PERIOD_M30
30 минут
PERIOD_H1
1 час
PERIOD_H2
2 часа
PERIOD_H3
3 часа
PERIOD_H4
4 часа
PERIOD_H6
6 часов
PERIOD_H8
8 часов
PERIOD_H12
12 часов
PERIOD_D1
1 день
PERIOD_W1
1 неделя
PERIOD_MN1
1 месяц
======================
И нигде в описании не говорится, что это значение в секундах.
В описании должно быть все сказано.
А когда надо лазить еще по каким-то статьям, то это очень плохо.
Вы никогда не должны полагаться на значение перечисления.
IM 017:19:04.403 Terminal MetaTrader 5 x64 build 2056 started (MetaQuotes Software Corp.)
NG 017:19:04.403 Terminal Windows 7 Service Pack 1 (build 7601) x64, IE 11, AMD FX-4170 Quad-Core Processor , Memory: 9408 / 12255 Mb, Disk: 20 / 238 Gb, GMT+3
Сегодня обнаружил что в спецификации инструмента минимальный объём равен 100 и шаг тоже 100. Но при таких объёмах, вручную не открывает позиции с ошибкой "Неправильный объём", а если поставить 0.01 то кнопки не активны.
В описании:
Содержимое переменной _Period, в которой хранится значение таймфрейма текущего графика. Значение может быть одним из значений перечисления ENUM_TIMEFRAMES.
Как-то плохо все сделано. В описании должно быть корректно написано. А не на форуме надо искать источник проблемы.
Так нигде же не написано, что это значение равно периоду в минутах (как было в четвёрке).
https://www.mql5.com/ru/articles/81
С этого начинается статья по ссылке.
Так нигде же не написано, что это значение равно периоду в минутах (как было в четвёрке).
https://www.mql5.com/ru/articles/81
С этого начинается статья по ссылке.
Есть описание языка, в котором сказано : Значение может быть одним из значений перечисления ENUM_TIMEFRAMES.
Смотрим в описании языка далее:
Периоды графиков
Все предопределенные периоды графиков имеют уникальные идентификаторы. Идентификатор PERIOD_CURRENT означает текущий период графика, на котором запущена mql5-программа.
ENUM_TIMEFRAMES
Идентификатор
Описание
PERIOD_CURRENT
Текущий период
PERIOD_M1
1 минута
PERIOD_M2
2 минуты
PERIOD_M3
3 минуты
PERIOD_M4
4 минуты
PERIOD_M5
5 минут
PERIOD_M6
6 минут
PERIOD_M10
10 минут
PERIOD_M12
12 минут
PERIOD_M15
15 минут
PERIOD_M20
20 минут
PERIOD_M30
30 минут
PERIOD_H1
1 час
PERIOD_H2
2 часа
PERIOD_H3
3 часа
PERIOD_H4
4 часа
PERIOD_H6
6 часов
PERIOD_H8
8 часов
PERIOD_H12
12 часов
PERIOD_D1
1 день
PERIOD_W1
1 неделя
PERIOD_MN1
1 месяц
======================
И нигде в описании не говорится, что это значение в секундах.
В описании должно быть все сказано.
А когда надо лазить еще по каким-то статьям, то это очень плохо.
Спасибо еще раз TheXpert за предоставленный код.
Имеем следующие результаты по ArrayResize capacity МТ5(build 2057):
1. Очень важен первый ArrayResize, он реально выделяет память с учетом size + reserved_size и устанавливает capacity.
2. Все последующие выполнения ArrayResize с новым значением reserved_size - не имеют ни какого влияние на количество выделенной памяти и capacity, соответственно.
3. Новое выделение памяти происходит только при превышении capacity и в этом случаи опять используется size + reserved_size для определения количества выделяемой памяти и установки нового capacity.
4. Значение reserved_size < 0 освобождает зарезервированную память до размера size.
И нигде в описании не говорится, что это значение в секундах.
Так оно и не в секундах...
Есть описание языка, в котором сказано : Значение может быть одним из значений перечисления ENUM_TIMEFRAMES.
Смотрим в описании языка далее:
Периоды графиков
Все предопределенные периоды графиков имеют уникальные идентификаторы. Идентификатор PERIOD_CURRENT означает текущий период графика, на котором запущена mql5-программа.
ENUM_TIMEFRAMES
======================
И нигде в описании не говорится, что это значение в секундах.
В описании должно быть все сказано.
А когда надо лазить еще по каким-то статьям, то это очень плохо.
А кто вам сказал что это значения в секундах?
Есть описание языка, в котором сказано : Значение может быть одним из значений перечисления ENUM_TIMEFRAMES .
Смотрим в описании языка далее:
Периоды графиков
Все предопределенные периоды графиков имеют уникальные идентификаторы. Идентификатор PERIOD_CURRENT означает текущий период графика, на котором запущена mql5-программа.
ENUM_TIMEFRAMES
Идентификатор
Описание
PERIOD_CURRENT
Текущий период
PERIOD_M1
1 минута
PERIOD_M2
2 минуты
PERIOD_M3
3 минуты
PERIOD_M4
4 минуты
PERIOD_M5
5 минут
PERIOD_M6
6 минут
PERIOD_M10
10 минут
PERIOD_M12
12 минут
PERIOD_M15
15 минут
PERIOD_M20
20 минут
PERIOD_M30
30 минут
PERIOD_H1
1 час
PERIOD_H2
2 часа
PERIOD_H3
3 часа
PERIOD_H4
4 часа
PERIOD_H6
6 часов
PERIOD_H8
8 часов
PERIOD_H12
12 часов
PERIOD_D1
1 день
PERIOD_W1
1 неделя
PERIOD_MN1
1 месяц
======================
И нигде в описании не говорится, что это значение в секундах.
В описании должно быть все сказано.
А когда надо лазить еще по каким-то статьям, то это очень плохо.
Вы никогда не должны полагаться на значение перечисления.
Используйте PeriodSeconds().
Так оно и не в секундах...
Так вот об этом в описании языка в первую очередь надо сообщать.
А не в статьях, которые еще и искать надо. На форуме об этом надо искать в последнюю очередь.
Иначе получается так: смотрю в книгу, а вижу фигу...
Почему такое может быть?
Сегодня обнаружил что в спецификации инструмента минимальный объём равен 100 и шаг тоже 100. Но при таких объёмах, вручную не открывает позиции с ошибкой "Неправильный объём", а если поставить 0.01 то кнопки не активны.
Заменил версию на "помладше"
никаких изменений.
Затем заменил на релизную версию
И вот результат
Почему такое происходит только в одной компании? Ведь если-бы это было повально, то вопрос уже давно был-бы поднят и решён.
В каком направлении посылать тех.поддержку той компании?
Добавлено: И очень странно, что на центовом счёте этой-же компании билд 2025 работает нормально. Все параметры инструмента как и должны быть.
Торгуй на центовом. Я сам догадался... но хочется побольше.
Спасибо за сообщение.
Это рудимент, исправим.
@Ilyas, аналогичная проблема есть и у NonPOD struct.
Проблема в глобальной области объявления имени в рамках функциональности typedef