Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Пиши статьи с помощью нашего редактора. Это удобно!
Brandon Richard Flowers
55
Brandon Richard Flowers 2010.06.22 19:23 

Добрый день, подскажите пожалуйста как на mql5 выклядит фунция, которая Возвращает количество секунд, прошедших с начала текущей минуты последнего известного серверного времени??? можно и без серверного времени.   ...В статье по переходу их mql4 есть пример который не работает на деле:

int SecondsMQL4()
{
MqlDateTime tm;
TimeCurrent(tm);
return(tm.sec);
}

компиляция выдает единственную ошибку на месте скобкию:           '(' - semicolon is expected myea.mq5 80 19

.попробовал так:

int TimeSecondsMQL4(datetime date)
{
MqlDateTime tm;
TimeToStruct(date,tm);
return(tm.sec);
}
 

пишет ошибку в том же месте, пожалуйста помогите  ... без вашего ответа никуда((( 

Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура даты
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура даты
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура даты - Документация по MQL5
Sergey Pavlov
8560
Sergey Pavlov 2010.06.22 20:03  
yamik:

  ...В статье по переходу их mql4 есть пример который не работает на деле:

Приведите весь код целиком. У Вас ошибка где-то в другом месте.
Vladimir Batrudinov
4878
Vladimir Batrudinov 2010.06.22 20:59  
yamik:

Добрый день, подскажите пожалуйста как на mql5 выклядит фунция, которая Возвращает количество секунд, прошедших с начала текущей минуты последнего известного серверного времени??? можно и без серверного времени.   ...В статье по переходу их mql4 есть пример который не работает на деле:

int SecondsMQL4()
{
MqlDateTime tm;
TimeCurrent(tm);
return(tm.sec);
}

компиляция выдает единственную ошибку на месте скобкию:           '(' - semicolon is expected myea.mq5 80 19

.попробовал так:

int TimeSecondsMQL4(datetime date)
{
MqlDateTime tm;
TimeToStruct(date,tm);
return(tm.sec);
}
 

пишет ошибку в том же месте, пожалуйста помогите  ... без вашего ответа никуда((( 


А справку по языку почему бы не почитать для начала. Статьи про миграцию конечно хорошо (респект и уважуха автору), но все же ?...


Придется делиться кодом из своей библиотеки, ну чего не сделаешь ради хорошего человека...

Просили работающую функцию? Распишитесь и получите...

Так выглядит функция возвращающая количество секунд, прошедших с начала текущей минуты (по последнему известному времени)

//Function Seconds
int Seconds() export 
//Возвращает количество секунд, прошедших с начала текущей минуты
//При ошибке функция возвращает -1.
{
//----------------------------------------------------------------------------//
//Служебные переменные
MqlDateTime MqlDate; //Структура в которой хранятся данные по дате

int Result; //Возвращаемое значение
//----------------------------------------------------------------------------//

ResetLastError();

//Записываем переданное значение в структуру
TimeToStruct(TimeCurrent(),MqlDate);
//Определяем количество секунд
Result = MqlDate.sec;

  if(GetLastError()!=0)
  //При расчетах возникла ошибка, подробно смотрим ее код.
  {
  Result = -1; //Сообщаем об ошибке
  }
//----------------------------------------------------------------------------//
return(Result);
//----------------------------------------------------------------------------//
}

Так, показывающая число секунд с начала минуты для времени переданного в качестве параметра

//Function TimeSeconds
int TimeSeconds(datetime time) export
//Возвращает количество секунд, прошедших с начала минуты для указанного времени.
//При ошибке функция возвращает -1.
{
//----------------------------------------------------------------------------//
//Служебные переменные
MqlDateTime MqlDate; //Структура в которой хранятся данные по дате

int Result; //Возвращаемое значение
//----------------------------------------------------------------------------//

ResetLastError();

//Записываем переданное значение в структуру
TimeToStruct(time,MqlDate);
//Определяем секунду
Result = MqlDate.sec;

  if(GetLastError()!=0)
  //При расчетах возникла ошибка, подробно смотрим ее код.
  {
  Result = -1;//Сообщаем об ошибке
  }
//----------------------------------------------------------------------------//
return(Result);
//----------------------------------------------------------------------------//
}


PS

Эти две функции прекрасно работают в библиотеке...





Brandon Richard Flowers
55
Brandon Richard Flowers 2010.06.22 21:19  
Спасибо вам что отозвались, всё понял, воспользуюсь вашим кодом! Спасибо
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий