以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 高级功能研发区 (http://222.73.7.161/bbs/list.asp?boardid=5) ---- 插件下单 (http://222.73.7.161/bbs/dispbbs.asp?boardid=5&id=79413) |
-- 作者:a809011310 -- 发布时间:2015/6/5 10:22:03 -- 插件下单 在函数 void CMainWindowDlg::ReportUpdate(LPARAM l) {
OnButtonOrderin() ;//这句我加的,是点击"下单按钮"执行的下单函数。点"下单"可下单,但此句放在这,为什么下不了单?总是跳出OnButtonOrderin() 中的"下单失败!",就是ID=-1了。 }
|
-- 作者:王锋 -- 发布时间:2015/6/5 10:38:59 -- 前面已经建议过你了,增加文本日志,看看具体什么情况 |
-- 作者:a809011310 -- 发布时间:2015/6/5 10:53:12 -- 2015-06-05 10:50:20.350 【下单】IF06 价5272.000000 量1 买卖0 类型0 开平0 账户600321 Formula 1 2015-06-05 10:50:20.415 【指令】收到回报指令 ID = 156386302 2015-06-05 10:50:20.538 【回报】600321 : IF1506 - 已报单 1 价格:5272.0 开 买 2015-06-05 10:50:20.556 【指令】收到回报指令 ID = 156386302 2015-06-05 10:50:20.560 【指令】收到回报指令 ID = 156386302 2015-06-05 10:50:20.574 【指令】收到成交回报指令 ORDERID = 156386302 2015-06-05 10:50:20.602 【回报】600321 : IF1506 - 已成交 1 价格:5272.0 开 买 2015-06-05 10:50:20.604 【回报】600321 : IF1506 - 全部成交 1 2015-06-05 10:50:25.881 【下单】IF06 价5273.200195 量1 买卖1 类型0 开平1 账户600321 Formula 1 2015-06-05 10:50:25.915 【指令】收到回报指令 ID = 156386303 2015-06-05 10:50:25.939 【回报】600321 : IF1506 - 已报单 1 价格:5273.2 平 卖 2015-06-05 10:50:25.941 【指令】收到回报指令 ID = 156386303 2015-06-05 10:50:26.431 【指令】收到回报指令 ID = 156386303 2015-06-05 10:50:26.436 【指令】收到成交回报指令 ORDERID = 156386303 2015-06-05 10:50:26.462 【回报】600321 : IF1506 - 已成交 1 价格:5273.2 平 卖 2015-06-05 10:50:26.465 【回报】600321 : IF1506 - 全部成交 1 以上是手工下的2个指令,开多和平多。以下是插件下的指令。 2015-06-05 10:50:51.382 【下单】IF06 价5200.000000 量1 买卖0 类型0 开平0 账户600321 Formula 1 2015-06-05 10:50:52.391 【下单】IF06 价5200.000000 量1 买卖0 类型0 开平0 账户600321 Formula 1 2015-06-05 10:50:52.901 【下单】IF06 价5200.000000 量1 买卖0 类型0 开平0 账户600321 Formula 1
|
-- 作者:王锋 -- 发布时间:2015/6/5 11:25:28 -- 你可以将你报单的所有参数都记录下来,然后我们看一下是否有什么问题,另外你这种测试方式有问题,ReportUpdate 这个是价格回报函数,数度是很快,你这么集中报单,有可能会让交易网关认作攻击而拒绝掉 |
-- 作者:a809011310 -- 发布时间:2015/6/5 13:10:11 -- 2015-06-05 13:05:16.928 【回报】600321 : 登录成功 2015-06-05 13:07:33.920 【回报】600321 : 登录成功 2015-06-05 13:07:52.395 【下单】IF06 价5200.000000 量1 买卖0 类型0 开平0 账户600321 Formula 1//这个指令是插件下的。我限制插件只下一个指令,后面的指令是手工下的,以作比较。 2015-06-05 13:08:35.786 【下单】IF06 价5149.399902 量1 买卖0 类型0 开平0 账户600321 Formula 1 2015-06-05 13:08:35.800 【指令】收到回报指令 ID = 156386385 2015-06-05 13:08:35.840 【回报】600321 : IF1506 - 已报单 1 价格:5149.4 开 买 2015-06-05 13:08:35.843 【指令】收到回报指令 ID = 156386385 2015-06-05 13:08:38.824 【指令】收到回报指令 ID = 156386385 2015-06-05 13:08:38.828 【指令】收到成交回报指令 ORDERID = 156386385 2015-06-05 13:08:38.849 【回报】600321 : IF1506 - 已成交 1 价格:5149.2 开 买 2015-06-05 13:08:38.851 【回报】600321 : IF1506 - 全部成交 1
|
-- 作者:王锋 -- 发布时间:2015/6/5 13:23:22 -- 你确认你的代码就这一个地方 不同的么? 我怎么看2个下单的价格都不同 |
-- 作者:a809011310 -- 发布时间:2015/6/5 13:29:59 -- 2015-06-05 13:07:52.395 【下单】IF06 价5200.000000 量1 买卖0 类型0 开平0 账户600321 Formula 1//这个指令是插件下的。我限制插件只下一个指令,后面的指令是手工下的,以作比较。 2015-06-05 13:08:35.786 【下单】IF06 价5149.399902 量1 买卖0 类型0 开平0 账户600321 Formula 1//这个在金字塔里面,手工下的。 一共下了2个指令,插件下了一个,手工下了一个。
|
-- 作者:a809011310 -- 发布时间:2015/6/5 13:32:01 -- bool isFirst = true; void CMainWindowDlg::ReportUpdate(LPARAM l) {
if (isFirst)
{
isFirst = false;
OnButtonOrderin();
}
return; }插件做了限制只准下一次单。这样攻击的可能性为0 |
-- 作者:王锋 -- 发布时间:2015/6/5 14:08:04 -- 那我这里就没法继续帮你,问题是要靠调试去解决的,靠我们去猜解决不了的,如果你自己无法自行调试解决,你可以将成功压缩一下上传论坛,我们抽空帮你看看 |
-- 作者:a809011310 -- 发布时间:2015/6/5 14:20:50 -- 插件在CMainWindowDlg::ReportUpdate()中调用OnButtonOrderin()下单没有回报。插件点击“下单”按钮,调用OnButtonOrderin()下单,有回报,且正常下单了。为什么在CMainWindowDlg::ReportUpdate()中没有回报?我会压缩且上传的,请予以解决。 |