以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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=174832)

--  作者:xxinstar100
--  发布时间:2020/3/8 10:46:05
--  引用次数过多
提示引用次数过多超过50,整个代码的引用如下,加起来才9个引用,没明白为什么引用过多,是怎么计算的?


MODELBUY :=STKINDI(\'SH905\',\'DAYDATA005.MODELBUYD\',0,6,0);    //当日日模型买入信号
MODELBUY1:=STKINDI(\'SH905\',\'DAYDATA005.MODELBUYD1\',0,6,0);    //当日日模型买入信号
MODELBUY2:=STKINDI(\'SH905\',\'DAYDATA005.MODELBUYD2\',0,6,0);    //当日日模型买入信号

 //引用下月连续日数据
NC1:STKINDI(CY,\'DAYDATA005.CCD\',0,6,-1); //前1日收盘价
NO1:STKINDI(CY,\'DAYDATA005.OOD\',0,6,-1); //前1日开盘价
NL1:STKINDI(CY,\'DAYDATA005.LLD\',0,6,-1); //前1日最低价
NH1:STKINDI(CY,\'DAYDATA005.HHD\',0,6,-1); //前1日最高价
NC2:=STKINDI(CY,\'DAYDATA005.CCD\',0,6,-2); //前2日收盘价
NO2:=STKINDI(CY,\'DAYDATA005.OOD\',0,6,-2); //前2日开盘价

--  作者:wenarm
--  发布时间:2020/3/8 11:10:43
--  

你是不是被引用公式中有stikindi函数。

 


--  作者:xxinstar100
--  发布时间:2020/3/8 11:28:41
--  引用过多


没有的,被引用的公式里一个引用都没有。是不是 合约CY不是常量,是变量有关系。、


CY是下月合约

--  作者:wenarm
--  发布时间:2020/3/8 11:32:23
--  
把你,被引用的公式代码也贴出来。我们测试下
--  作者:xxinstar100
--  发布时间:2020/3/8 11:42:28
--  引用过多

公式文件名称 DAYDATA005,代码如下:


VC:=0.08;
N:=8;
M:=3;

PP1:=0.025;

CCD:=C;
OOD:=O;
LLD:=L;
HHD:=H;
VVD:=VOL;
CC1D:=REF(C,1);   //昨日收盘价
CC2D:=REF(C,2);
OO1D:=REF(O,1);
LL1D:=REF(L,1);
HH1D:=REF(H,1);
OO2D:=REF(O,2);

KPZHANGFUD:=OPEN/REF(C,1)-1;   //开盘涨幅
SPZHANGFUD:=CLOSE/REF(C,1)-1;   //收盘涨幅
ZDZHANGFUD:=LOW/REF(C,1)-1;   //最低涨幅
ZGZHANGFUD:=HIGH/REF(C,1)-1;   //最高涨幅

KPZHANGFU1D:=REF(KPZHANGFUD,1);
SPZHANGFU1D:=REF(SPZHANGFUD,1);
ZDZHANGFU1D:=REF(ZDZHANGFUD,1);
ZGZHANGFU1D:=REF(ZGZHANGFUD,1);

//TVOL:=IF(DATE>=180820,VOL*1.0125,VOL*1.00417);
TVOL:=VOL;
COND1:=(TVOL/REF(VOL,1)-1)<-VC;    //成交量减少5%
COND2:=TVOL<REF(LLV(VOL,N),1);               //成交量7日最低   
COND3:=ABS(SPZHANGFUD)<=PP1;   //价格不能变化太高,大于-2%,小于2%
COND4:=LOW<REF(LLV(C,M),1) ;            //成交价创5日新低

MODELBUYD:COND1&&COND2&&COND3&&COND4;// 模型是否符合买入条件  收盘前1分钟判断145900
MODELBUYD1:=REF(MODELBUYD,1);
MODELBUYD2:=REF(MODELBUYD,2);
DRAWICON(MODELBUYD,L-10,1);



--  作者:wenarm
--  发布时间:2020/3/8 11:55:57
--  

本地测试,可以正常编译通过。留一下你的qq。我远程看下。


--  作者:xxinstar100
--  发布时间:2020/3/8 13:15:27
--  引用过多


515787709

编译没问题,但是加载图上就会报错,公式引用过多

--  作者:wenarm
--  发布时间:2020/3/8 20:56:14
--  

问题已解决:原因如下:

因为

CY变量在不同时期对于不同的合约。所以,受50个引用的限制,cy最多只能涵盖有5个合约。(5*9=45个引用,在多时则超出限制)