Math 的中文意思是:数学。它和 mathematics 的意思相同。Floor 中文意思:地板, 地面,最低额,底价,等。Ceil 中文意思:悬挂,悬挂在墙上,天花板,装天花板,等。从字面上可以简单的理解:Floor 是下面、向下的;Ceil 是上面、向上的。
MathFloor()和MathCeil()属于MQL语言的数学函数(这两个函数适用于MQL4语言和MQL5语言)。MathFloor() 替代函数 floor()。MathCeil() 替代函数 ceil()。
MathFloor() 函数结构:
double MathFloor(
double val // 数值
);
MathCeil()函数结构:
double MathCeil(
double val // 数值
);
可以看出,MathFloor()和MathCeil()两个函数的结构是完全一样的。并且,它们的主要功能也是相同的,都是取数值的整数,只是取整数的方向不同:Floor 向下取整数;Ceil 向上取整数。
为了进一步熟悉,分别用MathFloor()和MathCeil()函数来取 132.44 的整数值,这里就用其替代函数floor()和ceil()写在EA程序中,然后用注释函数 Comment() 输出结果到图表,代码:
double ax = floor(132.44);
double az = ceil(132.44);
Comment("floor(132.44)取值:"+ DoubleToStr(ax,0)+"\n"
"ceil(132.44)取值:" + DoubleToStr(az,0)
);
输出结果如下图所示:
从上图左上角输出的注释结果可以看出,MathFloor() 将 132.44 向下取整数,结果是132;MathCeil() 则将 132.44 向上取整数,结果为 133。这种取整数的方法在诸多智能交易EA编程或技术指标编程中都有用到。