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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → [求助]VC++6.0 回报无账户名和无法取资金权益

   

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


  共有2574人关注过本帖平板打印复制链接

主题:[求助]VC++6.0 回报无账户名和无法取资金权益

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


加好友 发短信
等级:新手上路 帖子:26 积分:41 威望:0 精华:0 注册:2012/5/7 10:04:39
[求助]VC++6.0 回报无账户名和无法取资金权益  发帖心情 Post By:2015/2/12 9:39:32 [只看该作者]

用金字塔3.41自带的AddinDemo插件修改以下(成交回报)内容:

void CMainWindowDlg::OrderStatus(BARGAIN_NOTIFY_KSI * pKsi)
{
CString strLog;
//strLog.Format("[回报] 挂单%d, 状态 %s", pKsi->m_nOrderID, pKsi->m_strStatus);

//这段是调试的代码
strLog.Format("[回报] 挂单%d, 状态 %s, 账号=%s", pKsi->m_nOrderID, pKsi->m_strStatus, pKsi->m_strAccount);
WriteLog(strLog);
long m_KeYongZhiJin = (long)g_pMainFormework->GetAccount2(3, "8000273").fltVal; //可用资金
strLog.Format("可用资金1=%d", m_KeYongZhiJin);
WriteLog(strLog);
m_KeYongZhiJin = (long)g_pMainFormework->GetAccount(3).fltVal; //可用资金
strLog.Format("可用资金2=%d", m_KeYongZhiJin);
WriteLog(strLog);
long m_DongTaiQuanYi = (long)g_pMainFormework->GetAccount2(6, "8000273").fltVal; // 动态权益
strLog.Format("动态权益1=%d", m_DongTaiQuanYi);
WriteLog(strLog);
m_DongTaiQuanYi = (long)g_pMainFormework->GetAccount(6).fltVal; // 动态权益
strLog.Format("动态权益2=%d", m_DongTaiQuanYi);
WriteLog(strLog);
//以上这段是调试的代码

if(pKsi->m_strStatus == "Tradeing")
{
}
else if(pKsi->m_strStatus == "Cancelled" || pKsi->m_strStatus == "Filled" || pKsi->m_strStatus == "Inactive")
{
}
}

点下单,得到结果
2015.02.12 09:26:17 [回报] 挂单-123392180, 状态 Filled, 账号=_^][兡0?
2015.02.12 09:26:17 可用资金1=0
2015.02.12 09:26:17 可用资金2=0
2015.02.12 09:26:17 动态权益1=0
2015.02.12 09:26:17 动态权益2=0

共有2个问题
1、成交回报中账户名pKsi->m_strAccount错误
2、GetAccount和GetAccount2无法取得正确的账户内容
以上代码在2.997下的运行结果是正确的,在3.41下CTP账户错误,请测试修改更正!


 回到顶部