以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 关于“引用公式过多......"的问题 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=58857) |
-- 作者:fyinwater -- 发布时间:2013/11/15 20:50:22 -- 关于“引用公式过多......"的问题 1、在引用公式的时候,如果参数超出范围,会有“引用公式过多....”的错误。实际上,是参数超出范围,应该属于程序提示错误没有区分。 2、我的如下代码也引起。“引用公式过多....” 貌似是把close赋值给变量引起的。 ///////////////////////////// 逐K线模式
VARIABLE:mxk=0; VARIABLE:Kwf=1; VARIABLE:dl=0; Bnmin:=3 ; BnBT:=2; URSI:=1; YJ:=2; RSIF:=3; dl:=0; dl:=close; // 这里如果换成了具体数字,就不会弹出“引用公式过多....”的警告。 Kwf:=DL ; Bnmins:=numtostr(Bnmin,0); BnBTs:=numtostr(BnBT,0); URSIs:=numtostr(URSI,0); YJs:=numtostr(yj,0); RSIFs:=numtostr(RSIF,0); Kwfs:=numtostr(Kwf,0); PT0:= STKINDIEX(\'\',\'Formula3.tx(\'&Bnmins&\',\'&BnBTs&\',\'&URSIs&\',\'&yjs&\',\'&rsifs&\',\'&kwfs&\')\',0,1, 0 , 300 ); // PT0:= STKINDIEX(\'\',\'Formula3.tx\',0,1, 0 , 300 ); 这里用默认参数的,不会有“引用公式过多....” //////////////////////////////////////////////////////////// Formula3 代码 逐K线模式 INPUT:Bnmin(3,1,8,1), BnBT(2,1,8,1), URSI(1 , 0 ,1 , 1) , YJ(2 , 0, 1000, 1),RSIF(3, 3, 100,1) , Kwf(20,-400, 400,10); VARIABLE: tx=1; VARIABLE :DATA=0; DATA:=close ; //TX:="MACD.DEA"(DATA ,data-11,9); TX:= "SFJ@SDATA"(10 ,data ); // 这个函数是DLL 输出的函数,逐K线模式,这里是返回一个随机数字。 |
-- 作者:fyinwater -- 发布时间:2013/11/16 9:24:20 -- 另外 测试了下, 真的在公式中引用了50个以上的公式,没有问题。 看起来问题就是出在参数处理上面。 |
-- 作者:jinzhe -- 发布时间:2013/11/18 9:13:31 -- 首先感谢您的测试,感谢对我们软件的支持
然后说下这个问题 其实你的测试已经很具体的,但是有个关键性的问题那就是根本没考虑到close,close在每根k线上的数值是不一样的,这个就造成了每根k线上都引用不同参数的公式,造成了实际上的重复引用,所以当前k线过多时会报错。你试试看把当前k线图缩小到50根k线之内,再看看是不是不会报错了。
|
-- 作者:stockwiner -- 发布时间:2015/4/15 10:02:46 -- 我看了下, 我的3.53版 MA的计算方式是逐K模式,3.41版是序列模式,难道是这个原因? |