Смотри, как бесплатно скачать роботов
Ищи нас в Facebook!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Библиотеки

ErrorDescription - библиотека для MetaTrader 5

Просмотров:
4030
Рейтинг:
(46)
Опубликован:
2010.02.09 12:44
Обновлен:
2016.11.22 07:33
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Библиотека содержит функции:

//+------------------------------------------------------------------+
//|                                             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 LoongClock

Очень простой пример часов.

MovingAverages MovingAverages

Библиотека MovingAverages содержит функции для вычисления различных скользящих средних.

TimerClosingPeriod TimerClosingPeriod

Индикатор выводит на экран время до закрытия текущего периода, если период меньше H1, то дополнительно выводится время до закрытия часа.

LoongMAx96 LoongMAx96

Рисует 96 линий скользящий средних, содержит только 100 строк кода (использует класс CMyBuffer)