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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 3.41升级后

   

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


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

主题:3.41升级后

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


加好友 发短信
等级:论坛游侠 帖子:233 积分:223 威望:0 精华:0 注册:2010/3/10 9:06:51
3.41升级后  发帖心情 Post By:2014/12/29 9:59:53    Post IP:101.80.111.180[显示全部帖子]

升级3.41版 ,以前后台统计当日累计平仓盈亏的语句好像不对了,监控输出里面看到每一秒都会对截止到目前的交易盈亏做累加。
if TTOTALDAYTRADE>1 then begin
for i=1 to TTOTALDAYTRADE do begin
交易盈亏:=TNUMPROFIT(i);
累计交易盈亏:=累计交易盈亏+交易盈亏;
end
end

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


加好友 发短信
等级:论坛游侠 帖子:233 积分:223 威望:0 精华:0 注册:2010/3/10 9:06:51
  发帖心情 Post By:2014/12/29 10:01:25    Post IP:101.80.111.180[显示全部帖子]

刚发表就不能修改了,应该是TTOTALDAYTRADE>0。
升级3.41版 ,以前后台统计当日累计平仓盈亏的语句好像不对了,监控输出里面看到每一秒都会对截止到目前的交易盈亏做累加。
if TTOTALDAYTRADE>0 then begin
for i=1 to TTOTALDAYTRADE do begin
交易盈亏:=TNUMPROFIT(i);
累计交易盈亏:=累计交易盈亏+交易盈亏;
end
end

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


加好友 发短信
等级:论坛游侠 帖子:233 积分:223 威望:0 精华:0 注册:2010/3/10 9:06:51
  发帖心情 Post By:2014/12/29 10:05:30    Post IP:101.80.111.180[显示全部帖子]

后台随便写一个开平仓模型,贴上上面的代码就可以测试了。要获取当日累计平仓收益。
新的版本升级后,比如当日已平仓收益1000元,每一秒轮询都会把这1000元再做累计。

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


加好友 发短信
等级:论坛游侠 帖子:233 积分:223 威望:0 精华:0 注册:2010/3/10 9:06:51
  发帖心情 Post By:2014/12/29 10:28:08    Post IP:101.80.111.180[显示全部帖子]

不是全局变量,就是把单一品种当日日内已平仓交易的盈亏做一个小计。
图片点击可在新窗口打开查看

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


加好友 发短信
等级:论坛游侠 帖子:233 积分:223 威望:0 精华:0 注册:2010/3/10 9:06:51
  发帖心情 Post By:2014/12/29 10:46:58    Post IP:101.80.111.180[显示全部帖子]

我随便写了一个供测试:
GLOBALVARIABLE:累计交易盈亏=0;
ma5:=ref(ma(close,5),1);
ma10:=ref(ma(close,10),1);
if cross(ma5,ma10) and currenttime<150000 then BEGIN
tsellshort(tholding2<0,0,mkt);
tbuy(tholding2=0,1,mkt);
end
if cross(ma10,ma5) and currenttime<150000 then begin
tsell(tholding2>0,0,mkt);
tbuyshort(tholding2=0,1,mkt);
end

if TTOTALDAYTRADE>0 then begin
for i=1 to TTOTALDAYTRADE do begin
交易盈亏:=TNUMPROFIT(i);
累计交易盈亏:=累计交易盈亏+交易盈亏;
end
end
IF currentTIME>=150000 THEN 累计交易盈亏:=0;

aa:debugout('累计交易盈亏%.2f',累计交易盈亏);

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


加好友 发短信
等级:论坛游侠 帖子:233 积分:223 威望:0 精华:0 注册:2010/3/10 9:06:51
  发帖心情 Post By:2014/12/29 15:57:19    Post IP:101.80.111.180[显示全部帖子]

请看这个帖子我的贴图,重点是监控栏的两次轮询,720这个数字,证明9月以前的版本是正常不循环累加的。
http://www.weistock.com/bbs/dispbbs.asp?BoardID=2&replyID=227547&ID=70353&skin=1

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


加好友 发短信
等级:论坛游侠 帖子:233 积分:223 威望:0 精华:0 注册:2010/3/10 9:06:51
  发帖心情 Post By:2014/12/29 16:23:40    Post IP:101.80.111.180[显示全部帖子]

for语句循环是没有问题的,得到的结果也是正确的,连接图的720这个数字以及6楼图的第一次轮询3240(未在图中显示),bug的地方是对这个for结果的数字进行了每一秒累加,请看6楼的图上写的很清楚了。
如果说“只有一次交易所以没有循环起来”,请版主明天开盘后可以再测试一下,看看做完第一笔交易后监控里是否会累加起来。


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


加好友 发短信
等级:论坛游侠 帖子:233 积分:223 威望:0 精华:0 注册:2010/3/10 9:06:51
  发帖心情 Post By:2014/12/29 16:43:28    Post IP:101.80.111.180[显示全部帖子]

想起来两次测试设置上唯一有不一样地方,9月那次是北京本地时区,今天的问题是用了金字塔时区,难道这个有区别?

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


加好友 发短信
等级:论坛游侠 帖子:233 积分:223 威望:0 精华:0 注册:2010/3/10 9:06:51
  发帖心情 Post By:2014/12/30 10:22:24    Post IP:101.80.111.180[显示全部帖子]

多谢版主!
请问一个模型里面是否可以同时有普通变量+全局变量。如下这样?
variable:累计交易盈亏=0;
GLOBALVARIABLE:a=0;


 回到顶部