Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共12 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:后台多账号ttotaldaytrade的判断

1楼
wudin23 发表于:2014/5/5 13:06:37

请教下同策略多账户后台,入单模块用tbuy函数,采用循环语句分别指定多账户的account分别下单。

 

 

在这种情况下,监控的tenterbars, ttotaldaytrade函数是按策略本身记录的还是每个账户下单一次记录一次。谢谢。

[此贴子已经被作者于2014/5/5 13:07:02编辑过]
2楼
fly 发表于:2014/5/5 13:23:14
是按策略本身在监控里的记录算的
[此贴子已经被作者于2014/5/5 15:25:53编辑过]
3楼
wudin23 发表于:2014/5/5 13:28:22
谢谢。我测试下。
4楼
wudin23 发表于:2014/5/5 14:10:02

实际测试好像不是哦。

经测试

 

accnumber:= 2;
variable: account[2] = '';

account[1]:= 'aaaaaaa';
account[2]:= 'bbbbbbb';

 

 for i=1 to accnumber do begin

  debugfile(‘d:\test.txt’,account[i]'tenterbars:%.0f',tenterbars(1)); 

 

  if tenterbars(1)<>0 then begin 
   tbuy(1,acc_n,mkt,0,0,account[i],stklabel),orderqueue,allowrepeat;

 

end

 

如上代码,用1分钟k线结束模式,在第一个账户'aaaaaaa'记录的tenterbars是1,然后会入场,在第二个账户'bbbbbbb'记录的tenterbars是0,说明当根k线入过场了,其实这里的入场是aaaaaaa入的,于是就不入场了。这样就产生问题了,跟在第一个账户之后,第二个账户永远也不会入场。

5楼
wudin23 发表于:2014/5/5 14:13:44

如上代码改一句话。漏了连字符

 debugfile(‘d:\test.txt’,account[i]'tenterbars:%.0f',tenterbars(1));

改成

 debugfile(‘d:\test.txt’,account[i]&'tenterbars:%.0f',tenterbars(1));

6楼
wudin23 发表于:2014/5/5 14:19:48
经测试。ttotaldaytrade记录的也是按账户数记录的,而不是按策略本身记录的
7楼
fly 发表于:2014/5/5 14:25:51

你看看,是不是和后台 监控 里的记录一致

8楼
wudin23 发表于:2014/5/5 14:40:22

是和监控里记录的一致。但是我不希望和监控里记录的一致。监控里有一个账户下单就会记录一次。这样如果我有10个账户,出一次开平信号,ttotaldaytrade就会记录10次。

 

tenterbars,texitbars也会出问题。比如在固定轮询的时候我要限定当根k线如果有入场就不再入场,tenterbars(1)<>0, 这样其实只对第一个账户有效,第二个账户读取tenterbars(1)就永远是0,也就不会入场了。

9楼
fly 发表于:2014/5/5 15:28:10

在固定轮询的时候我要限定当根k线如果有入场就不再入场.

你是希望,如果当根K线,如果帐户A开仓了,那么帐户B的不再开仓吗?

10楼
wudin23 发表于:2014/5/5 16:53:20

不是。是希望AB账户都开仓。但是单根k线里AB账户都只开一次仓。

 

但是目前tenterbars函数会把A账户的开仓同时记入B账户,导致B账户误认为当根k线已经开过仓了,导致B账户不开仓了。

[此贴子已经被作者于2014/5/5 16:54:09编辑过]
共12 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.04602 s, 3 queries.