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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → AddinDemo插件怎么获得昨日结算价

   

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


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

主题:AddinDemo插件怎么获得昨日结算价

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


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

抱歉这个确实没有,但是你可以使用一个最新的数据结构来代替现有的

 

//动态行情数据结构
typedef struct 
{
 DWORD m_time;          // 成交时间
 
 float m_fLastClose;        // 昨收
 float m_fOpen;         // 今开
 float m_fHigh;         // 最高
 float m_fLow;          // 最低
 float m_fNewPrice;        // 最新
 float m_fOI;    //open interest
 float m_fLastOI;
 float m_fVolume;         // 成交量
 float m_fAmount;         // 成交额

 float m_fLastOpen;  //前开
 float m_fLastHigh;  //前高
 float m_fLastLow;   //前底
 
 float m_fBuyPrice[3];        // 申买价1,2,3
 float m_fBuyVolume[3];       // 申买量1,2,3
 float m_fSellPrice[3];       // 申卖价1,2,3
 float m_fSellVolume[3];       // 申卖量1,2,3
 
 float m_fBuyPrice4;        // 申买价4
 float m_fBuyVolume4;        // 申买量4
 float m_fSellPrice4;        // 申卖价4
 float m_fSellVolume4;        // 申卖量4
 
 float m_fBuyPrice5;        // 申买价5
 float m_fBuyVolume5;        // 申买量5
 float m_fSellPrice5;        // 申卖价5
 float m_fSellVolume5;        // 申卖量5
 
 float m_fVolumeNow;        //现手
 float m_fBuyVol;         //外盘量
 float m_fSellVol;         //内盘量
 char m_szName[STKNAME_LEN];      // 股票名称,以'\0'结尾
 char m_szNamePY[STKNAME_PY_LEN];
 char m_szLabel[STKLABEL_LEN];     // 股票代码,以'\0'结尾
 float   m_f5DayAverage;        //5日均量
 float m_fNext5DayVol;        //下一个5日均量
 mytime_t m_timeHardenSpeed;       //涨速前比较时间
 float m_fHardenSpeed;        //涨速用变量,记录前5分钟价格
 WORD m_wMarket;

 float m_fBuyAmount;        //外盘额
 float m_fSellAmount;        //内盘额
 float m_fPoweru;         //买卖劲道
 float   m_fPowerd;
 WORD    m_nBuyBi;         //主买笔数
 WORD    m_nSellBi;
 float m_fAmountNow;        //现额
 WORD m_wBorNum;         //成交买卖单数
 WORD    m_wSorNum;
 BYTE m_nOrnumType;        //成交买卖方向 1主买 0主卖
 WORD m_wTickUp0;   //上跳次数
 WORD m_wTickDown0;  //下跳次数
 WORD m_wTickEqual0;
 float m_fTickUa0;   //上跳总额
 float m_fTickDa0;
 float m_fTickEa0;
 WORD m_wTick1;   //大单次数
 WORD m_wTickUp1;   //大单上跳次数
 WORD m_wTickDown1;  
 WORD m_wTickEqual1;
 float m_fTickA1;   //大单跳动总额
 float m_fTickUa1;   
 float m_fTickDa1;
 float m_fTickEa1;
 WORD m_wTick2;   //小单次数
 WORD m_wTickUp2;   
 WORD m_wTickDown2;  
 WORD m_wTickEqual2;
 float m_fTickA2;   
 float m_fTickUa2;   
 float m_fTickDa2;
 float m_fTickEa2;
 WORD m_wTick3;   //权重股次数
 WORD m_wTickUp3;   
 WORD m_wTickDown3;  
 WORD m_wTickEqual3;
 float m_fTickA3;   
 float m_fTickUa3;   
 float m_fTickDa3;
 float m_fTickEa3;
 WORD m_wTick4;   //巨单次数
 WORD m_wTickUp4;   
 WORD m_wTickDown4;  
 WORD m_wTickEqual4;
 float m_fTickA4;   
 float m_fTickUa4;   
 float m_fTickDa4;
 float m_fTickEa4;
 WORD m_wTick5;   //中单次数
 WORD m_wTickUp5;   
 WORD m_wTickDown5;  
 WORD m_wTickEqual5;
 float m_fTickA5;   
 float m_fTickUa5;   
 float m_fTickDa5;
 float m_fTickEa5;
 WORD m_wTick6;   //散单次数
 WORD m_wTickUp6;   
 WORD m_wTickDown6;  
 WORD m_wTickEqual6;
 float m_fTickA6;   
 float m_fTickUa6;   
 float m_fTickDa6;
 float m_fTickEa6;
 float m_fPrvTickPrice;
 float m_fPrvTickVomume;
 float m_fPrvTickAmount;
 float m_fPrvPrice;  //上一笔价格
 float m_fPrvVomume;  //上一笔量
 float m_fPrvAmount;  //上一笔额
 
 mytime_t m_timeCalcZhangSu;   //上一个计算点
 mytime_t m_timeCalcTick;     
  
 REPORT_POWER * m_pFinance;
 unsigned m_bReciveData : 1; //第一次接收新数据状态 0未接收 1已接收
 unsigned m_bVirtualData : 1; //当前数据是否是集合竞价的数据
 unsigned m_bIsBuy    : 1;         //是否为外盘
 unsigned m_bVirtualData2 : 1;
 unsigned m_bReloadPow : 1; //指示是否下次重新装载除权数据
 unsigned m_bIsMainInstrument : 1;//是否主力和约
 unsigned m_bBufopen : 1;   ////当前缓冲区是否被打开过
 unsigned m_nReserve5 : 1;
 unsigned m_nReserve6 : 1;
 void *  m_pMainStock;   //主力合约品种
 float m_fJieSuan;    //当前结算
 float m_fLastJieSuan;   //昨计算
 float m_upperLimitPrice;       // 涨停板
 float m_lowerLimitPrice;       // 跌停板

 float m_fBuyPrice6;        // 申买价6
 float m_fBuyVolume6;        // 申买量6
 float m_fSellPrice6;        // 申卖价6
 float m_fSellVolume6;        // 申卖量6
 
 float m_fBuyPrice7;        // 申买价7
 float m_fBuyVolume7;        // 申买量7
 float m_fSellPrice7;        // 申卖价7
 float m_fSellVolume7;        // 申卖量7
 
 float m_fBuyPrice8;        // 申买价8
 float m_fBuyVolume8;        // 申买量8
 float m_fSellPrice8;        // 申卖价8
 float m_fSellVolume8;        // 申卖量8
 
 float m_fBuyPrice9;        // 申买价9
 float m_fBuyVolume9;        // 申买量9
 float m_fSellPrice9;        // 申卖价9
 float m_fSellVolume9;        // 申卖量9
 
 float m_fBuyPrice10;        // 申买价10
 float m_fBuyVolume10;        // 申买量10
 float m_fSellPrice10;        // 申卖价10
 float m_fSellVolume10;       // 申卖量10

 long m_f1VirSub;         //主行情竞价分笔
 long m_f1size;         //主行情分笔数量,m_ptrSubBlcok=NULL表示只是记录不是真实缓冲区
 WORD m_f2size;         //竞价数量
 CDWordArray * m_ptrSubBlcok;      //文件数据块位置
 float m_fPrvVolume;
 OPTION_CUSTOM_STATEX_USER * m_CustomStatEx;   //扩展统计自定义,为空表示取公共设置
}REPORT_STRUCTExV3;

 

将这个放到REPORT_STRUCT结构的定义后面,代码中强制转换为新的结构,例如

 

void CMainWindowDlg::ReportUpdate(LPARAM l)
{
 REPORT_STRUCTExV3 * pData = (REPORT_STRUCTExV3*)l;



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

金字塔-技术部

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

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

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


加好友 发短信
等级:新手上路 帖子:43 积分:0 威望:0 精华:0 注册:2014/6/29 16:57:17
  发帖心情 Post By:2015/6/15 16:28:36 [只看该作者]

新的结构体m_fLastJieSuan后面的成员没有用到,可以不加吧?
DWORD m_time;  改成 time_t m_time;
mytime_t m_timeCalcZhangSu;  mytime_t 没定义,改为 time_t m_timeCalcZhangSu ?
mytime_t m_timeCalcTick; 改为 time_t m_timeCalcTick; ?
REPORT_POWER * m_pFinance; REPORT_POWER没定义,改为  void *  m_pFinance; ?

ReportUpdate函数交易时段更新行情时调用,只能明天测试了。

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


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

里面的所有成员都必须要使用的,否则结构没法对齐的。

由于时间仓促没有都把里面的东西改掉

mytim_t 改为DWORD

REPORT_POWER * m_pFinance 改为 void * m_pFinance



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

金字塔-技术部

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

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

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


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

尽量不要再代码里使用time_t类型,因为金字塔的时间字段是4字节的,高版本编译的time_t是8字节的



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

金字塔-技术部

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

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

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


加好友 发短信
等级:新手上路 帖子:43 积分:0 威望:0 精华:0 注册:2014/6/29 16:57:17
  发帖心情 Post By:2015/7/9 15:14:40 [只看该作者]

//动态行情数据结构 typedef struct { DWORD m_time; // 成交时间 float m_fLastClose; // 昨收 float m_fOpen; // 今开 float m_fHigh; // 最高 float m_fLow; // 最低 float m_fNewPrice; // 最新 float m_fOI; //open interest float m_fLastOI; float m_fVolume; // 成交量 float m_fAmount; // 成交额 float m_fLastOpen; //前开 float m_fLastHigh; //前高 float m_fLastLow; //前底 float m_fBuyPrice[3]; // 申买价1,2,3 float m_fBuyVolume[3]; // 申买量1,2,3 float m_fSellPrice[3]; // 申卖价1,2,3 float m_fSellVolume[3]; // 申卖量1,2,3 float m_fBuyPrice4; // 申买价4 float m_fBuyVolume4; // 申买量4 float m_fSellPrice4; // 申卖价4 float m_fSellVolume4; // 申卖量4 float m_fBuyPrice5; // 申买价5 float m_fBuyVolume5; // 申买量5 float m_fSellPrice5; // 申卖价5 float m_fSellVolume5; // 申卖量5 float m_fVolumeNow; //现手 float m_fBuyVol; //外盘量 float m_fSellVol; //内盘量 char m_szName[32]; // 股票名称,以'\0'结尾 char m_szNamePY[16]; char m_szLabel[10]; // 股票代码,以'\0'结尾 float m_f5DayAverage; //5日均量 float m_fNext5DayVol; //下一个5日均量 DWORD m_timeHardenSpeed; //涨速前比较时间 float m_fHardenSpeed; //涨速用变量,记录前5分钟价格 WORD m_wMarket; //品种所属市场比如上海'HS',深圳'ZS' float m_fBuyAmount; //外盘额 float m_fSellAmount; //内盘额 float m_fPoweru; //买卖劲道 float m_fPowerd; WORD m_nBuyBi; //主买笔数 WORD m_nSellBi; float m_fAmountNow; //现额 WORD m_wBorNum; //成交买卖单数 WORD m_wSorNum; BYTE m_nOrnumType; //成交买卖方向 1主买 0主卖 WORD m_wTickUp0; //上跳次数 WORD m_wTickDown0; //下跳次数 WORD m_wTickEqual0; float m_fTickUa0; //上跳总额 float m_fTickDa0; float m_fTickEa0; WORD m_wTick1; //大单次数 WORD m_wTickUp1; //大单上跳次数 WORD m_wTickDown1; WORD m_wTickEqual1; float m_fTickA1; //大单跳动总额 float m_fTickUa1; float m_fTickDa1; float m_fTickEa1; WORD m_wTick2; //小单次数 WORD m_wTickUp2; WORD m_wTickDown2; WORD m_wTickEqual2; float m_fTickA2; float m_fTickUa2; float m_fTickDa2; float m_fTickEa2; WORD m_wTick3; //权重股次数 WORD m_wTickUp3; WORD m_wTickDown3; WORD m_wTickEqual3; float m_fTickA3; float m_fTickUa3; float m_fTickDa3; float m_fTickEa3; WORD m_wTick4; //巨单次数 WORD m_wTickUp4; WORD m_wTickDown4; WORD m_wTickEqual4; float m_fTickA4; float m_fTickUa4; float m_fTickDa4; float m_fTickEa4; WORD m_wTick5; //中单次数 WORD m_wTickUp5; WORD m_wTickDown5; WORD m_wTickEqual5; float m_fTickA5; float m_fTickUa5; float m_fTickDa5; float m_fTickEa5; WORD m_wTick6; //散单次数 WORD m_wTickUp6; WORD m_wTickDown6; WORD m_wTickEqual6; float m_fTickA6; float m_fTickUa6; float m_fTickDa6; float m_fTickEa6; float m_fPrvTickPrice; float m_fPrvTickVomume; float m_fPrvTickAmount; float m_fPrvPrice; //上一笔价格 float m_fPrvVomume; //上一笔量 float m_fPrvAmount; //上一笔额 DWORD m_timeCalcZhangSu; //上一个计算点 DWORD m_timeCalcTick; void * m_pFinance; //(REPORT_POWER*) unsigned m_bReciveData : 1; //第一次接收新数据状态 0未接收 1已接收 unsigned m_bVirtualData : 1; //当前数据是否是集合竞价的数据 unsigned m_bIsBuy : 1; //是否为外盘 unsigned m_bVirtualData2 : 1; unsigned m_bReloadPow : 1; //指示是否下次重新装载除权数据 unsigned m_bIsMainInstrument : 1;//是否主力和约 unsigned m_bBufopen : 1; ////当前缓冲区是否被打开过 unsigned m_nReserve5 : 1; unsigned m_nReserve6 : 1; void * m_pMainStock; //主力合约品种 float m_fJieSuan; //当前结算 float m_fLastJieSuan; //昨计算 float m_upperLimitPrice; // 涨停板 float m_lowerLimitPrice; // 跌停板 float m_fBuyPrice6; // 申买价6 float m_fBuyVolume6; // 申买量6 float m_fSellPrice6; // 申卖价6 float m_fSellVolume6; // 申卖量6 float m_fBuyPrice7; // 申买价7 float m_fBuyVolume7; // 申买量7 float m_fSellPrice7; // 申卖价7 float m_fSellVolume7; // 申卖量7 float m_fBuyPrice8; // 申买价8 float m_fBuyVolume8; // 申买量8 float m_fSellPrice8; // 申卖价8 float m_fSellVolume8; // 申卖量8 float m_fBuyPrice9; // 申买价9 float m_fBuyVolume9; // 申买量9 float m_fSellPrice9; // 申卖价9 float m_fSellVolume9; // 申卖量9 float m_fBuyPrice10; // 申买价10 float m_fBuyVolume10; // 申买量10 float m_fSellPrice10; // 申卖价10 float m_fSellVolume10; // 申卖量10 long m_f1VirSub; //主行情竞价分笔 long m_f1size; //主行情分笔数量,m_ptrSubBlcok=NULL表示只是记录不是真实缓冲区 WORD m_f2size; //竞价数量 CDWordArray * m_ptrSubBlcok; //文件数据块位置 float m_fPrvVolume; void* m_CustomStatEx; //扩展统计自定义,为空表示取公共设置 }REPORT_STRUCTExV3; void CMainWindowDlg::ReportUpdate(LPARAM l) { REPORT_STRUCTExV3 * pData = (REPORT_STRUCTExV3*)l; pData ->m_fLastJieSuan; 获取到的值为0

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


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

看看是不是字节没对齐导致的

 

STKNAME_LEN = 32

STKNAME_PY_LEN = 16

STKLABEL_LEN=10



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

金字塔-技术部

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

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

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


加好友 发短信
等级:新手上路 帖子:43 积分:0 威望:0 精华:0 注册:2014/6/29 16:57:17
  发帖心情 Post By:2015/7/9 15:34:01 [只看该作者]

void CMainWindowDlg::ReportUpdate(LPARAM l)
{
REPORT_STRUCT * pData = (REPORT_STRUCT*)l;
if (NULL != pData)
{
//获取结算价
REPORT_STRUCTExV3 * pDataV3 = (REPORT_STRUCTExV3*)l;
pDataV3->m_fLastJieSuan; 
获取到的值为0

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


加好友 发短信
等级:新手上路 帖子:43 积分:0 威望:0 精华:0 注册:2014/6/29 16:57:17
  发帖心情 Post By:2015/7/9 15:36:02 [只看该作者]

对齐了,结构体前半部分和REPORT_STRUCT完全一致,不一致的话肯定不能强制转换。
上传的附件可以看到吗?
[此贴子已经被作者于2015/7/9 15:36:36编辑过]

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


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

如果你确认不是你的问题,那么我们只能抽空安排技术人员对你说的问题进行测试了



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

金字塔-技术部

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

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

Email:service@weistock.com
 回到顶部
总数 19 上一页 1 2