Что не так с функцией Period()?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Farkhat Guzairov
2088
Farkhat Guzairov  

Всем доброго!

Сегодня очередной эпик, не буду утверждать сколько дней назад, но уверяю оно работало. Сегодня обратил внимание, что ранее написанная функция перестала исполняться, выяснилось что проблема в функции Period(). В справке ничего нового по функции не обнаружил, т.е. каких либо изменений нет. Но результат(см. ниже) говорит сам за себя. Представляю сколько сейчас софта рухнуло!!!!

ENUM_TIMEFRAMES  Period();


Результат в МТ4

2019.04.10 10:43:26.867 test EURUSD,H1: Period()*60 : 3600, Period(): 60


Результат в МТ5

2019.04.10 10:36:10.145 test-2 (EURUSD,H1) Period()*60 : 983100, Period(): 16385


Dmitry Fedoseev
56925
Dmitry Fedoseev  
В МТ5 Period() это идентификатор, он не соответствует минутам, но есть функция PeriodSeconds()
Farkhat Guzairov
2088
Farkhat Guzairov  
Dmitry Fedoseev:
В МТ5 Period() это идентификатор, он не соответствует минутам, но есть функция PeriodSeconds()

А в справке об этом не сказано

Справочник MQL5 / Проверка состояния / Period  

Period

Возвращает значение таймфрейма текущего графика.

ENUM_TIMEFRAMES  Period();

Возвращаемое значение

Содержимое переменной _Period, в которой хранится значение таймфрейма текущего графика. Значение может быть одним из значений перечисления ENUM_TIMEFRAMES.

Смотри также

PeriodSeconds, Периоды графиков, Дата и время, , Видимость объектов

Dmitry Fedoseev
56925
Dmitry Fedoseev  

См. на странице с описанием ENUM_TIMEFRAMES.

Никогда не было, что бы функция Period() в МТ5 возвращала минуты.

Vladimir Karputov
Модератор
183311
Vladimir Karputov  
Farkhat Guzairov:



Результат в МТ5

Period(): 16385


Так было всегда. Ничего не менялось.

PERIOD_CURRENT 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 16385
PERIOD_H2 16386
PERIOD_H3 16387
PERIOD_H4 16388
PERIOD_H6 16390
PERIOD_H8 16392
PERIOD_H12 16396
PERIOD_D1 16408
PERIOD_W1 32769
PERIOD_MN1 49153
Farkhat Guzairov
2088
Farkhat Guzairov  
Vladimir Karputov:

Так было всегда. Ничего не менялось.

Да, но в справке следующее, а так как в основном я работаю в МТ4, но увидев аналогичную таблицу принял как есть. Спасибо за разъяснение.


Справочник MQL5 / Константы, перечисления и структуры / Константы графиков / Периоды графиков  

Периоды графиков

Все предопределенные периоды графиков имеют уникальные идентификаторы. Идентификатор 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 месяц

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий