数值类型常量

每一简单数值类型都有确定的任务类型,并允许当MQL5程序操作正常使用时最佳化,对于较好的代码可读性和计算值的正确处理,有允许接收设置某一简单数据类型信息的常量。

常量 描述
CHAR_MIN 最小值,可以代表图表类型 -128
CHAR_MAX 最大值,可以代表图表类型 127
UCHAR_MAX 最大值,可以代表无符字符型 255
SHORT_MIN 最小值,可以代表短型 -32768
SHORT_MAX 最大值,可以代表短型 32767
USHORT_MAX 最大值,可以代表无符号短型 65535
INT_MIN 最小值,可以代表整型 -2147483648
INT_MAX 最大值,可以代表整型 2147483647
UINT_MAX 最大值,可以代表无符号整型 4294967295
LONG_MIN 最小值,可以代表长型 -9223372036854775808
LONG_MAX 最大值,可以代表长型 9223372036854775807
ULONG_MAX 最大值,可以代表无符号长型 18446744073709551615
DBL_MIN 最小正值,可以代表双精度型 2.2250738585072014e-308
DBL_MAX 最大值,可以代表双精度型 1.7976931348623158e+308
DBL_EPSILON 最小值,满足条件1.0+DBL_EPSILON != 1.0(双精度类型) 2.2204460492503131e-016
DBL_DIG 双精度型有效小数位数字 15
DBL_MANT_DIG 双精度型尾数算在内的二进制 53
DBL_MAX_10_EXP 双精度型指数角度最大小数值 308
DBL_MAX_EXP 双精度型指数角度最大二进制值 1024
DBL_MIN_10_EXP 双精度型指数角度最小小数 (-307)
DBL_MIN_EXP 双精度型指数角度最小二进制值 (-1021)
FLT_MIN 最小正值,能代表浮点类型 1.175494351e-38
FLT_MAX 最大值,能代表浮点类型 3.402823466e+38
FLT_EPSILON 最小值,满足因素:1.0+DBL_EPSILON != 1.0 (浮点类型) 1.192092896e–07
FLT_DIG 浮点型有效角度数位 6
FLT_MANT_DIG 浮点型二进制计算点数 24
FLT_MAX_10_EXP 浮点型指数角度最大小数值 38
FLT_MAX_EXP 浮点型最大二进制值 128
FLT_MIN_10_EXP 浮点型指数角度最小小数值 -37
FLT_MIN_EXP 浮点型指数角度最小二进制值 (-125)

示例:

void OnStart()

  {

//--- 打印常量值

   printf("CHAR_MIN = %d",CHAR_MIN);

   printf("CHAR_MAX = %d",CHAR_MAX);

   printf("UCHAR_MAX = %d",UCHAR_MAX);

   printf("SHORT_MIN = %d",SHORT_MIN);

   printf("SHORT_MAX = %d",SHORT_MAX);

   printf("USHORT_MAX = %d",USHORT_MAX);

   printf("INT_MIN = %d",INT_MIN);

   printf("INT_MAX = %d",INT_MAX);

   printf("UINT_MAX = %u",UINT_MAX);

   printf("LONG_MIN = %I64d",LONG_MIN);

   printf("LONG_MAX = %I64d",LONG_MAX);

   printf("ULONG_MAX = %I64u",ULONG_MAX);

   printf("EMPTY_VALUE = %.16e",EMPTY_VALUE);

   printf("DBL_MIN = %.16e",DBL_MIN);

   printf("DBL_MAX = %.16e",DBL_MAX);

   printf("DBL_EPSILON = %.16e",DBL_EPSILON);

   printf("DBL_DIG = %d",DBL_DIG);

   printf("DBL_MANT_DIG = %d",DBL_MANT_DIG);

   printf("DBL_MAX_10_EXP =  %d",DBL_MAX_10_EXP);

   printf("DBL_MAX_EXP = %d",DBL_MAX_EXP);

   printf("DBL_MIN_10_EXP = %d",DBL_MIN_10_EXP);

   printf("DBL_MIN_EXP = %d",DBL_MIN_EXP);

   printf("FLT_MIN = %.8e",FLT_MIN);

   printf("FLT_MAX = %.8e",FLT_MAX);

   printf("FLT_EPSILON = %.8e",FLT_EPSILON);

/*

   CHAR_MIN = -128

   CHAR_MAX = 127

   UCHAR_MAX = 255

   SHORT_MIN = -32768

   SHORT_MAX = 32767

   USHORT_MAX = 65535

   INT_MIN = -2147483648

   INT_MAX = 2147483647

   UINT_MAX = 4294967295

   LONG_MIN = -9223372036854775808

   LONG_MAX = 9223372036854775807

   ULONG_MAX = 18446744073709551615

   EMPTY_VALUE = 1.7976931348623157e+308

   DBL_MIN = 2.2250738585072014e-308

   DBL_MAX = 1.7976931348623157e+308

   DBL_EPSILON = 2.2204460492503131e-16

   DBL_DIG = 15

   DBL_MANT_DIG = 53

   DBL_MAX_10_EXP =  308

   DBL_MAX_EXP = 1024

   DBL_MIN_10_EXP = -307

   DBL_MIN_EXP = -1021

   FLT_MIN = 1.17549435e-38

   FLT_MAX = 3.40282347e+38

   FLT_EPSILON = 1.19209290e-07

*/

  }