Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
ErrorDescription - библиотека для MetaTrader 5
- Просмотров:
- 4112
- Рейтинг:
- Опубликован:
- 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)); } } //+------------------------------------------------------------------+
Очень простой пример часов.
MovingAveragesБиблиотека MovingAverages содержит функции для вычисления различных скользящих средних.
Индикатор выводит на экран время до закрытия текущего периода, если период меньше H1, то дополнительно выводится время до закрытия часа.
LoongMAx96Рисует 96 линий скользящий средних, содержит только 100 строк кода (использует класс CMyBuffer)