Скачать MetaTrader 5

кто объяснит почему не выводится переменная datetime в коментариях

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

вот код советника


//+------------------------------------------------------------------+

//|                                                        data1.mq5               |
//|                        Copyright 2010, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2010, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
  
//---
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   static datetime Old_Time;
    datetime New_Time[1];
    Comment( "   ", Old_Time); 
   // Comment( "   ", New_Time[1]); // почему в комментах не хочет выводиться New_Time[1]
  }

//+------------------------------------------------------------------+

 

Если попытаться вывести в комментарии переменную Old_Time она выводится

а если попытаться вывести New_Time[1]

 Comment( "   ", New_Time[1]); // почему в комментах не хочет выводиться New_Time[1]

она не выводится и пишет ошибку при компиляции

Кто объяснит что не так с datetime в Comment?

Automated Trading and Strategy Testing
Automated Trading and Strategy Testing
  • www.mql5.com
MQL5: language of trade strategies built-in the MetaTrader 5 Trading Platform, allows writing your own trading robots, technical indicators, scripts and libraries of functions
gumgum
1226
gumgum  

Надо так .

Comment( "   ", New_Time[0]);


https://www.mql5.com/ru/docs/basis/variables

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
Sergey Gritsay
6559
Sergey Gritsay  
потому что вы объявили массив datetime New_Time[1]; размером в одну ячейку, а пытаетесь вывести значение не существуещей ячейки под номером 2. Индексация в массивах начинается с нуля
Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
vas
94
vas  


 Почти понял  вот этим:  datetime New_Time[1]; я объявил одномерный массив состоящий из одного целого числа,    для хранения переменной New_Time.

Чтобы получить последнее значение (последний элемент) переменной из этого массива, я ее вызвал так:  New_Time[0]

 Так?

vas
94
vas  
sergey1294:
Ну..., уже почти дошло. :)
gumgum
1226
gumgum  
vas:


 Почти понял  вот этим:  datetime New_Time[1]; я объявил одномерный массив состоящий из одного целого числа,    для хранения переменной New_Time.

Чтобы получить последнее значение (последний элемент) переменной из этого массива, я ее вызвал так:  New_Time[0]

 Так?

Да, и состоящий из одной индексной переменной (тип datetime )для хранения даты и времени в виде количества секунд, прошедших с 01 января 1970 года. Вы вызвали первый элемент массива, но в вашем случае он является и последним.  
Vladimir Batrudinov
4930
Vladimir Batrudinov  
gumgum:
Да, и состоящий из одной индексной переменной (тип datetime )для хранения даты и времени в виде количества секунд, прошедших с 01 января 1970 года. Вы вызвали первый элемент массива, но в вашем случае он является и последним.  
Ну это нынче довольно быстро лечится, установкой серийности у рабочего массива (главное вовремя заметить "баку")... :)
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий