以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  自定义函数  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=187917)

--  作者:llz1124
--  发布时间:2021/4/19 10:07:25
--  自定义函数

麻烦老师转换为金字塔自定义函数 XMA(X,N)

//MA是把结果放到计算当天。而XMA把这个值放到向前数第(N+1)/2的位置上

通达信XMA函数C++源码

认真分析了一下通达信各种平滑处理函数实现的机理,进行了相应的c++编程和测试,结果完全吻合。现将XMA函数C++源代码分享给大家。
函数根据通达信dll插件调用格式编写.

//参数说明:
//DataLen:输入数据的长度
//pfOUT:输出数据
//pfINa:输入数据C
//pfINb:输入参数

void XMA(int DataLen, float*pfOUT, float*pfINa, float*pfINb)
{
        int N = int(*pfINb);
        int p = int((N - 1) / 2);
        float sum = 0;
        float count = 0;

        for (int i = 0; i < DataLen; i++)
        {
            int start = i - p-1;
            int end = i + (N-p)-1;
            for (int j = start; j < end; j++)
            {
                if (j >= 0&&j<DataLen) {
                    sum += pfINa[j];
                    count += 1;
                }
            }
            pfOUT = sum / count;
            sum = 0;
            count = 0;
        }
}


--  作者:FireScript
--  发布时间:2021/4/19 10:19:37
--  
 这个在普通PEL下是实现不了的。只能用我们的py或者Vba去做,或者也可以用他这个方式用调用dll方式做。
--  作者:llz1124
--  发布时间:2021/4/19 10:26:39
--  
能不能麻烦老师用 Vba做一个金字塔自定义函数XMA。
--  作者:FireScript
--  发布时间:2021/4/19 10:29:05
--  
 1.这个我也不会做的。涉及到vba py以及c++插件的问题。建议你去高级区功能版块去问下。
2.这个函数我们后续会作为需求提上去的。