Rss & SiteMap

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

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

标题:后台模式下,有时开平仓提交几次,才能成功

1楼
boomer 发表于:2017/8/3 22:39:26
实现功能:主从账号持仓同步
问题:后台模式下,有时开平仓提交几次,才能成功。有时候提交一次就行
金字塔版本:V4.22
执行方式:固定时间间隔 1秒

部分代码:



//账户参数********************** 
品种1:='';
主账号:='618906';
跟单号:= '618907';
系数:=3 ;

//******************************

KLots:=0;//空单持仓
DLots:=0;//多单持仓
KLots1:=0;//跟单账号空单持仓
DLots1:=0;//跟单账号多单持仓

KLots:= TSELLHOLDINGEX(主账号,品种1,2);{N表示类型,0表示取当日可用卖持(股票为可用持仓),1表示取全部可用卖持,2表示取全部卖持(未成交平空单不计),3表示取未成交平空单.}
DLots:= TBUYHOLDINGEX(主账号,品种1,2);
KLots1:= TSELLHOLDINGEX(跟单号 ,品种1,2);
DLots1:= TBUYHOLDINGEX(跟单号 ,品种1,2);

......
......

BEGIN
MSGOUT(1,'p4 '&  ' DLots:'&  NUMTOSTR(DLots,0) &  ', DLots1:'& NUMTOSTR(DLots1,0));
cLots:=  DLots-DLots1/系数;
aLots:= INTPART(ABS(cLots)*系数 ) ;//取整数部分
IF(aLots<1)aLots:=1;
TBUY(cLots>0,aLots,MKT ,0,0,跟单号 ,品种1);//跟单,开多
IF aLots>DLots1 or DLots=0 THEN aLots:=DLots1;//跟单账号实际持仓小于跟单量,,或主账户空仓,按实际持仓
TSELL(cLots<0,aLots,MKT ,0,0,跟单号 ,品种1);//跟单,平多
MSGOUT(1,'p4 end' ); 
END;

输出:
2017/08/03 22:33:30  p4  DLots:6, DLots1:21
2017/08/03 22:33:30  p4 end

2017/08/03 22:33:31  p4  DLots:6, DLots1:21
2017/08/03 22:33:31  p4 end

2017/08/03 22:33:32  p4  DLots:6, DLots1:21
2017/08/03 22:33:32  p4 end

这次是代码执行3遍,有时要提交5次,

2楼
boomer 发表于:2017/8/3 22:42:59
我QQ 714258178
这次是执行好多遍,才成功

2017/08/03 22:42:00  p4  DLots:4, DLots1:15
2017/08/03 22:42:00  p4 end
2017/08/03 22:42:01  p4  DLots:4, DLots1:15
2017/08/03 22:42:01  p4 end
2017/08/03 22:42:02  p4  DLots:4, DLots1:15
2017/08/03 22:42:02  p4 end
2017/08/03 22:42:03  p4  DLots:4, DLots1:15
2017/08/03 22:42:03  p4 end
2017/08/03 22:42:04  p4  DLots:4, DLots1:15
2017/08/03 22:42:04  p4 end
2017/08/03 22:42:05  p4  DLots:4, DLots1:15
2017/08/03 22:42:05  p4 end
2017/08/03 22:42:06  p4  DLots:4, DLots1:15
2017/08/03 22:42:06  p4 end
2017/08/03 22:42:07  p4  DLots:4, DLots1:15
2017/08/03 22:42:07  p4 end
2017/08/03 22:42:08  p4  DLots:4, DLots1:15
2017/08/03 22:42:08  p4 end
2017/08/03 22:42:09  p4  DLots:4, DLots1:15
2017/08/03 22:42:09  p4 end
2017/08/03 22:42:10  p4  DLots:4, DLots1:15
2017/08/03 22:42:10  p4 end
2017/08/03 22:42:11  p4  DLots:4, DLots1:15
2017/08/03 22:42:11  p4 end
[此贴子已经被作者于2017/8/3 22:43:45编辑过]
3楼
王锋 发表于:2017/8/3 22:56:27

你只做在交易语句下面输出了执行过程,但是例如 cLots<0, 这样的开平仓条件你没做输出,请一起做输出已确认条件是否成功。

如果确认已经条件成功但是未做下单动作,请至下单日志中,查找对应的时间,看下单日志是如何记录的

4楼
boomer 发表于:2017/8/3 23:15:48
修改了代码:

BEGIN
cLots:=  DLots-DLots1/系数;
aLots:= INTPART(ABS(cLots)*系数 ) ;//取整数部分
IF(aLots<1)aLots:=1;
MSGOUT(1,'p4 '&  ' DLots:'&  NUMTOSTR(DLots,0) &  ', DLots1:'& NUMTOSTR(DLots1,0)   &  ', cLots:'& NUMTOSTR(cLots,0)  &  ', aLots:'& NUMTOSTR(aLots,0));
TBUY(cLots>0,aLots,MKT ,0,0,跟单号 ,品种1);//跟单,开多
IF aLots>DLots1 or DLots=0 THEN aLots:=DLots1;//跟单账号实际持仓小于跟单量,,或主账户空仓,按实际持仓
TSELL(cLots<0,aLots,MKT ,0,0,跟单号 ,品种1);//跟单,平多
MSGOUT(1,'p4 end' ); 
END;

执行了三遍,输出:

2017/08/03 23:14:16  p4  DLots:9, DLots1:24, cLots:1, aLots:3
2017/08/03 23:14:16  p4 end
2017/08/03 23:14:17  p4  DLots:9, DLots1:24, cLots:1, aLots:3
2017/08/03 23:14:17  p4 end
2017/08/03 23:14:18  p4  DLots:9, DLots1:24, cLots:1, aLots:3
2017/08/03 23:14:18  p4 end


5楼
boomer 发表于:2017/8/3 23:25:35
主账号 618906 , 23:14:14 提交
1秒后 跟单账号 618907  23:14:15 提交,23:14:16成交,
怎么插入图片? 上传附件了

[此贴子已经被作者于2017/8/3 23:26:32编辑过]
6楼
王锋 发表于:2017/8/4 0:12:11

使用IE浏览器上传附件

请贴出

2017/08/03 23:14:16  p4  DLots:9, DLots1:24, cLots:1, aLots:3
2017/08/03 23:14:16  p4 end
2017/08/03 23:14:17  p4  DLots:9, DLots1:24, cLots:1, aLots:3
2017/08/03 23:14:17  p4 end
2017/08/03 23:14:18  p4  DLots:9, DLots1:24, cLots:1, aLots:3
2017/08/03 23:14:18  p4 end
与你这个时间对应的本地下单日志
7楼
boomer 发表于:2017/8/4 8:44:59

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170803231752.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170803231944.png
图片点击可在新窗口打开查看
8楼
王锋 发表于:2017/8/4 10:21:00

http://www.weistock.com/bbs/dispbbs.asp?boardid=16&Id=57075  问题24.

建议你升级至最新的4.3版本

共8 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.01563 s, 2 queries.