⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stockdrv.h

📁 股软 通达信行情接收接口, 包括美元汇率
💻 H
📖 第 1 页 / 共 2 页
字号:

// 注一:
//	  记录数表示行情数据和补充数据(包括 Header)的数据包数,对文件类型数据, = 1
// 注二:
//	  若 m_bDISK = FALSE, m_pData 为数据缓冲区指针
//		 ******** 数据共享,不能修改数据 **********
//		 m_bDISK = TRUE,  m_pData 为该文件的存盘文件名,一般情况只有
//		 升级软件等大文件用存盘方式
typedef struct tagRCV_DATA
{
	int					m_wDataType;			// 文件类型
	int					m_nPacketNum;			// 记录数,参见注一
	RCV_FILE_HEADEx		m_File;					// 文件接口
	BOOL				m_bDISK;				// 文件是否已存盘的文件
	union
	{
		RCV_REPORT_STRUCTEx  *	m_pReport;
		RCV_HISTORY_STRUCTEx *	m_pDay;
		RCV_MINUTE_STRUCTEx  *	m_pMinute;
		RCV_POWER_STRUCTEx	 *	m_pPower;
		RCV_MULTISORT_STRUCTEx	*	m_pMultisort;
		void				 *	m_pData;		// 参见注二
	};
} RCV_DATA,*PRCV_DATA;

#pragma pack()

/* 消息处理程序 DEMO
LONG OnStkDataOK(UINT wParam,LONG lParam)
{
union tagSrcStock	DOS_StkBuf;
RCV_REPORT_STRUCTEx NEW_StkBuf;
PBYTE				pDataBuf;
RCV_DATA			Header;
RCV_DATA	*		pHeader;
DWORD				dwFileLen;
int					ok;
	pHeader = (RCV_DATA *)lParam;
	switch( wParam )
	{
	case RCV_REPORT:						// 共享数据引用方式,股票行情
		for(i=0; i<pHeader->m_nPacketNum; i++)
		{
			pHeader->m_pReport[i] ...
			// 数据处理
		}
		break;

	case RCV_FILEDATA:						// 共享数据引用方式,文件
		switch(pHeader->m_wDataType)
		{
		case FILE_HISTORY_EX:				// 补日线数据
			break;
		case FILE_MINUTE_EX:				// 补分钟线数据
			break;
		case FILE_POWER_EX:					// 补充除权数据
			break;
		case FILE_BASE_EX:					// 钱龙兼容基本资料文件,m_szFileName仅包含文件名
			break;
		case FILE_NEWS_EX:					// 新闻类,其类型由m_szFileName中子目录名来定
			break;
		case FILE_HTML_EX:					// HTML文件,m_szFileName为URL
			break;
		case FILE_SOFTWARE_EX:				// 升级软件
			break;
		}
		break;
	default:
		return 0;							// unknown data
	}
	return 1;
}
*/


//////////////////////////////////////////////////////////////////////////////////
//APIs
#ifdef __cplusplus
extern "C"{
#endif

//////////////////////////////////////////////////////////////////////////////////
// 注册函数

// 股票初始化
// 入口参数:
//		hWnd			处理消息的窗口句柄
//		Msg				用户自定义消息
//		nWorkMode		接口工作方式, 应等于 RCV_WORK_SENDMSG
// 返回参数:
//		 1				成功	
//		-1				失败
int WINAPI	Stock_Init(HWND hWnd,UINT Msg,int nWorkMode);
int WINAPI	Stock_Init_Nodialog(HWND hWnd,UINT Msg,int nWorkMode,
		const char * szAddress, UINT nPort, const char * szUser, const char * szPasswd );


// 退出,停止发送消息
// 入口参数:
//		hWnd			处理消息的窗口句柄,同 Stock_Init 的调用入口参数
//	返回参数:
//		 1				成功	
//		-1				失败
int WINAPI 	Stock_Quit(HWND hWnd);

//////////////////////////////////////////////////////////////////////////////////
// 行情接口       
      
// 取已接收到的股票总数
int WINAPI 	GetTotalNumber();													

// 由序号取股票数据(扩展)
// 入口参数:	
//			nNo			序号
//			pBuf		存放股票数据的缓冲区
// 返回参数:
//		    NoStockData	无股票数据	
// 注:
//			该函数提供股票数据的主要数据;分析软件刚运行时,可以快速建立数据框架
int WINAPI 	GetStockByNoEx(int nNo,RCV_REPORT_STRUCTEx * pBuf);			

// 由股号取股票数据(扩展)
// 入口参数:	
//			pszStockCode股票代号	
//			nMarket		证券市场
//			pBuf		存放股票数据的缓冲区
// 返回参数:
//		    NoStockData	无股票数据	
// 注:
//			该函数提供股票数据的主要数据;分析软件刚运行时,可以快速建立数据框架
int WINAPI 	GetStockByCodeEx(char * pszStockCode,int nMarket,RCV_REPORT_STRUCTEx * pBuf);

// 激活接收程序,进行设置
// 入口参数:
//			bShowWindow		TRUE		显示窗口,进行设置
//							FALSE		隐含窗口
// 返回参数:
//			 1				成功
//			-1				失败
int	WINAPI  SetupReceiver(BOOL bShowWindow);

//	取得股票驱动信息
//	入口参数:
//			nInfo		索引
//			pBuf		缓冲区
//	出口参数:
//			nInfo == RI_IDSTRING,	返回特征字符串长度, pBuf 为特征字符串
//									如:	"TongShi_StockDrv_1.00"
//			nInfo == RI_IDCODE,		返回信息卡 ID 号, pBuf 为字符串形式的 ID 号
//									如:	0x78001234	  "78001234"
//			nInfo == RI_VERSION,	返回信息卡版本号, pBuf 为字符串版本
//									如:  1.00		  "1.00"		
//			nInfo == RI_ERRRATE,	取信道误码,
//			nInfo == RI_STKNUM,		取上市股票总家数
DWORD WINAPI  GetStockDrvInfo(int nInfo,void * pBuf);

/////////////////////////////////////////////////////////////////////////////////////
// NetTS 支持新加接口,可主动请求数据

// 接收引擎是否已经启动工作
// 返回参数:
//			1				已启动
//			0				未启动
int	WINAPI  IsEngineWorking( );

// 设置接收引擎是否自动定期刷新RCV_REPORT信息,缺省为TRUE
// 入口参数:	
//			bAutoReport		是否自动刷新,如果不是自动刷新,用户需要主动调用
//							RequestStockData( RCV_REPORT, ... )
// 返回参数:
//			1				以前为自动刷新
//			0				以前不是自动刷新
int	WINAPI  SetAutoReport( int bAutoReport );

// 由股号请求股票数据
// 入口参数:	
//			nDataType	数据类型,
//						如 FILE_HISTORY_EX, FILE_MINUTE_EX, FILE_POWER_EX,
//							RCV_REPORT, FILE_MULTISORT_EX, FILE_DETAIL_EX,
//							FILE_BASE_EX, FILE_NEWS_EX, FILE_HTML_EX
//							FILE_SOFTWARE_EX, FILE_SHAZQDATA_EX
//			pStocks     股票数据指针, 对于FILE_NEWS_EX,FILE_HTML_EX,FILE_SOFTWARE_EX,FILE_SHAZQDATA_EX,该值无效
//			nSize		股票数据个数,同pStocks一样,某些类型该值无效
//			nKType		历史数据类型,该参数仅对FILE_HISTORY_EX数据类型有效
//			nDataCount	需要数据个数,该参数仅对FILE_HISTORY_EX数据类型有效,表示需要获取的历史数据个数,从当前日期往前数
// 返回参数:
//			1 请求发送成功
//			-1 请求发送失败
// 注:
//			该函数提供股票数据的主动请求,向Internet服务器发送请求,请求发送结束
//			后,立即返回. 当请求的数据从Internet服务器传回时,向窗口发送消息

#define	FILE_MULTISORT_EX	0x708	// 综合排名
#define	FILE_DETAIL_EX		0x709	// 成交明细


#pragma pack(1)

typedef struct tagSTOCK_STRUCTEx {
	BYTE	m_type;					// stock's type, see enum StockType
	char	m_code[6];				// stock code
} STOCK_STRUCTEx,*pSTOCK_STRUCTEx;

#pragma pack()

enum StockType {
	typeNone		=	0x00,
	typeshIndex		=	0x10,	//	上海指数
	typeshA			=	0x11,	//	上海A股
	typeshB			=	0x12,	//	上海B股
	typeshBond		=	0x13,	//	上海债券
	typeshRight		=	0x14,	//	上海权证
	typeshBonus		=	0x15,	//	上海红利
	typeshAdmeasure	=	0x16,	//	上海配股
	typeshInfo		=	0x1F,	//	上海证交所信息
	typeszIndex		=	0x20,	//	深圳指数 0x20 
	typeszA			=	0x21,	//	深圳A股 0x21 
	typeszB			=	0x22,	//	深圳B股 0x22 
	typeszBond		=	0x23,	//	深圳债券 0x23 
	typeszRight		=	0x24,	//	深圳权证 0x24 
	typeszBonus		=	0x25,	//	深圳红利 0x25 
	typeszAdmeasure	=	0x26,	//	深圳配股 0x26 
	typeszInfo		=	0x2F,	//	深圳证交所信息 0x2f 
	typeGeneralInfo	=	0x05,	//	综合财经信息 0x05 
};

enum KTypes {
	ktypeNone		=	0x00,
	ktypeMin		=	0x01,	// enum KTypes 的最小值
	ktypeMin5		=	0x01,	// 五分钟线
	ktypeMin15		=	0x02,	// 十五分钟线
	ktypeMin30		=	0x03,	// 三十分钟线
	ktypeMin60		=	0x04,	// 六十分钟线
	ktypeDay		=	0x05,	// 日线
	ktypeWeek		=	0x06,	// 周线
	ktypeMonth		=	0x07,	// 月线
	ktypeMax		=	0x07,	// enum KTypes 的最大值
};

int WINAPI	RequestStockData( int nDataType, STOCK_STRUCTEx * pStocks, int nSize, int nKType, int nDataCount );

#ifdef __cplusplus
}
#endif

#endif // __STOCKDRV_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -