以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- 系统是否存在bug,导致内存泄漏啊?我的系统16G内存都用完了 (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=149174) |
-- 作者:fourbrother -- 发布时间:2017/3/16 12:02:10 -- 系统是否存在bug,导致内存泄漏啊?我的系统16G内存都用完了 今天早上已经崩溃了2次,每次大约能正常运行1小时,崩溃前金字塔占用了大约11G的内存,我的系统是总内存是16G。我没有调用自己编写的dll,调用的是金字塔环境下编写的指标。不过我进行的是某个品种多周期的指标数值的计算。一开始运行时金字塔软件大约只占1.4G的内存,但是占用的内存会越来越大,大约1 小时后,会占用大约11G的内存,然后系统崩溃了。整个过程我只是对一个品种进行计算,请问这个现象有没有解决办法? [此贴子已经被作者于2017-3-16 12:02:59编辑过]
|
-- 作者:王锋 -- 发布时间:2017/3/16 12:09:47 -- 试试升级至4.1正式版 |
-- 作者:fourbrother -- 发布时间:2017/3/16 12:32:13 -- 前两天在官网上下载的, 已经是V4.1 普通版 |
-- 作者:shq -- 发布时间:2017/3/16 14:46:43 -- 1、限制该品种的数据量再试试呢? 2、公式有用什么特殊函数吗?比如:未来函数、for循环一类、数组变量?
[此贴子已经被作者于2017-3-16 14:48:05编辑过]
|
-- 作者:jzthd -- 发布时间:2017/3/16 16:38:34 -- 补个数据解压 都能16G占满,然后系统压缩内存,奇卡无比。 |
-- 作者:shq -- 发布时间:2017/3/16 16:48:42 -- 1、完全删除DATA文件夹后,再重新补数据呢? 2、完全卸载金字塔,顺便清理下电脑垃圾,重启下电脑后,再重装金字塔试试下。
|
-- 作者:jzthd -- 发布时间:2017/3/16 18:51:06 -- 一样的 |
-- 作者:fourbrother -- 发布时间:2017/3/17 0:11:43 -- 公式比较复杂,经过几次调用。有ref , const , barslast for 循环等函数,有数组,而且是跨周期调用 #month #week #day 等。 [此贴子已经被作者于2017-3-17 0:12:12编辑过]
|
-- 作者:fourbrother -- 发布时间:2017/3/17 0:17:02 -- 指标名:01高低点 {参数: n=4} A1:=REF(HIGH,n)=HHV(HIGH,2*n+1); B1:=FILTER(A1,n); C1:=BACKSET(B1,n+1); D1:=FILTER(C1,n);{高点} A2:=REF(LOW,n)=LLV(LOW,2*n+1); B2:=FILTER(A2,n); C2:=BACKSET(B2,n+1); D2:=FILTER(C2,n);{低点} E1:=(REF(LLV(LOW,2*n),1)+REF(HHV(HIGH,2*n),1))/2; E2:=(HIGH+LOW)/2;{高低点出现在同一K线上时可作取舍} H1:=(D1 AND NOT(D2 AND E1>=E2)) OR BARSTATUS=2 OR BARSCOUNT(CLOSE)=1; L1:=D2 AND NOT(D1 AND E1<E2); H2:=D1 AND NOT(D2 AND E1>=E2); X1:=REF(BARSLAST(H1),1)+1; F1:=BACKSET(H1 AND COUNT(L1,X1)>0,LLVBARS(IF(L1,LOW,1000000),X1)); G1:=F1>REF(F1,1); I1:=BACKSET(G1,2); LD:=I1>REF(I1,1);{过滤后低点} L2:=LD OR BARSTATUS=2 OR BARSCOUNT(CLOSE)=1; X2:=REF(BARSLAST(L2),1)+1; F2:=BACKSET(L2 AND COUNT(H2,X2)>0,HHVBARS(IF(H2,HIGH,0),X2)); G2:=F2>REF(F2,1); I2:=BACKSET(G2,2); HD:=I2>REF(I2,1);{过滤后高点} J1:=BACKSET(BARSTATUS=2,MIN(BARSLAST(HD),BARSLAST(LD))+1); J2:=J1>REF(J1,1); A3:=H; B3:=REF(H,REF(BARSLAST(HD),1)+1)>REF(H,REF(BARSLAST(HD),1)+2+REF(BARSLAST(HD),REF(BARSLAST(HD),1)+2)); D3:=A3 AND B3 AND HD; E3:=BACKSET(D3,REF(BARSLAST(HD),1)+2); HH:=E3>REF(E3,1);{找出全部长期高点} A4:=L>REF(L,REF(BARSLAST(LD),1)+1); B4:=REF(L,REF(BARSLAST(LD),1)+1); D4:=A4 AND B4 AND LD; E4:=BACKSET(D4,REF(BARSLAST(LD),1)+2); LL:=E4>REF(E4,1);{找出全部长期低点} H3:=HH OR BARSTATUS=2 OR BARSCOUNT(C)=1; {后面进行过滤,方法同前。只是不用考虑高低点出现在同一K线} X3:=REF(BARSLAST(H3),1)+1; F3:=BACKSET(H3 AND COUNT(LL,X3)>0,LLVBARS(IF(LL,L,POW(10,20)),X3)); G3:=F3>REF(F3,1); I3:=BACKSET(G3,2); LZ:=I3>REF(I3,1); {长期低点,也可供引用} L4:=LZ OR BARSTATUS=2 OR BARSCOUNT(C)=1; X4:=REF(BARSLAST(L4),1)+1; F4:=BACKSET(L4 AND COUNT(HH,X4)>0,HHVBARS(IF(HH,H,-POW(10,20)),X4)); G4:=F4>REF(F4,1); I4:=BACKSET(G4,2); HZ:=I4>REF(I4,1);{长期高点,也可供引用} K1:=BACKSET(BARSTATUS=2,MIN(BARSLAST(HZ),BARSLAST(LZ))+1); K2:=K1>REF(K1,1); UU:=BACKSET(BARSTATUS=2,BARSLAST(LD)+1); dn1p:UU>REF(UU,1); {前一低} WW:=BACKSET(dn1p,REF(BARSLAST(LD),1)+2); dn2p:WW>REF(WW,1); {前二低} dn2:=BACKSET(dn2p,REF(BARSLAST(LD),1)+2); dn3p:dn2>REF(dn2,1); {前三低} UU2:=BACKSET(BARSTATUS=2,BARSLAST(HD)+1); up1p:UU2>REF(UU2,1); {前一高} WW2:=BACKSET(up1p,REF(BARSLAST(HD),1)+2); up2p:WW2>REF(WW2,1);{前二高} up2:=BACKSET(up2p,REF(BARSLAST(HD),1)+2); up3p:up2>REF(up2,1); {前三高} dn1t:barslast(dn1p); dn2t:barslast(dn2p); dn3t:barslast(dn3p); up1t:barslast(up1p); up2t:barslast(up2p); up3t:barslast(up3p); dn1l:ref(l,dn1t); dn2l:ref(l,dn2t); dn3l:ref(l,dn3t); up1h:ref(h,up1t); up2h:ref(h,up2t); up3h:ref(h,up3t); |
-- 作者:fourbrother -- 发布时间:2017/3/17 0:18:23 -- 这只是首次被调用的指标,后面有几个指标都会调用它。 |