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

📄 tdx_data.h

📁 通达信数据源
💻 H
字号:
#ifndef __HBSTOCK_STOCKSTAR_DATA_H__
#define __HBSTOCK_STOCKSTAR_DATA_H__

#include "hbstock2/stock_data.h"

namespace hbstock2
{

struct tdx_data_block
{	
	unsigned long   date;
	
	long  open_price;
	long  high_price;
	long  low_price;
	long  close_price;
		
	float money;
	long   volume;
	long last_close_price;
};

class TdxDataLoader  : public DataLoader
{
private:
	
	VectMarketPtr vect_market_ptr;
	bool has_day_data;
	bool has_min5_data;
	
	/* ------------ config parmater begin -------- */
	std::string m_version_key;	
	std::string m_default_stock_sh_key;	
	std::string m_default_stock_sz_key;
	std::string m_str_tdx_dir_key ;	
	
	std::string m_default_stock_sh;
	std::string m_default_stock_sz;
	std::string m_str_tdx_dir ;	
	/* ------------ config parmater end -------- */
	
	std::vector<std::string> vect_minutes_date;
	
	void init_vect_minutes_date();
	
protected:
	
	void init_inner();
	
	void init_config_parameter_key();	
	
	void set_module_config_title();
	std::string get_day_data_dir(const std::string& str_market_code);
	
	bool load_day_data_from_file(const std::string& str_file,int type,
		VectStockData& vect_stockdata,		
		const char* p_ch_from_date,const char* p_ch_to_date=0,
		int data_length=0,bool is_previous_data=true,
		DIV_TYPE div_type=NONE , bool is_included_div_data=false);
	
public:
	
	TdxDataLoader();
	~TdxDataLoader();
	
	// config info	
	void init_config_parameter();
	void reload_config_parameter();
	void set_default_config_parameter();
	void print_config_parameter();
	
	const VectMarketPtr get_support_market() const;
	bool is_support_market(const std::string& market_code) const;
	bool is_support_day_data() const;
	bool is_support_min5_data() const ;
	bool is_support_div(const std::string& str_market_code) const;
	
	int init (int argc, ACE_TCHAR *argv[]);
    int fini (void);
    int info (ACE_TCHAR **str, size_t len) const;
    
    // stock data
    std::string get_stock_code_of_index(const std::string& market_code) ;
    bool check_transform_stock_code(const std::string& str_stock_code_in,
    	std::string& str_stock_code_out,std::string& str_market_code) ;
    	
    bool get_stock_code(std::vector<std::string>& vect_stock_code,
    	const std::string& str_market_code,
    	const char* p_prefix_name=NULL)
    	throw (stock_data_exception);
    
	bool load_day_data(VectStockData& vect_stockdata,
		const std::string& str_stock_code,
		const char* p_ch_from_date=NULL,
		const char* p_ch_to_date=NULL,
		DIV_TYPE div_type=NONE,	
		bool is_included_div_data=true) 
		throw (stock_data_exception);
	bool load_day_data(VectStockData& vect_stockdata,
		const std::string& str_stock_code, 
		const char* p_ch_date=NULL,
		int data_length=0,
		bool is_previous_data=true,
		DIV_TYPE div_type=NONE , 
		bool is_included_div_data=true)
		throw (stock_data_exception);

	bool load_min5_data(VectStockData& vect_stockdata,
		const std::string& str_stock_code, 
		const char* p_ch_from_date=NULL,
		const char* p_ch_to_date=NULL,
		DIV_TYPE div_type=NONE, 
		bool is_included_div_data=true)
		throw (stock_data_exception);
	bool load_min5_data(VectStockData& vect_stockdata,
		const std::string& str_stock_code, 
		const char* p_ch_date=NULL,
		int data_length=0, 
		bool is_previous_data=true,
		DIV_TYPE div_type=NONE , 
		bool is_included_div_data=true)
		throw (stock_data_exception);
	    
}; //TdxDataLoader

} // namespace hbstock
#endif  // #ifndef __HBSTOCK_STOCKSTAR_DATA_H__

⌨️ 快捷键说明

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