下载MetaTrader 5

请观看如何免费下载自动交易

有趣的脚本?
因此发布一个链接 -
让其他人评价

喜欢这个脚本? 在MetaTrader 5客户端尝试它

2013.10.01 13:02
程序库

ErrorDescription - MetaTrader 5程序库

| Chinese English Русский Español Deutsch 日本語 Português

显示:
772
等级:
投票: 31

该库包含以下功能:

//+------------------------------------------------------------------+
//|                                             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"
//+------------------------------------------------------------------+
//| 返回交易服务器返回代码描述                                           |
//+------------------------------------------------------------------+
string TradeServerReturnCodeDescription(int return_code)
//+------------------------------------------------------------------+
//| 返回运行错误代码说明                                                |
//+------------------------------------------------------------------+
string ErrorDescription(int err_code)

例子:

(不要忘记将ErrorDescription.mq5文件复制到\MetaTrader 5\MQL5\文件夹中)

//+------------------------------------------------------------------+
//|                                               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("----- Description of trade server return codes -----");
   for(int i=10004;i<=10034;i++)
     {
      Print("Trade server return code:",i,TradeServerReturnCodeDescription(i));
     }
   Print("-------- Description of runtime error codes ---------");
   for(int i=4001;i<=4014;i++)
     {
      Print("Runtime error code:",i,ErrorDescription(i));
     }
  }
//+------------------------------------------------------------------+

某些情况下有必要使用用户自定义的错误。MQL5中有一个函数SetUserError, 可设置预定义变量_LastError的值为等于 ERR_USER_ERROR_FIRST加上user_error.

The user defined error codes starts from code 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("Unknown error");
  };

// 描述用户自定义的运行时错误的数组
string MyErrors[]=
  {
   "User error №1",
   "User error №2",
   "User error №3"
  };
//+------------------------------------------------------------------+
//| 脚本程序启动函数                                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   for(int i=0;i<=2;i++)
     {
      SetUserError(i);
      Print("User defined error code:",i,ErrorDescriptionExt(GetLastError(),MyErrors));
     }
  }
//+------------------------------------------------------------------+

本文译自 MetaQuotes Software Corp. 撰写的俄文原文
官方代码: https://www.mql5.com/ru/code/79

MovingAverages MovingAverages

MovingAverages库包含计算不同类型的移动平均线的函数。

三重指数平均  (TRIX) 三重指数平均 (TRIX)

它是关于超买超卖市场条件的振荡器指标。它也可以被用作动力指标。三重平滑用于除去价格运动周期小于TRIX周期的环状组件.

WININET_TEST WININET_TEST

这是一个演示如何使用WININET.DLL库从互联网上下载页面(文件)的简单实例。

即时价格 即时价格

即时价格图表的例子