Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 4071
- Рейтинг:
- Опубликован:
- 2010.02.09 12:44
- Обновлен:
- 2016.11.22 07:33
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Библиотека содержит функции:
- TradeServerReturnCodeDescription - возвращает описание кода возврата торгового сервера;
- ErrorDescription - возвращает описание ошибки времени выполнения.
//+------------------------------------------------------------------+ //| ErrorDescription.mqh | //| Copyright 2010, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "2010, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ //| Возвращает описание кода возврата торгового сервера | //+------------------------------------------------------------------+ TradeServerReturnCodeDescription(int return_code) //+------------------------------------------------------------------+ //| Возвращает описание кода ошибки времени выполнения | //+------------------------------------------------------------------+ string ErrorDescription(int err_code)
Пример использования:
(Не забудьте скопировать файл ErrorDescription.mq5 в каталог \MetaTrader 5\MQL5\Include)
//+------------------------------------------------------------------+ //| ErrorDescrTest.mq5 | //| Copyright 2010, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "2010, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property version "1.00" #include <ErrorDescription.mqh> //+------------------------------------------------------------------+ //| Скрипт иллюстрирует использование функций | //| библиотеки ErrorDescription.mqh | //+------------------------------------------------------------------+ void OnStart() { Print("----- Описание кодов возврата торгового сервера -----"); for(int i=10004;i<=10034;i++) { Print("Код:",i,TradeServerReturnCodeDescription(i)); } Print("---------- Описание некоторых кодов ошибок ----------"); for(int i=4001;i<=4014;i++) { Print("Код ошибки:",i,ErrorDescription(i)); } } //+------------------------------------------------------------------+
В ряде случаев требуется работа с собственными кодами ошибок. Для этого в MQL5 есть функция SetUserError, при помощи которой можно установить код ошибки, устанавливаемый пользователем (ошибки, задаваемые пользователем, начинаются с ERR_USER_ERROR_FIRST.
В таком случае для возврата описания ошибки с учетом ошибок, определенных пользователем, можно использовать функцию ErrorDescriptionExt:
//+------------------------------------------------------------------+ //| UserErrorDescr.mq5 | //| Copyright 2010, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "2010, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property version "1.00" #include <ErrorDescription.mqh> //+------------------------------------------------------------------+ //| возвращает описание ошибки с учетом ошибок, | //| определенных пользователем | //+------------------------------------------------------------------+ string ErrorDescriptionExt(int err_code,string&user_errors[]) { if(err_code>=0 && err_code<ERR_USER_ERROR_FIRST) return(ErrorDescription(err_code)); //--- ошибки, заданные пользователем err_code-=ERR_USER_ERROR_FIRST; if(err_code<=ArraySize(user_errors)) return(user_errors[err_code]); //--- return("Неизвестная ошибка"); }; //--- массив с описанием кодов ошибок, определенных пользователем string MyErrors[]= { "Ошибка №1", "Ошибка №2", "Ошибка №3" }; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- for(int i=0;i<=2;i++) { SetUserError(i); Print("Код пользовательской ошибки:",i,ErrorDescriptionExt(GetLastError(),MyErrors)); } } //+------------------------------------------------------------------+
![LoongClock](https://c.mql5.com/i/code/expert.png)
Очень простой пример часов.
![MovingAverages](https://c.mql5.com/i/code/library.png)
Библиотека MovingAverages содержит функции для вычисления различных скользящих средних.
![TimerClosingPeriod](https://c.mql5.com/i/code/indicator.png)
Индикатор выводит на экран время до закрытия текущего периода, если период меньше H1, то дополнительно выводится время до закрытия часа.
![LoongMAx96](https://c.mql5.com/i/code/indicator.png)
Рисует 96 линий скользящий средних, содержит только 100 строк кода (использует класс CMyBuffer)