今天发现,股票池or预警or选股,在引用‘跨周期函数’和‘同周期函数’时候的运算时间很慢;
但如果分开写,速度将会提升2倍以上,至少我的电脑是这样的,大家可以测试一下;
举个例子:
{原条件-分时}
dp:="自动大盘.dp";
av:=IF(SUM(C*VOL,0)/SUM(VOL,0)>0,SUM(C*VOL,0)/SUM(VOL,0),C);
买入:="分笔.主买#tick";
卖出:="分笔.主卖#tick";
jig:=c>dp and c>av and c<DYNAINFO(3)*1.03 and 买入>卖出;
这个条件是分时选股,里面引用了分时公式,和分笔公式;
下面把2个公式拆分
{修改后条件1-分时}
INPUT: M(0,0,2);
DDC:=EMA(INDEXC,1000)/EMA(c,2500);
DPC:=INDEXC/DDC;
dp:=if(M=0 OR M=2,DPC,0);
av:=IF(SUM(C*VOL,0)/SUM(VOL,0)>0,SUM(C*VOL,0)/SUM(VOL,0),C);
jig:c>dp and c>av and c<DYNAINFO(3)*1.03;
{修改后条件2-分笔}
买卖次:=BARSSINCE(v)+1;
主买:=SUM(BUYVOL,买卖次);
主卖:=SUM(SELLVOL,买卖次);
主买>主卖;
条件修改后我记录了一下,原条件大概8~10秒;
修改后条件3~4秒;
如果非必要,减少引用速度会提升;
当然,如果你电脑会飞,那就。。。。。。
|