-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathdataengine.h
57 lines (41 loc) · 1.59 KB
/
dataengine.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#ifndef DATAENGINE_H
#define DATAENGINE_H
#include <QMap>
#include <QSet>
#include <QStringList>
#include "publicstruct.h"
#include "positionbuffer.h"
#include "ThostFtdcUserApiStruct.h"
/*
* publicstruct.h存储了数据结构体
* DataEngine定义了多种形式的字典,两个成员函数获得指定的信息
*/
// 存储模块公共数据
class DataEngine
{
public:
bool de_get_contract(QString vtSymbol, InstrumentInfo& contract);
bool de_get_order(QString ordID, OrderInfo& ordInfo);
public:
/***MD Interface***/
// Tick回调(tick需要提炼一下)
QMap <QString, CThostFtdcDepthMarketDataField> lastMarketDataSet;
/***TD Interface***/
// 账户信息
AccountInfo accountInfo;
// 持仓查询缓存(区分昨仓和今仓)<key: vtSymbol.持仓方向>,本地所维护的真正持仓数据
QMap<QString, CPositionBuffer> allPosition_buffer; //CPositionBuffer账户持仓信息
// 持仓查询 <key: vtSymbol.持仓方向>,仅用于用户持仓列表展示的持仓备份
QMap<QString, PositionInfo> allPosition; //PositionInfo持仓信息结构体
// 存放所有合约信息,供UI界面展示
QMap <QString, InstrumentInfo> allInstruments; //InstrumentInfo合约信息
// 交易开启后的所有委托
QMap<QString, OrderInfo> allOrderDict; //OrderInfo报单信息
// 交易活动委托
QMap<QString, OrderInfo> workingOrderDict;
// 成交回报
QMap<QString, TradeInfo> finishedOrderDict;
// 订阅合约信息
QSet<QString> subscribeInstruments;
};
#endif // DATAENGINE_H