欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 自定义函数

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有1988人关注过本帖树形打印复制链接

主题:自定义函数

帅哥哟,离线,有人找我吗?
llz1124
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:605 积分:0 威望:0 精华:0 注册:2019/6/12 9:32:18
自定义函数  发帖心情 Post By:2021/4/19 10:07:25    Post IP:125.41.211.139[只看该作者]

麻烦老师转换为金字塔自定义函数 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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/4/19 10:19:37    Post IP:58.246.57.26[只看该作者]

 这个在普通PEL下是实现不了的。只能用我们的py或者Vba去做,或者也可以用他这个方式用调用dll方式做。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
llz1124
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:605 积分:0 威望:0 精华:0 注册:2019/6/12 9:32:18
  发帖心情 Post By:2021/4/19 10:26:39    Post IP:125.41.211.139[只看该作者]

能不能麻烦老师用 Vba做一个金字塔自定义函数XMA。

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/4/19 10:29:05    Post IP:58.246.57.26[只看该作者]

 1.这个我也不会做的。涉及到vba py以及c++插件的问题。建议你去高级区功能版块去问下。
2.这个函数我们后续会作为需求提上去的。


命数如织,当如磐石。
 回到顶部