作者:William
本章节内容很简单,主要让大家认识一下EA编程中经常遇到的一些数据转换函数。在MQL4中,数据类型转换是指将一种数据类型的值转换为另一个数据类型的过程。这种转换可以用于执行不同类型之间的操作或将值从一种类型转换为另一种类型以满足特定的需求。下图为常见的几种用于数据类型转换的函数。
每个函数都有特定的使用格式,可以根据需求在编写逻辑时自由切换,在MQL4中,虽然在不转换格式时也能使用,但这样做出现黄标报错,大概率会导致计算的结果出现偏差。所以,规范化使用数据转换函数,正确使用数据参与计算是一种良好的编程习惯。
下列为使用频率最高的一些转换函数:
1、NormalizeDouble():将浮点数四舍五入到指定的精度。
2、StringFormat(): 根据预设格式将数字转换为字符串。
3、IntegerToString(): 将整数转换为字符串。
4、DoubleToString()/DoubleToStr(): 将double类型浮点数转换为字符串。
5、StringToDouble()/StrToDouble(): 将数字的字符串转换为double类型。
6、StringToTime()/StrToTime(): 将格式为“yyyy.mm.dd hh:mi”的字符串转换为日期时间类型
7、TimeToString()/TimeToStr(): 将日期时间类型的值转换为“yyyy.mm.dd hh:mi”格式的字符串。
数学函数也可以视为另一种数据转换方式,但数学计算函数(例如求绝对值、取整、计算平方根等)和前面提到的类型转换函数在MQL4中具有一些区别,用于参与特定的数学运算。虽然很多数学运算都可以直接使用表达式运算完成,但是通过数学函数直接返回会大大提升效率。
以下是一些常见的数学计算函数示例:
1、 MathAbs():计算绝对值。
2、MathRound():将浮点数四舍五入为最接近的整数。
3、 MathMin()/MathMax():返回两个数中的最小值/最大值。
4、MathSqrt():计算平方根。
5、MathPow():计算给定基数的指定幂次。
以上函数都是MQL4官方的预定义函数,每一个函数都具有特定的传入参数,在上一期的自定义函数中我们也了解到参数传递与返回的概念,在这些函数中就是一个很好带返回参数的例子,可以直接传入指定参数然后返回你想要的值。为了方便我们认识这些函数的结构,我们以DoubleToString()为例:
当然,MQL4中的这些预定义函数有的具有多样化的使用场景,传入的参数数量也是根据实际需求而定的,比如IntegerToString()函数,这个函数在官方文档中可以传入3个参数,每个参数的位置和功能是固定的,但通常情况下我们很少用到剩余的两个参数,了解即可。