以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  占用过大,软件卡顿问题  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=67553)

--  作者:lcgs005
--  发布时间:2014/7/18 10:58:24
--  占用过大,软件卡顿问题
在计算下列公式时,出现cpu占用猛增,软件出现卡顿,长时间无反应的问题,请问如何优化或改进?
//
DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA), COLORSTICK;
DIF:=EMA( c , 12 ) - EMA( c , 26 ) ;
s:=EMA( c , 12 ) ;
lo:=EMA( c , 26 ) ;
rs:=REF( s , 1 ) ;
rl:=REF( lo , 1 ) ;
RDIf:=REF( DIF , 1 ) ;
RDEA:=REF( DEA , 1 ) ;
RMACD:=REF( MACD , 1 ) ;
jDEA:=( ( 26 - 1 ) * ( 12 + 1 ) * rl - ( 26 + 1 )* ( 12 - 1 ) * rs + ( 12 + 1) * ( 26 + 1 ) * RDEA ) / ( 2 * 26 - 2 * 12 ) ;
sjbjdea:=jdea;
sjbjma:=ema(sjbjdea,2);
sjbjs:=cross(sjbjdea,sjbjma);
sjbjx:=cross(sjbjma,sjbjdea);
jszq:=sumbars(sjbjs,1);
jxzq:=sumbars(sjbjx,1);
sjbjszt:=sjbjdea>sjbjma;
sjbjxzt:=sjbjdea<sjbjma;
//
//计算前一次之间的涨跌幅度
zf:=ref(hhv(h,jxzq),jszq)-ref(llv(l,jxzq),jszq);
df:=ref(hhv(H,jszq),jxzq)-ref(llv(l,jszq),jxzq);
//计算1000周期内金叉死叉间的涨幅与跌幅的最大最小值
n:=1000;//if(todaybar>10,todaybar,10);//barpos;//datacount;//BARSCOUNT(CLOSE);//1000;
最大涨幅:LARGE(zf ,n ,1 ),linethick0;
最小涨幅:SMALL(zf,n ,1 ),linethick0;
涨幅的众数:MODE(zf , n),linethick0;
最大跌幅:LARGE(df ,n ,1 ),linethick0;
最小跌幅:SMALL(df,n ,1 ),linethick0;
跌幅的众数:MODE(df , n),linethick0;

--  作者:王锋
--  发布时间:2014/7/18 11:05:07
--  
最大涨幅:LARGE(zf ,n ,1 ),linethick0;
最小涨幅:SMALL(zf,n ,1 ),linethick0;
涨幅的众数:MODE(zf , n),linethick0;
最大跌幅:LARGE(df ,n ,1 ),linethick0;
最小跌幅:SMALL(df,n ,1 ),linethick0;
跌幅的众数:MODE(df , n),linethick0;
 
这些统计函数占用比较多的资源, 建议你减少数据量, 或者使用走完K线的仅刷最后K线模式

--  作者:lcgs005
--  发布时间:2014/7/18 11:25:58
--  
使用 仅刷最后一根K线后,不输出值了?
--  作者:王锋
--  发布时间:2014/7/18 11:34:09
--  
不会的吧,你确认?
--  作者:lcgs005
--  发布时间:2014/7/29 8:38:58
--  
确实不输出了,你可粘贴后看看
--  作者:FexTel
--  发布时间:2014/7/29 9:29:39
--  

1,看下是不是序列变量ZF,DF没有取值,n=1000则对应K线数量要超过

2,最大涨幅:LARGE(c,n,1),linethick0;
 最小涨幅:SMALL(C,n,1),linethick0;
  涨幅的众数:MODE(C,n),linethick0;

//试试,模式不影响值的输出


--  作者:lcgs005
--  发布时间:2014/7/29 11:50:56
--  
样本数量是够的,只要用序列模式马上就有值输出来
--  作者:FexTel
--  发布时间:2014/7/29 13:29:36
--  

1,试试我下面哪行代码,统计函数无论在那种模式下都正常

2,您这行代码我本地也已经验证,2种模式下值都没有问题

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140729132857.png
图片点击可在新窗口打开查看