以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  金字塔软件问题提交  (http://222.73.7.161/bbs/list.asp?boardid=2)
----  请改进一个函数  (http://222.73.7.161/bbs/dispbbs.asp?boardid=2&id=70353)

--  作者:ZZAASSXX
--  发布时间:2014/9/24 10:01:03
--  请改进一个函数
关于TTOTALDAYTRADE是指日内已平仓交易次数。
它是根据后台的交易记录,有一条平仓就统计一条,但是它不能过滤已产生平仓记录但是事实是撤单的交易记录,如下图
图片点击可在新窗口打开查看
今日一共有2笔已经完成的交易,其中第二笔9:42:00挂单没有成交,撤单后继续挂后来成交了。但是这个一条记录是平多,用了这个函数就会统计这笔交易量为0但是确没有成交的记录。导致后台调试的累计交易盈亏是2笔(720+0)。正确的应该是720+780.

--  作者:FexTel
--  发布时间:2014/9/24 10:06:44
--  

1,报单没成交,撤单。或者市价报单价格未返回都会造成实际成交价格为0

这边如果统一都不做计算的话,会影响实际交易策略的判断把

 

2,如果说光处理撤单的情况,没有判断依据啊


--  作者:zzaassxx
--  发布时间:2014/9/24 10:08:42
--  
这个函数好像没有问题,是我提问没有到点子上,TTOTALDAYTRADE返回的确实是2笔,我该如何写语句,取得当日累计交易盈亏呢?


--  作者:FexTel
--  发布时间:2014/9/24 10:12:49
--  
TACCOUNT(30) 要账户全部是后台交易,直接取账户当日的平仓盈亏
--  作者:zzaassxx
--  发布时间:2014/9/24 10:18:20
--  
是后台交易。这个TACCOUNT(30)取到的是总的账户的交易盈亏?,在账户里有多品种的情况下,我仅仅要统计取得某一个品种的当日累计交易盈亏呢?
--  作者:FexTel
--  发布时间:2014/9/24 10:30:06
--  
那只能一步步统计,使用GLOBALVARIABLE记录把。平仓一次值叠加下
--  作者:zzaassxx
--  发布时间:2014/9/24 11:02:14
--  
if TTOTALDAYTRADE>0 then begin
for i=1 to TTOTALDAYTRADE do begin
交易盈亏:=TNUMPROFIT(i);
累计交易盈亏:=累计交易盈亏+交易盈亏;
end
end
我是这么写的,现在看来TTOTALDAYTRADE是返回的2笔正确,但是TNUMPROFIT会把那笔撤单没有成交的给统计上,需要改进的是TNUMPROFIT函数。

--  作者:FexTel
--  发布时间:2014/9/24 11:06:00
--  

即使取值的话函数当时返回的值不是0?难道是上上一笔的盈亏么?