以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请帮我改一个TB函数到金字塔  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=63261)

--  作者:soler
--  发布时间:2014/3/28 16:23:39
--  请帮我改一个TB函数到金字塔
Params
NumericSeries Price(1); 
Numeric Length(10);
Vars
Numeric KurtValue(0);
Numeric P1(0);
Numeric P2(0);
Numeric P3(0);
Numeric Mean;
Numeric SDev;
Numeric i;
Begin
If (Length >3)
{
Mean = Average( Price, Length ) ;
SDev = StandardDev( Price, Length, 2 ) ;
if (SDev > 0)
{
for  i = 0 to Length - 1
{
P2 = P2 + Power( ( Price[i] - Mean ) / SDev, 4 ) ;
}
P1 = Length * ( Length + 1 ) / ( ( Length - 1 ) * ( Length - 2 ) * ( Length - 3 ) ) ;
P3 = 3 * Sqr( Length - 1 ) / ( ( Length - 2 ) * ( Length - 3 ) ) ;
KurtValue = P1 * P2 - P3 ;
}
}
Return KurtValue;
End

--  作者:soler
--  发布时间:2014/3/28 16:26:45
--  
TB里面是内置函数,叫峰度系数
--  作者:jinzhe
--  发布时间:2014/3/28 16:31:42
--  
给上面的代码做下注释,不然看不明白
--  作者:soler
--  发布时间:2014/3/28 16:48:49
--  
Params
NumericSeries Price(1); 
Numeric Length(10);
Vars
Numeric KurtValue(0);
Numeric P1(0);
Numeric P2(0);
Numeric P3(0);
Numeric Mean;
Numeric SDev;
Numeric i;
Begin
If (Length >3)
{
Mean = Average( Price, Length ) ;  //求平均值
SDev = StandardDev( Price, Length, 2 ) ;    //计算标准差
if (SDev > 0)
{
for  i = 0 to Length - 1
{
P2 = P2 + Power( ( Price[i] - Mean ) / SDev, 4 ) ;
}
P1 = Length * ( Length + 1 ) / ( ( Length - 1 ) * ( Length - 2 ) * ( Length - 3 ) ) ;
P3 = 3 * Sqr( Length - 1 ) / ( ( Length - 2 ) * ( Length - 3 ) ) ;
KurtValue = P1 * P2 - P3 ;
}
}
Return KurtValue;
End

--  作者:jinzhe
--  发布时间:2014/3/28 16:51:33
--  
。。。。把除了开头numeric定义之外的都注释一下
--  作者:soler
--  发布时间:2014/3/28 17:12:41
--  
Params
NumericSeries Price(1); 
Numeric Length(10);
Vars
Numeric KurtValue(0);
Numeric P1(0);
Numeric P2(0);
Numeric P3(0);
Numeric Mean;
Numeric SDev;
Numeric i;
Begin
If (Length >3)    //length 是参数,也就是计算天数
{
Mean = Average( Price, Length ) ;  //求平均值
SDev = StandardDev( Price, Length, 2 ) ;    //计算标准差
if (SDev > 0)
{
for  i = 0 to Length - 1
{
P2 = P2 + Power( ( Price[i] - Mean ) / SDev, 4 ) ;   求幂
}
P1 = Length * ( Length + 1 ) / ( ( Length - 1 ) * ( Length - 2 ) * ( Length - 3 ) ) ;
P3 = 3 * Sqr( Length - 1 ) / ( ( Length - 2 ) * ( Length - 3 ) ) ;
KurtValue = P1 * P2 - P3 ;
}
}
Return KurtValue;
End

就是在金字塔里面创建一个自定义函数

--  作者:jinzhe
--  发布时间:2014/3/28 17:18:42
--  
NumericSeries Price(1); 
Numeric Length(10);

 

 

这两个定义不同在哪里?后面的数字是不是参数值?


--  作者:szy56801
--  发布时间:2014/3/28 17:24:39
--  
金字塔难道没有kurt和skew吗? 为什么要翻译呢
--  作者:soler
--  发布时间:2014/3/28 17:33:44
--  
金字塔KURT计算数值跟TB完全不一样
--  作者:soler
--  发布时间:2014/3/28 17:34:53
--  
以下是引用jinzhe在2014/3/28 17:18:42的发言:
NumericSeries Price(1); 
Numeric Length(10);

 

 

这两个定义不同在哪里?后面的数字是不是参数值?


第一个相当于close ,第二个相当于周期,后面是参数