龙听期货论坛's Archiver

龙听 发表于 2024-11-21 15:36

鼎元C++期货量化/程序化教程【max(a,b)、max3(a,b,c)、min2(a,b)、min3(a,b,c)的计算方法及调用方法】

设计了几个用来比较大小的函数公式,提高程式码写作便捷程度。

[b]1、MAX比大小的,方便在策略中调用:[/b]

(1)、max(a,b) 返回a,b中的较大值。
(2)、max(a,b,c)返回a,b,c中的最大值。
(3)、min(a,b)返回a,b中的较小值。
(4)、min(a,b,c)返回a,b,c中的最大值。

[b]2、头文件声明变量:[/b][code]
        double max2(double a, double b);//返回a,b中较大值
        double max3(double a, double b, double c);//返回a,b,c中最大值
        double min2(double a, double b); //返回a,b中较小值
        double min3(double a, double b, double c);//返回a,b,c中最小值
[/code][b]3、在源文件中公式模块区增加下成计算公式函数:[/b][code]double test::max2(double a, double b)
{
        double c = 0;
        if (a >= b)
        {
                c = a;
        }
        else
        {
                c = b;
        }
        return c;
}
double test::max3(double a, double b, double c)
{
        double d = 0;

        if (a >= b)
        {
                d = a;
        }
        else if (a < b)
        {
                d = b;
        }
        if (d < c)
        {
                d = c;
        }
        return d;
}
double test::min2(double a, double b)
{
        double c = 0;
        if (a >= b)
        {
                c = b;
        }
        else
        {
                c = a;
        }
        return c;
}
double test::min3(double a, double b, double c)
{
        double d = 0;

        if (a >= b)
        {
                d = b;
        }
        else if (a < b)
        {
                d = a;
        }
        if (d > c)
        {
                d = c;
        }
        return d;
}[/code][b]4、使用方法:[/b]

max2(8,10) 返回10;max3(8,5,9)返回9;

龙听 发表于 2024-11-21 15:37

在后面的 使用中我若是遇到更简便的计算方式会在这里优化一下,有需要的随时在这里拿就行了。

页: [1]