以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  后台模式下,有时开平仓提交几次,才能成功  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=156506)

--  作者: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次,


--  作者: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编辑过]

--  作者:王锋
--  发布时间:2017/8/3 22:56:27
--  

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

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


--  作者: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



--  作者: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编辑过]

--  作者:王锋
--  发布时间: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
与你这个时间对应的本地下单日志

--  作者:boomer
--  发布时间:2017/8/4 8:44:59
--  

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

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

--  作者:王锋
--  发布时间:2017/8/4 10:21:00
--  

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

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