以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 高级功能研发区 (http://www.weistock.com/bbs/list.asp?boardid=5) ---- 关于市价委托的问题 (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=79238) |
-- 作者:wsanle -- 发布时间:2015/6/1 13:53:28 -- 关于市价委托的问题 王峰老师:我通过方正证券极速交易系统,同样用Call Order.Sell(1,holding,0,0,Code,Market,Account,0)指令平仓,在通过MarketData_ReportNotify(ReportData)检测信号后自动发出平仓指令,发出的下单指令记录是:2015-06-01 13:16:29.232 【下单】603883 价0.000000 量2000 买卖1 类型1 开平2 账户XXXXXX Formula 1,因为其中开平2是平今,所以股票成交不了,我通过单条手工指令下单指令记录是:2015-06-01 13:31:23.554 【下单】603883 价0.000000 量2000 买卖1 类型1 开平1 账户XXXXXX Formula 1,又变成了开平1,所以股票成交了,我想请教王峰老师,为什么发出同样一条平仓指令Call Order.Sell(1,holding,0,0,Code,Market,Account,0),只是发出的方式不同,会有平今仓和平昨仓之分,怎么才能限制是平昨仓,即开平类型为1而不是2?谢谢! |
-- 作者:王锋 -- 发布时间:2015/6/1 13:56:00 -- 要看具体怎么个不成交,建议你把日志贴全一些,这样我们也好去分析一下 [此贴子已经被作者于2015/6/1 13:56:11编辑过]
|
-- 作者:wsanle -- 发布时间:2015/6/1 14:29:41 -- 2015-06-01 11:29:57.399 【下单】603883 价0.000000 量2000 买卖1 类型1 开平2 账户31327510 Formula 1 2015-06-01 11:29:57.399 【下单】603883 价0.000000 量2000 买卖1 类型1 开平2 账户xxxxxx Formula 1 2015-06-01 11:30:01.845 【下单】603883 价0.000000 量2000 买卖1 类型1 开平2 账户xxxxxx Formula 1 2015-06-01 11:30:01.861 【下单】603883 价0.000000 量2000 买卖1 类型1 开平2 账户xxxxxx Formula 1 2015-06-01 13:16:29.232 【下单】603883 价0.000000 量2000 买卖1 类型1 开平2 账户xxxxxx Formula 1 2015-06-01 13:31:23.554 【下单】603883 价0.000000 量2000 买卖1 类型1 开平1 账户xxxxxx Formula 1 2015-06-01 13:31:23.601 【指令】收到回报指令 ID = 51 2015-06-01 13:31:23.632 【回报】xxxxxx : 603883 - 已报单 2000 价格:0.00 平 卖 2015-06-01 13:31:24.178 【指令】收到成交回报指令 ORDERID = 51 2015-06-01 13:31:24.178 【回报】xxxxxx : 603883 - 已成交 1000 价格:90.39 平 卖 2015-06-01 13:31:24.178 【指令】收到成交回报指令 ORDERID = 51 2015-06-01 13:31:24.194 【回报】xxxxxx : 603883 - 已成交 1000 价格:90.39 平 卖 2015-06-01 13:31:24.194 【回报】xxxxxx : 603883 - 全部成交 2000 前5笔委托是程序化运行时止损自动发出的指令,第6笔委托是我发现没有成交后,手动按钮发出的。 自动止损止盈程序: Sub MarketData_ReportNotify(ReportData) NEWPRICE = ReportData.NewPrice Market=ReportData.MarketName Code=ReportData.Label Holding=Document.GetExtData(Market+"_"+Code+"_"+"持仓数量") HoldingPrice=Document.GetExtData(Market+"_"+Code+"_"+"持仓价格") StopwinPrice=Document.GetExtData(Market+"_"+Code+"_"+"移动止损") StopMovePrice=Document.GetExtData(Market+"_"+Code+"_"+"目标止盈") FristLossPrice=Document.GetExtData(Market+"_"+Code+"_"+"初始止损") Account=Document.GetExtString(Market+"_"+Code+"_"+"持仓账户") IF Holding>0 THEN If FristLossPrice>0 AND NewPrice<=FristLossPrice AND OnlyKey<>-1 Then \'初始止损 Call Order.Sell(1,Holding,0,0,Code,Market,Account,0) OnlyKey=-1 EXIT SUB End If If StopwinPrice>0 AND NewPrice<=StopwinPrice AND OnlyKey<>-1 Then \'移动止盈 Call order.Sell(1,Holding,0,0,Code,Market,Account,0) OnlyKey=-1 EXIT SUB END IF If StopMovePrice>0 AND NewPrice>StopMovePrice AND StopMovePrice>HoldingPrice AND OnlyKey<>-1 Then \'目标止盈 Call order.Sell(1,Holding,0,0,Code,Market,Account,0) OnlyKey=-1 EXIT SUB END IF END IF End Sub 手动平仓按钮程序: \'------------------------------------------------------------------------------------------------平仓 Sub BuySell_CommandButton2_Click() Set GridA = Buy.GetGridByName("Main") MARKET=GridA.Market Code=GridA.StockLabel Account=BuySell_ComboBox1.Text maxholding=Csng(BuySell_TextBox13.Value) IF maxholding>0 THEN Call Order.Sell(1,maxholding,0,0,Code,Market,Account,0) END IF End SUB |
-- 作者:王锋 -- 发布时间:2015/6/1 14:34:54 -- 2015-06-01 11:29:57.399 【下单】603883 价0.000000 量2000 买卖1 类型1 开平2 账户31327510 Formula 1
2015-06-01 11:29:57.399 【下单】603883 价0.000000 量2000 买卖1 类型1 开平2 账户xxxxxx Formula 1
2015-06-01 11:30:01.845 【下单】603883 价0.000000 量2000 买卖1 类型1 开平2 账户xxxxxx Formula 1
2015-06-01 11:30:01.861 【下单】603883 价0.000000 量2000 买卖1 类型1 开平2 账户xxxxxx Formula 1
2015-06-01 13:16:29.232 【下单】603883 价0.000000 量2000 买卖1 类型1 开平2 账户xxxxxx Formula 1
交易日志上就是这样,后面什么都没有了? |
-- 作者:wsanle -- 发布时间:2015/6/1 14:45:25 -- 是的,什么都没有!没有任何反应,我也查了方正证券的委托记录,方正极速系统中没有任何委托信息,我想是否是因为发出的平今委托,所以没有接收,股票是不能平今的,所以也没有回报,现在我的问题是为什么同样的指令会出现开平1和开平2的委托? |
-- 作者:王锋 -- 发布时间:2015/6/1 14:53:16 -- 应该是系统将平仓单做调整了,下个版本我们已经修复该问题 |
-- 作者:wsanle -- 发布时间:2015/6/1 15:03:19 -- 那我暂时只能手工平仓了吗?新版本什么时间出来啊!另外我上次请教王峰老师的那个交易COM接口老出错而只能退出系统的问题,可能是我在同一台机器中同时运行了通达信系统,但是在3.6Beta3版本之前没有发生这种情况,同样这个平仓的问题,在这个版本之前一直用的好好的,也没有问题,看来这个3.6Beta3板还是有些问题,请金字塔尽快出3.6正式版,已经有很久没有升级版本了,是不是公司员工都炒股票赚大钱去了啊!拜托赶快升级啊! |
-- 作者:王锋 -- 发布时间:2015/6/1 15:06:43 -- COM接口的问题前面已经回复你了,如果你这边问题总是出现,那么建议你同一台机器不要安装多个新老版本的金字塔,只运行一个就不会出问题,再次提醒,若问题没解决,卸载杀毒软件后重装试试 |
-- 作者:wsanle -- 发布时间:2015/6/4 13:50:48 -- 王峰老师:昨天一只股票自动止损又没有发出指令,用手工平仓才发出指令,但查看交易记录,手工和自动发出的指令是一样的,为什么手动可以平仓,自动就不能平仓?另外,我今天在自动平仓程序中,将市价委托变为按跌停板的价格限价委托还是委托不了,只能用手工委托,我不明白您在6楼说“应该是系统将平仓单做调整了,下个版本我们已经修复该问题”,是什么意?请告诉我现在的最新版本是否需要在哪儿设置或有替代的方法,确实不知道您说的下一个版本什么时间可以出来,我持仓有多只股票,靠眼睛监控很吃力,希望老师告诉我还有什么方法可以知道委托,别方正证券系统接收?谢谢! 2015-06-03 11:04:30.708 【下单】000652 价0.000000 量15000 买卖1 类型1 开平2 账户XXXXXXX Formula 1 2015-06-03 11:13:56.369 【下单】000652 价0.000000 量15000 买卖1 类型1 开平2 账户XXXXXXX Formula 1 2015-06-03 11:13:56.400 【指令】收到回报指令 ID = 54 2015-06-03 11:13:56.431 【回报】XXXXXXX : 000652 - 已报单 15000 价格:0.00 平 卖 2015-06-03 11:13:56.728 【指令】收到成交回报指令 ORDERID = 54 2015-06-03 11:13:56.728 【回报】XXXXXXX: 000652 - 已成交 7000 价格:12.99 平 卖 2015-06-03 11:13:56.728 【指令】收到成交回报指令 ORDERID = 54 2015-06-03 11:13:56.728 【回报】XXXXXXX : 000652 - 已成交 5000 价格:12.99 平 卖 2015-06-03 11:13:56.728 【指令】收到成交回报指令 ORDERID = 54 2015-06-03 11:13:56.743 【回报】XXXXXXX : 000652 - 已成交 3000 价格:12.99 平 卖 2015-06-03 11:13:56.743 【回报】XXXXXXX : 000652 - 全部成交 15000 2015-06-04 13:03:23.581 【下单】600588 价62.75 量5000 买卖1 类型0 开平2 账户XXXXXX Formula 1 第一行是自动委托,第二行为手动委托,回报都一样,但自动委托没有反应,只能用手动委托才成功! 最后一行是用跌停板的价格自动问题,还是没有反应,方正证券极速交易系统可以接收什么指令,请老师解答,谢谢王峰老师!
|
-- 作者:admin -- 发布时间:2015/6/4 14:35:27 -- 这个问题主要是期货和股票软件都是用相同的格式和规范,软件平仓时,VBA部分会做是否将平仓单转化为平今单。这个问题我们3.6正式版已经修复,近期几天就会发布的 |