[求助]程序的版本信息和编号在那个文件里? [金字塔]
- 咨询内容:
virtual DWORD GetVersion(),实现这个函数要访问哪个文件里的内容?
- 金字塔客服:
请认真学习参考自带的ADDINDEMO范例
- 用户回复:
不用实现,可以直接调用吗?
- 网友回复:
不清楚你的需求,能否详细描述清楚,便于我们能及时准确的帮助到你
- 网友回复:
//主程序暴露给插件的接口
interface IMainFramework
{
public:
IMainFramework(){};
virtual ~IMainFramework(){};
//取得主窗口句柄
virtual HWND GetMainWindow() = 0;//取主程序版本号
virtual DWORD GetVersion() = 0;//取指定品种数据,成功取得数据返回TRUE,否则为FALSE
virtual BOOL GetDataInfo(PCALCINFO * pInfo) = 0;//取指定品种的动态及时报表
virtual REPORT_STRUCT * GetReportData(char * szLabel, WORD wMarket) = 0;//取指定分类板块的品种数组
//szName为分类或者板块名称,如"上海A股"等,nMode为类别,0市场分组,1分类板块,2系统板块(品种栏对应)
virtual void GetReportData(CArray<BLOCK_STRUCT, BLOCK_STRUCT&> &arBlcok, char * szName, int nMode) = 0;//注册品种到数据通知,例如RegReportNotify("CL05",'MN');将合约注册到数据通知,当CL05有最新数据到达时触发ReportNotify事件。
virtual BOOL RegReportNotify(char * szLabel, WORD wMarket) = 0;//取消品种数据注册,例如UnRegReportNotify("CL05",'MN'),CL05数据到达时不会再收到通知。
virtual void UnRegReportNotify(char * szLabel, WORD wMarket) = 0;//下单委托交易
// nType 下单类型 0限价 1市价 2停损 3限价停损
// fLmtPrice 委托限价
// fStopLmtPrice限价停损单(仅限IB外盘品种使用)
// nVol 委托数量
// nAspect 0买入 1卖出
// lpszLabel 品种名称
// wMarket 品种市场
// bMustOK 是否弹出下单确认
// lpszAccount 下单帐户,为空则为当前活动帐户
// nKaiPing 0开仓 1平仓 2平今
// nTouBao 0投机 1保值
// bOrderQueue 是否为队列委托方式,即成交上一笔后再委托下一笔
// 返回值 : 返回本次的委托编号
virtual long PlaceOrder(BYTE nType, float fLmtPrice, float fStopLmtPrice, UINT nVol, BYTE nAspact, LPCSTR lpszLabel, WORD wMarket,
BOOL bMustOK, LPCSTR lpszAccount, BYTE nKaiPing, BYTE nTouBao, BYTE bOrderQueue) = 0;//撤单
// nOrderID 委托编号,即PlaceOrder委托下单的委托编号. 当bOrderQueue为2或3时,该变量为CANCEL_ORDER_EX结构体指针
// bOrderQueue 是否为队列方式的委托撤单,即必须等到该笔撤单成功后再继续后续的下单任务
// 当bOrderQueue=0时为 不使用队列下单 为1时为队列下单模式,当bOrderQueue为2或者3时为下列情况之一
// 当为2时为CANCEL_ORDER_EX结构体中不用队列下单模式; 当为3时表示CANCEL_ORDER_EX结构体中,使用队列下单模式
virtual void OrderCancel(long nOrderID, BYTE bOrderQueue) = 0;//注册WINDOWS窗口消息,金字塔将以事件方式通知各种
virtual void RegisterMsg(HWND hMsgWnd, DWORD dwMsg) = 0;//得到套利合约信息
//返回TRUE表示成功 ,返回套利指数内定义的套利品种信息
virtual BOOL GetTaoliInfo(char * szTaoliLabel, CArray<TAOLI_INFO,TAOLI_INFO&> &m_arTaoliInfo) = 0;//得到IB品种持仓数量
virtual int GetHolding() = 0;//得到国内期货的持仓数量
virtual int GetHolding2(char * szAccount) = 0;//到所有IB帐户当前有效的未成交合约品种数量
virtual int GetOrderNum() = 0;//得到所有国内期货当前有效的未成交合约品种数量
virtual int GetOrderNum2() = 0;//得到IB帐户的成交明细数量
virtual int GetTradeCount() = 0;
//得到指定帐户的国内期货帐户的成交明细数量
virtual int GetTradeCount2(CString Account) = 0;//当前已经登陆IB顾问帐户子帐户数量,若登陆的是IB普通帐户此属性为1
virtual int GetIBACCount() = 0;//当前已经登陆国内期货帐户数量(包含无效登陆等情况在内的)
virtual int GetCTPAcCount() = 0;//得到当前默认帐户信息
virtual VARIANT GetAccount(short nType) = 0;//得到指定的国内期货帐户信息
virtual VARIANT GetAccount2(short nType, char * szAccount) = 0;/*取指定索引的持仓IB合约信息
Index 输入参数,指定基于0索引的持仓和约信息,持仓和约总量参见 Holding 属性。
Hold 输出参数,该该持仓品种持仓量,若空仓返回负数
MktPrice 输出参数,该持仓品种市价
AvgPrice 输出参数,该持仓品种均价
MktValue 输出参数,该持仓品种市值
AgeCost 输出参数,该持仓品种成本
PNL 输出参数,该持仓品种浮动盈亏
Code 输出参数,该持仓品种代码
Market 输出参数,该持仓品种市场
返回值: 成功返回1,失败返回0 */
virtual BOOL HoldingInfo(UINT Index, int &Hold, double &MktPrice, double &AvgPrice, double &MktValue, double &AgeCost, double &PNL, CString &Code, WORD &Market) = 0;
/*取指定索引的指定其他帐户(CTP,金仕达,恒生,股票等)的合约持仓信息
Index 输入参数,指定基于0索引的持仓和约信息,持仓和约总量参见 Holding2 属性。
BuyHoding 输出参数,该该持仓品种买入持仓总量
BuyCost 输出参数,该持仓品种持仓成本
BuyTodayHoding 输出参数,该持仓品种今买持总量
SellHoding 输出参数,该持仓品种卖出持仓总量
SellCost 输出参数,该持仓品种卖出持仓成本
SellTodayHoding 输出参数,该持仓品种的今卖出持仓总量
PNL 输出参数,该持仓品种浮动盈亏
UseMargin 输出参数,该持仓品种的保证金占用
Code 输出参数,该持仓品种代码
Market 输出参数,该持仓品种市场
Account 输入参数,可缺省,登陆其他帐户(CTP,金仕达,恒生,股票等)的帐户名称,若不填写则表示当前默认的帐户
返回值: 成功返回1,失败返回0 */
virtual BOOL HoldingInfo2(UINT Index, int &BuyHoding, double &BuyCost, int &BuyTodayHoding, int &SellHoding, double &SellCost, int &SellTodayHoding, double &PNL, double &UseMargin, CString &Code, WORD &Market, CString Account) = 0;/*
* 取指定基于0索引的未成交IB合约信息
Index 输入参数,指定基于0索引的持仓和约信息,持仓和约总量参见 OrderNum 属性。
OrderID 输出参数, 未成交订单ID
ConSign 输出参数,本次委托数量
Filled 输出参数,已成交数量
Remaining 输出参数,未成交数量
Action 输出参数,动作类型 0买入 1卖出
OrderType 输出参数,订单类型 0限价 1市价 2停损 3市价停损
LmtPrice 输出参数,当OrderType等于0时为限价,为3时为停损限价
auxPrice 输出参数,停损价格
Account 输出参数,帐户信息
Code 输出参数,该持仓品种代码
Market 输出参数,该持仓品种市场
返回值: 成功返回1,失败返回0
*/
virtual BOOL OrderInfo(UINT Index, int &OrderID, int &ConSign, int &Filled, int &Remaining, int &Action, int &OrderType, double &LmtPrice, double &auxPrice, CString &Account, CString &Code, WORD &Market) = 0;
/*取指定基于0索引的未成交其他帐户(CTP,金仕达,恒生,股票等)合约信息
Index 输入参数,指定基于0索引的持仓和约信息,持仓和约总量参见 OrderNum2 属性。
OrderID 输出参数, 未成交订单ID
ConSign 输出参数,本次委托数量
Filled 输出参数,已成交数量
Remaining 输出参数,未成交数量
Action 输出参数,动作类型 0买入 1卖出
OrderType 输出参数,订单类型 0限价 1市价 2停损 3市价停损
LmtPrice 输出参数,当OrderType等于0时为限价,为3时为停损限价
Account 输出参数,帐户信息
Kaiping 输出参数,开平仓类型 0开仓 1平仓
Code 输出参数,该持仓品种代码
Market 输出参数,该持仓品种市场
返回值: 成功返回1,失败返回0 */
virtual BOOL OrderInfo2(UINT Index, int &OrderID, int &ConSign, int &Filled, int &Remaining, int &Action, int &OrderType, double &LmtPrice, CString &Account, int &Kaiping, CString &Code, WORD &Market) = 0;
/*获取指定品种的合约种类
Code 输入参数,指定的品种代码
Market 输入参数,指定的品种市场
返回值:是可以交易的国内期货接口品种返回1,IB接口返回0*/
virtual int StockType(char * szCode, WORD wMarket) = 0;/*取指定品种的和约信息
Code 输入参数,指定的品种代码
Market 输入参数,指定的品种市场
Multipliter 输出参数,该品种的乘数/单位
MinTick 输出参数,该品种的最小变动单位
ShortPercent 输出参数,该品种的空头保证金
LongPercent 输出参数,该品种的多头保证金
返回值:成功返回1否则返回0
*/
virtual int GetContract(char *szCode, WORD wMarket, float &Multipliter, float &MinTick, float &ShortPercent, float &LongPercent) = 0;
/*计算指定品种的本次交易手续费用。请用户在交易费率设置上预先设置好不同品种的各种交易费率情况,这样才能通过此方法得到正确的结果。
Code 指定的品种代码
Market 指定的品种市场
lmtPrice 指定的限价
Volume 委托数量
Type 成交方向 0开仓 1平仓 2平今
返回值: 返回计算后的手续费用*/
virtual float GetChargeByNum(char * szCode, WORD wMarket, float lmtPrice, int Volume, int Type) = 0;
/*取指定基于0索引序号的IB帐户成交明细
Index 输入参数,基于0索引的成交明细
Date 输出参数,成交时间
Code 输出参数,品种代码
Market 输出参数,品种市场
OrderType 输出参数,成交单类型,0限价 1市价 2停损 3限价停损
Action 输出参数,成交方向 0买入 1卖出
Price 输出参数,成交价格
Volume 输出参数,成交量
Account 输出参数,成交帐户
返回值: 成功返回1,失败返回0*/
virtual int TradeDetalied(int Index, DATE &Date, CString &Code, WORD &Market, int &OrderType, int &Action, float &Price, int &Volume, CString &Account) = 0;
/*取指定基于0索引序号的其他帐户(CTP,金仕达,恒生,股票等)帐户成交明细
Index 输入参数,基于0索引的成交明细
Date 输出参数,成交时间
Code 输出参数,品种代码
Market 输出参数,品种市场
OrderType 输出参数,成交单类型,0限价 1市价 2停损 3限价停损
Action 输出参数,成交方向 0买入 1卖出
Price 输出参数,成交价格
Volume 输出参数,成交量
Kaiping 输出参数,开平仓类型,0开仓 1平仓
Account 输入参数,成交帐户,可省略,若省略则表示当前默认激活帐户
返回值: 成功返回1,失败返回0*/
virtual int TradeDetalied2(int Index, DATE &Date, CString &Code, WORD &Market, int &OrderType, int &Action, float &Price, int &Volume, int &Kaiping, CString &Account) = 0;
//得到指定基于0索引的IB帐户名称,例如IBAccountName(0)表示取第一个登陆的IB帐户
virtual CString GetIBAccountName(int nIndex) = 0;
//得到指定基于0索引的其他帐户(CTP,金仕达,恒生,股票等)帐户名称(包含登陆未成功的),例如 CTPAccountName(0)表示取第一个登陆的用户名称
virtual CString GetCTPAccountName(int nIndex) = 0;
//判断指定帐号是否是当前已登录有效帐号,例如 Order.IsAccount("351579"),如果该账户已登录则返回1,否则返回0
virtual int IsAccount(CString strAccount) = 0;
};这些纯虚函数,不用实现,就能用吗?
示例这样用的:
void CMainWindowDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
//显示出上证指数的及时报价
REPORT_STRUCT * pReport = g_pMainFormework->GetReportData("000001",'HS');
if(pReport)
{
CString strText;
strText.Format("%s 开盘:%.2f 最高:%.2f 最低:%.2f 最新:%.2f", pReport->m_szName, pReport->m_fOpen, pReport->m_fHigh, pReport->m_fLow, pReport->m_fNewPrice);
// dc.TextOut(20,20,strText);
}
}
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 1145508240 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容