以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=2739) |
-- 作者:mashimaroinf -- 发布时间:2010/9/6 20:46:56 -- 为什么显示“未定义的标识符”?我明明前面赋值了
公式如下。我知道这个公式金字塔里有,但是这些语句是原始的算法。为什么我在公式编辑窗口里输入语句-确定以后,它提示未定义的标识符“CC”?这个变量我明明前面赋值了 请指点!很感谢
input: n(9,1,60), p(2,1,60), Q(30,1,60); YY:=REF( Close , 1 ) + Constant * ( CLOSE - REF( Close , 1 ) ); DD:=REF( C , BB ) ; for m=N + 2 to DATACOUNT DO AMA:DD; |
-- 作者:admin -- 发布时间:2010/9/6 20:54:03 -- 目前飞狐的这种循环语句不要在金字塔上运行,请等待日后的升级版 |
-- 作者:wattwei -- 发布时间:2010/9/7 7:29:37 -- 楼主好像想实现考夫曼自适应均线,金字塔直接提供此函数,参考 http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=1897&skin=0 |
-- 作者:mashimaroinf -- 发布时间:2010/9/7 8:50:55 -- 是的 这是考夫曼的比较原始的代码,我知道飞狐有MD函数用起来好像很方便,但我想知道原始的运算过程所以才问以上的语句。 能否请教一下: 1.以上语句哪部分金字塔不支持? 2。今后是否会解决? |
-- 作者:wattwei -- 发布时间:2010/9/7 9:02:34 -- 1.好像是不支持循环中单语句的迭代。如不嫌麻烦,经过合理的拆分,还是可以使用的。以前在不知道MD函数时,曾拆分实现过,但是效率估计不高,源码也没有保存 2.看金字塔的开发安排 |
-- 作者:mashimaroinf -- 发布时间:2010/9/7 9:57:31 -- 是的 我注意到变量“DD”被赋值两次,在飞狐里可以 ,在金字塔不行。
关于你说的拆分实现,能否指点一二?不用劳驾写全部的代码,只写一两句例子就行 非常感谢! |
-- 作者:wattwei -- 发布时间:2010/9/7 10:28:15 -- input: n(9,1,60), p(2,1,60), Q(30,1,60); Direction:=CLOSE - REF( CLOSE , N ) ; XX:=ABS( CLOSE - REF( CLOSE , 1 ) ) ; Volatility:=SUM( XX , N ) ; ER:=ABS( Direction / Volatility ) ; FastC:= 2 / ( p + 1 ) ; SlowC:= 2 / ( q + 1 ) ; SSC:=ER * ( FastC - SlowC ) + SlowC ; Constant:=SSC * SSC , Linethick0 ; YY:=REF( Close , 1 ) + Constant * ( CLOSE - REF( Close , 1 ) ); AA:=IF( SUM( 1 , 0 )= N + 1 , YY , 0 ) ; BB:=BarsLast( AA>0 ) ; DD:REF( C , BB ),coloryellow ; CC:=CLOSE; IF NOT(ISLASTBAR) THEN EXIT; for m=N + 2 to DATACOUNT DO DD[m]:=DD[m - 1] + Constant[m] * CC[m]- Constant[m]*DD[m- 1]; 输出DD,即楼主所要。如觉不爽,替换公式中所有DD为AMA,是楼主最终所要。 |
-- 作者:mashimaroinf -- 发布时间:2010/9/7 19:46:06 -- 非常感谢! |