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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → [建议]关于编写高效率的程序(说慢的进,客服也请进)

   

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


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

主题:[建议]关于编写高效率的程序(说慢的进,客服也请进)

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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2013/5/17 9:49:32 [只看该作者]

这个,klc兄笔误了

再举一个避免引用统计的例子,求3天简单ma值,在程序中直接计算:

(CALLSTOCK(stklabel,vtClose,6,0)+CALLSTOCK(stklabel,vtClose,6,-1)+CALLSTOCK(stklabel,vtClose,6,-2))/3.0;

 

1)我在第9点代码中那个绿色的“实盘中”我实际未用,导致评测时也试图调用vba切换图表,造成vba报错,我想问下有没有一个函数来判断是评测时,还是实盘中呢?我自己的基本思路是调用某个账户函数,如果没有值就是评测中,不知可否,现在也不知道哪个函数比较好。

 

帐户类型函数,TACCOUNT( 2),该函数在没有帐户登陆时返回255.

测评的时候,也不需要帐户登陆,可退出帐户

 

2)金字塔软件能否增加一个新的全局变量品种,可以在仅刷最后K线时也得以保留,但又比EXTGBxxx轻量的?

EXTGBxxx,是内存级别的全局变量,在软件正常关闭时,会写到硬盘,速度也是可以的.VARIABLE也是内存级别的.

 

EXTGBxxx可满足需求.



金字塔—专业程序化交易量化投资平台

客户服务部

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

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:论坛游侠 帖子:311 积分:635 威望:0 精华:0 注册:2011/1/20 14:44:58
  发帖心情 Post By:2013/5/17 12:02:26 [只看该作者]

 要求增加 EXTGBxxxx的强制写盘函数!


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


加好友 发短信
等级:超级版主 帖子:3534 积分:10003 威望:0 精华:5 注册:2012/5/25 0:00:01
  发帖心情 Post By:2013/5/17 12:56:40 [只看该作者]

写盘不现实  你实时的效率不能保证  就是做出来了  也会有信号闪烁 刷新不及时的问题。白用功


金字塔—专业程序化交易量化投资平台

产品部

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

欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
fly
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2013/5/17 13:27:36 [只看该作者]

要实时写盘,那就用注册表全局变量SETREGVAL


金字塔—专业程序化交易量化投资平台

客户服务部

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

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:黑侠 帖子:864 积分:607 威望:0 精华:0 注册:2013/3/14 23:16:32
  发帖心情 Post By:2013/5/20 10:50:50 [只看该作者]

不知道楼主“勾选了“仅刷最后一根K线”之后,不管是VARIABLE还是GLOBALVARIABLE声明的全局变量,到了最后一根K线时,值都变回初始化的值了”用的是什么代码测试?能否拿给我测试一下。我自己测试的结果是并没有变回初始值。我的交易系统测试代码是:
VARIABLE:LONG=0;
IF CROSS(MA(C,60),C) and HOLDING>0 THEN 
  begin
   sell(1,1,marketr);
   LONG:=0;
  end;
IF CROSS(C,MA(C,60)) and HOLDING=0 THEN 
  BEGIN  
   BUY(1,1,marketr);
   LONG:=BARPOS;
  end;
DEBUGFILE('e:\CLOSE.txt','BP='&NUMTOSTR(BARPOS,0)&' LONG=%.0f',LONG);

技术指标里面也测试了一下,也没发现有此问题:
VARIABLE:LONG=0;
IF CROSS(C,MA(C,60)) THEN LONG:=BARPOS;
IF CROSS(MA(C,60),C) THEN LONG:=0;
LONGS:LONG;
XX:BARPOS,NODRAW;
DEBUGFILE('e:\CLOSE3.txt','LONG=%.0f',LONG);


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


加好友 发短信
等级:论坛游侠 帖子:311 积分:635 威望:0 精华:0 注册:2011/1/20 14:44:58
  发帖心情 Post By:2013/5/20 14:18:46 [只看该作者]

 怎么不现实? 我可以编程设定在收盘最后一根K线写盘啊!
上午收盘前写一次,下午收盘前再写一次!

不是不现实的问题,而是你们有没有动脑子的问题!
金字塔系统不崩溃,EXTGB的数据是一直存在的,一崩溃,全玩完,一个也没了!增加个写盘函数那么难啊!

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


加好友 发短信
等级:黑侠 帖子:618 积分:2624 威望:0 精华:0 注册:2010/4/25 15:17:16
  发帖心情 Post By:2013/5/21 10:12:40 [只看该作者]

金字塔系统不崩溃,EXTGB的数据是一直存在的,一崩溃,全玩完,

 

要用到这种功能?

那你的模型能测试么?  还是真金白银直接上阵?


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


加好友 发短信
等级:黑侠 帖子:993 积分:1787 威望:0 精华:5 注册:2012/11/28 17:37:20
  发帖心情 Post By:2013/7/1 15:44:31 [只看该作者]

以下是引用dwjgwsm在2013/5/20 10:50:50的发言:
不知道楼主“勾选了“仅刷最后一根K线”之后,不管是VARIABLE还是GLOBALVARIABLE声明的全局变量,到了最后一根K线时,值都变回初始化的值了”用的是什么代码测试?能否拿给我测试一下。我自己测试的结果是并没有变回初始值。我的交易系统测试代码是:
VARIABLE:LONG=0;
IF CROSS(MA(C,60),C) and HOLDING>0 THEN 
  begin
   sell(1,1,marketr);
   LONG:=0;
  end;
IF CROSS(C,MA(C,60)) and HOLDING=0 THEN 
  BEGIN  
   BUY(1,1,marketr);
   LONG:=BARPOS;
  end;
DEBUGFILE('e:\CLOSE.txt','BP='&NUMTOSTR(BARPOS,0)&' LONG=%.0f',LONG);

技术指标里面也测试了一下,也没发现有此问题:
VARIABLE:LONG=0;
IF CROSS(C,MA(C,60)) THEN LONG:=BARPOS;
IF CROSS(MA(C,60),C) THEN LONG:=0;
LONGS:LONG;
XX:BARPOS,NODRAW;
DEBUGFILE('e:\CLOSE3.txt','LONG=%.0f',LONG);

DEBUGFILE('e:\CLOSE.txt','BP='&NUMTOSTR(BARPOS,0)&' LONG=%.0f',LONG);放到前面去就知道了,期货一分钟刷新120次,对比下前后值的差异


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


加好友 发短信
等级:黑侠 帖子:993 积分:1787 威望:0 精华:5 注册:2012/11/28 17:37:20
  发帖心情 Post By:2013/7/1 15:45:26 [只看该作者]

以下是引用fly在2013/5/17 9:49:32的发言:

这个,klc兄笔误了

再举一个避免引用统计的例子,求3天简单ma值,在程序中直接计算:

(CALLSTOCK(stklabel,vtClose,6,0)+CALLSTOCK(stklabel,vtClose,6,-1)+CALLSTOCK(stklabel,vtClose,6,-2))/3.0;

 

1)我在第9点代码中那个绿色的“实盘中”我实际未用,导致评测时也试图调用vba切换图表,造成vba报错,我想问下有没有一个函数来判断是评测时,还是实盘中呢?我自己的基本思路是调用某个账户函数,如果没有值就是评测中,不知可否,现在也不知道哪个函数比较好。

 

帐户类型函数,TACCOUNT( 2),该函数在没有帐户登陆时返回255.

测评的时候,也不需要帐户登陆,可退出帐户

 

2)金字塔软件能否增加一个新的全局变量品种,可以在仅刷最后K线时也得以保留,但又比EXTGBxxx轻量的?

EXTGBxxx,是内存级别的全局变量,在软件正常关闭时,会写到硬盘,速度也是可以的.VARIABLE也是内存级别的.

 

EXTGBxxx可满足需求.

确实写错了,EXTGBxxx的确是挺快了,比注册表、vba都快


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


加好友 发短信
等级:黑侠 帖子:993 积分:1787 威望:0 精华:5 注册:2012/11/28 17:37:20
  发帖心情 Post By:2013/7/1 15:49:12 [只看该作者]

以下是引用stockwiner在2013/5/20 14:18:46的发言:
 怎么不现实? 我可以编程设定在收盘最后一根K线写盘啊!
上午收盘前写一次,下午收盘前再写一次!

不是不现实的问题,而是你们有没有动脑子的问题!
金字塔系统不崩溃,EXTGB的数据是一直存在的,一崩溃,全玩完,一个也没了!增加个写盘函数那么难啊!

我的做法是,我全局EXTGB中的东西,第一次启动时,会全部重新计算的。实际上大部分情况下应该是这样的,因为你的公式中变量的最后值应该是基于历史上K线的计算值的。

但可能极少情况下,需要保存,我之前有个策略,那就只能保存到注册表或文件了。但这种保存不建议频繁保存,比如可以在出信号时才保存。但这种需要永久保存数据的情况应该是非常少的。


 回到顶部
总数 28 上一页 1 2 3 下一页