欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → C++ 中 PleaseOrder 无反应的情况是咋回事

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4132人关注过本帖树形打印复制链接

主题:C++ 中 PleaseOrder 无反应的情况是咋回事

帅哥哟,离线,有人找我吗?
小峨武
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:35 积分:0 威望:0 精华:2 注册:2016/3/3 21:01:46
C++ 中 PleaseOrder 无反应的情况是咋回事  发帖心情 Post By:2016/6/7 14:36:45 [只看该作者]

if (context.getOrder().getOrder() == "order")
{
int orderType = 0;//0限价  
int orderOperateType = 0; //0开仓 1平仓 2平今
int direction = 0; //0买入 1卖出
int stockType = 0; //股票(0普通 1融资)
int runType = 0;  //是否为队列委托方式,即成交上一笔后再委托下一笔
WORD wMarket = 'S' | 'H' << 8;

std::vector<std::string>* values = context.getOrder().getParam(std::string("market"));
const char *value = values->front().c_str();
wMarket = value[0] << 8 | value[1];
values = context.getOrder().getParam(std::string("stockCode"));

const char *stockCode = values->front().c_str();
values = context.getOrder().getParam(std::string("amount"));

float orderPrice = boost::lexical_cast<float>(values->front().c_str());
values = context.getOrder().getParam(std::string("volumn"));

unsigned int orderAmount = boost::lexical_cast<int>(values->front().c_str());
const char *account;
values = context.getOrder().getParam(std::string("account"));
if (values != nullptr)
account = values->front().c_str();
else
account = nullptr;
long orderId = server->PlaceOrder(orderType, orderPrice, 0, orderAmount, direction, stockCode, wMarket, 1, account, orderOperateType, stockType, runType);
if (orderId == -1)
{
context.getOrder().setError("call execute error");
}
else
{
context.getOrder().addParam(std::string("orderNo"), orderId);
}
return true;
}
 

 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2016/6/7 14:44:25 [只看该作者]

请问下单后long orderId这个返回结果是多少?是-1吗?


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2016/6/7 14:45:14 [只看该作者]

另外,你是不是在交易回报或者行情的触发消息处理中直接调用这个下单指令了?

试试用金字塔自带的下单插件范例,人工下单试试。



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
jerfly
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2016/6/7 14:46:26
  发帖心情 Post By:2016/6/7 14:47:14 [只看该作者]

返回是-1

 回到顶部
帅哥哟,离线,有人找我吗?
jerfly
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2016/6/7 14:46:26
  发帖心情 Post By:2016/6/7 14:48:43 [只看该作者]

人工下单是成功的, Formula 1是我调用时生成的, Formula 0是人工下单生成的日志
2016-06-07 14:08:06.689    【下单】600020 价4.520000 量100 买卖0 类型0 开平0 账户60001386 Formula 0
2016-06-07 14:08:08.510    【指令】收到回报指令 ID = 8
2016-06-07 14:08:08.574    【回报】60001386 : 600020 - 已报单 100 价格:4.52 开 买
2016-06-07 14:08:08.600    【指令】收到成交回报指令 ORDERID = 8
2016-06-07 14:08:08.627    【回报】60001386 : 600020 - 已成交 100 价格:4.52 开 买
2016-06-07 14:08:08.666    【回报】60001386 : 600020 - 全部成交 100
2016-06-07 14:08:13.053    【下单】600020 价4.530000 量100 买卖0 类型0 开平0 账户60001386 Formula 1
2016-06-07 14:08:43.434    【下单】600020 价4.520000 量100 买卖0 类型0 开平0 账户60001386 Formula 1
2016-06-07 14:08:59.531    【下单】600020 价4.520000 量100 买卖0 类型0 开平0 账户60001386 Formula 0
2016-06-07 14:09:01.405    【指令】收到回报指令 ID = 9
2016-06-07 14:09:01.447    【回报】60001386 : 600020 - 已报单 100 价格:4.52 开 买
2016-06-07 14:09:01.456    【指令】收到成交回报指令 ORDERID = 9
2016-06-07 14:09:01.482    【回报】60001386 : 600020 - 已成交 100 价格:4.52 开 买
2016-06-07 14:09:01.540    【回报】60001386 : 600020 - 全部成交 100
2016-06-07 14:33:40.627    【下单】600020 价4.520000 量100 买卖0 类型0 开平0 账户60001386 Formula 1
2016-06-07 14:33:45.486    【下单】600020 价4.520000 量100 买卖0 类型0 开平0 账户60001386 Formula 1
2016-06-07 14:33:56.529    【下单】600020 价4.530000 量100 买卖0 类型0 开平0 账户60001386 Formula 0
2016-06-07 14:34:13.153    【指令】收到回报指令 ID = 10
2016-06-07 14:34:13.194    【回报】60001386 : 600020 - 已报单 100 价格:4.53 开 买
2016-06-07 14:34:13.211    【指令】收到成交回报指令 ORDERID = 10
2016-06-07 14:34:13.241    【回报】60001386 : 600020 - 已成交 100 价格:4.53 开 买
2016-06-07 14:34:13.301    【回报】60001386 : 600020 - 全部成交 100
2016-06-07 14:34:34.155    【下单】600020 价4.520000 量100 买卖0 类型0 开平0 账户60001386 Formula 1
2016-06-07 14:34:40.433    【下单】600020 价4.530000 量100 买卖0 类型0 开平0 账户60001386 Formula 1
2016-06-07 14:35:19.036    【下单】600020 价4.530000 量100 买卖0 类型0 开平0 账户60001386 Formula 1


 回到顶部
帅哥哟,离线,有人找我吗?
jerfly
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2016/6/7 14:46:26
  发帖心情 Post By:2016/6/7 14:53:21 [只看该作者]

图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看在对话框中调用的

 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2016/6/7 15:00:43 [只看该作者]

可否给出你的上述代码,是从哪里调用过来的?方便的话,建议将你的工程打包压缩一下发到论坛上,我们研发人员本地调试一下


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
jerfly
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2016/6/7 14:46:26
  发帖心情 Post By:2016/6/7 15:00:50 [只看该作者]

是不是在交易回报或者行情的触发消息处理中直接调用这个下单指令了?
这个是什么意思?我现在是在你们那个C++例子的对话框中加了一个下单按钮,实现下单的,应该不是在行情的触发消息处理中吧。

void TradeMonitor::OnBnClickedOrder()
{
// TODO: 在此添加控件通知处理程序代码
// TODO: Add your control notification handler code here
UpdateData();
if (stockCode.IsEmpty() || (orderPrice < 0.1) || (orderAmount <= 0))
{
AfxMessageBox("非法参数, 下单失败!");
return;
}

std::string market = "HS";
if (marketType == "深证")
{
market = "ZS";
}

stock->order(*callable.get(), market, std::string(stockCode.GetString()), orderAmount, orderPrice, (isBuySale == 0)); //跳转到首贴上的代码

}

 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2016/6/7 15:15:47 [只看该作者]

将工程压缩一下附件传到论坛上来吧


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
jerfly
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2016/6/7 14:46:26
  发帖心情 Post By:2016/6/7 17:07:32 [只看该作者]

我查了一下,用你们的例子调用的参数调用了一下,例子是成功的,我的是失败的,看来不是调用参数的问题,可能是因为我是另起了个线程来调用引起的问题,那这个问题如何解决?
[此贴子已经被作者于2016-6-7 17:08:21编辑过]

 回到顶部
总数 12 1 2 下一页