Скачать MetaTrader 5

Как из индикатора передать в советник время (массив времени)?

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

Ситуация. Написал индикатор, в котором рассчитываются два массива: один - lines (тип - double), второй - date(тип - datetime). Подключил его к советнику. С помощью CopyBuffer могу добраться только до значений, имеющих только тип double, т.е. - lines. А как получить массив date? Какие здесь могут быть решения?

Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
  • www.mql5.com
Основы языка / Типы данных / Вещественные типы (double, float) - Документация по MQL5
Vladimir Batrudinov
4942
Vladimir Batrudinov  
kii:

Ситуация. Написал индикатор, в котором рассчитываются два массива: один - lines (тип - double), второй - date(тип - datetime). Подключил его к советнику. С помощью CopyBuffer могу добраться только до значений, имеющих только тип double, т.е. - lines. А как получить массив date? Какие здесь могут быть решения?

Насколько я понимаю datetime очень легко представить в виде int, следовательно и в виде double ее легко представить.

при этом может понадобится изменить тип второго массива в индюке (а может и не понадобится).

kii
62
kii  
Interesting:

Насколько я понимаю datetime очень легко представить в виде int, следовательно и в виде double ее легко представить.

Преобразовать datetime в int, насколько понимаю, можно через MqlDateTime, т.е. вместо одного буферного массива времени будет уже 5 массивов типа int для года, месяца, дня, часа и минуты. Не уже ли нет более простого варианта? Например, преобразовать дату в секунды в индикаторе, а потом в советнике - из секунд снова в дату.
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура даты
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура даты
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура даты - Документация по MQL5
Aleksandr Chugunov
5068
Aleksandr Chugunov  
kii:
Преобразовать datetime в int, насколько понимаю, можно через MqlDateTime, т.е. вместо одного буферного массива времени будет уже 5 массивов типа int для года, месяца, дня, часа и минуты. Не уже ли нет более простого варианта? Например, преобразовать дату в секунды в индикаторе, а потом в советнике - из секунд снова в дату.

Не....datetime это уже целое число: https://www.mql5.com/ru/docs/basis/types/integer

А Вы случаем ось X (время) не путаете со своим временем?????

Просто я не очень себе представляю как у одного бара может быть два времени

Документация по MQL5: Основы языка / Типы данных / Целые типы
Документация по MQL5: Основы языка / Типы данных / Целые типы
  • www.mql5.com
Основы языка / Типы данных / Целые типы - Документация по MQL5
kii
62
kii  
AlexSTAL:

Не....datetime это уже целое число: https://www.mql5.com/ru/docs/basis/types/integer

Да, спасибо, разобрался. Действительно, тип datetime на самом деле является типом int, т.е. datetime по сути не тип как таковой, а просто формат записи числа типа int. 

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