欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请版主老师看下该问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有7223人关注过本帖树形打印复制链接

主题:请版主老师看下该问题

帅哥哟,离线,有人找我吗?
偏爱
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:46 积分:235 威望:0 精华:0 注册:2011/1/11 20:54:47
请版主老师看下该问题  发帖心情 Post By:2011/4/4 13:46:15    Post IP:222.133.35.9[只看该作者]

版主老师好,我写了一个指标,同时引用了1 5 15 30分钟和日线的同一条输出线,在鼠标滚轮缩小扩大K线时异常的迟钝,内存占用率经常超过1G,请问版主老师怎样解决这个问题(图形和内存显示都是系统默认的960),引用多周期时怎样编写可以优化(已勾选序列计算),谢谢
[此贴子已经被作者于2011-4-4 13:50:12编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
z7c9
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1882 积分:3310 威望:0 精华:15 注册:2010/3/15 13:11:56
  发帖心情 Post By:2011/4/4 15:57:50    Post IP:114.243.113.75[只看该作者]

请把代码贴出来,具体分析倒地哪里的问题

 回到顶部
帅哥哟,离线,有人找我吗?
偏爱
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:46 积分:235 威望:0 精华:0 注册:2011/1/11 20:54:47
  发帖心情 Post By:2011/4/4 18:48:01    Post IP:222.133.35.9[只看该作者]

下面是代码,请老师查看

指标1:ZQJX

SHORTH:MAX(VALUEWHEN(C<=SMA(L,3,1)&&C<=REF(LLV(L,2),1),SMA(H,3,1)),MA(C,10)); 
SHORTL:MIN(VALUEWHEN(C>=SMA(H,3,1)&&C>=REF(HHV(H,2),1),SMA(L,3,1)),MA(C,10));
SHORTH1:BARSLAST(L>SHORTH);
SHORTL1:BARSLAST(H<SHORTL);
PARTLINE(SHORTH1>SHORTL1,SHORTH,COLORGREEN);
PARTLINE(SHORTH1<SHORTL1,SHORTL,COLORRED);
DRAWNUMBER(SHORTH1>SHORTL1&&ISLASTBAR,SHORTH,SHORTH,2,COLORGREEN);
DRAWNUMBER(SHORTH1<SHORTL1&&ISLASTBAR,SHORTL,SHORTL,2,COLORRED);
LONGH:MAX(MAX(VALUEWHEN(C<=SMA(L,3,1)&&C<=REF(LLV(L,2),1),SMA(H,3,1)),MAX(VALUEWHEN(C<=SMA(L,5,1)&&C<=REF(LLV(L,2),1),SMA(H,5,1)),MAX(VALUEWHEN(C<=SMA(L,13,1)&&C<=REF(LLV(L,2),1),SMA(H,13,1)),MAX(VALUEWHEN(C<=SMA(L,21,1)&&C<=REF(LLV(L,2),1),SMA(H,21,1)),VALUEWHEN(C<=SMA(L,34,1)&&C<=REF(LLV(L,2),1),SMA(H,34,1)))))),MAX(MA(C,10),MAX(MA(C,20),MAX(MA(C,30),MAX(MA(C,40),MA(C,60))))));
LONGL:MIN(MIN(VALUEWHEN(C>=SMA(H,3,1)&&C>=REF(HHV(H,2),1),SMA(L,3,1)),MIN(VALUEWHEN(C>=SMA(H,5,1)&&C>=REF(HHV(H,2),1),SMA(L,5,1)),MIN(VALUEWHEN(C>=SMA(H,13,1)&&C>=REF(HHV(H,2),1),SMA(L,13,1)),MIN(VALUEWHEN(C>=SMA(H,21,1)&&C>=REF(HHV(H,2),1),SMA(L,21,1)),VALUEWHEN(C>=SMA(H,34,1)&&C>=REF(HHV(H,2),1),SMA(L,34,1)))))),MIN(MA(C,10),MIN(MA(C,20),MIN(MA(C,30),MIN(MA(C,40),MA(C,60))))));
LONGH1:BARSLAST(L>LONGH);
LONGL1:BARSLAST(H<LONGL);
PARTLINE(LONGH1>LONGL1,LONGH,COLORGREEN);
PARTLINE(LONGH1<LONGL1,LONGL,COLORRED);
DRAWNUMBER(LONGH1>LONGL1&&ISLASTBAR,LONGH,LONGH,3,COLORGREEN);
DRAWNUMBER(LONGH1<LONGL1&&ISLASTBAR,LONGL,LONGL,3,COLORRED);

TO:O;
TH:H;
TL:L;
YC:REF(C,1);
YH:REF(H,1);
YL:REF(L,1);

 

指标2:主图

NN:=BARSLAST(DATE<>REF(DATE,1));
N1:=BACKSET(ISLASTBAR,NN);

SHORTHDY:="ZQJX.SHORTH#DAY"; 
SHORTLDY:="ZQJX.SHORTL#DAY";
SHORTH1DY:="ZQJX.SHORTH1#DAY";
SHORTL1DY:="ZQJX.SHORTL1#DAY";
PARTLINE(SHORTH1DY>SHORTL1DY,SHORTHDY,COLORGREEN),POINTDOT;
PARTLINE(SHORTH1DY<SHORTL1DY,SHORTLDY,COLORRED),POINTDOT;
DRAWNUMBER(SHORTH1DY>SHORTL1DY&&ISLASTBAR,SHORTHDY,SHORTHDY,3,COLORGREEN);
DRAWNUMBER(SHORTH1DY<SHORTL1DY&&ISLASTBAR,SHORTLDY,SHORTLDY,3,COLORRED);
LONGHDY:="ZQJX.LONGH#DAY";
LONGLDY:="ZQJX.LONGL#DAY";
LONGH1DY:="ZQJX.LONGH1#DAY";
LONGL1DY:="ZQJX.LONGL1#DAY";
PARTLINE(LONGH1DY>LONGL1DY,LONGHDY,COLORCYAN),POINTDOT;
PARTLINE(LONGH1DY<LONGL1DY,LONGLDY,COLORCYAN),POINTDOT;
DRAWNUMBER(LONGH1DY>LONGL1DY&&ISLASTBAR,LONGHDY,LONGHDY,3,COLORCYAN);
DRAWNUMBER(LONGH1DY<LONGL1DY&&ISLASTBAR,LONGLDY,LONGLDY,3,COLORCYAN);
LONGHM30:="ZQJX.LONGH#MIN30";
LONGLM30:="ZQJX.LONGL#MIN30";
LONGH1M30:="ZQJX.LONGH1#MIN30";
LONGL1M30:="ZQJX.LONGL1#MIN30";
PARTLINE(LONGH1M30>LONGL1M30,LONGHM30,COLORMAGENTA),5,POINTDOT;
PARTLINE(LONGH1M30<LONGL1M30,LONGLM30,COLORMAGENTA),POINTDOT;
DRAWNUMBER(LONGH1M30>LONGL1M30&&ISLASTBAR,LONGHM30,LONGHM30,2,COLORMAGENTA);
DRAWNUMBER(LONGH1M30<LONGL1M30&&ISLASTBAR,LONGLM30,LONGLM30,2,COLORMAGENTA);
LONGHM15:="ZQJX.LONGH#MIN15";
LONGLM15:="ZQJX.LONGL#MIN15";
LONGH1M15:="ZQJX.LONGH1#MIN15";
LONGL1M15:="ZQJX.LONGL1#MIN15";
PARTLINE(LONGH1M15>LONGL1M15,LONGHM15,COLORGREEN),POINTDOT;
PARTLINE(LONGH1M15<LONGL1M15,LONGLM15,COLORGREEN),POINTDOT;
DRAWNUMBER(LONGH1M15>LONGL1M15&&ISLASTBAR,LONGHM15,LONGHM15,1,COLORGREEN);
DRAWNUMBER(LONGH1M15<LONGL1M15&&ISLASTBAR,LONGLM15,LONGLM15,1,COLORGREEN);
LONGHM5:="ZQJX.LONGH#MIN5";
LONGLM5:="ZQJX.LONGL#MIN5";
LONGH1M5:="ZQJX.LONGH1#MIN5";
LONGL1M5:="ZQJX.LONGL1#MIN5";
PARTLINE(LONGH1M5>LONGL1M5,LONGHM5,COLORyellow),POINTDOT;
PARTLINE(LONGH1M5<LONGL1M5,LONGLM5,COLORyellow),POINTDOT;
DRAWNUMBER(LONGH1M5>LONGL1M5&&ISLASTBAR,LONGHM5,LONGHM5,0,COLORyellow);
DRAWNUMBER(LONGH1M5<LONGL1M5&&ISLASTBAR,LONGLM5,LONGLM5,0,COLORyellow);
SHORTHM1:="ZQJX.SHORTH#MIN1"; 
SHORTLM1:="ZQJX.SHORTL#MIN1";
SHORTH1M1:="ZQJX.SHORTH1#MIN1";
SHORTL1M1:="ZQJX.SHORTL1#MIN1";
PARTLINE(SHORTH1M1>SHORTL1M1,SHORTHM1,COLORGREEN),POINTDOT;
PARTLINE(SHORTH1M1<SHORTL1M1,SHORTLM1,COLORRED),POINTDOT;
DRAWNUMBER(SHORTH1M1>SHORTL1M1&&ISLASTBAR,SHORTHM1,SHORTHM1,0,COLORGREEN);
DRAWNUMBER(SHORTH1M1<SHORTL1M1&&ISLASTBAR,SHORTLM1,SHORTLM1,0,COLORRED);
LONGHM1:="ZQJX.LONGH#MIN1";
LONGLM1:="ZQJX.LONGL#MIN1";
LONGH1M1:="ZQJX.LONGH1#MIN1";
LONGL1M1:="ZQJX.LONGL1#MIN1";
PARTLINE(LONGH1M1>LONGL1M1,LONGHM1,COLORWHITE),POINTDOT;
PARTLINE(LONGH1M1<LONGL1M1,LONGLM1,COLORWHITE),POINTDOT;
DRAWNUMBER(LONGH1M1>LONGL1M1&&ISLASTBAR,LONGHM1,LONGHM1,0,COLORWHITE);
DRAWNUMBER(LONGH1M1<LONGL1M1&&ISLASTBAR,LONGLM1,LONGLM1,0,COLORWHITE);


TO:="ZQJX.TO#DAY";
TH:="ZQJX.TH#DAY";
TL:="ZQJX.TL#DAY";
YC:="ZQJX.YC#DAY";
YH:="ZQJX.YH#DAY";
YL:="ZQJX.YL#DAY";
PARTLINE(N1=1,IFELSE(TO<(YH+YL)/2,MAX(TO,YC),MIN(TO,YC)),COLORWHITE),POINTDOT;
DRAWTEXT(TO<(YH+YL)/2&&N1=1&&ISLASTBAR,MAX(TO,YC),'低开');
DRAWTEXT(TO>(YH+YL)/2&&N1=1&&ISLASTBAR,MIN(TO,YC),'高开');
DRAWNUMBER(C>IFELSE(TO>(YH+YL)/2,MIN(TO,YC),MAX(TO,YC))&&TH>=YH&&C<=YH&&N1=1&&ISLASTBAR,YH,YH,0,COLORRED);
DRAWTEXT(C>IFELSE(TO>(YH+YL)/2,MIN(TO,YC),MAX(TO,YC))&&TH>=YH&&C<=YH&&N1=1&&ISLASTBAR,YH,'昨高');
DRAWNUMBER(C<IFELSE(TO>(YH+YL)/2,MIN(TO,YC),MAX(TO,YC))&&TL<=YL&&C>=YL&&N1=1&&ISLASTBAR,YL,YL,0,COLORGREEN);
DRAWTEXT(C<IFELSE(TO>(YH+YL)/2,MIN(TO,YC),MAX(TO,YC))&&TL<=YL&&C>=YL&&N1=1&&ISLASTBAR,YL,'昨低');

 


 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2011/4/4 19:28:54    Post IP:116.227.48.239[只看该作者]

首先你的这几个公式要在序列模式运行

此外,你跨周期引用的数量实在是太多了,试试能否减少数量,或者再试试将图形显示数量再减小到240看看能否快点

也主意一些被引用公式的效率问题,比如PARTLINE等这些语句在被引用中是无效的指令,应该从语句中去掉

[此贴子已经被作者于2011-4-4 19:30:50编辑过]


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
admin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
  发帖心情 Post By:2011/4/4 20:55:53    Post IP:116.227.48.239[只看该作者]

升级硬件是肯定可以提高效率的

由于不了解你的公式含义用途,无法给出具体优化代码写法,这个需要用户不断的学习来提高自我的编程能力来解决问题。

如果有条件,可以情人帮你将策略移植到VBA上,这样效率会增加很多


 回到顶部
帅哥哟,离线,有人找我吗?
偏爱
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:46 积分:235 威望:0 精华:0 注册:2011/1/11 20:54:47
  发帖心情 Post By:2011/4/4 21:16:05    Post IP:221.204.219.65[只看该作者]

谢谢楼上各位版主老师的回复,确实引用很多周期没有价值,引用一次就够了,其余可以使用时通过叠加的方式实现,谢谢各位

 回到顶部