Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:自定义函数

1楼
llz1124 发表于:2021/4/19 10:32:45

麻烦老师转换为金字塔自定义函数 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;
        }
}

2楼
无为剑 发表于:2021/4/19 15:16:25
请问这个函数有什么具体的优点呢?如果是有价值的我们会考虑增加到内部函数中
3楼
llz1124 发表于:2021/4/19 17:11:16
xma对做趋势判断有一定的意义。对原来使用通达信大的用户增加这个函数有很大的帮组。引用别人的说法:

A和XMA的一部分算法一样。比如:

MA(C,N)=(REF(C,N-1)+--REF(C,N-2)+REF(C,N=1)+C)/N

XMA(C,N)=(REF(C,N-1)+--REF(C,N-2)+REF(C,N=1)+C)/N

这两个函数的这个值算法相同。不同的是这个值放到什么位置上。

MA是把这个值放到计算当天。而XMA把这个值放到向前数第(N+1)/2的位置上。所以从这个角度看,XMA更符合平均值的计算原理,把平均值赋给中间数才是合理的。MA虽然使数值固定不变,但对原理来讲并不合理。

这个函数属于未来函数,金字塔内的未来函数不能写进交易策略。 如果金字塔将这个函数增加到内部函数中 ,希望可以在交易策略中使用,在编译公式 时做一个有未来函数提醒就好了。

4楼
llz1124 发表于:2021/4/20 16:04:24
老师,能不能帮忙写一个自定义函数?
5楼
yukizzc 发表于:2021/4/21 9:26:48
input_num:=11;
num:=if(mod(input_num,2),input_num,input_num+1);
tt:=refx(ma(c,11),(num-1)/2);
if barpos<=datacount-(num-1)/2 then temp:=tt;
tt2:=sum(c,1+(num-1)/2)+((num-1)/2)*ref(ma(c,(num-1)/2),1);
if barpos>datacount-(num-1)/2 then temp:=tt2/num;
xma:temp;
mma:ma(c,11);
//if cross(c,xma) then buy(1,1,marketr)

你看下这个xma,input_num就是周期参数自己填入
6楼
llz1124 发表于:2021/4/21 15:05:24
tt2赋值好像不对
7楼
yukizzc 发表于:2021/4/21 15:06:24
后期会增加这个函数的,回头等封装好函数吧
共7 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in .06641 s, 2 queries.